Support for cozytouch (smart heating gateway) Sauter heatings

Hey, for my problem :
I set debug mode and got this log
2020-05-03 16:52:35 DEBUG (SyncWorker_4) [cozytouchpy.client] Request : {‘userId’: ‘[email protected]’, ‘userPassword’: ‘XXXXX’}
2020-05-03 16:52:35 DEBUG (SyncWorker_4) [cozytouchpy.client] {‘JSESSIONID’: ‘XXXXXXXXXXXXXXXXXXX’}
2020-05-03 16:52:35 DEBUG (SyncWorker_12) [cozytouchpy.client] Request : {}
2020-05-03 16:52:35 DEBUG (SyncWorker_12) [cozytouchpy.objects] DeviceType.POD
2020-05-03 16:52:35 DEBUG (SyncWorker_12) [cozytouchpy.objects] DeviceType.HEATER
2020-05-03 16:52:35 DEBUG (SyncWorker_12) [cozytouchpy.objects] DeviceType.ELECTRECITY
2020-05-03 16:52:35 DEBUG (SyncWorker_12) [cozytouchpy.objects] DeviceType.OCCUPANCY
2020-05-03 16:52:35 DEBUG (SyncWorker_12) [cozytouchpy.objects] DeviceType.CONTACT
2020-05-03 16:52:35 DEBUG (SyncWorker_12) [cozytouchpy.objects] DeviceType.TEMPERATURE
2020-05-03 16:52:35 DEBUG (SyncWorker_12) [cozytouchpy.objects] None
2020-05-03 16:52:35 ERROR (MainThread) [custom_components.cozytouch.config_flow] Error: Unknown device None

I have some questions (for noobs)

  • the ‘request :{}’ , is it normal to don’t have anything between { } ?

  • About this line :
    2020-05-03 16:52:35 DEBUG (SyncWorker_12) [cozytouchpy.objects] None.
    Is it the response by cozytouch ? and hacs dosen’t understand one part ?
    Or does hacs is reading files into cozytouch repository on my Pi and found an unknown object (==> ‘none’) ?

Thanks a lot

Hello,

I’m new in home assistant but i want to automate some parts in my home.

I already installed the cozytouch from HACS and i can change the mode of the water heater but i cannot change the boost to true.

Is it working the set_boost_mode?

i tried this, but doesn’t work.

Hi,
It’s indeed still not working.
There’s a ticket on the github - I believe the main dev is working on it.

OW, Really thanks to answer. :grin: :grin:

i would to to help since i’m looking for good solution for my heaters here in france, tell me if you need help (i’m a developper)

Hi,

Thanks for the proposal.
I can do almost daily testing if needed.

As of today, some features are not working (at least on the Thermor heaters) - ie. Boost Mode, Away Mode, Available Showers, etc.

More details here : https://github.com/Cyr-ius/hass-cozytouch/issues/12

I understand that it’s becoming an official integration even though I have no clue concerning the timeline.

1 Like

Hey there !

Also waiting for it :slight_smile:

Hello,

I’ve tried this Cozytouch component.
Unfortunately, it was not going very well with my heating pump (Atlantic Alfea Duo AI, with a cozytouch bridge) which has 2 heating zones, and is also in charge of water heating. Login was OK, some data were correctly retrieved but many were missing and I could not update anything.
I’ve tried to update the code of this component but did not succeed. I ended up having a quick look at the API and other cozytouch components working on Domoticz or Jeedom, and finally tested some http commands and JSon anwser parsing with Node Red. And this has been working beautifuly for weeks now !!

I can retrieve and parse all configuration parameters and status of my heating pump, and change the heating mode or the desired temperature of each zone for instance. I can also get the electricty consumptions.

I can share some details tonight if some of you are interested. The method is easy to adapt to your heating hardware model. It does not require any developper skill. You will just need some time, let’s say one or 2 hours, using a JSON parser (you can use on online parser without any issue) to identify from a very big JSON file which data you want to retrieve, and which data you want to be able to update.
This is probably far from perfect, but no issue so far !

Hi David,

That sounds great! I look forward to reading your approach! :slight_smile:

Sorry, I did not take time to explain it, but I did not forget ! I will try before the end of the week. :slight_smile:

Hi,
I am following this topic as I plan to connect my new PAC Atlantic early next year to HA .

Thank you for the work done

How to login :

curl -c cookie-jar.txt -X POST -k -i 'https://ha110-1.overkiz.com/enduser-mobile-web/enduserAPI/login' -F 'userId=MYEMAIL' -F 'userPassword=MYPASSWORD'

I use this curl request in a NodeRed ‘Exec’ node.

How to get all data :

curl -b cookie-jar.txt -X GET 'https://ha110-1.overkiz.com/enduser-mobile-web/enduserAPI/setup/devices'

This command will output a huge JSON file.
Save it locally and then open it a JSON parser, for instance: http://json.parser.online.fr/

You don’t really care about the first chapter ‘Location’, of the second chapter ‘gateways’.

What is the most important is the third chapter ‘Devices’, this where you will find everything.
Have a look at all of them. Check their name, their attributes, data to identifiy what you are looking for.
For instance you will be able to identify each ‘zone’ of your heating system, and for each zone you will find parameters for the ‘eco’ temperature, the ‘comfort’ temperature, you also find parameter for the current temperature and so on. I can not detail anymore because it will be different for each system. This is where you have to spend some time.

