Eurotronic Spirit temperature not changing

The openzwave pull request has been merged into the dev-branch yesterday. Looks like this won’t be merged into master until version 1.6. Looks like this may take a while.

I have no idea how openzwave and python-openzwave get released and merged into hassio. Anyone? I’m assuming homeassistant works with the master branch and not the dev-branch?

You can compile the docker image yourself
I followed this site as an example on how to do it


basically you don’t take the openzwave from pypi by removing it from requirements.txt and you modify the buildscript to compile it from git

Which sadly won’t work for us poor hassio users. :slightly_frowning_face:

I’m using Hassio and was able to apply the patch.
What you need to do is to copy config directory from open-zwave that contains relevant z-wave config fixes into Hass config directory (you can use Samba addon for this).
The you need to change you z-wave config in configuration.yaml file by specifying config_path that links to the open-zwave config directory.

5 Likes

That’s a much better solution than building your own docker image - just add the updated configuration and it will keep working with any new homeassistant version.

Thanks!

I can confirm - this works for me. Good solution.

Hi There,
I’m a new hass.io user. Just to be sure. Should i download the whole config directory from and place this in for instance a folder called (zwave-config) in my /config folder?

What should be the exact config path? should this just be zwave-config/ or /config/zwave-config/

Hi there.

I am happy to hear you all guys managed to make the Spirit work.
I also managed to put the newer (not dev branch) config files and TRV is visible. I can also change the config parameters like battery and temperature reporting, etc.

But from the operational point of view I did just manage to turn if full off or full on. I was not yet able to set temperatures for Heat and Heat Eco. Neither at each shot nor permanently.

I am quite a new with HA and maybe I am omitting something obvious. But can you share some config files or automation?

(I ma planning to integrate 4 Spirits, some Fibaro relays and Xiaomi GW with detectors so I will later share also :wink: )

Thanks,

Hi @bartandeweg, I should have posted the config earlier since it took me some time to figure the exact semantics of config_path.
Here is relevant part of my zwave config in configuration.yaml file:

zwave:
  config_path: /share/z-wave/open-zwave/config

The Eurotronic Spirit files are located here:

core-ssh:/share/z-wave/open-zwave/config/eurotronic# ls
eur_cometz.xml   eur_spiritz.xml  eur_stellaz.xml
core-ssh:/share/z-wave/open-zwave/config/eurotronic# pwd
/share/z-wave/open-zwave/config/eurotronic
1 Like

Hi @TriStone, I have similar components that you’ve described and also starting my journey with HA some keep in mind that the quality of my help is likely low.
Once you configure the relevant z-wave config you might also want to change the Tempreture Report Threshold (config param 5) to 1 (default 5). I’m not sure whether this is still the case, but the reporting of tempreture from the thermostat didn’t work as expected with default value.
There are bunch of entities created for the Eurotronic Spirit device. I’m using the one named climate.<id>_heating_1 in the UI and everything works fine.
I have two types of automations for the thermostat:

  1. Setting tempreture on schedule.
  2. Turning on/off on window close/open.

For (1) I have few of those:

- id: schedule_temperature_update_morning
  initial_state: "on"
  trigger:
    platform: time
    at: '06:00:00'
  action:
  - service: climate.set_temperature
    data:
      entity_id: climate.mela_thermostat_heating_1
      temperature: 21

For (2) I have following automation:

- id: mela_window_toggle
  initial_state: "on"
  trigger:
    platform: state
    entity_id: binary_sensor.door_window_sensor_158d0001de6492
  condition: 
    condition: template
    value_template: '{{ trigger.from_state.state != trigger.to_state.state }}'
  action:
    service: script.toggle_heating_for_entity_based_on_door_sensor
    data:
      entity: climate.mela_thermostat_heating_1
      sensor: binary_sensor.door_window_sensor_158d0001de6492

And associated scripts:

toggle_heating_for_entity_based_on_door_sensor:
  sequence:
    - service: script.toggle_heating_for_entity
      data_template:
        entity: '{{ entity }}'
        mode: >
          {%- if is_state(sensor, 'on') -%}
            Off
          {%- else -%}
            Heat
          {%- endif -%}

toggle_heating_for_entity:
  sequence:
    - service: climate.set_operation_mode
      data_template:
        entity_id: '{{ entity }}'
        operation_mode: '{{ mode }}'

Thanks guys,

this worked well.
Just to share back for those that are running HASS.IO on linux systems, the \share folder mentioned will be in the root of your configuration, for example on my system I have \srv\docker\hassio configured.

Inside this folder, you will find, for example the folders

damian@Jarvis:/srv/docker/hassio$ ls -al
total 72
drwxr-xr-x 9 root root 4096 Mar 26 17:21 .
drwxr-xr-x 5 root root 4096 Mar 20 21:48 ..
drwxr-xr-x 6 root root 4096 Mar 19 22:44 addons
-rw-r--r-- 1 root root 5060 Mar 20 22:02 addons.json
drwxr-xr-x 2 root root 4096 Mar 18 17:37 backup
-rw-r--r-- 1 root root  170 Mar 26 17:17 config.json
drwxr-xr-x 9 root root 4096 Mar 26 17:21 .git
-rw-r--r-- 1 root root 2839 Mar 20 12:32 .gitattributes
-rw-r--r-- 1 root root  393 Mar 26 16:04 .gitignore
-rw-r--r-- 1 root root  121 Mar 26 17:21 .gitmodules
drwxr-xr-x 7 root root 4096 Mar 26 17:24 homeassistant
-rw-r--r-- 1 root root  156 Mar 26 17:17 homeassistant.json
drwxr-xr-x 3 root root 4096 Mar 26 17:21 share
drwxr-xr-x 2 root root 4096 Mar 18 17:37 ssl
drwxr-xr-x 2 root root 4096 Mar 18 17:37 tmp
-rw-r--r-- 1 root root   74 Mar 26 17:17 updater.json

