paulw11 / homebridge-elkm1

Homebridge plugin for the Elk M1 alarm panel
MIT License
7 stars 6 forks source link

Unable to Arm/Disarm security. #39

Open kristiandg opened 2 years ago

kristiandg commented 2 years ago

When attempting to arm or disarm, I will get "Arming" (sometimes "Waiting" for a second or two), within HomeKit, but it never actually instructs the ELK M1G to arm or disarm. Below are the errors we see in the HomeBridge log:

[31/07/2022, 22:18:13] [homebridge-elkm1] This plugin generated a warning from the characteristic 'Security System Current State': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info. [31/07/2022, 22:44:51] [homebridge-elkm1] This plugin slows down Homebridge. The read handler for the characteristic 'Security System Current State' was slow to respond! See https://homebridge.io/w/JtMGR for more info. [31/07/2022, 22:44:53] [M1G] Caught error (Timout occured before Arming Status (as) was received.) trying to get current state of panel [31/07/2022, 22:44:53] [homebridge-elkm1] This plugin generated a warning from the characteristic 'Security System Current State': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info.

Versions: HB: 1.5.0 Elkm1 Plugin: 3.0.7 Platform: Pi

kristiandg commented 1 year ago

@paulw11 Any shot there's a simple fix to this?

kristiandg commented 1 year ago

Has anyone else had an issue with not being able to arm/disarm at all? I've never gotten it to work, and I put a valid code in (I can use that code on the panel).

paulw11 commented 1 year ago

I have never had an issue with arm/disarm. Can you collect debug logs from your home bridge when you try to arm/disarm and share them?

kristiandg commented 1 year ago

So I've attempted twice with my iphone as well as twice from the Homebridge Accessories page. I see no attempt in the logs at all. I threw HB into debug mode and tried again. Got this:

[11/09/2023, 17:50:03] [Elk M1 Gold] Set alarm target state = 2 Current state = 3 [11/09/2023, 17:50:03] [Elk M1 Gold] Arming area 1 to 4 keycode [11/09/2023, 17:50:03] [Elk M1 Gold] ArmingStatusReport { message: '1EAS000000002111111100000000000D', body: '00000000211111110000000000', type: 'AS', hexLength: '1E', checkSum: '0D', areas: [ AreaReport { id: 1, armStatus: 'Disarmed', armUpState: 'Ready To Arm, but a zone is violated and can be Force Armed', alarmState: 'No Alarm Active' }, AreaReport { id: 2, armStatus: 'Disarmed', armUpState: 'Ready To Arm', alarmState: 'No Alarm Active' }, AreaReport { id: 3, armStatus: 'Disarmed', armUpState: 'Ready To Arm', alarmState: 'No Alarm Active' }, AreaReport { id: 4, armStatus: 'Disarmed', armUpState: 'Ready To Arm', alarmState: 'No Alarm Active' }, AreaReport { id: 5, armStatus: 'Disarmed', armUpState: 'Ready To Arm', alarmState: 'No Alarm Active' }, AreaReport { id: 6, armStatus: 'Disarmed', armUpState: 'Ready To Arm', alarmState: 'No Alarm Active' }, AreaReport { id: 7, armStatus: 'Disarmed', armUpState: 'Ready To Arm', alarmState: 'No Alarm Active' }, AreaReport { id: 8, armStatus: 'Disarmed', armUpState: 'Ready To Arm', alarmState: 'No Alarm Active' } ] } [11/09/2023, 17:50:03] [Elk M1 Gold] Alarm state = No Alarm Active [11/09/2023, 17:50:03] [Elk M1 Gold] ElkMessage { message: '0CAM000000007F', body: '00000000', type: 'AM', hexLength: '0C', checkSum: '7F' } [11/09/2023, 17:50:08] [Elk M1 Gold] Set alarm target state = 3 Current state = 3

paulw11 commented 1 year ago

The line Set alarm target state = 2 Current state = 3 indicates that an attempt is being made to arm the panel into "night" mode (State 2). This is translated into a request to put the Elk into its arm mode "4" - Arming area 1 to 4, which is night mode.

We can then see from the arm status report from the panel that area 1 is "Ready To Arm, but a zone is violated and can be Force Armed" - So you have a violated zone which is preventing the arming of the panel. You can reconfigure your Elk panel to enable force arming, where arming is permitted with a violated zone. That zone will be bypassed until it is restored.

paulw11 commented 1 year ago

See page 32 of the programming manual - https://elk-manuals.s3.amazonaws.com/M1_Installation%26Programming_Manual.pdf

paulw11 commented 1 year ago

Actually, reading the protocol manual from Elk it is contradictory. It states that a force arm will be performed regardless of whether it is enabled in the panel, but there are specific force arm codes that must be sent, which this plug in does not send. There is no force arm command for "night" mode. Only stay and away modes. Regardless, you should retest with all zones in a secure state.

kristiandg commented 1 year ago

I already configured FA and Bypassable long ago, and couldn't get it to actually arm still.

The only zone violated currently is a non-alarm zone (motion detection only, not security), which is why I'm so confused on why it isn't working. I can arm from the keypad w/o issue, and as you can see from the RP software, Area 1 is "ready". :(

Screenshot 2023-09-11 at 6 21 02 PM Zone Bank 3 Zone Bank 1 Zone Bank 2
paulw11 commented 1 year ago

Are you using the same keypad code in Homebridge as you are using on the keypad? I presume you have tried other arm modes - away, stay? And I presume you blanked the key code from the log message above? Or did it really report "keycode "?

kristiandg commented 1 year ago

I am using the same code (there are several, but I tested the code I have loaded in HB and it does work (on the keypad). I have attempted (in HomeKit) to arm for Away, Night, and Home/Stay - the alarm just sits there "ready to arm".

A0EF266C-88E3-4462-9DC0-A629FC403B50_1_100_o

16C0CC72-DBA8-489A-AB68-2D1ED0D6FA38_1_100_o

paulw11 commented 1 year ago

And did you clear it from the log you posted above or did it really log nothing for key code ?

kristiandg commented 1 year ago

I replaced the code with . But I can pull another log if you like. On Sep 11, 2023, at 7:08 PM, Paul Wilkinson @.***> wrote: And did you clear it from the log you posted above or did it really log nothing for key code ?

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

kristiandg commented 1 year ago

Do I have a way to direct message you this log file (that way you can see it in its entirety)?

paulw11 commented 1 year ago

You can email me paulw(at)wilko.me

kristiandg commented 1 year ago

@paulw11, did you see anything that stands out as to why it's doing this? If there's a way to make it support Force, that seems like a very useful thing to have, as the alternative (disabling Force Armable globally) means users would have to stand still until all motion events cleared before arming (that's so 1980's security system) :)

paulw11 commented 1 year ago

Nothing stands out in the log. I haven't had time yet to experiment with my own panel to see if I can reproduce the problem

kristiandg commented 1 year ago

Oh ok. No problem. Also, the home isn’t currently occupied, so I’m more than happy to give you a link to ours at its public IP if you like…

kristiandg commented 1 year ago

@paulw11, by any chance have you had a chance to take a peek at a potential fix for this? I'd hate to disable force, as it would just make the alarm system a PITA to use (reminds me of the 1980's where everyone had to stand totally still to not trip motion while you armed). I'd much rather the plugin just execute a force if the panel calls for it, since that's relatively irrelevant to what the user is trying to do. lol

kristiandg commented 1 year ago

@paulw11 - any luck on this? Thanks.

kristiandg commented 1 year ago

??

paulw11 commented 1 year ago

Perhaps if you could email me your system details I can test against your panel, because I cannot reproduce the problem with mine.

kristiandg commented 1 year ago

Sure. I just emailed you - I'll need your source IP to punch a hole for you. Thanks.

kristiandg commented 11 months ago

@paulw11 I emailed you that info, but need your IP to open up the firewall port.

kristiandg commented 10 months ago

@paulw11 Circling back on this, as yesterday I missed a water alarm because the integration still isn't working. Please advise.

kristiandg commented 8 months ago

Is this no longer a supported plugin? This item is almost a year old with no traction.....

paulw11 commented 8 months ago

It's never been a "supported plugin". It is code that I wrote for my own use and open sourced. I'm sorry that I just don't have time to look at it at the moment. I am very busy with my day job.

It is working for me as it has done for years.

kristiandg commented 8 months ago

@paulw11 Could you maybe send me screenshots of your ELK config (and Elk firmware version), so I can maybe see what's throwing it off for me? I'd even be willing to pay for some development work because this is really a great plugin.