When you have identify which data you are looking for, use a NodeRed JSON parser node connected to the output of the following request. The most complicated part is done. You now have a JSON object containing all the data retrieved from cozytouch cloud.

You can easily access some specific data using function like this : msg.payload[9].states[8].value;
if you want to retrieve the 9th parameter value of the 10th device (remember that all list start with a 0).
You can easily store the retrieved data in a HA variable and use it for automation or Lovelace display.

Another very interesting possibility is the ‘commands’. In the JSON file, have a look at the ‘definition / commands’ chapter of each device. You will find which commandes are available for each device.

Example : how to force the refresh of values for 2 devices :

 curl -b cookie-jar.txt -X POST -H "Content-type: application/json" -d '{"actions":[{"deviceURL":"io://0823-4256-4307/11076269#8","commands": [{"name": "refreshPassAPCHeatingProfile"}, {"name": "refreshTargetTemperature"}, {"name": "refreshDerogationRemainingTime"}]}, {"deviceURL":"io://0823-4256-4307/11076269#10","commands": [{"name": "refreshPassAPCHeatingProfile"}, {"name": "refreshTargetTemperature"}, {"name": "refreshDerogationRemainingTime"}]}]}' 'https://ha110-1.overkiz.com/enduser-mobile-web/enduserAPI/exec/apply'

Another example : how to set one heater in ‘comfort’ mode

 curl -b cookie-jar.txt -X POST -H "Content-type: application/json" -d '{"actions":[{"deviceURL":"io://0823-4256-4307/11076269#10","commands": [{"name": "setPassAPCHeatingMode","parameters":["comfort"]}]}]}' 'https://ha110-1.overkiz.com/enduser-mobile-web/enduserAPI/exec/apply'

How to set the ‘comfort’ temperature of a device to 21.2°C :

curl -b cookie-jar.txt -X POST -H "Content-type: application/json" -d '{"actions":[{"deviceURL":"io://0823-4256-4307/11076269#8","commands": [{"name": "setComfortHeatingTargetTemperature","parameters":[21.2]}]}]}' 'https://ha110-1.overkiz.com/enduser-mobile-web/enduserAPI/exec/apply'

As i said, I don’t have any developper skill. So I found out the easiest way to do this (for me) was to use Node Red. I use :

  • ‘Template’ node : to set the curl commands
  • ‘Exec’ node : to execute the previous command
  • ‘json’ node : to convert the curl output to json
  • ‘function’ node : to extract the interesting values from the JSON object
  • ‘call service’ node : to store retrieved values into HA variables
1 Like

In node red i have found an another solution with this node https://flows.nodered.org/node/node-red-contrib-overkiz
I control very well light. But it was more difficult for heater. It show me lot of thing but i don’t success to set temperature as i want.

I’m using E connect box Rexel . IO control for heater, and Yokis on it for Light. This node is easy when action is on the command, but don’t let a place to put value when you want set a things (like temperature). I 've try to put a msg.payload with value unsuccessfully. try “parameter”: 20 too and no success. I’m pretty sure solution is not so far

Would you mind posting the flow here? I would be also interested. I can control my heaters (sauter connected to cozytouch) but not my heater in the bathroom with the IO extension attached to it.


This is the node. I try to put a function node or change node before to put the value of temperature i will but i block. Syntax problem i think. I try random things like juste value in payload …

Hello everybody, Hello Shaad,
I’m reviving quite an old post, hope someone will see it !

I’m starting with Home Assistant, and tried the Cozytouch component made by Cyr-ius.
However, i think i’m facing the same problem as you were : incomplete devices and entities.
I wanted to try your solution with node-red, which seems quite promising, in order to gather all the devices and attributes of my installation, and to be able to “play” with them as I want.

I followed thoroughly your procedure, but i’m blocked at the first step : I have a message in my debug window : ‘{“errorCode”:“RESOURCE_ACCESS_DENIED”,“error”:“Not authenticated”}’.
I managed to log to my account with the same login/pass in the https://dev.duboc.pro/tahoma/api website, so I think i made no mistake on it.
Could you help me with this one? I’m beginning in node-red too, so maybe it is only a configuration step i didn’t make.
Thanks a lot,

Which device do you have? You could give GitHub - iMicknl/ha-tahoma: Custom component for Home Assistant to interact with smart devices via Somfy TaHoma or other OverKiz based API's. a try as well :).

Hello!
Thanks for your answer!
I’ve got 2 Sauter Ipala heaters, and in fact, I tried ha-tahoma integration few days ago. It didn’t find my devices, but hass-cozytouch did. But it was impossible to configure them correctly and to use them.
Just this morning, i understood that the problem came from the devices I have, that are not fully supported by hass-cozytouch component.
There are, however, supported by ha-tahoma thanks to the improvement made in this post :

I tried it, and it is waaaay better! The devices are recognized, and the heaters respond directly to the orders made in a thermostat-card!
I tried to use the scheduler-card to program them, but didn’t manage to do so. I’ll try again!

So I guess my problem was only due to the model of my device (AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint)!
Is the release of the new version of ha-tahoma component (with this improvement) planned ?

Thanks a lot for your work, so useful!!
I just started with home assistant, and I can’t imagine the time you are spending on those development!

1 Like

I have been very busy lately, but just react on the issue / pull request with your experiences + potential bugs, and I will see if we can prioritize it a bit. :slight_smile:

1 Like