Skip to content

bieniu/nettigo-air-monitor

Repository files navigation

CI codecov GitHub Release PyPI PyPI - Downloads Buy me a coffee PayPal_Me Revolut.Me

nettigo-air-monitor

Python wrapper for getting air quality data from Nettigo Air Monitor devices.

Sensor.Community firmware is also supported.

How to use package

"""An example of using Nettigo Air Monitor package."""
import asyncio
import logging

from aiohttp import ClientConnectorError, ClientError, ClientSession
from tenacity import RetryError

from nettigo_air_monitor import (
    ApiError,
    AuthFailedError,
    ConnectionOptions,
    InvalidSensorDataError,
    NettigoAirMonitor,
)

logging.basicConfig(level=logging.DEBUG)

HOST = "nam"
USERNAME = "user"
PASSWORD = "password"


async def main() -> None:
    """Run main function."""
    options = ConnectionOptions(host=HOST, username=USERNAME, password=PASSWORD)

    async with ClientSession() as websession:
        nam = await NettigoAirMonitor.create(websession, options)

        try:
            data = await nam.async_update()
        except (
            TimeoutError,
            ApiError,
            AuthFailedError,
            ClientConnectorError,
            ClientError,
            InvalidSensorDataError,
            RetryError,
        ) as error:
            print(f"Error: {error}")
        else:
            print(f"Firmware: {nam.software_version}")
            print(f"MAC address: {nam.mac}")
            print(f"Latitude: {nam.latitude}, Longitude: {nam.longitude}")
            print(f"Data: {data}")


loop = asyncio.new_event_loop()
loop.run_until_complete(main())
loop.close()

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

How to create a dev environment

git clone https://github.com/bieniu/nettigo-air-monitor.git
cd nettigo-air-monitor
./scripts/setup-local-env.sh

About

Python wrapper for getting air quality data from Nettigo Air Monitor devices

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors