Goose66 Posted February 2 Posted February 2 In this version, Alarm Restored is only triggered when the panel is disarmed while in the alarming state. Partition Disarmed occurs anytime a partition is disarmed. Quote
TJF1960 Posted February 2 Posted February 2 @Goose66, Ah, so anyone, like me, who used alarm restored to indicate disarmed would need to switch over to partition disarmed then. Is that correct? Thanks! -Tim Quote
Goose66 Posted February 2 Posted February 2 (edited) Uh, yeah. Sorry about that. The event was originally supposed to be alarm restoral (thus the name), but the disarm was really the only way to accomplish that. The new Partition Disarmed event is specifically for disarming events. To differentiate the two, we now only send the Alarm Restoral event if the panel was in alarming state when the user code was typed in to disarm. But I can see that breaking changes like this are annoying. Edited February 2 by Goose66 Quote
TJF1960 Posted February 2 Posted February 2 Not annoying at all. Simple fix to a few programs. I appreciate you and your contributions. This plugin has always been rock solid, and I thank you! -Tim 1 Quote
hart2hart Posted February 2 Posted February 2 (edited) 14 hours ago, Goose66 said: Uh, yeah. Sorry about that. The event was originally supposed to be alarm restoral (thus the name), but the disarm was really the only way to accomplish that. The new Partition Disarmed event is specifically for disarming events. To differentiate the two, we now only send the Alarm Restoral event if the panel was in alarming state when the user code was typed in to disarm. But I can see that breaking changes like this are annoying. Hi. I created the following programs when I moved from NodeLink to EnvisaLink-DSC to account for differences in their state tracking models. The goal is to have 3 variables that tracks Security Armed/Disarmed, Security Away Armed/Disarmed, and Security Stay Armed/Disarmed. It looks like they are still fine but could be updated now to simpler representation. Can you take a quick look to see if you agree? Security:Set Armed - [ID 003A][Parent 000C] If ( 'Security System / Security System:Partition' Partition State is Armed Away Or 'Security System / Security System:Partition' Partition State is Armed Away Zero-Entry Or 'Security System / Security System:Partition' Partition State is Armed Stay Or 'Security System / Security System:Partition' Partition State is Armed Stay Zero-Entry ) And $Security_Armed is not 1 Then $Security_Armed = 1 Else - No Actions - (To add one, press 'Action') Security:Set Disarmed - [ID 0059][Parent 000C] If ( 'Security System / Security System:Partition' Partition State is Ready Or 'Security System / Security System:Partition' Partition State is Not Ready ) And $Security_Armed is not 0 Then $Security_Armed = 0 Else - No Actions - (To add one, press 'Action') Security:Set Armed Away Armed - [ID 0005][Parent 000C] If ( 'Security System / Security System:Partition' Partition State is Armed Away Or 'Security System / Security System:Partition' Partition State is Armed Away Zero-Entry ) And $Security_Armed_Away is not 1 Then $Security_Armed_Away = 1 $Security_Armed_Away_I = 1 Else - No Actions - (To add one, press 'Action') Security:Set Armed Away Disarmed - [ID 0031][Parent 000C] If ( 'Security System / Security System:Partition' Partition State is not Armed Away And 'Security System / Security System:Partition' Partition State is not Armed Away Zero-Entry ) And $Security_Armed_Away is not 0 Then $Security_Armed_Away = 0 $Security_Armed_Away_I = 0 Else - No Actions - (To add one, press 'Action') Security:Set Armed Stay Armed - [ID 005C][Parent 000C] If ( 'Security System / Security System:Partition' Partition State is Armed Stay Or 'Security System / Security System:Partition' Partition State is Armed Stay Zero-Entry ) And $Security_Armed_Stay is not 1 Then $Security_Armed_Stay = 1 $Security_Armed_Stay_I = 1 Else - No Actions - (To add one, press 'Action') Security:Set Armed Stay Disarmed - [ID 005D][Parent 000C] If ( 'Security System / Security System:Partition' Partition State is not Armed Stay And 'Security System / Security System:Partition' Partition State is not Armed Stay Zero-Entry ) And $Security_Armed_Stay is not 0 Then $Security_Armed_Stay = 0 $Security_Armed_Stay_I = 0 Else - No Actions - (To add one, press 'Action') Edited February 2 by hart2hart Quote
apostolakisl Posted February 3 Author Posted February 3 (edited) @hart2hart You can track state using a program status and get rid of variables. This program status is false when armed. You could do the logic backwards if you want it to be the other way, This program will run the then/else when the alarm system changes between armed/disarmed. Other programs that have this program status within the "if" clause will also trigger on a change. If you want to reference this program state from another program but don't want it to be a trigger, then you will need an integer variable. You can also use "status" instead of "switched" for some things, but not disarming, it is only a "switched" control value with this node. Office Alarm Cadiz Water - [ID 014A][Parent 0157][Not Enabled] If 'Alarm Panel / Keypad Cadiz' is switched Partition Disarmed And 'Alarm Panel / Keypad Cadiz' is not switched Partition Armed Then Run Program 'Office Alarm Turn ON Water Valve ' (If) Else Run Program 'Office Alarm Turn OFF Water Valve' (If) This program will track armed (any state of being armed) vs disarmed (any state of being disarmed). Which I think is what you are doing. Also, not sure why you have the "and variable is not 0" "then set variable to 0" The and not 0 isn't necessary. It does no harm, but to clutter up programs. If the variable is already 0 (or 1) and you set it to 0 (or 1) nothing happens. It won't trigger anything. Edited February 3 by apostolakisl Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.