ha-tahoma: Missing / incorrect functionality for DomesticHotWaterProduction (io:AtlanticDomesticHotWaterProductionV2_CE_FLAT_C2_IOComponent)

Describe the bug Can’t enable/disable the away mode (UI button changes, but no change on the heater) Even switching to auto does not force quit the away mode, I need to do it with the heater buttons. Enabling Away mode enables it for both heaters (is not applied only to the selected one) Boost option is not displayed No # of showers (target nor remaining)

To Reproduce Steps to reproduce the behavior:

  1. Click Away Mode so it appears as ON
  2. Click Away Mode so it appears as OFF

Expected behavior Away Mode should turn ON or OFF

Environment (please complete the following information):

  • Hub: Cozytouch
  • ha-tahoma version: 2.4.8 Device: Thermor Malicio 2
{
	"commands": [{
		"commandName": "delayedStopIdentify",
		"nparams": 1
	}, {
		"commandName": "getName",
		"nparams": 0
	}, {
		"commandName": "identify",
		"nparams": 0
	}, {
		"commandName": "refreshAbsenceEndDate",
		"nparams": 0
	}, {
		"commandName": "refreshAbsenceMode",
		"nparams": 0
	}, {
		"commandName": "refreshAbsenceStartDate",
		"nparams": 0
	}, {
		"commandName": "refreshBoostEndDate",
		"nparams": 0
	}, {
		"commandName": "refreshBoostMode",
		"nparams": 0
	}, {
		"commandName": "refreshBoostStartDate",
		"nparams": 0
	}, {
		"commandName": "refreshBottomTankWaterTemperature",
		"nparams": 0
	}, {
		"commandName": "refreshManufacturerName",
		"nparams": 0
	}, {
		"commandName": "refreshMiddleWaterTemperatureIn",
		"nparams": 0
	}, {
		"commandName": "refreshTargetTemperature",
		"nparams": 0
	}, {
		"commandName": "refreshWaterConsumption",
		"nparams": 0
	}, {
		"commandName": "refreshWaterTargetTemperature",
		"nparams": 0
	}, {
		"commandName": "refreshWaterTemperature",
		"nparams": 0
	}, {
		"commandName": "setAbsenceEndDate",
		"nparams": 1
	}, {
		"commandName": "setAbsenceMode",
		"nparams": 1
	}, {
		"commandName": "setAbsenceStartDate",
		"nparams": 1
	}, {
		"commandName": "setBoostEndDate",
		"nparams": 1
	}, {
		"commandName": "setBoostMode",
		"nparams": 1
	}, {
		"commandName": "setBoostStartDate",
		"nparams": 1
	}, {
		"commandName": "setComfortTargetTemperature",
		"nparams": 1
	}, {
		"commandName": "setDateTime",
		"nparams": 1
	}, {
		"commandName": "setEcoTargetTemperature",
		"nparams": 1
	}, {
		"commandName": "setExpectedNumberOfShower",
		"nparams": 1
	}, {
		"commandName": "setFrostProtectionTargetTemperature",
		"nparams": 1
	}, {
		"commandName": "setName",
		"nparams": 1
	}, {
		"commandName": "setTargetTemperature",
		"nparams": 1
	}, {
		"commandName": "setWaterTargetTemperature",
		"nparams": 1
	}, {
		"commandName": "setWaterTemperature",
		"nparams": 1
	}, {
		"commandName": "startIdentify",
		"nparams": 0
	}, {
		"commandName": "stopIdentify",
		"nparams": 0
	}, {
		"commandName": "wink",
		"nparams": 1
	}, {
		"commandName": "refreshExpectedNumberOfShower",
		"nparams": 0
	}, {
		"commandName": "pairOneWayController",
		"nparams": 2
	}, {
		"commandName": "refreshAntiLegionellosis",
		"nparams": 0
	}, {
		"commandName": "refreshAwayModeDuration",
		"nparams": 0
	}, {
		"commandName": "refreshBoilerInstallationOption",
		"nparams": 0
	}, {
		"commandName": "refreshBoostModeDuration",
		"nparams": 0
	}, {
		"commandName": "refreshCurrentOperatingMode",
		"nparams": 0
	}, {
		"commandName": "refreshDHWCapacity",
		"nparams": 0
	}, {
		"commandName": "refreshDHWError",
		"nparams": 0
	}, {
		"commandName": "refreshDHWMode",
		"nparams": 0
	}, {
		"commandName": "refreshElectricalExtraManagement",
		"nparams": 0
	}, {
		"commandName": "refreshExtractionOption",
		"nparams": 0
	}, {
		"commandName": "refreshInstallation",
		"nparams": 0
	}, {
		"commandName": "refreshMiddleWaterTemperature",
		"nparams": 0
	}, {
		"commandName": "refreshOperatingModeCapabilities",
		"nparams": 0
	}, {
		"commandName": "refreshOperatingRange",
		"nparams": 0
	}, {
		"commandName": "refreshOperatingTime",
		"nparams": 0
	}, {
		"commandName": "refreshProgrammingSlots",
		"nparams": 0
	}, {
		"commandName": "refreshRateManagement",
		"nparams": 0
	}, {
		"commandName": "refreshSmartGridOption",
		"nparams": 0
	}, {
		"commandName": "setAntiLegionellosis",
		"nparams": 1
	}, {
		"commandName": "setAwayModeDuration",
		"nparams": 1
	}, {
		"commandName": "setBoilerInstallationOption",
		"nparams": 1
	}, {
		"commandName": "setBoostModeDuration",
		"nparams": 1
	}, {
		"commandName": "setCurrentOperatingMode",
		"nparams": 1
	}, {
		"commandName": "setDHWMode",
		"nparams": 1
	}, {
		"commandName": "setElectricalExtraManagement",
		"nparams": 1
	}, {
		"commandName": "setExtractionOption",
		"nparams": 1
	}, {
		"commandName": "setHaltedTargetTemperature",
		"nparams": 1
	}, {
		"commandName": "setInstallation",
		"nparams": 1
	}, {
		"commandName": "setOperatingRange",
		"nparams": 1
	}, {
		"commandName": "setProgrammingSlots",
		"nparams": 1
	}, {
		"commandName": "setRateManagement",
		"nparams": 1
	}, {
		"commandName": "setSmartGridOption",
		"nparams": 1
	}, {
		"commandName": "unpairAllOneWayControllers",
		"nparams": 0
	}, {
		"commandName": "unpairOneWayController",
		"nparams": 2
	}],
	"states": [{
		"type": "DataState",
		"qualifiedName": "core:AbsenceEndDateState"
	}, {
		"type": "DataState",
		"qualifiedName": "core:AbsenceStartDateState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:BoostElectricPowerConsumptionState"
	}, {
		"type": "DataState",
		"qualifiedName": "core:BoostEndDateState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:BoostModeDurationState"
	}, {
		"type": "DataState",
		"qualifiedName": "core:BoostStartDateState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:BottomTankWaterTemperatureState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:ComfortTargetTemperatureState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:ControlWaterTargetTemperatureState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:DHWPSoftwareVersionState"
	}, {
		"type": "DataState",
		"qualifiedName": "core:DateTimeState"
	}, {
		"values": ["good", "low", "normal", "verylow"],
		"type": "DiscreteState",
		"qualifiedName": "core:DiscreteRSSILevelState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:EcoTargetTemperatureState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:ExpectedNumberOfShowerState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:FrostProtectionTargetTemperatureState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:HaltedTargetTemperatureState"
	}, {
		"type": "DataState",
		"qualifiedName": "core:HeatingStatusState"
	}, {
		"type": "DataState",
		"qualifiedName": "core:ManufacturerNameState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:MaximalShowerManualModeState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:MaximalTemperatureManualModeState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:MiddleWaterTemperatureInState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:MinimalShowerManualModeState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:MinimalTemperatureManualModeState"
	}, {
		"type": "DataState",
		"qualifiedName": "core:NameState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:NumberOfShowerRemainingState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:NumberOfTankState"
	}, {
		"values": ["antifreeze", "auto", "away", "boost", "eco", "frostprotection", "manual", "max", "normal", "off", "on", "prog", "program"],
		"type": "DiscreteState",
		"qualifiedName": "core:OperatingModeState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:PowerHeatElectricalInState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:PriorityLockTimerState"
	}, {
		"type": "DataState",
		"qualifiedName": "core:ProgrammingAvailableState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:RSSILevelState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:SecuredPositionTemperatureState"
	}, {
		"values": ["available", "unavailable"],
		"type": "DiscreteState",
		"qualifiedName": "core:StatusState"
	}, {
		"type": "DataState",
		"qualifiedName": "core:StopRelaunchState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:TargetTemperatureState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:TemperatureState"
	}, {
		"type": "DataState",
		"qualifiedName": "core:V40WaterVolumeEstimationState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:VersionState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:WaterConsumptionState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:WaterTargetTemperatureState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:WaterTemperatureState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "io:AntiLegionellosisState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "io:AwayModeDurationState"
	}, {
		"values": ["boilerOptimising", "boilerPriority", "heatPumpOptimising", "heatPumpPriority"],
		"type": "DiscreteState",
		"qualifiedName": "io:BoilerInstallationOptionState"
	}, {
		"values": ["off", "on", "prog"],
		"type": "DiscreteState",
		"qualifiedName": "io:DHWAbsenceModeState"
	}, {
		"values": ["off", "on", "prog"],
		"type": "DiscreteState",
		"qualifiedName": "io:DHWBoostModeState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "io:DHWCapacityState"
	}, {
		"type": "DataState",
		"qualifiedName": "io:DHWErrorState"
	}, {
		"values": ["autoMode", "manualEcoActive", "manualEcoInactive"],
		"type": "DiscreteState",
		"qualifiedName": "io:DHWModeState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "io:ElectricBoosterOperatingTimeState"
	}, {
		"values": ["auto", "deactive"],
		"type": "DiscreteState",
		"qualifiedName": "io:ElectricalExtraManagementState"
	}, {
		"values": ["fastExtractionSpeed", "lowExtractionSpeed", "noExtraction"],
		"type": "DiscreteState",
		"qualifiedName": "io:ExtractionOptionState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "io:HeatPumpOperatingTimeState"
	}, {
		"values": ["extraBoiler", "extraSolar", "onlyThermodynamic"],
		"type": "DiscreteState",
		"qualifiedName": "io:InstallationState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "io:MiddleWaterTemperatureState"
	}, {
		"type": "DataState",
		"qualifiedName": "io:OperatingModeCapabilitiesState"
	}, {
		"values": ["pac24h_elec24h", "pacProg_elecProg"],
		"type": "DiscreteState",
		"qualifiedName": "io:OperatingRangeState"
	}, {
		"type": "DataState",
		"qualifiedName": "io:PowerConsumptionFanState"
	}, {
		"type": "DataState",
		"qualifiedName": "io:PowerHeatElectricalState"
	}, {
		"type": "DataState",
		"qualifiedName": "io:PowerHeatPumpState"
	}, {
		"values": ["comfortLevel1", "comfortLevel2", "comfortLevel3", "comfortLevel4", "environmentProtection", "humanProtection", "userLevel1", "userLevel2"],
		"type": "DiscreteState",
		"qualifiedName": "io:PriorityLockLevelState"
	}, {
		"values": ["LSC", "SAAC", "SFC", "UPS", "externalGateway", "localUser", "myself", "rain", "security", "temperature", "timer", "user", "wind"],
		"type": "DiscreteState",
		"qualifiedName": "io:PriorityLockOriginatorState"
	}, {
		"type": "DataState",
		"qualifiedName": "io:ProgrammingSlotsState"
	}, {
		"values": ["forbidden", "no", "recommended", "unsuitable", "wanted"],
		"type": "DiscreteState",
		"qualifiedName": "io:RateManagementState"
	}, {
		"values": ["active", "deactive"],
		"type": "DiscreteState",
		"qualifiedName": "io:SmartGridOptionState"
	}],
	"dataProperties": [{
		"value": "500",
		"qualifiedName": "core:identifyInterval"
	}],
	"widgetName": "DomesticHotWaterProduction",
	"uiClass": "WaterHeatingSystem",
	"qualifiedName": "io:AtlanticDomesticHotWaterProductionV2_CE_FLAT_C2_IOComponent",
	"type": "ACTUATOR"
}

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 28 (11 by maintainers)

