iMicknl / ha-tahoma

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

Add support for Atlantic Naia 2 #731

Closed romano1508 closed 2 years ago

romano1508 commented 2 years ago

Did you read the instructions?

Device information

Tahoma rail din Condensing gas boiler Atlantic Naia 2 Micro with thermostat Atlantic A59 Home Assistant 2021.12.10 on raspberry pi

A part of the information collected by HA are wrong. Bad temperature (55° instead of 18°), bad heating mode. Concerning the energy consumption, information are good.

Feature exepected : Set heating mode: prog or manual Define a manual temperature

Home Assistant log

022-01-25 20:12:39 DEBUG (MainThread) [custom_components.tahoma] Unsupported device detected (Device(attributes=States(_states=[State(name='core:FirmwareRevision', type=<DataType.STRING: 3>, value='A282002'), State(name='core:Manufacturer', type=<DataType.STRING: 3>, value='Atlantic Group'), State(name='core:ElectricPowerConsumptionStateMeasuredValueType', type=<DataType.STRING: 3>, value='core:ElectricalPowerInkW')]), available=True, enabled=True, label='BL_Actuator', device_url=io://****-****-0627/15124248#1, controllable_name='io:AtlanticPassAPCBoilerMainComponent', definition=Definition(commands=CommandDefinitions(_commands=[CommandDefinition(command_name='advancedRefresh', nparams=1), CommandDefinition(command_name='cancelAbsence', nparams=0), CommandDefinition(command_name='delayedStopIdentify', nparams=1), CommandDefinition(command_name='getName', nparams=0), CommandDefinition(command_name='identify', nparams=0), CommandDefinition(command_name='refreshDeviceSerialNumber', nparams=0), CommandDefinition(command_name='refreshErrorCode', nparams=0), CommandDefinition(command_name='refreshHeatingDerogationAvailability', nparams=0), CommandDefinition(command_name='refreshOperatingMode', nparams=0), CommandDefinition(command_name='refreshOutsideTemperature', nparams=0), CommandDefinition(command_name='refreshTimeProgramById', nparams=1), CommandDefinition(command_name='refreshZonesNumber', nparams=0), CommandDefinition(command_name='refreshZonesTargetTemperature', nparams=0), CommandDefinition(command_name='setAbsenceEndDateTime', nparams=1), CommandDefinition(command_name='setAbsenceHeatingTargetTemperature', nparams=1), CommandDefinition(command_name='setAbsenceStartDateTime', nparams=1), CommandDefinition(command_name='setName', nparams=1), CommandDefinition(command_name='setTimeProgramById', nparams=2), CommandDefinition(command_name='startIdentify', nparams=0), CommandDefinition(command_name='stopIdentify', nparams=0), CommandDefinition(command_name='wink', nparams=1), CommandDefinition(command_name='pairOneWayController', nparams=2), CommandDefinition(command_name='refreshAbsenceSchedulingAvailability', nparams=0), CommandDefinition(command_name='refreshDHWAvailability', nparams=0), CommandDefinition(command_name='refreshEnergyConsumptionAvailability', nparams=0), CommandDefinition(command_name='refreshOutsideTemperatureSensorAvailability', nparams=0), CommandDefinition(command_name='refreshProductType', nparams=0), CommandDefinition(command_name='refreshThermalSchedulingAvailability', nparams=0), CommandDefinition(command_name='refreshZonesPassAPCHeatingProfile', nparams=0), CommandDefinition(command_name='refreshZonesTemperature', nparams=0), CommandDefinition(command_name='refreshZonesTemperatureSensorAvailability', nparams=0), CommandDefinition(command_name='refreshZonesThermalConfiguration', nparams=0), CommandDefinition(command_name='setPassAPCOperatingMode', nparams=1), CommandDefinition(command_name='unpairAllOneWayControllers', nparams=0), CommandDefinition(command_name='unpairOneWayController', nparams=2)]), states=[StateDefinition(qualified_name='core:AbsenceEndDateTimeState', type='DataState', values=None), StateDefinition(qualified_name='core:AbsenceHeatingTargetTemperatureState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:AbsenceStartDateTimeState', type='DataState', values=None), StateDefinition(qualified_name='core:DeviceSerialNumberState', type='DataState', values=None), StateDefinition(qualified_name='core:DiscreteRSSILevelState', type='DiscreteState', values=['good', 'low', 'normal', 'verylow']), StateDefinition(qualified_name='core:ECSPowerConsumptionExtra1State', type='ContinuousState', values=None), StateDefinition(qualified_name='core:ECSPowerConsumptionExtra2State', type='ContinuousState', values=None), StateDefinition(qualified_name='core:ECSPowerConsumptionExtra3State', type='ContinuousState', values=None), StateDefinition(qualified_name='core:ECSPowerConsumptionState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:ErrorCodeState', type='DataState', values=None), StateDefinition(qualified_name='core:HeatingDerogationAvailabilityState', type='DiscreteState', values=['available', 'unavailable']), StateDefinition(qualified_name='core:HeatingPowerConsumptionExtra1State', type='ContinuousState', values=None), StateDefinition(qualified_name='core:HeatingPowerConsumptionExtra2State', type='ContinuousState', values=None), StateDefinition(qualified_name='core:HeatingPowerConsumptionExtra3State', type='ContinuousState', values=None), StateDefinition(qualified_name='core:HeatingPowerConsumptionState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:NameState', type='DataState', values=None), StateDefinition(qualified_name='core:PriorityLockTimerState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:ProductModelNameState', type='DataState', values=None), StateDefinition(qualified_name='core:RSSILevelState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:StatusState', type='DiscreteState', values=['available', 'unavailable']), StateDefinition(qualified_name='core:TimeProgram1State', type='DataState', values=None), StateDefinition(qualified_name='core:TimeProgram2State', type='DataState', values=None), StateDefinition(qualified_name='core:TimeProgram3State', type='DataState', values=None), StateDefinition(qualified_name='core:TimeProgram4State', type='DataState', values=None), StateDefinition(qualified_name='core:VersionState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:ZonesNumberState', type='DataState', values=None), StateDefinition(qualified_name='io:AbsenceSchedulingAvailabilityState', type='DiscreteState', values=['available', 'unavailable']), StateDefinition(qualified_name='io:AbsenceSchedulingModeState', type='DiscreteState', values=['dateScheduling', 'numberOfDaysScheduling']), StateDefinition(qualified_name='io:DHWAvailabilityState', type='DiscreteState', values=['available', 'unavailable']), StateDefinition(qualified_name='io:EnergyConsumptionAvailabilityState', type='DiscreteState', values=['available', 'unavailable']), StateDefinition(qualified_name='io:LastPassAPCOperatingModeState', type='DiscreteState', values=['cooling', 'drying', 'heating', 'stop']), StateDefinition(qualified_name='io:PassAPCOperatingModeState', type='DiscreteState', values=['cooling', 'drying', 'heating', 'stop']), StateDefinition(qualified_name='io:PassAPCProductTypeState', type='DiscreteState', values=['accumulationDomesticHotWater', 'airConditioning', 'boiler', 'convector', 'doubleFlowControlledMechanicalVentilation', 'heatPump', 'heater', 'hybrid', 'singleFlowControlledMechanicalVentilation', 'thermodynamicDomesticHotWater', 'zoneController']), 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:ThermalSchedulingAvailabilityState', type='DiscreteState', values=['available', 'unavailable']), StateDefinition(qualified_name='io:ThermalSchedulingModeState', type='DiscreteState', values=['heatingAndCoolingCommonScheduling', 'heatingAndCoolingSeparatedScheduling'])], widget_name='AtlanticPassAPCBoiler', ui_class='HeatingSystem', qualified_name='io:AtlanticPassAPCBoilerMainComponent'), data_properties=None, widget='AtlanticPassAPCBoiler', ui_class='HeatingSystem', states=States(_states=[State(name='core:NameState', type=<DataType.STRING: 3>, value='BL_Actuator'), State(name='core:VersionState', type=<DataType.STRING: 3>, value='41323832303032202020'), 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=84.0), State(name='core:ProductModelNameState', type=<DataType.STRING: 3>, value='00000080'), State(name='io:PassAPCProductTypeState', type=<DataType.STRING: 3>, value='boiler'), State(name='core:ZonesNumberState', type=<DataType.INTEGER: 1>, value=1), State(name='io:DHWAvailabilityState', type=<DataType.STRING: 3>, value='available'), State(name='core:HeatingPowerConsumptionState', type=<DataType.INTEGER: 1>, value=22), State(name='core:HeatingPowerConsumptionExtra1State', type=<DataType.INTEGER: 1>, value=0), State(name='core:HeatingPowerConsumptionExtra2State', type=<DataType.INTEGER: 1>, value=0), State(name='core:HeatingPowerConsumptionExtra3State', type=<DataType.INTEGER: 1>, value=0), State(name='core:ECSPowerConsumptionState', type=<DataType.INTEGER: 1>, value=30), State(name='core:ECSPowerConsumptionExtra1State', type=<DataType.INTEGER: 1>, value=0), State(name='core:ECSPowerConsumptionExtra2State', type=<DataType.INTEGER: 1>, value=0), State(name='core:ECSPowerConsumptionExtra3State', type=<DataType.INTEGER: 1>, value=0), State(name='io:EnergyConsumptionAvailabilityState', type=<DataType.STRING: 3>, value='available'), State(name='io:PassAPCOperatingModeState', type=<DataType.STRING: 3>, value='heating'), State(name='core:HeatingDerogationAvailabilityState', type=<DataType.STRING: 3>, value='available'), State(name='io:ThermalSchedulingAvailabilityState', type=<DataType.STRING: 3>, value='available'), State(name='io:ThermalSchedulingModeState', type=<DataType.STRING: 3>, value='heatingAndCoolingSeparatedScheduling'), State(name='core:TimeProgram1State', type=<DataType.JSON_ARRAY: 10>, value=[{'monday': [{'start': '06:30', 'end': '09:00'}, {'start': '17:30', 'end': '21:30'}, {'start': '00:00', 'end': '00:00'}]}, {'tuesday': [{'start': '06:30', 'end': '09:00'}, {'start': '17:30', 'end': '21:30'}, {'start': '00:00', 'end': '00:00'}]}, {'wednesday': [{'start': '06:30', 'end': '09:00'}, {'start': '17:30', 'end': '21:30'}, {'start': '00:00', 'end': '00:00'}]}, {'thursday': [{'start': '06:30', 'end': '09:00'}, {'start': '17:30', 'end': '21:30'}, {'start': '00:00', 'end': '00:00'}]}, {'friday': [{'start': '06:30', 'end': '09:00'}, {'start': '17:30', 'end': '21:30'}, {'start': '00:00', 'end': '00:00'}]}, {'saturday': [{'start': '06:00', 'end': '22:00'}, {'start': '00:00', 'end': '00:00'}, {'start': '00:00', 'end': '00:00'}]}, {'sunday': [{'start': '06:00', 'end': '22:00'}, {'start': '00:00', 'end': '00:00'}, {'start': '00:00', 'end': '00:00'}]}]), State(name='core:TimeProgram2State', type=<DataType.JSON_ARRAY: 10>, value=[{'monday': [{'start': '06:00', 'end': '22:00'}, {'start': '00:00', 'end': '00:00'}, {'start': '00:00', 'end': '00:00'}]}, {'tuesday': [{'start': '06:00', 'end': '22:00'}, {'start': '00:00', 'end': '00:00'}, {'start': '00:00', 'end': '00:00'}]}, {'wednesday': [{'start': '06:00', 'end': '22:00'}, {'start': '00:00', 'end': '00:00'}, {'start': '00:00', 'end': '00:00'}]}, {'thursday': [{'start': '06:00', 'end': '22:00'}, {'start': '00:00', 'end': '00:00'}, {'start': '00:00', 'end': '00:00'}]}, {'friday': [{'start': '06:00', 'end': '22:00'}, {'start': '00:00', 'end': '00:00'}, {'start': '00:00', 'end': '00:00'}]}, {'saturday': [{'start': '06:00', 'end': '22:00'}, {'start': '00:00', 'end': '00:00'}, {'start': '00:00', 'end': '00:00'}]}, {'sunday': [{'start': '06:00', 'end': '22:00'}, {'start': '00:00', 'end': '00:00'}, {'start': '00:00', 'end': '00:00'}]}]), State(name='io:AbsenceSchedulingAvailabilityState', type=<DataType.STRING: 3>, value='available'), State(name='io:AbsenceSchedulingModeState', type=<DataType.STRING: 3>, value='dateScheduling'), State(name='core:AbsenceHeatingTargetTemperatureState', type=<DataType.FLOAT: 2>, value=13.0), State(name='core:AbsenceEndDateTimeState', type=<DataType.JSON_OBJECT: 11>, value={'month': 6, 'hour': 0, 'year': 2016, 'day': 15, 'minute': 0}), State(name='core:ErrorCodeState', type=<DataType.INTEGER: 1>, value=0), State(name='io:LastPassAPCOperatingModeState', type=<DataType.STRING: 3>, value='heating')]), type=<ProductType.ACTUATOR: 1>, place_oid='bd2b4632-2df8-4497-9d8f-64b524f5dc47'))
2022-01-25 20:12:39 DEBUG (MainThread) [custom_components.tahoma] Added device (Device(attributes=States(_states=[]), available=True, enabled=True, label='IO (15124248#2)', device_url=io://****-****-0627/15124248#2, controllable_name='io:AtlanticPassAPCDHWComponent', definition=Definition(commands=CommandDefinitions(_commands=[CommandDefinition(command_name='advancedRefresh', nparams=1), CommandDefinition(command_name='refreshComfortTargetDHWTemperature', nparams=0), CommandDefinition(command_name='refreshDHWDerogationAvailability', nparams=0), CommandDefinition(command_name='refreshDHWOnOffState', nparams=0), CommandDefinition(command_name='refreshEcoTargetDHWTemperature', nparams=0), CommandDefinition(command_name='refreshTargetDHWTemperature', nparams=0), CommandDefinition(command_name='setBoostOnOffState', nparams=1), CommandDefinition(command_name='setComfortTargetDHWTemperature', nparams=1), CommandDefinition(command_name='setDHWOnOffState', nparams=1), CommandDefinition(command_name='setEcoTargetDHWTemperature', nparams=1), CommandDefinition(command_name='refreshDHWConfiguration', nparams=0), CommandDefinition(command_name='refreshPassAPCDHWMode', nparams=0), CommandDefinition(command_name='refreshPassAPCDHWProfile', nparams=0), CommandDefinition(command_name='setPassAPCDHWMode', nparams=1)]), states=[StateDefinition(qualified_name='core:BoostOnOffState', type='DiscreteState', values=['off', 'on']), StateDefinition(qualified_name='core:ComfortTargetDHWTemperatureState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:DHWDerogationAvailabilityState', type='DiscreteState', values=['available', 'unavailable']), StateDefinition(qualified_name='core:DHWOnOffState', type='DiscreteState', values=['off', 'on']), StateDefinition(qualified_name='core:EcoTargetDHWTemperatureState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:StatusState', type='DiscreteState', values=['available', 'unavailable']), StateDefinition(qualified_name='core:TargetDHWTemperatureState', type='ContinuousState', values=None), StateDefinition(qualified_name='io:PassAPCDHWConfigurationState', type='DiscreteState', values=['cumulated', 'snapshot']), StateDefinition(qualified_name='io:PassAPCDHWModeState', type='DiscreteState', values=['comfort', 'eco', 'externalScheduling', 'internalScheduling', 'manu', 'peakAndOffPeakScheduling', 'peakAndOffPeakTimes', 'stop']), StateDefinition(qualified_name='io:PassAPCDHWProfileState', type='DiscreteState', values=['absence', 'comfort', 'derogation', 'eco', 'externalSetpoint', 'frostprotection', 'manu', 'other', 'stop'])], widget_name='AtlanticPassAPCDHW', ui_class='WaterHeatingSystem', qualified_name='io:AtlanticPassAPCDHWComponent'), data_properties=None, widget='AtlanticPassAPCDHW', ui_class='WaterHeatingSystem', states=States(_states=[State(name='core:StatusState', type=<DataType.STRING: 3>, value='available'), State(name='io:PassAPCDHWConfigurationState', type=<DataType.STRING: 3>, value='snapshot'), State(name='io:PassAPCDHWModeState', type=<DataType.STRING: 3>, value='eco'), State(name='io:PassAPCDHWProfileState', type=<DataType.STRING: 3>, value='comfort'), State(name='core:ComfortTargetDHWTemperatureState', type=<DataType.INTEGER: 1>, value=60), State(name='core:EcoTargetDHWTemperatureState', type=<DataType.INTEGER: 1>, value=55), State(name='core:TargetDHWTemperatureState', type=<DataType.INTEGER: 1>, value=60), State(name='core:DHWDerogationAvailabilityState', type=<DataType.STRING: 3>, value='available'), State(name='core:BoostOnOffState', type=<DataType.STRING: 3>, value='off'), State(name='core:DHWOnOffState', type=<DataType.STRING: 3>, value='on')]), type=<ProductType.ACTUATOR: 1>, place_oid='465a3348-e93e-4ba9-bd2a-676f5fe8d215'))
2022-01-25 20:12:39 DEBUG (MainThread) [custom_components.tahoma] Unsupported device detected (Device(attributes=States(_states=[State(name='core:FirmwareRevision', type=<DataType.STRING: 3>, value='A282002'), State(name='core:Manufacturer', type=<DataType.STRING: 3>, value='Atlantic Group'), State(name='core:PowerSourceType', type=<DataType.STRING: 3>, value='mainSupply'), State(name='core:MeasuredValueType', type=<DataType.STRING: 3>, value='core:FossilEnergyInWh')]), available=True, enabled=True, label='IO (15124248#4)', device_url=io://****-****-0627/15124248#4, controllable_name='io:TotalFossilEnergyConsumptionSensor', definition=Definition(commands=CommandDefinitions(_commands=[]), states=[StateDefinition(qualified_name='core:FossilEnergyConsumptionState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:StatusState', type='DiscreteState', values=['available', 'unavailable'])], widget_name='CumulativeFossilEnergyConsumptionSensor', ui_class='ConsumptionSensor', qualified_name='io:TotalFossilEnergyConsumptionSensor'), data_properties=None, widget='CumulativeFossilEnergyConsumptionSensor', ui_class='ConsumptionSensor', states=States(_states=[State(name='core:StatusState', type=<DataType.STRING: 3>, value='available'), State(name='core:FossilEnergyConsumptionState', type=<DataType.INTEGER: 1>, value=1144000)]), type=<ProductType.SENSOR: 2>, place_oid='92209f6f-f994-419c-89e5-29da9009e362'))
2022-01-25 20:12:39 DEBUG (MainThread) [custom_components.tahoma] Unsupported device detected (Device(attributes=States(_states=[State(name='core:FirmwareRevision', type=<DataType.STRING: 3>, value='A282002'), State(name='core:Manufacturer', type=<DataType.STRING: 3>, value='Atlantic Group'), State(name='core:PowerSourceType', type=<DataType.STRING: 3>, value='mainSupply'), State(name='core:MeasuredValueType', type=<DataType.STRING: 3>, value='core:FossilEnergyInWh')]), available=True, enabled=True, label='IO (15124248#5)', device_url=io://****-****-0627/15124248#5, controllable_name='io:DHWRelatedFossilEnergyConsumptionSensor', definition=Definition(commands=CommandDefinitions(_commands=[]), states=[StateDefinition(qualified_name='core:FossilEnergyConsumptionState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:StatusState', type='DiscreteState', values=['available', 'unavailable'])], widget_name='CumulativeFossilEnergyConsumptionSensor', ui_class='ConsumptionSensor', qualified_name='io:DHWRelatedFossilEnergyConsumptionSensor'), data_properties=None, widget='CumulativeFossilEnergyConsumptionSensor', ui_class='ConsumptionSensor', states=States(_states=[State(name='core:StatusState', type=<DataType.STRING: 3>, value='available'), State(name='core:FossilEnergyConsumptionState', type=<DataType.INTEGER: 1>, value=167000)]), type=<ProductType.SENSOR: 2>, place_oid='92209f6f-f994-419c-89e5-29da9009e362'))
2022-01-25 20:12:39 DEBUG (MainThread) [custom_components.tahoma] Unsupported device detected (Device(attributes=States(_states=[State(name='core:FirmwareRevision', type=<DataType.STRING: 3>, value='A282002'), State(name='core:Manufacturer', type=<DataType.STRING: 3>, value='Atlantic Group'), State(name='core:PowerSourceType', type=<DataType.STRING: 3>, value='mainSupply'), State(name='core:MeasuredValueType', type=<DataType.STRING: 3>, value='core:FossilEnergyInWh')]), available=True, enabled=True, label='IO (15124248#6)', device_url=io://****-****-0627/15124248#6, controllable_name='io:HeatingRelatedFossilEnergyConsumptionSensor', definition=Definition(commands=CommandDefinitions(_commands=[]), states=[StateDefinition(qualified_name='core:FossilEnergyConsumptionState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:StatusState', type='DiscreteState', values=['available', 'unavailable'])], widget_name='CumulativeFossilEnergyConsumptionSensor', ui_class='ConsumptionSensor', qualified_name='io:HeatingRelatedFossilEnergyConsumptionSensor'), data_properties=None, widget='CumulativeFossilEnergyConsumptionSensor', ui_class='ConsumptionSensor', states=States(_states=[State(name='core:StatusState', type=<DataType.STRING: 3>, value='available'), State(name='core:FossilEnergyConsumptionState', type=<DataType.INTEGER: 1>, value=974000)]), type=<ProductType.SENSOR: 2>, place_oid='92209f6f-f994-419c-89e5-29da9009e362'))
2022-01-25 20:12:39 DEBUG (MainThread) [custom_components.tahoma] Unsupported device detected (Device(attributes=States(_states=[]), available=True, enabled=True, label='Zone 1', device_url=io://****-****-0627/15124248#7, controllable_name='io:AtlanticPassAPCHeatingZoneComponent', definition=Definition(commands=CommandDefinitions(_commands=[CommandDefinition(command_name='advancedRefresh', nparams=1), CommandDefinition(command_name='refreshComfortHeatingTargetTemperature', nparams=0), CommandDefinition(command_name='refreshEcoHeatingTargetTemperature', nparams=0), CommandDefinition(command_name='refreshTargetTemperature', nparams=0), CommandDefinition(command_name='setActiveHeatingTimeProgram', nparams=1), CommandDefinition(command_name='setComfortHeatingTargetTemperature', nparams=1), CommandDefinition(command_name='setDerogatedTargetTemperature', nparams=1), CommandDefinition(command_name='setDerogationOnOffState', nparams=1), CommandDefinition(command_name='setDerogationTime', nparams=1), CommandDefinition(command_name='setEcoHeatingTargetTemperature', nparams=1), CommandDefinition(command_name='setHeatingOnOffState', nparams=1), CommandDefinition(command_name='setName', nparams=1), CommandDefinition(command_name='refreshDerogationRemainingTime', nparams=0), CommandDefinition(command_name='refreshPassAPCHeatingMode', nparams=0), CommandDefinition(command_name='refreshPassAPCHeatingProfile', nparams=0), CommandDefinition(command_name='setPassAPCHeatingMode', nparams=1)]), states=[StateDefinition(qualified_name='core:ActiveHeatingTimeProgramState', type='DataState', values=None), StateDefinition(qualified_name='core:ComfortHeatingTargetTemperatureState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:DerogatedTargetTemperatureState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:DerogationOnOffState', type='DiscreteState', values=['off', 'on']), StateDefinition(qualified_name='core:EcoHeatingTargetTemperatureState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:HeatingOnOffState', type='DiscreteState', values=['off', 'on']), StateDefinition(qualified_name='core:NameState', type='DataState', values=None), StateDefinition(qualified_name='core:StatusState', type='DiscreteState', values=['available', 'unavailable']), StateDefinition(qualified_name='core:TargetTemperatureState', type='ContinuousState', values=None), StateDefinition(qualified_name='core:ThermalConfigurationState', type='DiscreteState', values=['cooling', 'heating', 'heatingAndCooling']), StateDefinition(qualified_name='io:DerogationRemainingTimeState', type='DataState', values=None), StateDefinition(qualified_name='io:PassAPCHeatingModeState', type='DiscreteState', values=['absence', 'auto', 'comfort', 'eco', 'externalScheduling', 'internalScheduling', 'manu', 'stop']), StateDefinition(qualified_name='io:PassAPCHeatingProfileState', type='DiscreteState', values=['absence', 'comfort', 'derogation', 'eco', 'externalSetpoint', 'frostprotection', 'manu', 'stop'])], widget_name='AtlanticPassAPCHeatingZone', ui_class='HeatingSystem', qualified_name='io:AtlanticPassAPCHeatingZoneComponent'), data_properties=None, widget='AtlanticPassAPCHeatingZone', ui_class='HeatingSystem', states=States(_states=[State(name='core:StatusState', type=<DataType.STRING: 3>, value='available'), State(name='core:ThermalConfigurationState', type=<DataType.STRING: 3>, value='heating'), State(name='io:PassAPCHeatingModeState', type=<DataType.STRING: 3>, value='internalScheduling'), State(name='io:PassAPCHeatingProfileState', type=<DataType.STRING: 3>, value='comfort'), State(name='core:ComfortHeatingTargetTemperatureState', type=<DataType.FLOAT: 2>, value=20.0), State(name='core:EcoHeatingTargetTemperatureState', type=<DataType.FLOAT: 2>, value=18.0), State(name='core:TargetTemperatureState', type=<DataType.FLOAT: 2>, value=20.0), State(name='core:DerogatedTargetTemperatureState', type=<DataType.FLOAT: 2>, value=20.0), State(name='io:DerogationRemainingTimeState', type=<DataType.INTEGER: 1>, value=0), State(name='core:ActiveHeatingTimeProgramState', type=<DataType.STRING: 3>, value='1'), State(name='core:NameState', type=<DataType.STRING: 3>, value='Zone 1'), State(name='core:HeatingOnOffState', type=<DataType.STRING: 3>, value='on'), State(name='core:DerogationOnOffState', type=<DataType.STRING: 3>, value='off')]), type=<ProductType.ACTUATOR: 1>, place_oid='465a3348-e93e-4ba9-bd2a-676f5fe8d215'))
2022-01-25 20:12:39 DEBUG (MainThread) [custom_components.tahoma] Unsupported device detected (Device(attributes=States(_states=[State(name='core:FirmwareRevision', type=<DataType.STRING: 3>, value='A282002'), State(name='core:Manufacturer', type=<DataType.STRING: 3>, value='Atlantic Group'), State(name='core:MeasuredValueType', type=<DataType.STRING: 3>, value='core:TemperatureInCelcius'), State(name='core:PowerSourceType', type=<DataType.STRING: 3>, value='mainSupply'), State(name='core:MaxSensedValue', type=<DataType.FLOAT: 2>, value=30.0), State(name='core:MinSensedValue', type=<DataType.FLOAT: 2>, value=5.0)]), available=True, enabled=True, label='Thermostat Salon', device_url=io://****-****-0627/15124248#8, controllable_name='io:AtlanticPassAPCZoneTemperatureSensor', definition=Definition(commands=CommandDefinitions(_commands=[]), states=[StateDefinition(qualified_name='core:StatusState', type='DiscreteState', values=['available', 'unavailable']), StateDefinition(qualified_name='core:TemperatureState', type='ContinuousState', values=None)], widget_name='TemperatureSensor', ui_class='TemperatureSensor', qualified_name='io:AtlanticPassAPCZoneTemperatureSensor'), data_properties=None, widget='TemperatureSensor', ui_class='TemperatureSensor', states=States(_states=[State(name='core:StatusState', type=<DataType.STRING: 3>, value='available'), State(name='core:TemperatureState', type=<DataType.FLOAT: 2>, value=20.4)]), type=<ProductType.SENSOR: 2>, place_oid='465a3348-e93e-4ba9-bd2a-676f5fe8d215'))

Device commands

command failed to execute in HA/ Unknown error

Additional information

Please find below the difference between information from tahoma, HA and the physical thermostat.

ha-info tahoma-infp

PXL_20220126_112005992

Thanks for your help.

jgarec commented 2 years ago

Hi @romano1508

This is not the same device. The one in ha corresponds to this one in tahoma : image

The other one (where you see 18 degrees) is not yet supported.

romano1508 commented 2 years ago

Hi Jgarec

I agree. Device are not the same but both devices are from the Naia2 and/or thermostat . The wireless IO thermostat has a learning capability and sends the water temperature to the boiler .
I do not think that this temperature (60°) can be modify from tahoma directly. Maybe Tahoma sets temperature (18°) to the thermostat.

Regards

Romain

vlebourl commented 2 years ago

Hi, @jgarec is correct. Although the two devices are linked in your setup, they are separate and independent devices from HA's point of view. So far, only the WaterHeatingSystem is detected, while the two HeatingSystems detected are still not supported. We need to find which one you need... for reference:

{
  "widgetName": "AtlanticPassAPCHeatingZone",
  "uiProfiles": [
    "ThermostatTargetReader"
  ],
  "uiClass": "HeatingSystem",
  "uiClassifiers": [
    "heatingSystem"
  ],
  "qualifiedName": "io:AtlanticPassAPCHeatingZoneComponent",
  "type": "ACTUATOR"
}
{
    "widgetName": "AtlanticPassAPCBoiler",
    "uiProfiles": [
      "Specific"
    ],
    "uiClass": "HeatingSystem",
    "qualifiedName": "io:AtlanticPassAPCBoilerMainComponent",
    "type": "ACTUATOR"
}
jgarec commented 2 years ago

Hi @romano1508,

image

work in progress :)

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.'