Device not authorized - Zooz 4-in-1 700

Zooz 4-in-1 700 firmware version 32.32
HE Platform Version 2.2.9.137

Device IDs:

 Generic Zwave Outlet (GE)  =  198
 Zooz 4-in-1   700  = 196

Looking at the traffic between these two devices in Node-Red I can see that the outlet doesn't like being told what to do by the motion sensor.

msg : string[121]

"[deviceId:196] http://192.168.4.20:80/apps/api/45/devices/198/on: Device not found or not authorized to send that command"

Is this a "perk" of the s2 security on the new 700 chip? How can I get these devices to play nice with each other? (In the short term I simply change the deviceId in the "on" command to that of the outlet - but that's cheating.) I'd like to understand how i can authorize device 198 to send commands to device 196

I assume you are using an association? I've never tried doing that, and I may be wrong about this, but I think they need to be included with the same level of security. Is the outlet S2 as well?

1 Like

I'm not aware of any associations, or even how they could be made in Hubitat. (I do have both devices listed in the node-red Maker API)

The outlet is a GE Z Wave outlet which is several years old - so no S2.

Where did you get this information in Node Red? I am confused what exactly you are looking at when you say you are looking at the traffic between the 2 devices. Is this a Node Red flow where you are trying to turn the GE Switch on when motion is active in the Zooz 4-in-1?

Sounds more like a problem with your Node-RED integration. Did you authorize the new device in the MakerAPI instance--or whatever integration you happen to be using, should someome have written another--on Hubitat for this device? The error makes it sounds like you didn't. (Go in and select the device, then hit "Done.")

This shouldn't be related to S2. The driver and platform (Hubitat) handle all of that for you, and by the time it makes its way to an app (like MakerAPI), all of that is long abstracted away.

If I simply inject "true" directly to the node for kitchen sink light "on", the light turns on as expected. The output of that node is shown below. All is good.

10/21/2021, 4:02:36 PMnode: *** DEBUG 3 ***msg : Object
object
_msgid: "4c1000c10472c1ba"
payload: true
topic: ""
response: object
requestCommand: "on"
requestArguments: ""

BUT.... if I wave my hand in front of the motion detector with deviceId of 198, the light does NOT turn on. I receive the following output:

10/21/2021, 4:09:36 PMnode: DEBUG 1msg : Object

object
source: "DEVICE"
name: "motion"
displayName: "Front Door Sensor"
value: "active"
type: "null"
unit: "null"
deviceId: 198
hubId: 0
installedAppId: 0
descriptionText: "Front Door Sensor: motion is active"
_session: object
_msgid: "01aafd39961f4c16"

10/21/2021, 4:09:36 PMnode: **DEBUG 2 **msg : Object
object
source: "DEVICE"
name: "motion"
displayName: "Front Door Sensor"
value: "active"
type: "null"
unit: "null"
deviceId: 198
hubId: 0
installedAppId: 0
descriptionText: "Front Door Sensor: motion is active"
_session: object
_msgid: "01aafd39961f4c16"

10/21/2021, 4:09:36 PMnode: DEBUG 1msg : Object
{ source: "DEVICE", name: "motion", displayName: "Front Door Sensor", value: "inactive", type: "null" … }
10/21/2021, 4:09:36 PMnode: 1557cb2165c32140
msg : string[121]
"[deviceId:196] http://192.168.4.20:80/apps/api/45/devices/198/on: Device not found or not authorized to send that command"

In review: I have two switch nodes (which are kind of pointless) which are shown with DEBUG messages 1 and 2. The last message is more error than debug. To me, it looks like it was generated by the kitchen sink switch/outlet (deviceId 196).

To make it work, I put in a change node where set msg.deviceID to 196

Here are the significant debugs:

10/21/2021, 4:19:49 PMnode: ** DEBUG CHEATER **
msg : Object
object
source: "DEVICE"
name: "motion"
displayName: "Front Door Sensor"
value: "inactive"
type: "null"
unit: "null"
deviceId: "196"
hubId: 0
installedAppId: 0
descriptionText: "Front Door Sensor: motion is inactive"
_session: object
_msgid: "a4a9bf0501ed56ac"

10/21/2021, 4:19:49 PMnode: *** DEBUG 3 ***msg : Object
object
source: "DEVICE"
name: "motion"
displayName: "Front Door Sensor"
value: "inactive"
type: "null"
unit: "null"
deviceId: "196"
hubId: 0
installedAppId: 0
descriptionText: "Front Door Sensor: motion is inactive"
_session: object
_msgid: "a4a9bf0501ed56ac"
response: object
requestCommand: "on"
requestArguments: ""

Thinking about what Waterboysh mentioned about associations.....
I found nothing by way of the older GE switch/outlet.
For the Zooz 4-in-1 700 I did see this association:

dev:1982021-10-21 03:57:11.050 pm infoAssociationReport- groupingIdentifier:1, maxNodesSupported:5, nodes:[1]
dev:1982021-10-21 03:57:10.704 pm debugskip: NotificationReport(v1AlarmType:0, v1AlarmLevel:0, reserved:0, notificationStatus:255, notificationType:7, event:8, properties1:0, eventParameter:[],

Why are you using the HTTP In Node listening to Hubitat websocket instead of a Hubitat Device Node? It looks like the msg.deviceID is correctly outputting from the Motion Sensor and is still in the payload when passed to the Command Node and is over-writing the setup you have for Command Node to turn on switch. By adding your DEBUG CHEATER, you are fixing the problem and it works as it should.

Use a Hubitat Device Node instead of that Http In Node and your issue should go away.

This is a simple flow that turns on Pantry Light when door opens and turns off Pantry Light when it closes. The switch directs the flow to correct command node based on status of Pantry Door.

image

In the Device Node, make sure SEND EVENTS is checked or it won't work.

image

You can tell that SEND EVENTS is checked because box underneath will be solid, not an outline like this one for a different device:
image

NOTE: I change the colors in the Hubitat palette so that each Node type is a different color. For you, the Command Node and Device Node will be same color but different icons on them.

stephen_nutt, Excellent points. Thanks for sharing and taking the time to explain a basic principle in a way that was easy to understand.

For some reason my webhook wasn't working at all. (Possibly a typo on the Node-Red page/Info/Hubitat config. ) Webhooks now working for me, and my world is a much better place for it.

Many thanks to all for your insights.