Alarmdecoder 2.5.7 Binding - Serial Keypad

Tags: #<Tag:0x00007f617e1b1598> #<Tag:0x00007f617e1b11b0>

@BobA

Thank you for the hard work on the 2.x alarmdecoder binding. I am excited to see this migration!!

I setup the serial bridge and was able to get the basic contacts working. But I am not able to get the KeyPad items working. I am able to see the raw messages come in for the KeyPad text but its not updating the thing.

ad.items

Bridge alarmdecoder:serialbridge:ad1 [ serialPort="/dev/ttyUSB0", bitrate=115200, discovery=false ] {
    Thing keypad keypad1 [ addressMask=0, sendCommands=true ]
    Thing zone garageDoor "Garage Door" [ address=12, channel=1 ]
}

ad.things

String KeypadText "Message" {channel="alarmdecoder:keypad:ad1:keypad1:text"}
Contact garageDoor2     "Garage Door [MAP(contact.map):%s]" <door> (gDoor) {channel="alarmdecoder:zone:ad1:garageDoor:contact"}

Logs

10:41:44.219 [TRACE] [oder.internal.handler.ADBridgeHandler] - Received msg: !KPM:[10000001100000003A--],008,[f70000051008001c28020000000000]," DISARMED CHIME   Ready to Arm  "
10:41:48.178 [TRACE] [oder.internal.handler.ADBridgeHandler] - Received msg: !KPM:[10000001100100000A--],011,[f70000051011005028020000000000],"LOBAT 11                        "

After looking at the code seems like the KPM messages are missing the “!KPM” prefix check and assume it comes without a prefix. Do you think the serial and ipbridge get keypad messages differently?

I created a PR that should enable messages with and without the prefix. After looking at the docs seems like its a CONFIGBIT setting in the device. The messages with the prefix works with the old alarmdecoder1 binding so I suspect most have the CONFIGBIT enabled.

Ideally the binding should query for the CONFIGBIT and operate in the correct mode.
https://www.alarmdecoder.com/wiki/index.php/Protocol#CONFIGBITS

Hi Dave. Thanks for the PR! Yes, there is a config option to make the alarm decoder prefix the keypad messages with “!KPM:”. I think it defaults to off, but you are right that the binding should really support it in either mode. I didn’t think the V1 binding had supported the prefixed messages, so I figured that the new one was at least no worse than the old one. :slight_smile:.

Sorry I didn’t reply sooner, but my electricity was knocked out for a few days by tropical storm Isaias.