Help activating thermostat mode in Secure SSR302 zwave switch

Greetings

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.

The device is a Secure SSR302 2ch RF receiver switch.
https://manual.zwave.eu/backend/make.php?lang=en&sku=SECESSR302-5

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:
  • COMMAND_CLASS_ZWAVEPLUS_INFO
  • COMMAND_CLASS_BASIC
  • COMMAND_CLASS_THERMOSTAT_MODE
  • COMMAND_CLASS_SWITCH_BINARY
  • COMMAND_CLASS_ASSOCIATION
  • COMMAND_CLASS_ASSOCIATION_GROUP_INFO



MQTT discovery is not really maintained. If you want more features, you’ll need to ask at the zwave-js-ui project, and possibly contribute the code yourself. https://zwave-js.github.io/zwave-js-ui/#/homeassistant/homeassistant-mqtt. See note:

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 :

  1. put the switch in Thermostat mode
  2. 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.

which is why i chose this SSR302

does that help friend?

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

i linked to the manual in my OP… might you be able to read the page about SET and THERMOSTAT mode and tell me what i need to do please, its very confusing
https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https://products.z-wavealliance.org/ProductManual/File%3Ffolder%3D%26filename%3DMarketCertificationFiles/1619/SSR%2520302%2520User%2520Manual.pdf&ved=2ahUKEwi5lu6H4oKCAxWYT0EAHWo8BSMQFnoECB8QAQ&usg=AOvVaw0vOoV8e4Hpoa76CYIC7C--

its taken a week to get this far and HA and xwave workimg on my pI … Phew

OK, I understand now. Then just write an automation to set the mode every X minutes.

https://www.home-assistant.io/integrations/climate/#service-climateset_hvac_mode

I don’t understand why you are saying that? It’s the opposite if what the manual says.

The SSR 302 has a failsafe mode where by the relay is turned off if
another Thermostat Mode SET command has not been received within 60
minutes.

So setting the mode to heat should keep the relay on.

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

dead easty, simple

do you get it?

You write the automation to set the heat every X minutes. There’s even an example in the docs I linked.

yes i just read your link , after i posted

YES THAT WILL DO IT

phew thank god. PERFECT . THANK YOU SO MUCH 🫠👌🫶

automation:
trigger:
platform: time_pattern
minutes: '/50`

perfect(can’t get forma to work on my phone)

just need ti check that this resukts in the appropriate message being sent to the receiver

Yep, time_pattern is what you want.

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.

ah, yes understood thank you.

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)

edit…

just found Generic Thermostat has a keep-alive

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?

lol, i don’t know what I’m doing
just tinkering at mo

i think, that kerp alive needs to mapped to a SET command that the receiver needs to prevent failsafe, mmmm, not sure, don’t know how to do this…

I’m struugling

need time to work things out and will j come back

it’s all rather complicated, but hey hi, free SW Can’t complain.

all working
@freshcoast i need to buy you a :coffee: