Thermosmart

After careful research of all the available smart thermostats, I reached the conclusion that there’s one great product out there, the Thermosmart:

It supports Opentherm properly (looking at you, Nest) has an open API and no ridiculous monthly costs, I love it.

Now, it has integration with Domoticz, but not yet with Home Assistant, sad time. I was wondering if anyone else has this thermostat and is working or planning to work on a Thermosmart component?

As I understand the API, thermosmart needs a cloud connection to set / get the temperature. That is not a really smart design. Or is there another way to use your heating without the internet? The outward appearance looks good though …

I believe that’s the only way to do it, no doubt to make sure the Thermosmart App also works well, not everyone has a server at home. I can live with it anyway, the other thermostats all have bigger drawbacks.

It would be nice to have such a plugin, as I have migrated from Domoticz where the thermosmart is supported, and this is the only component that is not yet available.

I gave up on Thermosmart and switched to a Honeywell Round Connected. Properly supported by HA and has a viable company behind it.

179? At least 100 too expensive IMO

I paid around 128 Euro, and sold the Thermosmart, so wasn’t too bad.

I bought Netatmo at that price. I mean at the end of the day, they are just a WiFi temperature sensor plus a relay with a cloud component…

I guess there aren’t many of us that use TS to justify the integration?

Thermosmart is dead, no development, no support, I suggest you find a new thermostat.

At least support is running - about 3 months ago, I got in touch with them and a guy called Kodjo replied quite fast.

Today, after some complaining, I recieved my API.
Works perfect with weinstein intergration on github.

Not a dead product, Just some lazy workers, that do not care for HA users because they support Domoticz :angry::angry:

With the api it’s working perfect see the Weinstein integration on GitHub;top

Well it’s dead now, they just emailed me they have filed for bankrupcy…

Does anybody know if it will remain working without the server? I know that they are working with plugwise to (temporarly) support the service, but I rather be independent.

Not yet, but there is someone on tweakers trying to reverse engineer it, so far he has access to the firmware:

https://gathering.tweakers.net/forum/list_message/77896860#77896860

There is a modified firmware available now along with a HA integration, check out these repos on github:

During an evening of Hobbying, we added Thermosmart as a setpoint device in the home assistant, so that we can directly operate the thermostat in the overview (or whatever you want). The firmware used is the new one from Plugwise. I don’t know if this works with older firmware or firmware of wichers.

This is only an alternative to the work of wichers, but our approach was more to be able to control the thermostat in a fairly simple way using the home assistant.

To start, we created virtual sensors in configuration.yaml to read the setpoint and current temperature:

sensor:
   - platform: rest
     name: Thermosmart_temp
     resource: http://{ip_thermosmart}/thermostat.xml
     value_template: '{{ value_json.thermostat.temperature }}'
     scan_interval: 30
   - platform: rest
     name: Thermosmart_setpoint
     resource: http://{ip_thermosmart}/thermostat.xml
     value_template: '{{ value_json.thermostat.setpoint | float }}'
     scan_interval: 30

Then there are a set of REST commands to write the data to the local thermosmart:

rest_command:
   set_thermostat_setpoint:
     url: "http://{ip_thermosmart}/thermostat.xml"
     method: POST
     payload: "svset={{ setpoint }}"
   set_thermosmart_off:
     url: "http://{ip_thermosmart}/thermostat.xml"
     method: POST
     payload: "pause={{ 1 }}"
   set_thermosmart_on:
     url: "http://{ip_thermosmart}/thermostat.xml"
     method: POST
     payload: "pause={{ 0 }}"

And climate device was made to control the whole thing:

climate:
   - platform: generic_thermostat
     name: Thermosmart
     heater: switch.thermosmart
     target_sensor: sensor.Thermosmart_temp
     min_cycle_duration:
       minutes: 15
     precision: 0.5

Once the code has been entered in the configuration.yaml, check whether the code is correct and reboot Home Assistant. (of course {ip_thermosmart} must be replaced by the fixed IP of the themosmart thermostat)

We then created a Card for the themosmart:

type: thermostat
entity: climate.thermosmart
features:
   - type: climate-hvac-modes
     hvac_modes:
       -heat
       - 'off'

To get it all working, we have created a number of automations:

One to read the setpoint of the thermosmart and write it in HA (in case someone has manually set the temperature:


alias: thermosmart read setpoint
description: ""
trigger:
   - platform: state
     entity_id:
       - sensor.thermosmart_setpoint
condition: []
action:
   - service: climate.set_temperature
     data_template:
       entity_id: climate.thermosmart
       temperature: "{{ states('sensor.thermosmart_setpoint') }}"
mode: single

One to send the adjusted setpoint to thermosmart:

alias: Thermosmart setpoint
description: ""
trigger:
   - platform: state
     entity_id:
       - climate.thermosmart
     attribute: temperature
action:
   - service: rest_command.set_thermostat_setpoint
     data_template:
       setpoint: "{{ state_attr('climate.thermosmart', 'temperature') }}"
   - service: system_log.write
     data_template:
       message: "Setpoint value: {{ state_attr('climate.thermosmart', 'temperature') }}"
     enabled: false

One to turn on the thermosmart (take it out of pause):

alias: Thermosmart on
description: ""
trigger:
   - platform: state
     entity_id:
       - climate.thermosmart
     from: "off"
     to: null
condition: []
action:
   - service: rest_command.set_thermosmart_on
     dates: {}
   - service: system_log.write
     data_template:
       message: Thermostat off
     enabled: false
mode: single

and one to put the Themosmart in pause:


alias: Thermosmart out
description: ""
trigger:
   - platform: state
     entity_id:
       - climate.thermosmart
     from: null
     to: "off"
condition: []
action:
   - service: rest_command.set_thermosmart_off
     dates: {}
   - service: system_log.write
     data_template:
       message: Thermostat off
     enabled: false
mode: single

You can then set the thermosmart like any other climate device within the home assistant.
So also through automations or alike. make a schedule.

We are absolutely no pros so any improvement is more than welcome. Hopefully someone can do something with this. :wink: