New Binding for Caddx alarm panels [NX584, NX8e, ...]

Good Morning.

No problem. Log as follows:
caddx.log (99.3 KB)

The Number Format Exception seemed to be cured in your previous fix too.

Hi Mark,

thanks for testing the issue. Please test with the following jar (the zones should initialize faster).
I removed the delay i had introduced, based on the assumption that it was a timing issue.

jar

Thanks Georgios. Seems to work fine.

Logs as follows
caddx.log (139.5 KB)

Thanks Mark.

I will cleanup the code and submit PR probably on the weekend so that the changes get incorporated in the official binding.

1 Like

PR submitted, and merged.
It will be part of 3.4.0

1 Like

Thank you so much. Running Latest Milestone ( openHAB 3.4.0.M3) and all good.

Hi @jossuar and others,

While the Zone Status Messages of the zone-thing are working fine, I want to expand the benefits of my NX-8E and make use of channels of the partition-thing, like the ReadyToArm-channel.

Now, I get only an update of this channel when I change the partition-thing offline and online again, or removing and add the item again.

Please find attached the zone status message as debug logging. The trigger for this messages are faulting zone 30 on and off, which should give the ‘ReadyToArm’-channel also, at least, it is on the keypad.

2023-08-29 15:06:10.378 [DEBUG] [ing.caddx.internal.CaddxCommunicator] - <-: Zone Status Message [Zone: 6]
2023-08-29 15:06:10.379 [DEBUG] [ing.caddx.internal.CaddxCommunicator] - <-: 7E 08 84 05 01 01 05 C4 00 00 5D FC
2023-08-29 15:06:10.380 [DEBUG] [.internal.handler.CaddxBridgeHandler] - Zone 6 Transition ignored.
2023-08-29 15:06:10.381 [DEBUG] [ing.caddx.internal.CaddxCommunicator] - ->: Positive Acknowledge
2023-08-29 15:06:10.382 [DEBUG] [ing.caddx.internal.CaddxCommunicator] - ->: 7E 01 1D 1E 1F
2023-08-29 15:06:10.418 [DEBUG] [ing.caddx.internal.CaddxCommunicator] - <-: Zones Snapshot Message
2023-08-29 15:06:10.419 [DEBUG] [ing.caddx.internal.CaddxCommunicator] - <-: 7E 0A 85 01 00 10 03 00 00 00 10 00 B3 51
2023-08-29 15:06:10.421 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 17. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:10.422 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Thing found for zone 17.
2023-08-29 15:06:10.424 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 18. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:10.425 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Thing found for zone 18.
2023-08-29 15:06:10.426 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 19. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:10.427 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 20. faulted:true, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:10.428 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Thing found for zone 20.
2023-08-29 15:06:10.429 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 21. faulted:true, bypassed:true, trouble:false, alarm_memory:false
2023-08-29 15:06:10.430 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 22. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:10.431 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 23. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:10.432 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 24. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:10.433 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 25. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:10.434 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 26. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:10.435 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 27. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:10.436 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 28. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:10.437 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 29. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:10.438 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Thing found for zone 29.
2023-08-29 15:06:10.439 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 30. faulted:true, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:10.440 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Thing found for zone 30.
2023-08-29 15:06:10.441 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 31. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:10.442 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Thing found for zone 31.
2023-08-29 15:06:10.444 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 32. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:10.445 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Thing found for zone 32.
2023-08-29 15:06:10.455 [DEBUG] [ing.caddx.internal.CaddxCommunicator] - ->: Positive Acknowledge
2023-08-29 15:06:10.456 [DEBUG] [ing.caddx.internal.CaddxCommunicator] - ->: 7E 01 1D 1E 1F
2023-08-29 15:06:12.231 [DEBUG] [ing.caddx.internal.CaddxCommunicator] - <-: Zone Status Message [Zone: 6]
2023-08-29 15:06:12.232 [DEBUG] [ing.caddx.internal.CaddxCommunicator] - <-: 7E 08 84 05 01 01 05 C4 00 00 5D FC
2023-08-29 15:06:12.233 [DEBUG] [.internal.handler.CaddxBridgeHandler] - Zone 6 Transition ignored.
2023-08-29 15:06:12.234 [DEBUG] [ing.caddx.internal.CaddxCommunicator] - ->: Positive Acknowledge
2023-08-29 15:06:12.235 [DEBUG] [ing.caddx.internal.CaddxCommunicator] - ->: 7E 01 1D 1E 1F
2023-08-29 15:06:12.271 [DEBUG] [ing.caddx.internal.CaddxCommunicator] - <-: Zones Snapshot Message
2023-08-29 15:06:12.272 [DEBUG] [ing.caddx.internal.CaddxCommunicator] - <-: 7E 0A 85 01 00 10 03 00 00 00 00 00 A3 31
2023-08-29 15:06:12.275 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 17. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:12.276 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Thing found for zone 17.
2023-08-29 15:06:12.278 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 18. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:12.280 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Thing found for zone 18.
2023-08-29 15:06:12.282 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 19. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:12.283 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 20. faulted:true, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:12.285 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Thing found for zone 20.
2023-08-29 15:06:12.286 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 21. faulted:true, bypassed:true, trouble:false, alarm_memory:false
2023-08-29 15:06:12.287 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 22. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:12.288 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 23. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:12.291 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 24. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:12.292 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 25. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:12.294 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 26. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:12.295 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 27. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:12.296 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 28. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:12.298 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 29. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:12.299 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Thing found for zone 29.
2023-08-29 15:06:12.300 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 30. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:12.302 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Thing found for zone 30.
2023-08-29 15:06:12.303 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 31. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:12.304 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Thing found for zone 31.
2023-08-29 15:06:12.306 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Flags for zone 32. faulted:false, bypassed:false, trouble:false, alarm_memory:false
2023-08-29 15:06:12.308 [DEBUG] [x.internal.handler.ThingHandlerPanel] - Thing found for zone 32.
2023-08-29 15:06:12.319 [DEBUG] [ing.caddx.internal.CaddxCommunicator] - ->: Positive Acknowledge
2023-08-29 15:06:12.320 [DEBUG] [ing.caddx.internal.CaddxCommunicator] - ->: 7E 01 1D 1E 1F


