From 431bba4f3eab3c8910895b5c256d2629dea975ce Mon Sep 17 00:00:00 2001 From: thomasgermain <12560542+thomasgermain@users.noreply.github.com> Date: Mon, 28 Dec 2020 16:21:48 +0100 Subject: [PATCH] 1.5.0b2 --- README.md | 10 ++++++++++ multimatic/const.py | 2 +- multimatic/entities.py | 6 ++++-- multimatic/fan.py | 1 + 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0e15861..d8f390a 100644 --- a/README.md +++ b/README.md @@ -70,11 +70,21 @@ You can use something like this as automation: - Add a scan interval option - Fix error when a live report is not in the API anymore. - Adding fan support +- You may sometimes see (around 3:30 am) an error like the following. It seems the API server is restarted every night, so the integration can't fetch data +``` +Unable to fetch data from multimatic, API says:`xxx Service Unavailable, status: xxx +``` + +### [1.5.0b2](https://github.com/thomasgermain/vaillant-component/releases/tag/1.5.0b2) +- Add `multimatic` in unique_id in order to avoid collision +- Add `multimatic` for entity `quick_mode`, `holiday`, `system_online` and `system_update` +- Add fan entity ## Provided entities - 1 water_heater entity, if any water heater: `water_heater.`, basically `water_heater.control_dhw` - 1 climate entity per zone (expect if the zone is controlled by room) `climate.` - 1 climate entity per room `climate.` +- 1 fan entity `fan.` - 1 binary_sensor entity `binary_sensor.control_dhw` reflecting if the circulation is on or off - 1 binary_sensor entity `climate._window` per room reflecting the state of the "open window" in a room (this is a feature of the multimatic API, if the temperature is going down pretty fast, the API assumes there is an open window and heating stops) - 1 binary_sensor entity `climate._lock`per device reflecting if valves are "child locked" or not diff --git a/multimatic/const.py b/multimatic/const.py index aafaa02..b79fd12 100644 --- a/multimatic/const.py +++ b/multimatic/const.py @@ -6,7 +6,7 @@ ENTITIES = "entities" # list of platforms into entity are created -PLATFORMS = ["binary_sensor", "sensor", "water_heater", "climate"] +PLATFORMS = ["binary_sensor", "sensor", "water_heater", "climate", "fan"] # climate custom presets PRESET_DAY = "day" diff --git a/multimatic/entities.py b/multimatic/entities.py index f9fb86f..98c2b4d 100644 --- a/multimatic/entities.py +++ b/multimatic/entities.py @@ -7,7 +7,7 @@ from homeassistant.util import slugify from . import ApiHub -from .const import REFRESH_ENTITIES_EVENT +from .const import DOMAIN as MULTIMATIC, REFRESH_ENTITIES_EVENT _LOGGER = logging.getLogger(__name__) @@ -23,12 +23,14 @@ def __init__( self._device_class = dev_class if dev_class and class_id: id_format = domain + "._{}_" + dev_class + unique_id_format = domain + "._" + MULTIMATIC + "_{}_" + dev_class else: id_format = domain + "._{}" + unique_id_format = domain + "._" + MULTIMATIC + "_{}" self.entity_id = id_format.format(slugify(device_id)).lower() + self._unique_id = unique_id_format.format(slugify(device_id)).lower() self._entity_name = name - self._unique_id = self.entity_id self._remove_listener = None @property diff --git a/multimatic/fan.py b/multimatic/fan.py index df89731..5f37766 100644 --- a/multimatic/fan.py +++ b/multimatic/fan.py @@ -39,6 +39,7 @@ def __init__(self, hub: ApiHub): False, ) self._speed_list = [ + OperatingModes.AUTO.name, OperatingModes.OFF.name, OperatingModes.DAY.name, OperatingModes.NIGHT.name,