[ANNOUNCE] node-red-contrib-zwave-js 6.2.0

Oh that was nice and easy :grinning_face_with_smiling_eyes: (I thought you had tried that already)

Think of it like this.

ValueAPI
Me the driver, will do it all for you, including updating the local value, and passing you the updated value after.

CCAPI
Do what you want, but if you want the local value updated, either the device must send it, or you force me to update it locally

Technically "either the device must send it" should have happened, but device manuals are not always accurate or clear.

EDIT
If you have enabled logging - I will switch it off, it fills quickly, and I don't rotate (yet)

Hi Marcus,
I have a new smoke detector included in my z-wave network.
Unfortunately the device shows 0 for the controller, but all other devices use 1 for the controller.
How can I change the controler number to 1. I can't find a set command under Wake Up.
Please see picture of the device.

Hi @juntiedt,

The wake up controller target is usually the lifeline, and should not be anything but the controller.
if you have multiple controllers however, it can differ - Not sure why its set to 0.

This is what I suggest.

Force a wake up on that device, and debug the controller node (look for a WAKE_UP event)
I am not sure how you do it on that device - but if you get the wake up event, its safe to ignore, meaning the node is correctly addressing the controller for its wake interval.

If you do not get the wake up - we have to get creative.

  1. Stop the controller (disabling it in node red should be enough)
  2. Reset the smoke detector to defaults
  3. Start Controller again, and once all up and running, use Replace Failed Node for this node.
  4. Wait.....
  5. You will get asked what security mode (choose appropriate option)
  6. After a moment you will be instructed to put the device into inclusion mode.
  7. The device will get added with the same Node ID it had previously.

We have todo this, because the node is not telling us it wakes up (preventing us from setting values).
Its possible the interview went a bit wonkey, hence the odd node ID, but if you get the wake up events, there is no need to worry.

For reference here is how you set the controller node ID for wake up.
but the controller needs to be told its awake, for the config to be sent - Catch 22

let Message = {
    payload: {
        mode: "CCAPI",
        node: 2,
        cc: 0x84,
        method: "setInterval",
        params: [86400,1]
    }
}
return Message

it looks like that there is no wake up event - so I have to get creative :wink:

one question, how can I disable the controller in node-red?

btw, alarm is working and I get a long meta data report but no wake up event

Hi @juntiedt

If you get no wake up (either forcefully or via its interval) - its likely the controller was not set as the wake up target (given its target of 0)

This should be done during the interview, so it may have had a blip during the original interview.
Following my steps above (point 1) you can stop the controller by disabling the controller node.

Make sure to deploy your flow after.
Then on point 3, just enable it again (deploying after).

Its best to reload the page after starting it back up - as the UI will likely lose comms.
It may also be good advice to not enable Soft Reset USB (at the same time as disabling)
Soft Reset USB is a new thing in the driver, and I am cautious about it - a few teething issues are being identified with its use.

i.e just keep Soft Reset USB unchecked, unless you change RF frequency, in that case its needed.

Bonus!

The reason we stop the controller, before resetting the smoke detector, is because the controller will be notified, that its being reset - it will therefore be removed, it does this for security reasons.

stopping the controller, and using Replace Failed Node will allow it to retain it's original Node ID on the controller.

the smoke sensor is gone from the list.
so this will be a new inclusion. I can't replace Failed node

I thought disabling the controller node will stop it being notified of the reset - I guess not.

Oh well, it just means you have a hole in your Node ID list (if it doesn't bother you, it makes no difference)
as long as the smoke sensor is reset, before being re-included.

yes, now I have a hole. No problem, but the controller number is still 0.
The alarm works and I leave it as it is for now.

Very odd.

Question.
Refresh the UI, does the node have a moon or sun for its status?

If its a Sun - it means it does not sleep (so not sure why it advertises wake up support)

If its a Moon: Either the device is not setting the node ID for wakeup, or it just reports it incorrectly (but will still address wake ups correctly).

A log will tell us, if you did want to dig deeper, just capture an interview of that device.
and submit it here : https://github.com/zwave-js/node-zwave-js/issues/new?assignees=&labels=&template=bug_report.yml

The wake up CC just tells the controller its awake, so any pending configs can be applied.

as long as the Lifeline is pointed at node ID 1 - you pretty safe. :+1:

Rauch = smoke

Ok,

So it does sleep.

If we are sure that no wake up is received (maybe capture a 25 hour window of events from the controller and look for wake up to see if it does actually send them)

If not, re-include the device (but with logging turned on) and submit it at the URL I posted.
we will be able to see what is going on with that device.

If your not too worried about it - just let it be (providing your get all keys events)

Thank's a lot.
I will capture all events for 25+ hours and then will check again.

Rauchmelder-events.txt (19.4 KB)

Hi Marcus, have a look at this file and search for wake.
Is this a wake-up message?HS1SA-Z documentation.pdf (318.8 KB)

Hi @juntiedt,

They are not.

These are just notifications being sent from the device.
A wake up notification will be under the event of WAKE_UP

See this table for events:

Event Table

Wake up notifications can be issued via the devices interval or by a wake up routine (as stated in the devices manual).

A device sending a real time notification and a wake up are (confusingly) 2 different things.

What we want to find out, is if the device really is sending wake ups.
For that, attach the below to the right hand side of the controller node.

What this will do is capture an object in your global context called wake_up_monitor_#
where # is for each node that sends a wake up notification.

[{"id":"97fa3aea39c7fd43","type":"switch","z":"2d7bf6e3.84c97a","name":"Wait for Wake up","property":"payload.event","propertyType":"msg","rules":[{"t":"eq","v":"WAKE_UP","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":850,"y":280,"wires":[["850e52b506be4e5b"]]},{"id":"850e52b506be4e5b","type":"function","z":"2d7bf6e3.84c97a","name":"Save Wake up to global","func":"global.set(\"wake_up_monitor_\"+msg.payload.node,msg.payload)","outputs":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1110,"y":280,"wires":[]}]

Keep this attached for 25 hours - what you should see at the end of it is any node that has sent a wake up notification.

Node 5 in my network has once woken up.

if you see your smoke sensor in that list (global context) - it is safe to assume, that the device just reports an ID of 0 - Evan though, it does address the controller correctly.

Im saying 25 - as the intervals can swing a little (it depends on characteristics of the device)

done!
next message in 25+ hours :wink: