iMicknl / ha-tahoma

Custom component for Home Assistant to interact with smart devices via Somfy TaHoma or other OverKiz based API's.
MIT License
156 stars 30 forks source link

Water heater front panel changes are not reflected in Home Assistant #651

Closed gbuico closed 2 years ago

gbuico commented 3 years ago

Did you read the instructions?

The problem

I have a Thermor water heater defined as Atlantic Cozytouch and I just installed this integration. Most of the things are working fine but some functions probably need some adjustements. I will open an issue for each f them to avoid confusion. The most important one first. I can switch from Auto to Manual and viceceversa from Home Assistant, but if I change the setting from the front panel of the heater the change is not reflected in the entity "water_heater.dhwp_actuator".

In the attached log you will see the result of passing from manual to auto using the heater panel at 16:34:34

What version of this integration (ha-tahoma) has the issue?

1.6.1

What version of Home Assistant Core has the issue?

core-2021.11.1

Which gateway / hub do you use?

Cozytouch

Device model

Cozytouch, Atlantic, model and DHWP Actuator, Atlantic Group, DomesticHotWaterProduction

Home Assistant log

2021-11-06 16:28:51 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration heatzy which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2021-11-06 16:28:51 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration browser_mod which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2021-11-06 16:28:51 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration cozytouch which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2021-11-06 16:28:51 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration sonoff which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2021-11-06 16:28:51 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration airzonecloud which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2021-11-06 16:28:51 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration tahoma which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2021-11-06 16:28:51 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2021-11-06 16:29:04 DEBUG (MainThread) [custom_components.tahoma] Finished fetching device events data in 0.057 seconds (success: True)
2021-11-06 16:29:04 DEBUG (MainThread) [custom_components.tahoma] Added device (Device(attributes=States(_states=[State(name='core:Manufacturer', type=<DataType.STRING: 3>, value='Atlantic Group'), State(name='core:FirmwareRevision', type=<DataType.STRING: 3>, value='A752001')]), available=True, enabled=True, label='DHWP Actuator', device_url=io://****-****-7969/16006245#1, controllable_name='io:AtlanticDomesticHotWaterProductionV2_CE_FLAT_C2_IOComponent', definition=Definition(commands=CommandDefinitions(_commands=[CommandDefinition(command_name='advancedRefresh', nparams=1), CommandDefinition(command_name='delayedStopIdentify', nparams=1), CommandDefinition(command_name='getName', nparams=0), CommandDefinition(command_name='identify', nparams=0), CommandDefinition(command_name='refreshAbsenceEndDate', nparams=0), CommandDefinition(command_name='refreshAbsenceMode', nparams=0), CommandDefinition(command_name='refreshAbsenceStartDate', nparams=0), CommandDefinition(command_name='refreshBoostEndDate', nparams=0), CommandDefinition(command_name='refreshBoostMode', nparams=0), CommandDefinition(command_name='refreshBoostStartDate', nparams=0), CommandDefinition(command_name='refreshBottomTankWaterTemperature', nparams=0), CommandDefinition(command_name='refreshManufacturerName', nparams=0), CommandDefinition(command_name='refreshMiddleWaterTemperatureIn', nparams=0), CommandDefinition(command_name='refreshTargetTemperature', nparams=0), CommandDefinition(command_name='refreshWaterConsumption', nparams=0), CommandDefinition(command_name='refreshWaterTargetTemperature', nparams=0), CommandDefinition(command_name='refreshWaterTemperature', nparams=0), CommandDefinition(command_name='setAbsenceEndDate', nparams=1), CommandDefinition(command_name='setAbsenceMode', nparams=1), CommandDefinition(command_name='setAbsenceStartDate', nparams=1), CommandDefinition(command_name='setBoostEndDate', nparams=1), CommandDefinition(command_name='setBoostMode', nparams=1), CommandDefinition(command_name='setBoostStartDate', nparams=1), CommandDefinition(command_name='setComfortTargetTemperature', nparams=1), CommandDefinition(command_name='setDateTime', nparams=1), CommandDefinition(command_name='setEcoTargetTemperature', nparams=1), CommandDefinition(command_name='setExpectedNumberOfShower', nparams=1), CommandDefinition(command_name='setFrostProtectionTargetTemperature', nparams=1), CommandDefinition(command_name='setName', nparams=1), CommandDefinition(command_name='setTargetDHWTemperature', nparams=1), CommandDefinition(command_name='setTargetTemperature', nparams=1), CommandDefinition(command_name='setWaterTargetTemperature', nparams=1), CommandDefinition(command_name='setWaterTemperature', nparams=1), CommandDefinition(command_name='startIdentify', nparams=0), CommandDefinition(command_name='stopIdentify', nparams=0), CommandDefinition(command_name='wink', nparams=1), CommandDefinition(command_name='refreshExpectedNumberOfShower', nparams=0), CommandDefinition(command_name='pairOneWayController', nparams=2), CommandDefinition(command_name='refreshAntiLegionellosis', nparams=0), CommandDefinition(command_name='refreshAwayModeDuration', nparams=0), CommandDefinition(command_name='refreshBoilerInstallationOption', nparams=0), CommandDefinition(command_name='refreshBoostModeDuration', nparams=0), CommandDefinition(command_name='refreshCurrentOperatingMode', nparams=0), CommandDefinition(command_name='refreshDHWCapacity', nparams=0), CommandDefinition(command_name='refreshDHWError', nparams=0), CommandDefinition(command_name='refreshDHWMode', nparams=0), CommandDefinition(command_name='refreshElectricalExtraManagement', nparams=0), CommandDefinition(command_name='refreshExtractionOption', nparams=0), CommandDefinition(command_name='refreshInstallation', nparams=0), CommandDefinition(command_name='refreshMiddleWaterTemperature', nparams=0), CommandDefinition(command_name='refreshOperatingModeCapabilities', nparams=0), CommandDefinition(command_name='refreshOperatingRange', nparams=0), CommandDefinition(command_name='refreshOperatingTime', nparams=0), CommandDefinition(command_name='refreshProgrammingSlots', nparams=0), CommandDefinition(command_name='refreshRateManagement', nparams=0), CommandDefinition(command_name='refreshSmartGridOption', nparams=0), CommandDefinition(command_name='setAntiLegionellosis', nparams=1), CommandDefinition(command_name='setAwayModeDuration', nparams=1), CommandDefinition(command_name='setBoilerInstallationOption', nparams=1), CommandDefinition(command_name='setBoostModeDuration', nparams=1), CommandDefinition(command_name='setCurrentOperatingMode', nparams=1), CommandDefinition(command_name='setDHWMode', nparams=1), CommandDefinition(command_name='setElectricalExtraManagement', nparams=1), CommandDefinition(command_name='setExtractionOption', nparams=1), CommandDefinition(command_name='setHaltedTargetTemperature', nparams=1), CommandDefinition(command_name='setInstallation', nparams=1), CommandDefinition(command_name='setOperatingRange', nparams=1), CommandDefinition(command_name='setProgrammingSlots', nparams=1), CommandDefinition(command_name='setRateManagement', nparams=1), CommandDefinition(command_name='setSmartGridOption', nparams=1), CommandDefinition(command_name='unpairAllOneWayControllers', nparams=0), CommandDefinition(command_name='unpairOneWayController', nparams=2)]), states=[StateDefinition(qualified_name='core:AbsenceEndDateState', type='DataState', values=None), StateDefinition(qualified_name='core:AbsenceStartDateState', type='DataState', values=None), StateDefinition(qualified_name='core:BoostElectricPowerConsumptionState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:BoostEndDateState', type='DataState', values=None), StateDefinition(qualified_name='core:BoostModeDurationState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:BoostStartDateState', type='DataState', values=None), StateDefinition(qualified_name='core:BottomTankWaterTemperatureState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:ComfortTargetTemperatureState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:ControlWaterTargetTemperatureState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:DHWPSoftwareVersionState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:DateTimeState', type='DataState', values=None), StateDefinition(qualified_name='core:DiscreteRSSILevelState', type='DiscreteState', values=['good', 'low', 'normal', 'verylow']), StateDefinition(qualified_name='core:EcoTargetTemperatureState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:ExpectedNumberOfShowerState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:FrostProtectionTargetTemperatureState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:HaltedTargetTemperatureState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:HeatingStatusState', type='DataState', values=None), StateDefinition(qualified_name='core:ManufacturerNameState', type='DataState', values=None), StateDefinition(qualified_name='core:MaximalShowerManualModeState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:MaximalTemperatureManualModeState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:MiddleWaterTemperatureInState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:MinimalShowerManualModeState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:MinimalTemperatureManualModeState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:NameState', type='DataState', values=None), StateDefinition(qualified_name='core:NumberOfShowerRemainingState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:NumberOfTankState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:OperatingModeState', type='DiscreteState', values=['antifreeze', 'auto', 'away', 'eco', 'frostprotection', 'manual', 'max', 'normal', 'off', 'on', 'prog', 'program', 'boost']), StateDefinition(qualified_name='core:PowerHeatElectricalInState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:PriorityLockTimerState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:ProgrammingAvailableState', type='DataState', values=None), StateDefinition(qualified_name='core:RSSILevelState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:SecuredPositionTemperatureState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:StatusState', type='DiscreteState', values=['available', 'unavailable']), StateDefinition(qualified_name='core:StopRelaunchState', type='DataState', values=None), StateDefinition(qualified_name='core:TargetDHWTemperatureState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:TargetTemperatureState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:TemperatureState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:V40WaterVolumeEstimationState', type='DataState', values=None), StateDefinition(qualified_name='core:VersionState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:WaterConsumptionState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:WaterTargetTemperatureState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:WaterTemperatureState', type='ContinuousState', values=None), StateDefinition(qualified_name='io:AntiLegionellosisState', type='ContinuousState', values=None), StateDefinition(qualified_name='io:AwayModeDurationState', type='ContinuousState', values=None), StateDefinition(qualified_name='io:BoilerInstallationOptionState', type='DiscreteState', values=['boilerOptimising', 'boilerPriority', 'heatPumpOptimising', 'heatPumpPriority']), StateDefinition(qualified_name='io:DHWAbsenceModeState', type='DiscreteState', values=['off', 'on', 'prog']), StateDefinition(qualified_name='io:DHWBoostModeState', type='DiscreteState', values=['off', 'on', 'prog']), StateDefinition(qualified_name='io:DHWCapacityState', type='ContinuousState', values=None), StateDefinition(qualified_name='io:DHWErrorState', type='DataState', values=None), StateDefinition(qualified_name='io:DHWModeState', type='DiscreteState', values=['autoMode', 'manualEcoActive', 'manualEcoInactive']), StateDefinition(qualified_name='io:ElectricBoosterOperatingTimeState', type='ContinuousState', values=None), StateDefinition(qualified_name='io:ElectricalExtraManagementState', type='DiscreteState', values=['auto', 'deactive']), StateDefinition(qualified_name='io:ExtractionOptionState', type='DiscreteState', values=['fastExtractionSpeed', 'lowExtractionSpeed', 'noExtraction']), StateDefinition(qualified_name='io:HeatPumpOperatingTimeState', type='ContinuousState', values=None), StateDefinition(qualified_name='io:InstallationState', type='DiscreteState', values=['extraBoiler', 'extraSolar', 'onlyThermodynamic']), StateDefinition(qualified_name='io:MiddleWaterTemperatureState', type='ContinuousState', values=None), StateDefinition(qualified_name='io:OperatingModeCapabilitiesState', type='DataState', values=None), StateDefinition(qualified_name='io:OperatingRangeState', type='DiscreteState', values=['pac24h_elec24h', 'pacProg_elecProg']), StateDefinition(qualified_name='io:PowerConsumptionFanState', type='DataState', values=None), StateDefinition(qualified_name='io:PowerHeatElectricalState', type='DataState', values=None), StateDefinition(qualified_name='io:PowerHeatPumpState', type='DataState', values=None), StateDefinition(qualified_name='io:PriorityLockLevelState', type='DiscreteState', values=['comfortLevel1', 'comfortLevel2', 'comfortLevel3', 'comfortLevel4', 'environmentProtection', 'humanProtection', 'userLevel1', 'userLevel2']), StateDefinition(qualified_name='io:PriorityLockOriginatorState', type='DiscreteState', values=['LSC', 'SAAC', 'SFC', 'UPS', 'externalGateway', 'localUser', 'myself', 'rain', 'security', 'temperature', 'timer', 'user', 'wind']), StateDefinition(qualified_name='io:ProgrammingSlotsState', type='DataState', values=None), StateDefinition(qualified_name='io:RateManagementState', type='DiscreteState', values=['forbidden', 'no', 'recommended', 'unsuitable', 'wanted']), StateDefinition(qualified_name='io:SmartGridOptionState', type='DiscreteState', values=['active', 'deactive'])], widget_name='DomesticHotWaterProduction', ui_class='WaterHeatingSystem', qualified_name='io:AtlanticDomesticHotWaterProductionV2_CE_FLAT_C2_IOComponent'), data_properties=None, widget='DomesticHotWaterProduction', ui_class='WaterHeatingSystem', states=States(_states=[State(name='core:NameState', type=<DataType.STRING: 3>, value='DHWP Actuator'), State(name='core:VersionState', type=<DataType.STRING: 3>, value='41373532303031202020'), State(name='core:PriorityLockTimerState', type=<DataType.INTEGER: 1>, value=0), State(name='core:StatusState', type=<DataType.STRING: 3>, value='available'), State(name='core:DiscreteRSSILevelState', type=<DataType.STRING: 3>, value='good'), State(name='core:RSSILevelState', type=<DataType.FLOAT: 2>, value=100.0), State(name='io:RateManagementState', type=<DataType.STRING: 3>, value='?'), State(name='io:OperatingModeCapabilitiesState', type=<DataType.JSON_OBJECT: 11>, value={'relaunch': 1, 'absence': 1, 'rate_management': 1, 'energy_demand_status': 1}), State(name='core:OperatingModeState', type=<DataType.JSON_OBJECT: 11>, value={'relaunch': 'Not_Used', 'absence': 'Not_Used'}), State(name='core:WaterConsumptionState', type=<DataType.INTEGER: 1>, value=129), State(name='io:DHWErrorState', type=<DataType.JSON_OBJECT: 11>, value={'code': 255, 'minor': 255, 'family': 'W', 'type': 4}), State(name='io:HeatPumpOperatingTimeState', type=<DataType.INTEGER: 1>, value=0), State(name='io:ElectricBoosterOperatingTimeState', type=<DataType.INTEGER: 1>, value=375), State(name='io:DHWModeState', type=<DataType.STRING: 3>, value='manualEcoInactive'), State(name='core:TemperatureState', type=<DataType.FLOAT: 2>, value=20.0), State(name='core:TargetTemperatureState', type=<DataType.FLOAT: 2>, value=50.0), State(name='io:OperatingRangeState', type=<DataType.STRING: 3>, value='pac24h_elec24h'), State(name='io:ProgrammingSlotsState', type=<DataType.JSON_OBJECT: 11>, value={'slot2': {'start': '00:00', 'end': '00:00'}, 'slot1': {'start': '22:00', 'end': '06:00'}}), State(name='io:AntiLegionellosisState', type=<DataType.INTEGER: 1>, value=1), State(name='core:ProgrammingAvailableState', type=<DataType.INTEGER: 1>, value=0), State(name='io:DHWBoostModeState', type=<DataType.STRING: 3>, value='off'), State(name='io:DHWAbsenceModeState', type=<DataType.STRING: 3>, value='off'), State(name='core:NumberOfTankState', type=<DataType.INTEGER: 1>, value=2), State(name='core:BoostElectricPowerConsumptionState', type=<DataType.INTEGER: 1>, value=0), State(name='core:PowerHeatElectricalInState', type=<DataType.INTEGER: 1>, value=0), State(name='io:MiddleWaterTemperatureState', type=<DataType.FLOAT: 2>, value=68.2), State(name='core:BottomTankWaterTemperatureState', type=<DataType.FLOAT: 2>, value=0.0), State(name='core:V40WaterVolumeEstimationState', type=<DataType.INTEGER: 1>, value=18859), State(name='io:PowerHeatElectricalState', type=<DataType.INTEGER: 1>, value=1500), State(name='io:PowerHeatPumpState', type=<DataType.INTEGER: 1>, value=0), State(name='core:WaterTargetTemperatureState', type=<DataType.FLOAT: 2>, value=60.0), State(name='core:TargetDHWTemperatureState', type=<DataType.FLOAT: 2>, value=60.0), State(name='core:WaterTemperatureState', type=<DataType.FLOAT: 2>, value=60.0), State(name='core:ExpectedNumberOfShowerState', type=<DataType.INTEGER: 1>, value=4), State(name='core:ControlWaterTargetTemperatureState', type=<DataType.FLOAT: 2>, value=70.0), State(name='core:StopRelaunchState', type=<DataType.STRING: 3>, value=' Relaunch Enable'), State(name='core:MiddleWaterTemperatureInState', type=<DataType.FLOAT: 2>, value=63.3), State(name='core:HeatingStatusState', type=<DataType.STRING: 3>, value='Heating'), State(name='core:NumberOfShowerRemainingState', type=<DataType.INTEGER: 1>, value=3), State(name='core:DateTimeState', type=<DataType.JSON_OBJECT: 11>, value={'month': 11, 'hour': 14, 'year': 2021, 'weekday': 5, 'day': 6, 'minute': 10, 'second': 5}), State(name='core:ManufacturerNameState', type=<DataType.STRING: 3>, value='Thermor'), State(name='core:DHWPSoftwareVersionState', type=<DataType.STRING: 3>, value='MALICIO'), State(name='io:DHWCapacityState', type=<DataType.INTEGER: 1>, value=65), State(name='core:BoostStartDateState', type=<DataType.JSON_OBJECT: 11>, value={'month': 7, 'hour': 14, 'year': 2021, 'weekday': 1, 'day': 13, 'minute': 0, 'second': 32}), State(name='core:BoostEndDateState', type=<DataType.JSON_OBJECT: 11>, value={'month': 7, 'hour': 14, 'year': 2021, 'weekday': 3, 'day': 15, 'minute': 0, 'second': 32}), State(name='core:MinimalTemperatureManualModeState', type=<DataType.FLOAT: 2>, value=50.0), State(name='core:MaximalTemperatureManualModeState', type=<DataType.FLOAT: 2>, value=70.0), State(name='core:MinimalShowerManualModeState', type=<DataType.INTEGER: 1>, value=1), State(name='core:MaximalShowerManualModeState', type=<DataType.INTEGER: 1>, value=3)]), type=<ProductType.ACTUATOR: 1>, place_oid='453f4432-2676-478a-b0b8-4ffabb371307'))
2021-11-06 16:29:04 DEBUG (MainThread) [custom_components.tahoma] Added gateway (Gateway(partners=[Partner(activated=True, name='Atlantic', id=atlantic, status='OWNER')], functions='INTERNET_AUTHORIZATION,SCENARIO_DOWNLOAD,SCENARIO_AUTO_LAUNCHING,SCENARIO_TELECO_LAUNCHING,INTERNET_UPLOAD,INTERNET_UPDATE,TRIGGERS_SENSORS', sub_type=None, id=****-****-7969, gateway_id=NOTHING, alive=True, mode='ACTIVE', place_oid='453f4432-2676-478a-b0b8-4ffabb371307', time_reliable=True, connectivity=Connectivity(status='OK', protocol_version='2021.4.4'), up_to_date=True, update_status=<UpdateBoxStatus.UP_TO_DATE: 'UP_TO_DATE'>, sync_in_progress=False, type=<GatewayType.COZYTOUCH: 32>))
2021-11-06 16:29:34 DEBUG (MainThread) [custom_components.tahoma] Finished fetching device events data in 0.144 seconds (success: True)
2021-11-06 16:30:04 DEBUG (MainThread) [custom_components.tahoma] Finished fetching device events data in 0.536 seconds (success: True)
2021-11-06 16:30:34 DEBUG (MainThread) [custom_components.tahoma] Finished fetching device events data in 0.199 seconds (success: True)
2021-11-06 16:31:04 DEBUG (MainThread) [custom_components.tahoma] Finished fetching device events data in 0.151 seconds (success: True)
2021-11-06 16:31:34 DEBUG (MainThread) [custom_components.tahoma] Finished fetching device events data in 0.145 seconds (success: True)
2021-11-06 16:32:04 DEBUG (MainThread) [custom_components.tahoma] Finished fetching device events data in 0.153 seconds (success: True)
2021-11-06 16:32:34 DEBUG (MainThread) [custom_components.tahoma] Finished fetching device events data in 0.144 seconds (success: True)
2021-11-06 16:33:04 DEBUG (MainThread) [custom_components.tahoma] Finished fetching device events data in 0.154 seconds (success: True)
2021-11-06 16:33:34 DEBUG (MainThread) [custom_components.tahoma] Finished fetching device events data in 0.144 seconds (success: True)
2021-11-06 16:34:04 DEBUG (MainThread) [custom_components.tahoma] Finished fetching device events data in 0.160 seconds (success: True)
2021-11-06 16:34:34 DEBUG (MainThread) [custom_components.tahoma.coordinator] Event(timestamp=1636212853974, name=<EventName.DEVICE_STATE_CHANGED: 'DeviceStateChangedEvent'>, setupoid=_CountingAttr(counter=332, _default=None, repr=<function obfuscate_id at 0x7f4778ff3700>, eq=True, order=True, hash=None, init=True, on_setattr=None, metadata={}), owner_key=None, type=None, sub_type=None, time_to_next_state=None, failed_commands=None, failure_type_code=None, failure_type=None, condition_groupoid=None, place_oid=None, label=None, metadata=None, camera_id=None, deleted_raw_devices_count=None, protocol_type=None, gateway_id=None, exec_id=None, device_url=io://****-****-7969/16006245#1, device_states=[State(name='core:V40WaterVolumeEstimationState', type=<DataType.INTEGER: 1>, value='18867')], old_state=None, new_state=None)
2021-11-06 16:34:34 DEBUG (MainThread) [custom_components.tahoma] Finished fetching device events data in 0.144 seconds (success: True)

Additional information

No response

iMicknl commented 3 years ago

@gbuico in the event on 16:34 there is no information in regards to the mode change. Is this reflected in the official app / tahomalink.com?

And if it is reflected, do you see the new (updated) state in Home Assistant as well after you opened the official app?

gbuico commented 3 years ago

@iMicknl , let me be more precise. I pressed the AUTO button on the front panel after seeing this log entry:

2021-11-06 16:34:04 DEBUG (MainThread) [custom_components.tahoma] Finished fetching device events data in 0.160 seconds (success: True)

I assumed that pushing the button generated this log entry:

2021-11-06 16:34:34 DEBUG (MainThread) [custom_components.tahoma.coordinator] Event(timestamp=1636212853974, name=<EventName.DEVICE_STATE_CHANGED: 'DeviceStateChangedEvent'>, setupoid=_CountingAttr(counter=332, _default=None, repr=<function obfuscate_id at 0x7f4778ff3700>, eq=True, order=True, hash=None, init=True, on_setattr=None, metadata={}), owner_key=None, type=None, sub_type=None, time_to_next_state=None, failed_commands=None, failure_type_code=None, failure_type=None, condition_groupoid=None, place_oid=None, label=None, metadata=None, camera_id=None, deleted_raw_devices_count=None, protocol_type=None, gateway_id=None, exec_id=None, device_url=io://****-****-7969/16006245#1, device_states=[State(name='core:V40WaterVolumeEstimationState', type=<DataType.INTEGER: 1>, value='18867')], old_state=None, new_state=None)

...where I see "DEVICE_STATE_CHANGED"... but I don't know the meaning of the remaining fields.. :)

Unfortunately, I didn't think of checking the official app... Let me do it straight away and come back to you with the results

gbuico commented 3 years ago

@iMicknl , sorry, I was so ansious to the test that I forgot to say thank you for your answer...

Test 1:

Now... the other way around. Trying to change from AUTO to Manual and viceversa in HA the heater is updated immediatly and the app 1 second later: Similarly, changing the status from the app, heater changes immediatly and HA a few seconds later.

In summary, it looks like that the changes on the front panel are not sent or managed in real time by Cozytouch and, as a consequence, not known to the app and to HA.

From your knowledge, is it normal that the Cozytouch database is not updated in real time? To say the truth I saw it updating... but with a delay of minutes or tenths of minutes? If you also think this is not normal can you suggest where/how to raise this issue?

Thanks a lot for listening and sending me on the right path

Giacomo

iMicknl commented 3 years ago

...where I see "DEVICE_STATE_CHANGED"... but I don't know the meaning of the remaining fields.. :)

The only thing that changes it the following state: [State(name='core:V40WaterVolumeEstimationState', type=<DataType.INTEGER: 1>, value='18867')]

From your knowledge, is it normal that the Cozytouch database is not updated in real time? To say the truth I saw it updating... but with a delay of minutes or tenths of minutes? If you also think this is not normal can you suggest where/how to raise this issue?

Is your thermostat battery powered? I don't own a thermostat myself, however we have seen other devices where the state is not updated real-time after you take an action on the device itself (or via the remote). There are commands to ask the devices to send the refreshed state, thus we could experiment with that. (this is what the app also calls on a login, probably only after you kill the app).

gbuico commented 3 years ago

Hi @iMicknl . My equipment is not a thermostat... It's a water heater Thermor Malicio2, so it's conneced to the main, no battery, therefore I don't understand why they don't send the status changement to their own app (even though the app software belongs to their partner Cozytouch) I have no prove that they (Thermor) are not sending this info but I see th Cozytouch app react quickly to other changes (i.e. Home Assistant) and not doing when the change is made on the front panel of the heater.

Your idea of forcing a reread every xx seconds may be a solution... even though the logic would say that the real solution should be implemented in the water heather... but they don't even have a customer support...

Ready to test if you want... meanwhile I will kee trying to find a way to reach Thermor

github-actions[bot] commented 2 years ago

'There hasn't been any activity on this issue recently. Is this issue still present? Please make sure to update to the latest Home Assistant version and version of this integration to see if that solves the issue. Let us know if that works for you by adding a comment 👍. This issue now has been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.'