New Z-Wave hardware: Neo Coolcam PIR 5 in 1, NAS-PD07Z

The device made it into the last update (openHAB-ZWave #107 [Jenkins]).

There seems to be a mismatch between the device firmware and the manual:

Pure chaos. I’ve reshuffled the parameters in the Z-Wave database according to the last column. A complex device with wrong documentation is worthless. Do not buy this crap!

Related thread:

The sensors seem to work reliably:

There is a bug in the device firmware which leads to negative luminance values (see Negative lux value).


  1. Install the JS Transformation Service.
  2. Place signedWord2unsignedWord.js.txt (168 Bytes) in conf/transform (remove the ‘.txt’).
  3. Add the transformation to the Item as a Profile :

If it doesn’t work, use
log:set debug org.openhab.transform.javascript
log:display | grep orma
to check what the JS Transformation is doing.

Result with fix in place:

Hi all,
I am new with this device which is very pretty at first tests.
I used to install the transform .js to fix the negtive luminance and it works very well, thanks to everyone !
But I also face a problem : i try to test (and understand) the parameter 18 : “Light Intensity Offset Calibration” because values are extremly high compared to a luxmeter.
When I change the value, openhab says me “pending” in front of value, and nothing changes in measurements. The pending status also apply to others fields (but not all).
Do you have similar problem ?

My experience with Neo PIR is, that you need to press the wake-up button (inside, next to the battery) before they accept any config changes.

Thanks for the tip, but when i press button nothing happens. When i press 3 times nothing. When i long press 5 sec it blinks blue but nothing happens. Any tips ?

I have an older version of this device. I think I had to do five short presses to wake it up.

Hi @higgers
I tried five short pressed but also with no luck.
For all user of this device, how do you wake it up ?
I think the button works well because i can use it for other functions.
To this time, I tried : 1-3-5 short presses, long pressses, shutdown/reboot … nothing works.
I used it with power adaptor (no battery) perhaps a linnked bug ?
Any tip ?

The manual here states that holding the button for five seconds sends a NIF. Give that a try.

I did just try 5sec-press but still pending states in openhab for my changes.
Although the led change its color to white, but immediatly goes to blink blue (as for inclusion)
What is the normal behaviour when there is a successfull NIF ?

If you have debug logging enabled for the zwave binding then you should see a flurry of activity in the log for that particular node.

I enabled debug log level but I dont see anything usefull in my case.
Therefore, I notice that some fields are actualy updated (no more “pending” state") and some fields are not updated (“pending” in OH)… perhaps a bug in the plugin on some fields ?
Are there actualy any user of this device here in the forum to confirm this behaviour ? (or simply my device failed ?)

I have an older version of that device and haven’t noticed any issues when updating parameters. I have the wakeup interval set to 12 hours on mine. If I ever needed to updated parameters and didn’t want to wait for it to wakeup I’d press the button five times and the new parameters would get sent to the sensor.

I remember seeing messages in the log showing that parameters were being written to the sensor but I can’t remember the exact text that was written to the log.

Which parameters are being successfully written to the sensor and which parameters aren’t?

For exemple I can successfully change “6: Temperature Offset Value”, with immediate effect.
But I cannot change “18: Light Intensity Offset Calibration”, still pending and no change at all in actual measurement of lux values. (which are extremly high, +50000 whereas a luxmeter says 600-700)

Can you post a section from the zwave debug log when you change these parameters and wakeup the device so we can see the communication between the binding and the sensor?

I actualiy did some tests yesterday.
Here are some logs.
But I dont know well the zwave protocol si I cannot understand well logs neither.
The device is “node 57”, so I filtered logs with this pattern.
node57.txt (82.2 KB)
During these tests I tried to send NIF (simple press, 3-press, 5-press, 10-presses etc. long presses also)

I’ve just changed the lux level changed report parameter on one of my sensors from 100 to 50 and then manually woke the device by pressing the button three times. I didn’t see new activity in the log until I physically moved the sensor closer to the Zwave USB stick and woke it again. I then saw this in the log:

2022-10-07 17:30:33.039 [DEBUG] [ternal.protocol.serialmessage.SendDataMessageClass] - NODE 45: SendData Request. CallBack ID = 180, Status = Transmission complete and ACK received(0)
2022-10-07 17:30:33.039 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 45: resetResendCount initComplete=true isDead=false
2022-10-07 17:30:33.039 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 45: TID 60605: Transaction not completed
2022-10-07 17:30:33.112 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 45: Application Command Request (ALIVE:DONE)
2022-10-07 17:30:33.112 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 45: resetResendCount initComplete=true isDead=false
2022-10-07 17:30:33.112 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 45: Incoming command class COMMAND_CLASS_CONFIGURATION, endpoint0
2022-10-07 17:30:33.112 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 45: SECURITY not supported
2022-10-07 17:30:33.112 [DEBUG] [e.internal.protocol.commandclass.ZWaveCommandClass] - NODE 45: Received COMMAND_CLASS_CONFIGURATION V1 CONFIGURATIONCMD_REPORT
2022-10-07 17:30:33.112 [DEBUG] [otocol.commandclass.ZWaveConfigurationCommandClass] - NODE 45: Node configuration report, parameter = 9, value = 50, size =1
2022-10-07 17:30:33.112 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 45: Got an event from Z-Wave network: ZWaveConfigurationParameterEvent
2022-10-07 17:30:33.112 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 45: Got a value event from Z-Wave network, endpoint=0, command class=COMMAND_CLASS_CONFIGURATION, value=org.openhab.binding.zwave.internal.protocol.ZWaveConfigurationParameter@708677b7
2022-10-07 17:30:33.112 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 45: Update CONFIGURATION 9/1 to 50
2022-10-07 17:30:33.112 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 45: Commands processed 1.
2022-10-07 17:30:33.112 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 45: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@55851e0b.
2022-10-07 17:30:33.112 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 45: Command verified org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@55851e0b.
2022-10-07 17:30:33.112 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 45: notifyTransactionResponse TID:60605 DONE
2022-10-07 17:30:33.113 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 45: Got an event from Z-Wave network: ZWaveTransactionCompletedEvent

The parameter still shows “pending” in the OH UI though. :man_shrugging:

OK I made some other tests.
Previously I was only enable “ZWaveTransactionManager” in debug logs, now I enable all “org.openhab.binding.zwave” and I have much more information.
It seems that there is definitely a bug in the plugin : when i try to update the field 18 “Light Intensity Offset Calibration”, logs are showing : “NODE 57: Update CONFIGURATION 1/1 to 1”.
Which is definitely not the right number.
For example, when I change the field 6 “Temperature Offset Value”, it will successfully returns : “NODE 57: Update CONFIGURATION 6/1 to -17”.
Do you know if the plugin is still maintened ?

OK, more investigations lead me to previous disucussions in this thread : it is a mess between what openhab display in the configuration page and the real capabilities of the device in the config database.
Real fields are here : node-zwave-js/nas-pd07z.json at master · zwave-js/node-zwave-js · GitHub as previously posted by someone.
With this information, we can update the field “99” which is the real number for “Light Intensity Offset Calibration” (instead of 18), and the lux meter works perfectly with this field.
Other fields in “pending” state are obviously not been set in declared fields in the database configuration file.

As noted above the Device DB is community maintained. The blog explains how to register, and request write access. I can see from the manual attached that parameter 18 is actually 99. Also there appears to be some question marks on some of the other parameters. if you have a manual, it should not be too hard to fix.

The zwave binding device DB entry can be found here and the manual can be found here.