# Zwave.js set value on thermostat

**URL:** <https://discourse.nodered.org/t/zwave-js-set-value-on-thermostat/68037>\
**Category:** General\
**Tags:** function-node\
**Created:** [21 September 2022 15:41 UTC](https://discourse.nodered.org/t/zwave-js-set-value-on-thermostat/68037 "2022-09-21T15:41:18Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![magicman](https://avatars.discourse-cdn.com/v4/letter/m/73ab20/32.png) [@magicman](https://discourse.nodered.org/u/magicman)\
**Post date:** [21 September 2022 15:41 UTC](https://discourse.nodered.org/t/zwave-js-set-value-on-thermostat/68037/1 "2022-09-21T15:41:18Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [25 September 2022 17:44 UTC](https://discourse.nodered.org/t/zwave-js-set-value-on-thermostat/68037/2 "2022-09-25T17:44:31Z")

</div>

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

```auto
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

```

> **[Value API · zwave-js/node-red-contrib-zwave-js Wiki](https://github.com/zwave-js/node-red-contrib-zwave-js/wiki/Value-API#setvalue)**
>
> The most powerful, high performing and highly polished Z-Wave node for Node-RED based on Z-Wave JS. If you want a fully featured Z-Wave framework in your Node-RED instance, you have found it. - Val...

---

<div class="post-metadata">

**Author:** ![magicman](https://avatars.discourse-cdn.com/v4/letter/m/73ab20/32.png) [@magicman](https://discourse.nodered.org/u/magicman)\
**Post date:** [26 September 2022 09:02 UTC](https://discourse.nodered.org/t/zwave-js-set-value-on-thermostat/68037/3 "2022-09-26T09:02:15Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [26 September 2022 09:32 UTC](https://discourse.nodered.org/t/zwave-js-set-value-on-thermostat/68037/4 "2022-09-26T09:32:49Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![magicman](https://avatars.discourse-cdn.com/v4/letter/m/73ab20/32.png) [@magicman](https://discourse.nodered.org/u/magicman)\
**Post date:** [26 September 2022 10:22 UTC](https://discourse.nodered.org/t/zwave-js-set-value-on-thermostat/68037/5 "2022-09-26T10:22:35Z")

</div>

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

```auto
{
   "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](https://devices.zwave-js.io/?jumpTo=0x0059:0x0001:0x0005:0.0)

Hope this helps?

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [26 September 2022 10:52 UTC](https://discourse.nodered.org/t/zwave-js-set-value-on-thermostat/68037/6 "2022-09-26T10:52:41Z")

</div>

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 😅

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.

---

<div class="post-metadata">

**Author:** ![magicman](https://avatars.discourse-cdn.com/v4/letter/m/73ab20/32.png) [@magicman](https://discourse.nodered.org/u/magicman)\
**Post date:** [26 September 2022 11:11 UTC](https://discourse.nodered.org/t/zwave-js-set-value-on-thermostat/68037/7 "2022-09-26T11:11:17Z")

</div>

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 🙂

---

<div class="post-metadata">

**Author:** ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Post date:** [26 September 2022 14:03 UTC](https://discourse.nodered.org/t/zwave-js-set-value-on-thermostat/68037/8 "2022-09-26T14:03:29Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![magicman](https://avatars.discourse-cdn.com/v4/letter/m/73ab20/32.png) [@magicman](https://discourse.nodered.org/u/magicman)\
**Post date:** [26 September 2022 15:00 UTC](https://discourse.nodered.org/t/zwave-js-set-value-on-thermostat/68037/9 "2022-09-26T15:00:15Z")

</div>

thank you for your help as always

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [10 October 2022 15:00 UTC](https://discourse.nodered.org/t/zwave-js-set-value-on-thermostat/68037/10 "2022-10-10T15:00:21Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
