Metadata-Version: 2.1
Name: lacrosse_view
Version: 1.1.1
Summary: Client for retrieving data from the La Crosse View cloud
Home-page: https://github.com/IceBotYT/lacrosse_view
Author: IceBotYT
Author-email: icebotyt@outlook.com
Project-URL: Bug Tracker, https://github.com/IceBotYT/lacrosse_view/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiohttp>=3.8.1
Requires-Dist: pydantic<3.0.0,>=1.9.0
Requires-Dist: aiozoneinfo>=0.2.1

> [!IMPORTANT]
> This project is no longer being updated. I no longer own a LaCrosse View device and I have moved on to other projects.
> I will only do general fixes required by Home Assistant. If you would like to to take over this repo and maintain it, please let me know.

# La Crosse View

A library for retrieving data from [La Crosse View-connected sensors](https://www.lacrossetechnology.com/collections/lacrosse-view-connected).

## Disclaimer

This library is **NOT** for the Jeelink LaCrosse sensors. You can find that library [here](https://pypi.org/project/pylacrosse/).
There is also a [Home Assistant integration](https://home-assistant.io/integrations/lacrosse) for the Jeelink LaCrosse sensors.

## Installation

Run this in your terminal:
```
pip install lacrosse_view
```

## Usage

This example shows how to get the latest data from every sensor connected to the first location on your account.
```python

from lacrosse_view import LaCrosse
import asyncio
from datetime import datetime, timedelta
import time

async def get_data():
    api = LaCrosse()
    # Log in to your LaCrosse View account
    await api.login('username', 'password')
    # Get the sensors from the first location on the account
    locations = await api.get_locations()
    startTime = datetime.now() - timedelta(minutes=1)
    endTime = datetime.now()
    startTimeUnix = time.mktime(startTime.timetuple())
    endTimeUnix = time.mktime(endTime.timetuple())
    sensors = await api.get_sensors(locations[0], tz="America/Vancouver", start=startTimeUnix, end=endTimeUnix)
 
    for sensor in sensors:
        for field in sensor.sensor_field_names:
            # Each value is a dictionary with keys "s" and "u". "s" is the value and "u" is the Unix timestamp for it.
            value = sensor.data[field]["values"][-1]["s"]
            print(
                f"{sensor.name} {field}: {value}"
            )
    
    await api.logout()

asyncio.run(get_data())


```

## Questions?
If you have any questions, please, don't hesitate to [open an issue](https://github.com/IceBotYT/lacrosse_view/issues/new).