I work mainly from the folder which is called homeassistant (go figure), and have initialized a GIT repo at the root, as you can see above from the hidden folder .git

Therefore to add the OpenZwave Dev branch, I am opting to use tha Git Submodule, which is to be hosted in the share folder, with the following command

sudo git submodule add -f -b Dev https://github.com/OpenZWave/open-zwave.git ../share/open-zwave

Which results in the following

damian@Jarvis:/srv/docker/hassio/share/open-zwave/config$ ls euro*
eur_cometz.xml  eur_spiritz.xml  eur_stellaz.xml

Now, from here I just update my configuration.yaml with the reference as suggested by @rsokolowski

zwave:
  usb_path: /dev/ttyACM0
  network_key: !secret zwave_secure
  config_path: /share/open-zwave/config
  debug: false

And from this point, you should have all you need; Eject the TRV, restart the HASS.IO container, and Import the TRV :slight_smile:

thank you @rsokolowski for figuring it out
Damian

4 Likes

I also try to get the Spirit working with hassio.
I’ve uploaded the config folder of dev branch to the samba share /share/z-wave-open-zwave and updated the config_path in zwave component in my configurations.yaml.
The Spirit is still shown as “EUROtronic Unknown: type=0003, id=0001 Cooling 1” and I’m not able to set the temperature or receive the temperature (it’s always 254).
Do you have any idea what I’m doing wrong?

Hi @DamianFlynn, I have Hass.io installed on a Raspberry Pi. I’m trying to setup the Spirit thermostat. As mentioned above already, I can setup a connection but can’t get the temperature on the thermostat set.
I copied the 3 Eurotronic Spirit xml files to a folder on the Raspberry Pi and added the folder name to the configuration.yaml file. I tried different locations but without success. Last try looks like this:

used folder: \hassio\config\open-zwave\config

configuration.yaml:

zwave:
usb_path: /dev/ttyACM0
config_path: /config/open-zwave/config

When I reboot, I have a “Invalid config” notification.

Do you know what’s wrong here?

Hi @FredericVV,

It does not work because you need to copy the complete open-zwave configuration files, including subfolders to your config folder. Additionally the files have to be linked in ‘manufacturer_specific.xml’ which is the entrypoint for all z-wave devices. It should look like this:

Summary
<Manufacturer id="0148" name="EUROtronic">
    <Product type="0001" id="0001" name="EUR_STELLAZ Wall Radiator Thermostat Valve Control" config="eurotronic/eur_stellaz.xml"/>
    <Product type="0002" id="0001" name="EUR_COMETZ Wall Radiator Thermostat Valve Control" config="eurotronic/eur_cometz.xml"/>
    <Product type="0003" id="0001" name="EUR_SPIRITZ Wall Radiator Thermostat" config="eurotronic/eur_spiritz.xml"/>
    <Product type="0003" id="0002" name="EUR_SPIRITZ Wall Radiator Thermostat" config="eurotronic/eur_spiritz.xml"/>
    <Product type="0003" id="0003" name="EUR_SPIRITZ Wall Radiator Thermostat" config="eurotronic/eur_spiritz.xml"/>
</Manufacturer>

But before you try this I like to recommend to remove your custom open-zwave configuration and update the buildin configuration by calling the service ‘zwave.update_config’ using ‘services’ from the home assistant ‘Developer tools’. Since yesterday, the open-zwave master branch contains the ‘Eurotronic Spirit’ devices so it should work out of the box…

Hi @m.tesche,

Many thanks for your reply!

And great news the ‘Eurotronic Spirit’ is integrated now.

Currently my Z-wave USB stick is not working any more :frowning: . I ordered a new one and it should arrive in a few days. As soon as I have it, I’ll be able to test and let know if it really works “out of the box”.

Sadly it’s not working for me (yet).
Is there any way I can check if the update_config command did actually work?

Update:
Checking out the master branch into the shared folder and using the config from there worked for me.
I now have three climate controls for the spirit: furnace, heat and heat-eco.
I can set a temperature on all three.
Currently I’m thinking about buying another thermostat because I’m still not sure how the spirit actually works

I need to check, but i am sure that i read somewhere in the last 2 or 3 days that the latest version of openzwave have been merged with the dev branch moving our configuration files into master; and potentially negating the need for the config folder trick.

If this is the case i assume we need to be on at least 0.80; when i get some time later in the week Ill verify this information. But first; Its almost time for ExpertsLive Europe

Damian

I bought 2 of these devices a few month back but was waiting to add them until it gets colder and they are supported with a stable release.

I joined one a few minutes ago but it seems the configuration is still not up to date (0.80.3).

I have to climate device after pairing (one thermostat):
climate.eurotronic_unknown_type0003_id0001_cooling_1
climate.eurotronic_unknown_type0003_id0001_dry_air

Temperature does not update as does setting a target temperature.

PS: i tried to run the zwave.update_config command wioth no difference.

BTW, what is the difference between heat and heat econ?

1 Like

I have the same experience as you, so i will follow this thread. The difference in heating modes is answered in the xml file on github: https://github.com/OpenZWave/open-zwave/blob/master/config/eurotronic/eur_spiritz.xml

Ok i just tried the method posted above (using latest config files from github) and after removing and readding the thermostat it now shows up as 3 devices and is now completely configureable.

Thanks for the link, that explains the heating modes. But now im wondering why this thing shows up as the different thermostats ( furnace, head and heat eco). I thought those were modes, why also seperate devices? :slight_smile: guess i have to read a bit more.