zwave-js / zwave-js-ui

Full featured Z-Wave Control Panel UI and MQTT gateway. Built using Nodejs, and Vue/Vuetify
https://zwave-js.github.io/zwave-js-ui
MIT License
935 stars 198 forks source link

[bug]Thermofloor Heatit Z-TRM3 wrong sensor showing #644

Closed espen4001 closed 3 years ago

espen4001 commented 3 years ago

Version

Build/Run method

zwavejs2mqtt version: 1.1.0 zwavejs version: 6.1.3

Describe the bug

Using zwavejs2mqtt in docker container on a RaspberryPi, and HomeAssistant in docker container on different server, with the Z-Wave JS instegration setup and working. When adding my Thermofloor Heatit Z-TRM3 thermostate to ZWave-network, it shows up in Home Assistant as expected. This thermostate har multiple sensor modes:

image

And based on the selected mode, one of 3 multilevel sensors are used to control the temperature based on setpoint:

image

Multilevel sensor 49-2 is the internal sensor. Multilevel sensor 49-3 is depends on an external connected sensor, which I don't have, hence the value "0" from this sensor. Multilevel sensor 49-4 is the connected floor sensor.

But regardless of which "Sensor mode" the thermostate is set to, the measured temperature value in the climate-entity in HomeAssistant is shown from Multilevel sensor 49-2, which is the internal sensor.

I have selected sensor mode "F", Floor mode, which uses the floor sensor. Everthing works fine - my setpoint is 31,5 ºC, and the thermostates regulates to this and using the floor sensor. But the shown value in Home Asisstant is wrong.

image

Expected behavior

Shown value in Home Assistant to change based on selected sensor mode.

Actual behavior

Multilevel sensor 49-2 is shown, regardless of selected mode.

Steps to reproduce

I have 2 identical units, both with the same issue.

Proposed changes

I recently changed from using the OpenZwave(Beta) integration in Home Assistant and the Ozwdaemon (docker container) to manage the zwave network. With this setup, the values were shown as expected. Changing sensor mode also changed which value was shown in frontend in Home Assistant.

Log files and node info

zwavejs2mqtt.log zwavejs_1.log node_2.json.txt

robertsLando commented 3 years ago

@espen4001 Unfortunally there is no way AFAIK to understand what's the sensor used, what you can do btw is to manually edit the discovered template of the climate and change the endpoint number. By default we use the first endpoint available, in your case you should use the endpoint 4. after this remember to persist the discovered entities by pressing on store so on reboot them are not rediscovered and z2m will use your edited discovery template instead

espen4001 commented 3 years ago

@espen4001 Unfortunally there is no way AFAIK to understand what's the sensor used, what you can do btw is to manually edit the discovered template of the climate and change the endpoint number. By default we use the first endpoint available, in your case you should use the endpoint 4. after this remember to persist the discovered entities by pressing on store so on reboot them are not rediscovered and z2m will use your edited discovery template instead

Ok, I will try this.

But earlier, when using the "old" OpenZWave(beta) integration in Home Assistant and the ozwdaemon this was not an issue. How come this method works and is able to read which sensor is used?

Is it related to the earlier integration using an separate MQTT broker, and this zwavejs2mqtt is using websocket?

robertsLando commented 3 years ago

Ops sorry, you are using thje zwavejs server integration, I was speaking about the mqtt integration btw... This is something that you need to open on hass side, I cannot do anything on my side to fix that