I took my sweet time upgrading from Z-Wave (deprecated) to Z-Wave-JS. For some reason the migration tool didn’t work and I finally decided to just do a manual migration.
In any case, I got all of my devices upgraded and my lock automations to use the zwave_js_notification triggers, but there’s one thing that I can’t replicate.
I have a GE/Jasco 26931 Z-Wave Plus Smart Motion Switch along with a remote auxiliary switch for 3-way operation. The main switch was at the top of a stairway and the auxiliary switch was at the bottom of a stairway.
With the Z-Wave (Deprecated) integration, this showed up as two switch entities.
There is only one load (switched relay) but the two switches allowed me to see if the main or auxiliary switch was used, thus I can identify which end of the stairway the lights were turned on from and trigger a “coming from” or “going to” automation.
The first switch turned “on” both when the main switch and the auxiliary switch was used to turn the load on.
The second switch only turned “on” when the main switch was used to turn the load on, so if this turned on I could trigger an automation that only triggers when going downstairs and not when going upstairs.
Neither switch triggers any zwave_js_notification events.
The switches do trigger zwave_js_value_updated events, but both the main and remote switches have the same data.
Main:
{
"event_type": "zwave_js_value_notification",
"data": {
"domain": "zwave_js",
"node_id": 45,
"home_id": 4293339770,
"endpoint": 0,
"device_id": "55f2a1acb8dde929bff5399ed039e9c4",
"command_class": 32,
"command_class_name": "Basic",
"label": "Event value",
"property": "event",
"property_name": "event",
"property_key": null,
"property_key_name": null,
"value": 255,
"value_raw": 255
},
"origin": "LOCAL",
"time_fired": "2022-05-23T23:33:50.045697+00:00",
"context": {
"id": "e72138cbe49bc078dccfed6ccd370134",
"parent_id": null,
"user_id": null
}
}
Auxiliary:
{
"event_type": "zwave_js_value_notification",
"data": {
"domain": "zwave_js",
"node_id": 45,
"home_id": 4293339770,
"endpoint": 0,
"device_id": "55f2a1acb8dde929bff5399ed039e9c4",
"command_class": 32,
"command_class_name": "Basic",
"label": "Event value",
"property": "event",
"property_name": "event",
"property_key": null,
"property_key_name": null,
"value": 255,
"value_raw": 255
},
"origin": "LOCAL",
"time_fired": "2022-05-23T23:33:43.163762+00:00",
"context": {
"id": "329c6199a8ed3111d1ba47c4d4db6d50",
"parent_id": null,
"user_id": null
}
}
Is there any way to uniquely identify which switch was pressed to trigger the appropriate automation?