Most upvoted comments

@iMicknl sorry for the delayed feedback. Sure we can discuss on discord if you want. For the credential sharing, let’s say the WAF will be low, especially if we cut off the hot water 😃

Here are some commands :

Away mode :

                    {
                        "command": "setCurrentOperatingMode",
                        "deviceURL": "io://xxxx-xxxx-xxxx/14301872#1",
                        "dynamic": false,
                        "failureType": "NO_FAILURE",
                        "parameters": [
                            {
                                "absence": "on",
                                "relaunch": "off"
                            }
                        ],
                        "rank": 2,
                        "state": "COMPLETED"
                    },
                    {
                        "command": "setAwayModeDuration",
                        "deviceURL": "io://xxxx-xxxx-xxxx/14301872#1",
                        "dynamic": false,
                        "failureType": "NO_FAILURE",
                        "parameters": [
                            2
                        ],
                        "rank": 3,
                        "state": "COMPLETED"
                    },

Away mode off :

                    {
                        "command": "setCurrentOperatingMode",
                        "deviceURL": "io://xxxx-xxxx-xxxx/14301872#1",
                        "dynamic": false,
                        "failureType": "NONEXEC_OTHER",
                        "parameters": [
                            {
                                "absence": "off",
                                "relaunch": "off"
                            }
                        ],
                        "rank": 3,
                        "state": "FAILED"
                    },
                    {
                        "command": "setAwayModeDuration",
                        "deviceURL": "io://xxxx-xxxx-xxxx/14301872#1",
                        "dynamic": false,
                        "failureType": "NO_FAILURE",
                        "parameters": [
                            0
                        ],
                        "rank": 4,
                        "state": "COMPLETED"
                    },

Boost mode for 2 days (you can select from 1 to 7 days) :

2021-03-15 11:29:30 INFO (MainThread) [custom_components.tahoma] 2021-03-12 19:02:19: setCurrentOperatingMode executed via Android 2.5.0#233 Start boost true on io://xxxx-xxxx-xxxx/14301872#1, with [{'relaunch': 'on', 'absence': 'off'}].
2021-03-15 11:29:30 INFO (MainThread) [custom_components.tahoma] 2021-03-12 19:02:18: setBoostModeDuration executed via DHWP Actuator on io://xxxx-xxxx-xxxx/14301872#1, with [2].

Boost mode off :

2021-03-15 11:29:30 INFO (MainThread) [custom_components.tahoma] 2021-03-12 19:05:19: setCurrentOperatingMode executed via Android 2.5.0#233 Start boost true on io://xxxx-xxxx-xxxx/14301872#1, with [{'relaunch': 'off', 'absence': 'off'}].