Could someone explain why the channel is not updated?

Hi @Jo0p,

you should have the “Partition Status” and “Partition Snapshots” checkboxes on your panel configuration checked. Like in the screenshot on Post 7 above.

Hi @jossuar,

Thanks for your reply. With a slight delay (there was a little struggle to get the legacy DL900 working again :wink: ) I can confirm the settings were already like these:

adv-settings

Also, the status is being updated, but only when I change the partition-thing offline and online again, or removing and add the item again.

Earlier, we tweaked your code as described in post 178. Should this issue has some similar problems?

Hi @Jo0p ,

as far as I understand, your panel does not send Partition Status and Partition Snapshot messages.
There is nothing that can be done from the side of the binding if the panel does not send these messages.

Hi @jossuar

Well, when I turn the bridge off- and online, the actual (changed) value is on my screen. So the Partition status is being communicated.

Now; I did the same trick as described earlier with my zone status trouble, when you added the 'Ignore Zone :wink: specifically, delete and add the partition again. Then, the Partition status message is in the log:

Status Partition1 ReadyToArm = ON

21:32:34.903 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'caddx:partition:d7cffdfca2' changed from INITIALIZING to OFFLINE
21:32:36.889 [DEBUG] [ding.caddx.internal.CaddxCommunicator] - ->: Partition Status Request [Partition: 1]
21:32:36.890 [DEBUG] [ding.caddx.internal.CaddxCommunicator] - ->: 7E 02 26 00 28 52
21:32:36.962 [DEBUG] [ding.caddx.internal.CaddxCommunicator] - <-: Partition Status Message [Partition: 1]
21:32:36.963 [DEBUG] [ding.caddx.internal.CaddxCommunicator] - <-: 7E 09 06 00 20 00 08 41 02 04 A0 1F 4D
21:32:36.965 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'caddx:partition:d7cffdfca2' changed from OFFLINE to ONLINE

Status Partition1 ReadyToArm = OFF

21:41:41.067 [DEBUG] [ding.caddx.internal.CaddxCommunicator] - ->: Partition Status Request [Partition: 1]
21:41:41.068 [DEBUG] [ding.caddx.internal.CaddxCommunicator] - ->: 7E 02 26 00 28 52
21:41:41.121 [DEBUG] [ding.caddx.internal.CaddxCommunicator] - <-: Partition Status Message [Partition: 1]
21:41:41.121 [DEBUG] [ding.caddx.internal.CaddxCommunicator] - <-: 7E 09 06 00 20 00 08 41 02 00 A0 1B 45
21:41:41.124 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'caddx:partition:c06eb4adad:d3170542fe' changed from OFFLINE to ONLINE

Is it possible to show the Partition Status Message in the log with every zone partition change? Or is this a problem at my OH instance only?

Hi @Jo0p,

when the partition thing is added, the binding sends a “Partition Status Request” to get the initial status of the partition. After the initialization, the panel sends the “Partition Status Request” message on its own, when one of the partition flags changes.
On your installation I suppose there is a hardware mismatch and the panel does not behave correctly according to the spec.

Solved!

There was on another tab in DL900 some futile check marks to do:
(I’m glad to found this :wink:)

pic
bmp photo

Hi @jossuar,

I have a question about this ‘Ignore Zone Status Transitions’-variable. Is it possible to add this option when using the text-based things-files?

At this section on the documentation, this option is absent.

Hi @Jo0p,

yes. It is missing from the documentation. [ignoreZoneStatusTransitions]
I will correct the documentation. Thanks for the catch.

Great, thanks for the quick reply!