-
-
Notifications
You must be signed in to change notification settings - Fork 213
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Z-Wave-JS-UI Thermostats not Autodiscovering all devices - missing Cooling Setpoint, Fan Control, Fan State, Operating State. #3697
Comments
You could provide a custom config to fix the problem and once you get a working one submit a PR |
I have no way to test this until Domoticz fixes their MQTT-AD for climate topics. I opened an issue for this in the Domoticz gitbub forum, as well, but so far have just been met with denial (and get z-wave-js-ui to fix it). I also don't see that the MQTT-AD really supports more than one setpoint per config topic so it may be that two config topics are required (or maybe I am just missing something). It's strange that no one seems to be using any z-wave thermostats anymore. I have been asking around for a model that works but it may just be that none of them work anymore without manual intervention. It would be nice to see some other examples of the config topics for other Thermostats. I assume these same MQTT-AD topics are used for Zigbee as well. Maybe no one is using Zigbee thermostats either? Also I noticed that the
I have been posting what I have been finding that works to manually hack in these devices in the meantime so maybe other people will find this information useful. |
Thermostats are complicated with MQTT discovery, that's why a configuration is needed in order to make them work...
I think that who did the template was using C that's why you see that. Check https://github.com/zwave-js/zwave-js-ui/blob/master/api/hass/devices.ts More info about custom components here: https://zwave-js.github.io/zwave-js-ui/#/homeassistant/homeassistant-mqtt?id=custom-components |
One problem is Domoticz has no way to do the custom configurations like HA appears to. So apparently there is more wrong here than initially meets the eye. I don't know if this is just a Domoticz issue or if HA is implemented the same way but apparently someone thought you could get away with a single thermostat setpoint for both heating and cooling. So it appears that Domoticz has implemented the MQTT-AD such that a single thermostat setpoint is used for both heating and cooling setpoints. (Still doesn't explain why Fan mode is not supported). If the mode of the Thermostat is Heating then the single setpoint controls the heating setpoint in the Thermostat and if the thermostat mode is Cooling it controls the cooling setpoint. However in Auto it only controls the heating setpoint in the thermostat so the auto mode can not be used. If you add a second cooling setpoint like I did above now you have two setpoints to use in Auto mode but in Cooling mode Domoticz is mapping the heating setpoint to the cooling so they both are controlling and showing the value of the cooling setpoint. Not sure what kinds of problems this will cause besides just not indicating the correct heating setpoint. Probably a bigger potential issue is that periodically while in Heating mode Domoticz will set the Cooling setpoint to the heating setpoint so if you then switch to cooling you may end up with a nice electric bill. Especially after a nighttime heating setback temperature like 65. So I guess if someone just doesn't need the Auto Mode of the Thermostat (or fan control) they can probably live with this broken implementation. However if you live in a climate that needs the Auto mode you will need to add a cooling setpoint. And then just make sure when the mode is switched both the cooling and heating setpoint are updated as they may have been incorrectly set. |
Why not? The custom config is on zui side and is needed in order to build the correct config payload on discovery I also don't understand well what you mean with above comment as on zui side when the mode changes the device is re-discovered with the correct setpoint topic (the device config is mostly needed for this to understand what setpoint to use based on the mode) zwave-js-ui/api/lib/Gateway.ts Lines 1941 to 1961 in fd09755
|
Ok there is a lot going on here. In which case how would I stop this? Is there a way to set each of the different HASS Device JSON for each thermostat mode? At this point I just need to stop the different config topics from being sent when the modes change but if there is a way to configure all 4 of the different config topics I guess I could do that as well. |
Just create a single entry in |
Ok I think I see what you are talking about. That seemed to work to keep the setpiont mapped to the heating setpoint in all the modes. |
@eagle360 Like explained on docs I cannot support all different devices but I explained to users how to deal with them, this mostly because in order to do good tests of this I would need to have one of this devices with me and that's impossible. I linked you all the informations you need in order to fix the discovery payload to add the fan mode to your thermostat
Yes but that's a bit tricky, you should store discovery devices and then manually edit the nodes.json from store UI to add another configuration (you can just clone an existing one and then restart the application and edit it from UI). You can do the opposite BTW https://zwave-js.github.io/zwave-js-ui/#/homeassistant/homeassistant-mqtt?id=manually-create-entities. |
In case someone else is looking to get their Auto mode thermostat working as described in this post. Follow the instructions above to add the cooling setpoint config topic and then use the following climate HASS Device JSON in z-wave-js-ui so the heating setpoint does not change when the thermostat mode is changed:
|
@robertsLando Thank you very much for your prompt assistance and your over all effort to build and maintain this tool. |
@eagle360 Thanks to you for also sharing your findings 🙏🏼 |
Version
zwave-js-ui: 9.12.0
zwave-js: 12.5.6
Domoticz 2024.4
Describe the bug
After many months and a lot of searching around I was not able to find any solutions or get any help with this issue and now that summer is on it's way I was running out of time and decided to really dig into this.
First off I can't find any useful documentation for Auto discovery
climate
topics. Nothing onsetpoints
,Modes
,Operating State
, etc. I have looked over (https://www.home-assistant.io/integrations/mqtt/) and it is mostly useless for this issue. Update: Well I finally found this link somehow for the climate configurations. https://www.home-assistant.io/integrations/climate.mqtt/ - It helps but only confirms everything I have found out so far.The problem is Thermostat Auto discovery is not working with Z-wave-JS-UI and Domoticz. Specifically with Remotec ZTS-110 Z and CT100 thermostats. They both have the same issues: Missing devices in Domoticz:
The missing devices are: Cooling Setpoint, Fan Mode control, Fan Mode state, Operating state.
There are issues with Domoticz but also with z-wave-js-ui.
All the basic Functions of these thermostats are implemented and working in z-wave-js-ui interface and in the MQTT topics but the Auto discovery is not working.
On the z-wave-js-ui side the HASS Device JSON is not complete for these Thermostat devices.
Below is what Z-wave-JS-UI is generating for a
climate
Home Assistant - Devices entry.This JSON config above is missing the second Cooling setpoint :
"zwave/Test/ThermostatTest2/67/0/setpoint/2",
the Fan Mode :
"zwave/Test/ThermostatTest2/68/0/mode"
Fan Mode state:
"zwave/Test/ThermostatTest2/69/0/state"
Update: Looks like the HA autodiscover specification does not allow for multiple setpoints (very strange) so that seems to indicate that a second
climate
Home Assistant - Devices entry would be required to create additional setpoints. With Domoticz, at least, a different"unique_id":
is required for each climate config topic.I.E
"unique_id": "zwavejs2mqtt_0xe24caefc_Node35_climate"
&"unique_id": "zwavejs2mqtt_0xe24caefc_Node35_climate2"
After lot of trial and error with the JSON and then getting pointed towards manually creating an Auto discover
config
topic directly in MQTT I was able to come up with the following to get Domoticz to manually add a second Cooling setpoint and Fan Mode device:Added MQTT topic with retain :
domoticz/climate/Test-ThermostatTest2/climate2/config
with
I am still missing the Operating State (66) and the Fan State (69). I will work on work arounds for those next.
The text was updated successfully, but these errors were encountered: