While with the updated configuration on the master branch I am able to control the temperature and Heat & Eco modes, I think there a still missing pieces for the thermostat to be entirely supported.
When you look at the old pull requests which were merged into the dev branch, there were also necessary code changes and additional fields in the xml config.
These are still not present on the master branch.
I didnāt have much luck getting this working with the zwave.update_config service, but using the config_path
option along with the latest version of OpenZWave master has done the trick and I can control it now.
I do also see the furnace option which I donāt think should be there. However, from what I understand reading the various issues and PR on the OpenZWave Github, there are some fundamental changes to OpenZWave itself that were made in order to support a newer version of the SetPoint class used by the thermostat - i.e. changes beyond the XML files that give friendly names to the sensors and configuration options. At the moment, these are only merged in to the Dev branch and I wouldnāt expect them to be merged back in to 1.4.
So for the moment, what I understand is that although 1.4ās master may now have the appropriate XML files to give friendly names etc, we wonāt have full support for all of the thermostat functions until the Dev branch is released as 1.6, and then Python-OpenZWave and then Home Assistant are updated to use this.
This is good point regarding core openzwave lib. FWIW, the openzwave lib embedded to Hass works just fine for typical thermostat operations (heat, off, set temperature). Ive disabled temperature reporting so I donāt care that much about whether it works or not. I do get warnings in ozw logs regarding decimal values which (looking at the aforementioned PR) might be related. Still, no harm to typical functionality.
TBH Iām really looking forward to zwave revamp that @balloob mentioned in a blog post. Core lib is not getting updated (over a year?), newer devices are often not that well supported (eg. This thread), Hass restarts are painful (big mesh takes a while to setup; Iāve already had few misterious failures during restart that required few reboots), diagnosis is hard (I got a misterious node on my network that is not manageable in Hass).
Indeed, iām very excited to see how this goes but iāve not found anywhere yet sadly where I can ākeep trackā of progress. Iād love to see how efforts are progressing as it seems like it could be a massive boost to Z-Wave users!
I have four of them and would really love to use them in HA
Iāve tried the zwave.update_config command service, but nothing changed. ANd what do you mean by removing the device? Just a cleanup of the core.entity_registry or do you mean a complete removal from the zwave network?
I did configured the custom path and added the files, but sadly the thermostat wonāt react to temperature changes in the UI.
Anything else I could do?
Hi guys.
I have these thermostats also and they are working without any trouble. Reacting to any manual commnand and also automatization for window sensors and time schedules.
The issue is that in python-openzwave package this type is still not covered, even in the newest version 0.4.11.
Just files need to be added / updated manually:
You can check my config files for HA:
HI @TriStone, Iāve modified the 3 files that were in your commit, thanks for this
After this I removed the Eurotronic devices from core.entity_registry and rebooted Hass, the devices were added back and I gave them the same names as before (changed the entity_id in core.entity_registry. After this they reappeared in my frond end and I could see the temperatures again. Now when I try to set a temperature in the Frond End nothing happensā¦
Can you please describe in detail the steps I should take or forgot maybe?
My config looks like (and the files are there in the share folder):
zwave:
usb_path: /dev/ttyACM0
config_path: /share/zwave/config
debug: true
I have nothing special configured. Even in the config I did not specify the path to Z-Wave config and it is somehow handled automaticaly by Python.
# Z-Wave stick
zwave:
usb_path: /dev/usbzwave
network_key: !secret zwavenetwork_key
As you see it is as basic as possible. Maybe if I remember somethign I read almost year ago if the Z-Wave+ is not needed -> which implies the netwrok key to be present. But not sure.
For me it worked almost instantly. I prepared evertyghin in advance - zwavelibs, stick , etc. and then start connecting the devices.
Hmm ok, and did you put the files in: /share/zwave/config or another path?
I did not touch the location as it was installed by pip.
Files are stored in /srv/homeassistant/lib/python3.5/site-packages/python_openzwave/ozw_config/config
I have HA installed at Debian, not Raspberry Pi distribution.
Iām using Hassio, so I think that such scenario aint possible for me and that I have to work with the config_path. Iāll try a full reset of all devices and a reinstall of the zwave component in Hass tonight, maybe if I rejoin everything and re add the devices to Hass that it is going to work
Iām kind of the same situation.
So far Iāve copied the (complete) openzwave-config to /config/zwave_config
and updated my zwave config like this:
zwave:
usb_path: /dev/ttyACM0
config_path: /config/zwave_config/
debug: true
Removed one thermostat from all known places (core.entity_registry
and zwcfg_*.xml
) and rebooted. So far without success.
How can I be sure, the config from config_path
is used?
I think that it was important to add the config folder to the variable config_path: /config/open_zwave/config
and that the complete config dir is copied there (download the repro)
I do guess that we should pick the DEV branch, since the support for the device is only merged there yet.
Furthermore I have no idea how we can check witch version of the config is being used, maybe it is somewhere in the homeassistant.log since you set the debug logging to true.
Iāve now excluded one of my thermostats from the network. After reincluding it looks pretty good:
- device is recognized correctly (EUROtronic EUR_SPIRITZ Wall Radiator Thermostat instead of Unknown)
- there are three setponts for temperature now
- furnace
- heat
- heat_eco
- setting the target temperature is working
- there are five operation modes
Lookās like this is working now.
Summary of steps taken (for reference):
- Copy the complete config from git (https://github.com/OpenZWave/open-zwave/tree/Dev) to a directory inside your ha config
- Load that config using
config_path
- (Re)include your devices
Iāve also managed to get all thermostats working, wrote the story below in case someone else has the same issues.
Itās like you said, I removed all thermostats from the Z-Wave network by excluding them, double checked it in Hass. When all of them were gone, I rebooted Hass just to make sure.
After the reboot they were still gone. Then I made sure all device config files were cleaned up in /config/.storage
(they were still there btwā¦ maybe because I edited the entity names earlier)
Then I changed the configuration.yaml with the config_path and updated the open-zwave/config folder with the contents of the DEV repro. (rebooted again)
No errors in the logs and the devices were still gone, looked good.
After this I rejoined the thermostats (all 4) and plugged in the Zwave USB stick into the ASUS Tinkerboard. (rebooted again)
Now all 4 thermostats were visible in the sensors view (climateā¦) Did had a lot of warnings in the log about the temperature being wrongly reported, this was fixed by changing config parameter 5 to a ā1ā.
After this journey I cleared the log and rebooted again, no more errors!
Tested all the thermostats and setting a temperature works great, do have to say that 2 commands are needed to switch them on. I did a set temperature first and then set the operation mode to heat.
Now itās time to build some automationās
Thanks for the guide for using the Eurotronic Spirit with Home Assistant.
The Eurotronic Spirit offers the option to use an external temperature sensor. The config file has the option to activate this option.
I donāt find a way to send the current temperature to Spirit via zwave. I have a temperature sensor which sends the data via mqtt to Home Assistant. My idea is that the external temperature sensor is the reference for the Eurotronic Spirit. But I have the bad guess that open zwave doesnāt support the function to send a temperature. Could someone confirm my guess?
In my research I found this issue at openhab that tackle this function. And this pull request for this issue. I donāt want to compare the both systems. The two links are only an additional information.
If the developers of Home Assistant read my comment the solution of openhab could help for an implementation in Home Assistant. If Iām right and the function for sending a temperature to the zwave device isnāt implemented yet.
Does everyone has the same situation and found a solution?
I donāt think Home Assistant has this functionality either, although if it did iāve love to know. Theoretically the only other way you can do it is using a different Z-Wave temperature sensor along with an association group. Unfortunately, it doesnāt seem to be quite working for me. Hereās what iāve doneā¦
- In the settings for my Temperature Sensor (e.g. in my case an Aeotec MultiSensor 6/ZW100), I went to the Node group associations section and added the Spirit TRV as part of the Lifeline Group. This should have instructed my sensor to also send temperature reports to the Spirit TRV as well as the controller.
- In the settings for my Spirit TRV, in the Node config options I set the Measured Temperature Offset to be 128. This should have instructed the TRV to use temperature readings that it receives from the sensor to determine the actual room temperature and adjust accordingly.
If anyone has managed to get this working, iād love to hear - although the Spiritās sensor is OK, itās definitely preferable to have an external sensor elsewhere in the room.
Just started with zwave and added the thermostat. It worked out of the box in hassio. Maybe its because of the new OZW fork for HA?
But can someone explain to me why there are three devices?
I have climate.eurotronic_eur_spiritz_wall_radiator_thermostat_furnace / heat / heat_eco
Wouldnāt just one device be more clear?
This is how the Zwave stack exposes the entities, hopefully someone will be able to combine them all into a single entity based on the operation mode rather than breaking them all out for us like you see now.