Skip to content

Provide high level interface #119

@kbabioch

Description

@kbabioch

Currently this module focuses on providing low level data as reported back from the heat pump itself. While there are different categories of data (parameters, visibilities and calculations), they are essentially reported back as-is with only a simple mapping that is done by the available datatypes. For instance values like 0, 1, 2 might be mapped to some string representation:

    codes = {
        0: "Automatic",
        1: "Second heatsource",
        2: "Party",
        3: "Holidays",
        4: "Off",
    }

As it turns out there are some issues with this, though:

For instance, Betriebszustand reports EVU, while the heat pump is not allowed to run, while it doesnt report cooling` when it is actually cooling without the compressor running (see #112). There are more such glitches discussed / reported in #84.

For now @BenPru has dealt with these complexities in this Home Assistant integration. However it would be nice if those could actually be handled by this module, so that consumers of this module don't have to implement this on their own.

For this a high level interface is needed that represents the current state of the heat pump by interpreting the low level values itself.

Besides that the high level interface could also provide services / functions to the user, so that the user of the module does not need to deal with the low level details.

This could include:

  • Setting the room temperature (admittedly this is essentially writing only a single value, but still its an improvement if you don't need to know anything about parameters, etc.)
  • Enabling the heating rod to heat up some water (e.g. this could be used to get rid of excess power produced by PV)
  • Turn on the HUP (Heizungsumwälzpumpe) to get some water flow in the heating system
  • Turn on the ZIP (Zirkulationspumpe) to get some water flow in the water installation (e.g. when presense is detected by a motion sensor, etc.)

The exact details and additional functionality that might be needed/useful can be discussed in this issue, since I'm interested in the point of view from other users of this module also.

@gerw @Bouni @BenPru What are your thoughts about this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions