Zwave.js set value on thermostat

hi ,
I am trying to set a setpoint value on a secure thermostat

{
"valueId": {
"commandClassName": "Thermostat Setpoint",
"commandClass": 67,
"endpoint": 0,
"property": "setpoint",
"propertyKey": 1,
"propertyName": "setpoint",
"propertyKeyName": "Heating"
},
"meta": {
"type": "number",
"readable": true,
"writeable": true,
"unit": "°C",
"ccSpecific": {
"setpointType": 1
}
},
"propertyid": "0-67-setpoint-1",
"endpoint": 0,
"valueData": {
"value": 18, <<< this value?
"unit": "°C"
}
}
when i send the request it does not change , i presume this because the thermostat is not awake?

How can i wake the device so the response is sent and acknowledged instantly?

Thanks for any help

Magicman

Hi @magicman

Sorry for delay.

Can you show me the command you're sending?

But for what it's worth, this is how you would change the heating set point.
The UI will show you if its asleep (Sun/Moon)

I have never known a thermo to deep sleep, as they need to actively listen for setpoint changes

let ValueID = {
     "commandClass": 67,     /* Thermo Setpoint */
     "endpoint": 0,          /* Prob not needed here */
     "property": "setpoint", /* Property of the CC to set */
     "propertyKey": 1        /* Which setpoint? - Heating */
}
let Message = {
    "payload": {
        "mode": "ValueAPI",
        "node": 32,
        "method": "setValue",
        "params": [ValueID,18]
    }
}
return Message

hi @marcus-j-davies
yes i am sending a command such as yours my issue is the thermostat is asleep and therefore does not change the setting when it is sent only when it wakes?

I need the value to change as it is sent, hope you understand my problem?
can the thermostat be woken?

Magicman

Hi @magicman

The thermo will get updated when it wakes up.
all commands are queued for sleeping devices.

You have 2 options.

  • Wait for the device to wake up (it will receive any pending updates)
  • Force it to wake - most sleeping devices have a routine (button combination of sorts) that can be actioned - but its device dependant.

It is not possible to wake up a device with software - as the device is not listening.

I'm still very surprised that you have a thermo, that can deep sleep, it kind of defeats the purpose of a smart thermo that can have its setpoints changed using automation - but you need to wake it up to do so

have you checked settings of the device in the UI and the device its self?
can you send me the DB link?

hi @marcus-j-davies
The thermostat is Secure Meters (UK) Ltd. SRT321 FW: 1.0

{
   "valueId": {
      "commandClassName": "Thermostat Setpoint",
      "commandClass": 67,
      "endpoint": 0,
      "property": "setpoint",
      "propertyKey": 1,
      "propertyName": "setpoint",
      "propertyKeyName": "Heating"
   },
   "meta": {
      "type": "number",
      "readable": true,
      "writeable": true,
      "unit": "°C",
      "ccSpecific": {
         "setpointType": 1
      }
   },
   "propertyid": "0-67-setpoint-1",
   "endpoint": 0,
   "valueData": {
      "value": 18,
      "unit": "°C"
   }
}

This is the link DB Z-Wave JS Config DB Browser

Hope this helps?

Hi @magicman

Thanks - it does seem this device likes to sleep.

From the manual....

This device is battery operated and turned into deep sleep state most of the time to save battery life time. Communication with the device is limited

but it does have a wake interval....

This device will wakeup regularly and announce the wakeup state by sending out a so called Wakeup Notification.

You can set this interval (but having a too quick interval might deplete the batteries very quickly)
look for WAKE UP in the UI and set the interval (seconds)

BUT! this wont get applied until the device wakes up to recieve it :sweat_smile:

So..... set the interval and forcibly wake it up after (so the interval is applied)

Again from the manual...

To wake up the device do the following steps: Set DIL switch 1 on the back of the unit to "ON" position, and select one of the konfiguration functions by pushing the rotating dial once.

The manual seems to point to Li

Li Receive Period Enabled (Listening). This function will keep the unit awake for 60sec, no Pass or Fail response will be provided.

from what I am reading from the manual, you will not get instant feedback from this device sadly.
its just how the manufacture has designed it.

thank you @marcus-j-davies I see that now. i will look into getting a different thermostat hopefully one i can do what i wish with :slight_smile:

Thermos that are not battery operated, or are considered a FLiRS capable device generally respond right away.

FLiRS devices are battery operated, but remain in a very low powered state, just enough to listen for updates - and then wake fully when something is addressed to them.

thank you for your help as always