Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for AtlanticElectricalTowelDryer (io:AtlanticElectricalTowelDryer_IC3_IOComponent) #399

Closed
1 task done
Amaurgit opened this issue Mar 9, 2021 · 14 comments · Fixed by #423
Closed
1 task done

Comments

@Amaurgit
Copy link

Amaurgit commented Mar 9, 2021

  • I have read the README, including the advanced section regarding debugging.

Device information
The integration created 2 entities with all sensors but none are ok (values are wrong or juste not displayed).
I have no switches, nothing usable :)

Atlantic Serenis towels heater

Device details

  • Hub: Cozytouch

Device commands
2021-03-09 13:41:21 DEBUG (MainThread) [custom_components.tahoma] Unsupported device detected (io:AtlanticElectricalTowelDryer_IC3_IOComponent - HeatingSystem - AtlanticElectricalTowelDryer - io://0830-0982

If needed, I can send more details or more logs :)
Thank you !

{
	"commands": [{
		"commandName": "cancelHeatingLevel",
		"nparams": 1
	}, {
		"commandName": "delayedStopIdentify",
		"nparams": 1
	}, {
		"commandName": "getName",
		"nparams": 0
	}, {
		"commandName": "identify",
		"nparams": 0
	}, {
		"commandName": "off",
		"nparams": 0
	}, {
		"commandName": "refreshComfortTemperature",
		"nparams": 0
	}, {
		"commandName": "refreshDateTime",
		"nparams": 0
	}, {
		"commandName": "refreshDerogatedTargetTemperature",
		"nparams": 0
	}, {
		"commandName": "refreshEcoTemperature",
		"nparams": 0
	}, {
		"commandName": "refreshHeatingLevel",
		"nparams": 0
	}, {
		"commandName": "refreshManufacturerName",
		"nparams": 0
	}, {
		"commandName": "refreshMaximumHeatingTargetTemperature",
		"nparams": 0
	}, {
		"commandName": "refreshMaximumTargetTemperature",
		"nparams": 0
	}, {
		"commandName": "refreshOperatingMode",
		"nparams": 0
	}, {
		"commandName": "refreshTargetTemperature",
		"nparams": 0
	}, {
		"commandName": "refreshTemperature",
		"nparams": 0
	}, {
		"commandName": "setComfortTemperature",
		"nparams": 1
	}, {
		"commandName": "setDateTime",
		"nparams": 1
	}, {
		"commandName": "setDerogatedTargetTemperature",
		"nparams": 1
	}, {
		"commandName": "setEcoTemperature",
		"nparams": 1
	}, {
		"commandName": "setHeatingLevel",
		"nparams": 1
	}, {
		"commandName": "setHeatingLevelWithTimer",
		"nparams": 2
	}, {
		"commandName": "setName",
		"nparams": 1
	}, {
		"commandName": "setPreviousTargetTemperature",
		"nparams": 1
	}, {
		"commandName": "setSchedulingType",
		"nparams": 1
	}, {
		"commandName": "setTargetTemperature",
		"nparams": 1
	}, {
		"commandName": "startIdentify",
		"nparams": 0
	}, {
		"commandName": "stopIdentify",
		"nparams": 0
	}, {
		"commandName": "wink",
		"nparams": 1
	}, {
		"commandName": "pairOneWayController",
		"nparams": 2
	}, {
		"commandName": "refreshAutoProgram",
		"nparams": 0
	}, {
		"commandName": "refreshBoostModeDuration",
		"nparams": 0
	}, {
		"commandName": "refreshBoostModeParameters",
		"nparams": 0
	}, {
		"commandName": "refreshControllerAddress",
		"nparams": 0
	}, {
		"commandName": "refreshCumulatedLowering",
		"nparams": 0
	}, {
		"commandName": "refreshCurrentWorkingRate",
		"nparams": 0
	}, {
		"commandName": "refreshDeletionCancelation",
		"nparams": 0
	}, {
		"commandName": "refreshDryingDuration",
		"nparams": 0
	}, {
		"commandName": "refreshDryingParameters",
		"nparams": 0
	}, {
		"commandName": "refreshEffectiveTemperatureSetpoint",
		"nparams": 0
	}, {
		"commandName": "refreshLocalLeadTime",
		"nparams": 0
	}, {
		"commandName": "refreshModel",
		"nparams": 0
	}, {
		"commandName": "refreshNativeFunctionalLevel",
		"nparams": 0
	}, {
		"commandName": "refreshOccupancy",
		"nparams": 0
	}, {
		"commandName": "refreshPeakNotice",
		"nparams": 0
	}, {
		"commandName": "refreshPeakWarning",
		"nparams": 0
	}, {
		"commandName": "refreshPowerAndTension",
		"nparams": 0
	}, {
		"commandName": "refreshRoomDeletionThreshold",
		"nparams": 0
	}, {
		"commandName": "refreshSSVError6",
		"nparams": 0
	}, {
		"commandName": "refreshSetpointLoweringTemperatureInProgMode",
		"nparams": 0
	}, {
		"commandName": "refreshSynchronisationRequest",
		"nparams": 0
	}, {
		"commandName": "refreshTemperatureProbeCalibrationOffset",
		"nparams": 0
	}, {
		"commandName": "refreshTowelDryerTemporaryState",
		"nparams": 0
	}, {
		"commandName": "refreshTowelDryerTimeProgram",
		"nparams": 0
	}, {
		"commandName": "setCommunicationTest",
		"nparams": 1
	}, {
		"commandName": "setDeletionCancelation",
		"nparams": 1
	}, {
		"commandName": "setDryingDuration",
		"nparams": 1
	}, {
		"commandName": "setExpectedPresence",
		"nparams": 1
	}, {
		"commandName": "setPeakNotice",
		"nparams": 1
	}, {
		"commandName": "setPeakWarning",
		"nparams": 1
	}, {
		"commandName": "setRoomDeletionThreshold",
		"nparams": 1
	}, {
		"commandName": "setSetpointLoweringTemperatureInProgMode",
		"nparams": 1
	}, {
		"commandName": "setTemperatureProbeCalibrationOffset",
		"nparams": 1
	}, {
		"commandName": "setTowelDryerBoostModeDuration",
		"nparams": 1
	}, {
		"commandName": "setTowelDryerOperatingMode",
		"nparams": 1
	}, {
		"commandName": "setTowelDryerTemporaryState",
		"nparams": 1
	}, {
		"commandName": "setTowelDryerTimeProgram",
		"nparams": 1
	}, {
		"commandName": "unpairAllOneWayControllers",
		"nparams": 0
	}, {
		"commandName": "unpairOneWayController",
		"nparams": 2
	}],
	"states": [{
		"type": "ContinuousState",
		"qualifiedName": "core:BoostModeDurationState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:ComfortRoomTemperatureState"
	}, {
		"type": "DataState",
		"qualifiedName": "core:DateTimeState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:DerogatedTargetTemperatureState"
	}, {
		"values": ["good", "low", "normal", "verylow"],
		"type": "DiscreteState",
		"qualifiedName": "core:DiscreteRSSILevelState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:EcoRoomTemperatureState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:FilterFanCloggingErrorState"
	}, {
		"type": "DataState",
		"qualifiedName": "core:IdentifierState"
	}, {
		"type": "DataState",
		"qualifiedName": "core:ManufacturerNameState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:MaximumHeatingTargetTemperatureState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:MaximumTargetTemperatureState"
	}, {
		"type": "DataState",
		"qualifiedName": "core:NameState"
	}, {
		"eventBased": true,
		"values": ["noPersonInside", "personInside"],
		"type": "DiscreteState",
		"qualifiedName": "core:OccupancyState"
	}, {
		"values": ["off", "on"],
		"type": "DiscreteState",
		"qualifiedName": "core:OnOffState"
	}, {
		"values": ["antifreeze", "auto", "away", "boost", "eco", "frostprotection", "manual", "max", "normal", "off", "on", "prog", "program"],
		"type": "DiscreteState",
		"qualifiedName": "core:OperatingModeState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:PreviousTargetTemperatureState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:PriorityLockTimerState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:RSSILevelState"
	}, {
		"values": ["increase", "none", "standby"],
		"type": "DiscreteState",
		"qualifiedName": "core:RegulationModeState"
	}, {
		"values": ["available", "unavailable"],
		"type": "DiscreteState",
		"qualifiedName": "core:StatusState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:TargetTemperatureState"
	}, {
		"type": "DataState",
		"qualifiedName": "core:TimeProgramState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "core:VersionState"
	}, {
		"type": "DataState",
		"qualifiedName": "io:AutoProgramState"
	}, {
		"type": "DataState",
		"qualifiedName": "io:BoostDurationMaxState"
	}, {
		"type": "DataState",
		"qualifiedName": "io:BoostDurationUserParameterState"
	}, {
		"type": "DataState",
		"qualifiedName": "io:ControllerAddressState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "io:CumulatedLoweringState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "io:CurrentWorkingRateState"
	}, {
		"values": ["deletion cancelation", "no deletion cancelation"],
		"type": "DiscreteState",
		"qualifiedName": "io:DeletionCancelationState"
	}, {
		"type": "DataState",
		"qualifiedName": "io:DryingDurationMaxState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "io:DryingDurationState"
	}, {
		"type": "DataState",
		"qualifiedName": "io:DryingDurationUserParameterState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "io:EffectiveTemperatureSetpointState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "io:ExpectedPresenceState"
	}, {
		"values": ["external", "internal"],
		"type": "DiscreteState",
		"qualifiedName": "io:InternalExternalSchedulingTypeState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "io:LocalLeadTimeState"
	}, {
		"values": ["boost", "comfort", "comfort-1", "comfort-2", "eco", "frostprotection", "off", "secured"],
		"type": "DiscreteState",
		"qualifiedName": "io:MaximumHeatingLevelState"
	}, {
		"type": "DataState",
		"qualifiedName": "io:ModelState"
	}, {
		"values": ["base", "medium", "top"],
		"type": "DiscreteState",
		"qualifiedName": "io:NativeFunctionalLevelState"
	}, {
		"values": ["long peak", "no peak", "short peak"],
		"type": "DiscreteState",
		"qualifiedName": "io:PeakNoticeState"
	}, {
		"values": ["long peak warning", "no warning", "short peak warning"],
		"type": "DiscreteState",
		"qualifiedName": "io:PeakWarningState"
	}, {
		"type": "DataState",
		"qualifiedName": "io:PowerState"
	}, {
		"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:RoomDeletionThresholdState"
	}, {
		"values": ["kept", "lost"],
		"type": "DiscreteState",
		"qualifiedName": "io:RunningState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "io:SetpointLoweringTemperatureInProgModeState"
	}, {
		"values": ["boost", "comfort", "comfort-1", "comfort-2", "eco", "frostprotection", "off", "secured"],
		"type": "DiscreteState",
		"qualifiedName": "io:TargetHeatingLevelState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "io:TemperatureProbeCalibrationOffsetState"
	}, {
		"type": "DataState",
		"qualifiedName": "io:TensionState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "io:TimerForTransitoryStateState"
	}, {
		"values": ["boost", "drying", "permanentHeating"],
		"type": "DiscreteState",
		"qualifiedName": "io:TowelDryerTemporaryStateState"
	}, {
		"type": "ContinuousState",
		"qualifiedName": "io:UptimeState"
	}],
	"dataProperties": [{
		"value": "500",
		"qualifiedName": "core:identifyInterval"
	}],
	"widgetName": "AtlanticElectricalTowelDryer",
	"uiClass": "HeatingSystem",
	"uiClassifiers": ["emitter"],
	"qualifiedName": "io:AtlanticElectricalTowelDryer_IC3_IOComponent",
	"type": "ACTUATOR"
}
@Amaurgit Amaurgit changed the title Add support for Sauter Serenis towels heater (all sensors) Add support for Atlantic Serenis towels heater (all sensors) Mar 9, 2021
@iMicknl iMicknl changed the title Add support for Atlantic Serenis towels heater (all sensors) Add support for AtlanticElectricalTowelDryer (io:AtlanticElectricalTowelDryer_IC3_IOComponent) Mar 9, 2021
@iMicknl
Copy link
Owner

iMicknl commented Mar 9, 2021

Thanks for reporting! Lately we have been busy, thus there are quite some open issues at the moment. You could do the following to help us speed up the development;

  1. Execute the commands via CozyTouch app and afterwards execute the tahoma.get_execution_history in Home Assistant. See https://github.com/iMicknl/ha-tahoma#device-not-working-correctly.

  2. Split these details as how you would like them mapped in Home Assistant. See Add support for Atlantic Optimocosy - Double Flow CMV (io:AtlanticHeatRecoveryVentilationIOComponent) #376 as an example.

@Amaurgit
Copy link
Author

Amaurgit commented Mar 9, 2021

Yeah, I tried but I got no outputs on the service tahoma.get_execution_history call :(

@iMicknl
Copy link
Owner

iMicknl commented Mar 9, 2021

@Amaurgit weird! Probably there is still a bug in this command for Cozytouch hubs, since I have seen this behaviour for another user as well.

Feel free to join us on Discord (https://discord.gg/ve7XD6Ph) or add iMick#1903, to discuss in more detail. Eventually the easiest would be if you are able to change your password temporarily and share your credentials privately, so I can have a quick look and see how to fix it :).

@iMicknl
Copy link
Owner

iMicknl commented Mar 16, 2021

@Amaurgit do you have debug mode enabled? And did you check your log after calling tahoma.get_execution_history? It doesn't end up on the same page, you manually have to go to your Home Assistant log.

@github-actions
Copy link

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

@iMicknl
Copy link
Owner

iMicknl commented Apr 18, 2021

@Amaurgit if you update to v2.4.9, the tahoma.get_execution_history service should output your commands in the log! :-)

@Hankey71 feel free to add your input to this issue, about which functionality should be supported and perhaps some screenshot of the CozyTouch app.

@Hankey71
Copy link

Hi !
Following a discussion with @iMicknl, I bring some information on my configuration and my feedback on ha-tahoma.

Config
Cozytouch Bridge with Thermor material:

  • 3 "Equateur 4" radiators in the same room (twin radiators)
  • 1 "Malicio 2" water heater
  • 1 "Allure 3 Classique" towel warmer
    Home Assistant 2021.4.5 on Raspberry Pi 4b
    I have both integrations (Cozytouch by Cyr-ius and Somfy Tahoma by iMicknl) working at the same time (it works!).

Needs

  • Adjust the temperature of all my equipment.
  • Put all my equipment in away mode in one click (manage days in away mode).
  • Water heater: Put in boost mode, see and change the number of showers available.
  • Towel dryer: Put in boost mode (manage time in boost mode).

Problems
I was using the Cyr-ius Cozytouch integration but my towel dryer was not visible ([https://github.com/cyr-ius/hass-cozytouch/issues/19#issuecomment-724246999]). My radiators work well with the integration of Cyr-ius (they are displayed as "climate" with several sensors: the presence detector, the open window detector and temperature).
When I installed ha-tahoma I observed that all my equipment was visible but not recognized.
listeHA
The radiators and the towel dryer are not recognized as "climate" to be able to manage the temperature.
ex_radiateur
Only the water heater operates and displays the number of showers remaining.

With version 2.4.9 of tahoma
No change, my equipment is still not recognized. Here is the information that I could find by looking at the presence detector of each radiator :
io_15417413 : Thermor Equateur 4 vertical 2000W (radiator)
io_385209 : Thermor Equateur 4 horizontal 2000W (radiator)
io_4497128 : Thermor Allure 3 Classique (towel dryer)
io_9372945 : Thermor Equateur 4 horizontal 1000W (radiator)

My log
2021-04-18 18:56:05 ERROR (MainThread) [custom_components.tahoma] Server is down for maintenance. 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Initialized DataUpdateCoordinator with 0:00:30 interval. 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Finished fetching device events data in 0.027 seconds 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Unsupported device detected (io:AtlanticElectricalHeaterWithAdjustableTemperatureSetpointIOComponent - HeatingSystem - AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint - io://0832-5072-2181/15417413#1) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added device (io:TemperatureInCelciusIOSystemDeviceSensor - TemperatureSensor - TemperatureSensor - io://0832-5072-2181/15417413#2) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added device (io:ContactIOSystemDeviceSensor - ContactSensor - ContactSensor - io://0832-5072-2181/15417413#3) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added device (io:OccupancyIOSystemDeviceSensor - OccupancySensor - OccupancySensor - io://0832-5072-2181/15417413#4) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added device (io:CumulatedElectricalEnergyConsumptionIOSystemDeviceSensor - ElectricitySensor - CumulativeElectricPowerConsumptionSensor - io://0832-5072-2181/15417413#5) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Unsupported device detected (io:AtlanticElectricalHeaterWithAdjustableTemperatureSetpointIOComponent - HeatingSystem - AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint - io://0832-5072-2181/385209#1) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added device (io:TemperatureInCelciusIOSystemDeviceSensor - TemperatureSensor - TemperatureSensor - io://0832-5072-2181/385209#2) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added device (io:ContactIOSystemDeviceSensor - ContactSensor - ContactSensor - io://0832-5072-2181/385209#3) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added device (io:OccupancyIOSystemDeviceSensor - OccupancySensor - OccupancySensor - io://0832-5072-2181/385209#4) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added device (io:CumulatedElectricalEnergyConsumptionIOSystemDeviceSensor - ElectricitySensor - CumulativeElectricPowerConsumptionSensor - io://0832-5072-2181/385209#5) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Unsupported device detected (io:AtlanticElectricalTowelDryer_IC3_IOComponent - HeatingSystem - AtlanticElectricalTowelDryer - io://0832-5072-2181/4497128#1) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added device (io:OccupancyIOSystemDeviceSensor - OccupancySensor - OccupancySensor - io://0832-5072-2181/4497128#2) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added device (io:LightIOSystemDeviceSensor - LightSensor - LuminanceSensor - io://0832-5072-2181/4497128#3) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added device (io:RelativeHumidityIOSystemDeviceSensor - HumiditySensor - RelativeHumiditySensor - io://0832-5072-2181/4497128#4) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added device (io:TemperatureInCelciusIOSystemDeviceSensor - TemperatureSensor - TemperatureSensor - io://0832-5072-2181/4497128#5) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added device (io:CumulatedElectricalEnergyConsumptionIOSystemDeviceSensor - ElectricitySensor - CumulativeElectricPowerConsumptionSensor - io://0832-5072-2181/4497128#6) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added device (io:TemperatureInCelciusIOSystemDeviceSensor - TemperatureSensor - TemperatureSensor - io://0832-5072-2181/4497128#7) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added device (core:WeatherSystemSensor - WeatherSensor - WeatherForecastSensor - io://0832-5072-2181/4497128#8) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added device (io:AtlanticDomesticHotWaterProductionV2_CE_FLAT_C2_IOComponent - WaterHeatingSystem - DomesticHotWaterProduction - io://0832-5072-2181/8349959#1) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added device (io:DHWCumulatedElectricalEnergyConsumptionIOSystemDeviceSensor - ElectricitySensor - CumulativeElectricPowerConsumptionSensor - io://0832-5072-2181/8349959#2) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Unsupported device detected (io:AtlanticElectricalHeaterWithAdjustableTemperatureSetpointIOComponent - HeatingSystem - AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint - io://0832-5072-2181/9372945#1) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added device (io:TemperatureInCelciusIOSystemDeviceSensor - TemperatureSensor - TemperatureSensor - io://0832-5072-2181/9372945#2) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added device (io:ContactIOSystemDeviceSensor - ContactSensor - ContactSensor - io://0832-5072-2181/9372945#3) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added device (io:OccupancyIOSystemDeviceSensor - OccupancySensor - OccupancySensor - io://0832-5072-2181/9372945#4) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added device (io:CumulatedElectricalEnergyConsumptionIOSystemDeviceSensor - ElectricitySensor - CumulativeElectricPowerConsumptionSensor - io://0832-5072-2181/9372945#5) 2021-04-18 18:56:18 DEBUG (MainThread) [custom_components.tahoma] Added gateway (0832-5072-2181 - GatewayType.COZYTOUCH - 0) 2021-04-18 18:56:48 DEBUG (MainThread) [custom_components.tahoma.coordinator] EventName.DEVICE_STATE_CHANGED/None (device: io://0832-5072-2181/385209#1, state: None -> None)

In Cozytouch app
Here are screenshots of the application (in French)
Home_cozytouch
Radiateur_cozytouch

@Hankey71
Copy link

Hankey71 commented Apr 19, 2021

Hi !
Here are the logs for the towel dryer.

Equipment
io_4497128 : Thermor Allure 3 Classique 1500W avec soufflerie (wind tunnel in french)

Orders with code
PROG -> OFF
2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:46:03: setTowelDryerOperatingMode executed via Android 2.5.1#236 Set device mode : OFF on io://0832-5072-2181/4497128#1, with ['standby'].

OFF -> MANU
2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:46:33: setTowelDryerOperatingMode executed via Android 2.5.1#236 Set device mode : MANUAL on io://0832-5072-2181/4497128#1, with ['external'].

MANU -> OFF
2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:47:05: setTowelDryerOperatingMode executed via Android 2.5.1#236 Set device mode : OFF on io://0832-5072-2181/4497128#1, with ['standby'].

OFF -> PROG
2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:47:34: setTowelDryerOperatingMode executed via Android 2.5.1#236 Set device mode : PROG on io://0832-5072-2181/4497128#1, with ['internal'].

PROG (boost and drying off) -> PROG (boost on for 20 minutes and drying off) info : drying is the "Séchage" button on my print screen.
2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:48:14: setTowelDryerBoostModeDuration executed via Android 2.5.1#236 null on io://0832-5072-2181/4497128#1, with [20]. 2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:48:10: setTowelDryerTemporaryState executed via Android 2.5.1#236 Start boost mode on io://0832-5072-2181/4497128#1, with ['boost'].

PROG (boost on for 20 minutes and drying off) -> PROG (boost and drying off)
2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:48:36: setTowelDryerTemporaryState executed via Android 2.5.1#236 Set temporary state : permanentHeating on io://0832-5072-2181/4497128#1, with ['permanentHeating'].

PROG (boost and drying off) -> PROG (boost on for 30 minutes and drying off). To have another example with a different duration.
2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:49:13: setTowelDryerBoostModeDuration executed via Android 2.5.1#236 null on io://0832-5072-2181/4497128#1, with [30]. 2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:49:09: setTowelDryerTemporaryState executed via Android 2.5.1#236 Start boost mode on io://0832-5072-2181/4497128#1, with ['boost'].

PROG (boost and drying off) -> PROG (boost off and drying on for 30 minutes)

2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:54:12: setDryingDuration executed via Android 2.5.1#236 null on io://0832-5072-2181/4497128#1, with [30].
2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:54:08: setTowelDryerTemporaryState executed via Android 2.5.1#236 Start dry mode on io://0832-5072-2181/4497128#1, with ['drying'].

PROG (boost off and drying on for 30 minutes) -> PROG (boost and drying off)
2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:54:37: setTowelDryerTemporaryState executed via Android 2.5.1#236 Set temporary state : permanentHeating on io://0832-5072-2181/4497128#1, with ['permanentHeating'].

PROG 20° -> PROG 21°
2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:55:15: setTargetTemperature executed via Android 2.5.1#236 Towel dryer Set temperature on io://0832-5072-2181/4497128#1, with [21.0].

PROG 21° -> PROG 20°
2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:55:42: setTargetTemperature executed via Android 2.5.1#236 Towel dryer Set temperature on io://0832-5072-2181/4497128#1, with [20.0].

MANU 20° -> MANU 21°
2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:57:08: setTargetTemperature executed via Android 2.5.1#236 Towel dryer Set temperature on io://0832-5072-2181/4497128#1, with [21.0].

MANU 21° -> MANU 20°
2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:57:36: setTargetTemperature executed via Android 2.5.1#236 Towel dryer Set temperature on io://0832-5072-2181/4497128#1, with [20.0].

MANU (boost and drying off) -> MANU (boost on for 25 minutes and drying off)
2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:58:16: setTowelDryerBoostModeDuration executed via Android 2.5.1#236 null on io://0832-5072-2181/4497128#1, with [25]. 2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:58:12: setTowelDryerTemporaryState executed via Android 2.5.1#236 Start boost mode on io://0832-5072-2181/4497128#1, with ['boost'].

MANU (boost on for 25 minutes and drying off) -> MANU (boost and drying off)
2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:58:37: setTowelDryerTemporaryState executed via Android 2.5.1#236 Set temporary state : permanentHeating on io://0832-5072-2181/4497128#1, with ['permanentHeating'].

MANU (boost and drying off) -> MANU (boost off and drying on for 90 minutes)
2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:59:12: setDryingDuration executed via Android 2.5.1#236 null on io://0832-5072-2181/4497128#1, with [90]. 2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:59:08: setTowelDryerTemporaryState executed via Android 2.5.1#236 Start dry mode on io://0832-5072-2181/4497128#1, with ['drying'].

MANU (boost off and drying on for 90 minutes) -> MANU (boost and drying off)
2021-04-19 13:01:30 INFO (MainThread) [custom_components.tahoma] 2021-04-19 12:59:37: setTowelDryerTemporaryState executed via Android 2.5.1#236 Set temporary state : permanentHeating on io://0832-5072-2181/4497128#1, with ['permanentHeating'].

Screenshot of my Cozytouch app
MANU mode (between 12°C and 28°C, increment : 0,5°C)
Screenshot_20210419_132610_fr thermor cozytouch

PROG mode
Screenshot_20210419_132619_fr thermor cozytouch

OFF
Screenshot_20210419_132625_fr thermor cozytouch

Boost time select (between 5 and 60 minutes, increment : 5 minutes)
Screenshot_20210419_140639_fr thermor cozytouch

Drying time select (between 30 and 120 minutes, increment : 30 minutes)
Screenshot_20210419_140644_fr thermor cozytouch

I will add the summer and frost-free positions after.

@iMicknl
Copy link
Owner

iMicknl commented Apr 19, 2021

@Amaurgit, Hankey71;

I published a first version, you could give it a try here https://github.com/iMicknl/ha-tahoma/archive/refs/heads/feature/AtlanticElectricalTowelDryer.zip. Extract this file and place custom_components/tahoma in your custom_components folder.

@Hankey71
Copy link

Hankey71 commented Apr 19, 2021

Hi !
I just installed the new version.
Here is my feedback.

My towel dryer is recognized
Appareil Ha Tahoma

I have a new "climate" entity
Appareil seche serviette

On this entity, I can set the target temperature. The target temperature corresponds to the temperature in comfort mode. I am currently in eco mode and when I go to 20 ° C on Home Assistant, it goes to 18 ° C in eco mode on the app (and to 20 ° C for comfort mode with 2° more).
Entité climate

Regarding the "Opération" and "Préréglage" (preset in english) options.
In "Opération" there are 3 possibilities:

  • "Auto" which corresponds to PROG mode in my application
  • "Chauffe" which corresponds to the MANU mode of my application
  • "Inactif" which corresponds to OFF
    opération

In "Préréglage" there are also 3 possibilities:

  • "Renforcer" which corresponds to the boost mode, automatically at 25 minutes (no timer selection possible)
  • "drying" which corresponds to drying mode, automatically at 90 minutes (no timer selection possible)
  • "Aucun" which allows to stop either one mode or the other.
    préréglage

Suggestion
Is it possible to transform the "Préréglage" into a switch button? Because each time you have to select "None" to stop the mode. It is not possible to have both modes at the same time, when I activate the boost mode while the drying mode is already launched, it stops the drying mode and directly activates the boost mode.
Is it possible to add a timer? I don't know if this is possible ...

@Hankey71
Copy link

Here are the feedback on frost protection mode (7° C) and summer mode (0° C).

From the application, to launch these two modes, you must be in MANU. This is not possible in PROG.
So in my logs I have:
-> MANU mode
2021-04-20 00:48:06 INFO (MainThread) [custom_components.tahoma] 2021-04-20 00:46:51: setTowelDryerOperatingMode executed via Android 2.5.1#236 Set device mode : MANUAL on io://0832-5072-2181/4497128#1, with ['external'].

-> frost protection mode (on the application, I place the cursor on 7°)
2021-04-20 00:48:06 INFO (MainThread) [custom_components.tahoma] 2021-04-20 00:46:28: setDerogatedTargetTemperature executed via Android 2.5.1#236 Towel dryer Set temperature on io://0832-5072-2181/4497128#1, with [7.0].

-> summer mode (on the application, I place the cursor on 0°)
2021-04-20 00:48:06 INFO (MainThread) [custom_components.tahoma] 2021-04-20 00:46:38: setDerogatedTargetTemperature executed via Android 2.5.1#236 Towel dryer Set temperature on io://0832-5072-2181/4497128#1, with [0].

Is it possible to add switch buttons on these controls?
I noticed that on the "climate" entity, it is possible to choose temperatures between 12 ° C and 7 ° C.
At 12 °, the towel dryer remains in heating mode. At 11.5 °, the towel dryer also remains in heating mode as if it were still at 12 °. Same up to 7.5 ° C.
At 7 ° C, it switches to frost protection mode. On the other hand, it is impossible to go down to 0 ° from the climate entity, only from the app.

@Amaurgit
Copy link
Author

@iMicknl My dryer is also recognized now.
+1 for all @Hankey71 Hankey71 feedback :)

Is there a poll for the API ? The entity doesn't seem to update quickly.

Thanks !

@iMicknl
Copy link
Owner

iMicknl commented May 16, 2021

Thanks @Hankey71 and @Amaurgit for the feedback! I will try to find some time in the coming weeks to work on this.

Adding a timer won't be possible, however this could be added as a service in the long term. Currently our architecture doesn't allow us to add extra switches easily, but this would be a good improvement indeed.

@iMicknl
Copy link
Owner

iMicknl commented May 28, 2021

@Hankey71, @Amaurgit, @BluntVanille anyone that has time to walk with me through this device? It is hard for me to develop without access to the device.

Someone that is available via Discord (iMick #1903) so we can speed up the development? Easiest would be if you could temporary change your password and send your credentials, so I can do some live debugging on my machine.

I would like to include this device in the next release.

@github-actions github-actions bot closed this as completed Jul 4, 2021
Repository owner deleted a comment from github-actions bot Jul 14, 2021
@iMicknl iMicknl reopened this Jul 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants