I would like some help please to determine why two out of four features - from a z-wave device - are not being discovered by HA and how to send a command.
QUESTION: How do I set THERMOSTAT mode and send SET every 50 minutes or so??
Background:
The receiver has successfully been included into the Z-Wave network via the UZ1 controller served via zwavejsmqtt.
All features reported in the zwavejsmqtt GUI. I have mqtt integration installed in HA and it has discovered the device and set up the following entities, I expected more??
The receiver has two binary switch commands to turn each channel on or off, and a command class SET with values “Heat” or “Idle”.
These have been discovered and mapped to HA, zwavejsmqtt server, the mqtt and zwave integrations to…
switch.secure_rf_zone_1_switch
switch.secure_rf_zone_2_switch
climate.secure_rf_zone_1_thermostat_mode_set
climate. secure_rf_zone_2_thermostat_mode_set
The user guide states that when in THERMOSTAT mode and combined with the SET command “Heat” then the zone will be switched on - AND - if the SET is not received within intervals of 60 minutes then the failsafe kicks in and the receiver will turn off the zone. I want to take advantage of this but the current implementation doesnt quite seem right, because
a) in HA if I set climate.secure_rf_zone_2_thermostat_mode_set to Heat then the boiler turns on but when I set it to idle it turns off.
b) If I keep it at Heat it is not going to send a pulse every 50 minutes or so.
c) I do not want to keep it at Heat because if my HA fails for whatever reason it will keep this entity ‘high/set/active’ and the boiler will run forever. I want it to cut out (failsafe) if the SET isnt sent every 50 minutes.
d) There is no way to set THERMOSTAT mode on in HA (either in MQTT or Zwave integrations - it simply is not shown)
Each endpoint capability reports:
Generic Device Class: SWITCH BINARY
Specific Device Class: POWER SWITCH BINARY
Supported Command Class:
The preferred method of integrating your Z-Wave components with Home Assistant is through the official Home Assistant Z-Wave JS integration, this because MQTT Discovery is limited compared to a native integration and Home Assistant updates frequently break it. Based on this I would NOT RECOMMEND using MQTT Discovery, I don’t plan to keep it maintained in the future.
What options are available when you open the climate entities that you’ve highlighted in the screenshot?
ok @freshcoast , thank you for the note.
I am already running the zwavejs integration, that is what is on my screenshots.
ok so ignore mqtt discovery…but i still do not know how to :
put the switch in Thermostat mode
send SET command every 50 minutes
What happens currently , is as i said above,and to answer your question i shall attempt a rephrasing…
so
a. when i toggle the switch entities, the respective channels on the RF receiver are toggled and i can thus control the boiler, on or off.
b .two additional entities exist in the zwave device (not discoerved by mqtt) az clinate control entotoes. when i tap their respective card, it has Heat and Idle…selecting Heat will turn a RF receiver channel on, selecting idle will turn it off. it acts like a switch ?
c. these climate controls thus appear to be swicthes, on or off. climate controls seem to just be a map over the binary switches.?
d. if setting Heat on a climate entity is how i set Thermostat mode then how can i confirm.that the appropriate SET THERMOSTAT message has been sent to the RF receiver?
e. the receiver , when in Thermostat mode, requires a SET THERMOSTAT to be sent again within 60 minutes. I dont think this is going to happen because HA will only send another message when i tap a card and change a switch or clinate control. i.e. setting to Heat on a clinate entiry then walking away , will not send the message to prevent the failsafe kicking in
and I WANT this failsafe because on a previous home install HA crashed which left anl receiver latched ‘on’ … when i came home the boiler had been on for 3 days and it was 32C plus a hefty gas bill.
Then the climate entity is controlling the thermostat mode, because that’s what it does. So setting Heat and Off set the thermostat mode as desired.
You could check the driver logs (either in HA or ZUI) to confirm the message has been set. But the climate entity also tells you. If you flip it from Off to Heat, it means the mode was set correctly. If it was not set, it would revert to the previous value.
What is “SET THERMOSTAT”? Do you mean Thermostat Mode? Do you mean you need to continually set the mode if it is already in this same state?
YES
according to the manual, when in Thermostat mode, a SET command must be received with 60 minutes of the previous. This what the manual says and that is what I’m trying to implement in HA. simply setting the climate entity to HEAT (if indeed as you say is how Thermostat mode is entered) is insufficient to prevent failsafe
no. think of it as a keep-alive.
From the manual, it needs a Heat command every 60 minutes or less. Unless im wrong, HA will not send a keep alive, it just sends messages when one toggles between heat and idle. therefore keeping it at Heat and ‘walking away’ will not result in a keep alive and so the rf receiver will shut off the channel…failsafe…this is what i want so i need the keep alives when im.home…when.im out if HA or my pi goes down, the keep alives will stop and the boiler will shut off
In case it was not obvious, when you use the service call it will set the mode regardless of the current state. At least this is true for the Z-Wave integration. The standard climate entity UI control on the other hand won’t let you do this, it also uses the same service call but only sets it on mode change.
i will need a condition: on the event, such that it only triggers if climate is set to Heat…then…it sets climate to Heat…mmm, will HA send another message , or not (Because its already set heat)
will that do it and how would i set it up to fire tbat message i need to send every 60mins?
edit…
the keep alive doses the job when the heater is set to the SET zwave entiriy.
i jave just realised…i dont need mqtt here. its creating entities that duplicate the zwave entities. that’s causing the problem. i deleted the mqtt discovered entittes and its working now
The only condition you might need is to make sure the state of the climate entity is not “unavailable”. Otherwise, you can use a template.
I have not use the Generic thermostat, but reading the description the keepalive feature is exactly for your use case, so good find. It only accepts switches as entities though, so presumably you’re using the binary_switch entity instead of climate and thermostat mode now?