Skip to main content

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,
    L1BaseEndpoints,
    SystemEndpoints,
    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()

        # Detect the registries that match the device's current configuration
        # (curve type, room sensor, L2, relay mode) and read every endpoint
        # in one batch.
        registry_set = await client.get_active_registries()
        values = await client.get_values(registry_set)

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

        # Set home/away mode
        await client.set_endpoint_value(
            SystemEndpoints.HOME_AWAY_MODE, HomeAwayControl.HOME
        )

        # Set L1 operation mode
        await client.set_endpoint_value(
            L1BaseEndpoints.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
  • Detect whether the summer function is holding the L1 valve closed

Available Registries

The library splits endpoints into small "fragment" registries. For a given device configuration only a subset is active; client.get_active_registries() returns the right composition automatically. Manual composition via OumanRegistrySet([...]) is also supported.

Registry Description
SystemEndpoints System-wide (outside temp, home/away, relay status, etc.)
L1BaseEndpoints / L2BaseEndpoints Per-circuit endpoints always queryable when the circuit is in use
L1ThreePointCurve / L1FivePointCurve L1 heating-curve setpoints (mutually exclusive)
L2ThreePointCurve / L2FivePointCurve L2 heating-curve setpoints (mutually exclusive)
L1NoRoomSensor / L1RoomSensor L1 endpoints whose IDs differ depending on whether a room sensor is installed
L2NoRoomSensor / L2RoomSensor Same for L2
L1ConstantTempMode Setpoint exposed when L1 heating mode is constant-temperature controller
RelayPumpSummerStop, RelayTemperature, RelayTempDifference, RelayL1ValvePosition, RelayTimeProgram Relay-control override; one active depending on the configured relay mode
ReturnWaterSensor, AccumulatorSensor, BoilerSensor Optional temperature measurements on channels 3-5; active when a channel is assigned to that measurement

Requirements

  • Python 3.13+
  • aiohttp

Contributing

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

License

Apache-2.0

Release files for ouman-eh-800-api 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ouman-eh-800-api 1.1.0
File Size Uploaded
ouman_eh_800_api-1.1.0.tar.gz 13.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ouman-eh-800-api 1.1.0
File Interpreter ABI Platform
ouman_eh_800_api-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 28.3 kB

Release files / ouman_eh_800_api-1.1.0.tar.gz

Download URL ouman_eh_800_api-1.1.0.tar.gz
Size 13.0 kB
Tags Source
SHA-256 checksum
How to use checksums
4680c1b1e0715a59add554550dbc08dd09839afa1f4ceaba8c27404d2823b4a7
BLAKE2b-256 checksum
How to use checksums
189c8464def0e65f50b133849978b320b43840bf7a6e71d360f206e1e00017fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / ouman_eh_800_api-1.1.0-py3-none-any.whl

Download URL ouman_eh_800_api-1.1.0-py3-none-any.whl
Size 15.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a58fefd39a9074d7febfe2c8e602fbb39c4fd15bb7f978403627d3f02e06050c
BLAKE2b-256 checksum
How to use checksums
3d2e142e87e68b42d28280728c6b7f35347d4a04c0d2904ca3271919b3511ef3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page