Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

haveniaq

Async Python client for version 1 of the HAVEN IAQ local HTTP API.

The client supports capability-based data handling and local communication with:

Product Product type Capabilities
Room Air Monitor ram Air quality
Central Air Monitor cam Air quality and airflow
HAVEN Controller cac Relay state

Installation

python -m pip install haveniaq

Reading device data

from aiohttp import ClientSession
from haveniaq import Capability, HavenClient

async with ClientSession() as session:
    client = HavenClient("haven-device.local", session=session)
    info = await client.get_info()
    status = await client.get_status()

    if info.supports(Capability.AIR_QUALITY):
        sensors = await client.get_sensors()

The default base URL is http://<host>:80/api/v1. The client requires devices to advertise api_version, product_type, and capabilities from /info.

HAVEN Controller support is read-only in version 0.1.0.

Security model

Version 1 is intended for trusted local networks. Communication uses unencrypted HTTP and devices do not require API authentication. Do not expose device HTTP ports outside the local network.

Please report security issues privately as described in SECURITY.md.

Development

python -m pip install -e .
pytest
ruff check .

Licensed under the Apache License 2.0.

About

Async Python client for HAVEN IAQ local HTTP APIs

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages