Skip to main content

Async client for communicating with the Ouman EH-800 heating controller

Project description

ouman-eh-800-api

PyPI version Python versions License

Async Python client for communicating with the Ouman EH-800 heating controller.

Installation

pip install ouman-eh-800-api

Usage

import asyncio
import aiohttp
from ouman_eh_800_api import (
    OumanEh800Client,
    OumanRegistrySet,
    SystemEndpoints,
    L1Endpoints,
    HomeAwayControl,
    OperationMode,
)


async def main():
    async with aiohttp.ClientSession() as session:
        client = OumanEh800Client(
            session=session,
            address="http://192.168.1.100",
            username="user",
            password="password",
        )

        # Authenticate
        await client.login()

        # Read values from endpoints
        registry_set = OumanRegistrySet([SystemEndpoints, L1Endpoints])
        values = await client.get_values(registry_set)

        print(f"Outside temp: {values[SystemEndpoints.OUTSIDE_TEMPERATURE]} °C")
        print(f"L1 supply temp: {values[L1Endpoints.WATER_OUT_TEMPERATURE]} °C")

        # Set home/away mode
        await client.set_home_away(HomeAwayControl.HOME)

        # Set L1 operation mode
        await client.set_l1_operation_mode(OperationMode.AUTOMATIC)

        await client.logout()


asyncio.run(main())

Features

  • Async API using aiohttp
  • Read sensor values (temperatures, valve positions, etc.)
  • Control heating circuits (operation mode, temperature curves, etc.)
  • Set home/away mode
  • Support for L1 and L2 heating circuits
  • Support for optional room sensors

Available Registries

Registry Description
SystemEndpoints System-wide settings (home/away, outside temp, etc.)
L1Endpoints Primary heating circuit
L1EndpointsWithRoomSensor L1 with room sensor (extends L1Endpoints)
L2Endpoints Secondary heating circuit
L2EndpointsWithRoomSensor L2 with room sensor (extends L2Endpoints)

Requirements

  • Python 3.13+
  • aiohttp

Disclaimer

This client has been developed and tested with the Ouman EH-800 unit that was available to the developer. It did not have all features enabled, thus there may be missing features or bugs.

The L2 heating circuit and room sensor endpoints have not been verified.

Contributing

Pull requests for new features or bug fixes are welcome. Please open an issue first to discuss major changes.

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ouman_eh_800_api-0.1.0.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ouman_eh_800_api-0.1.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file ouman_eh_800_api-0.1.0.tar.gz.

File metadata

  • Download URL: ouman_eh_800_api-0.1.0.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for ouman_eh_800_api-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fc608c08d8273678ce13384597a4b92476ae508ff73d056b11957598c9038778
MD5 a0062dacb9cf476c1b8c3b5f8e195a02
BLAKE2b-256 c68504e4543e7633a174739be5e72a1134829a28386f4c6f986bb7fbd2d968d0

See more details on using hashes here.

File details

Details for the file ouman_eh_800_api-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ouman_eh_800_api-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b2a92996a08d101cffe7423780fe18f02636342e58df3728909bb2605fc63dca
MD5 89a4d322ae3e34ab6940a9a2baf46b97
BLAKE2b-256 7c1f88148952362c9fd0bac964ea06e9fb2db6acc569531c9b58adf0c71d653a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page