[quote=“beerygaz, post:95, topic:165163”]That’s for the quick response. Here are some of the things I’m struggling with:
- Do you poll the area status on zone status change to see if the area has gone from ready to not ready?[/quote]
No, I don’t poll any of the Zones to do that. The Paradox implementation initially was fairly simple, in part because it was the first Alarm system integrated with Vera.
From it, we learn’t a lot of lessons, and as the community added more Panels we quickly determined that we needed a common “language” to express the states that our Panels were in, along with the Services needed to standardize the way they’re exposed to Control Points (UI’s)
Things like “[tt]Ready[/tt]”, “[tt]NotReady[/tt]” (etc) are these common states. Right now, we each have to find the corresponding points/events in our respective panels where we “attached” (set) these states.
Think of it as a super-set representation attempting to represent all types of Alarm panels… at least that was it’s goal.
In the Paradox, right now, the Ready/NotReady states are only set at Startup/initialization. After that, it moves to things like “[tt]Disarmed[/tt]”, “[tt]ExitDelay[/tt]”, “[tt]EntryDelay[/tt]”, “[tt]Armed[/tt]” (etc)
For the Paradox impl, in reality, “[tt]Disarmed[/tt]” should move to “[tt]Ready[/tt]” state after some-period-of-time. From what I’ve seen, events wise, the keypads must be doing something like that… since there’s always a delay (but not necessarily a corresponding COMBUS Event)
2. Do you set areas to just 'armed' or do you distinguish between force/instant/stay
Both. [tt]ArmMode[/tt] is simple Armed/Disarmed flag, for simple scripting.
[tt]DetailedArmMode[/tt] is a full blown Arming state model, with all sorts of intermediate and/or transient states represented... for those that want fine detailed script options.
3. In a screenshot I saw you had a 'bypass' button - is that implemented?
Vera's default UI component for a Motion Sensor includes a Bypass Button. This is not wired to the Paradox in any capacity, but there are [Vera] triggers for "armed motion" and "motion", so users can do stuff with it.
Even if I could implement Zone Bypass, and pass it through, I wouldn’t do it. On a real panel this option requires some sort of AuthZ, but doing it via the Vera UI would require that PIN Codes (etc) be hardwired into the Config… which I’m not a fan of.
4. Do you set the area status to armed/disarmed immediately or do you handle exit/entry delay somehow? I can't work out when an entry/exit delay terminates.
Yes, it's a problem. There doesn't appear to be a clean "end of arming" state. I use several, in concert, to work it out... which is trickier than it needs to be.
The Paradox has a few flags that I mostly use for this and there’s [currently] one case where I need to put a timer in to ensure I don’t do a double transition (from Disarm → Stay, then onto Arm). That part of the code is a bit messy.
I also own the DSC Alarm code, it’s a LOT simpler/clearer to do it there because the terminal states, as well as the transitional states, are well documented and cleanly exposed.
These are som of the things I'm struggling with. In addition I often get a message for area 16 when my panel only supports 8. And I get a lot of G004N020A000 events?!
I currently have a DGP-848, so it's possible some stuff is different in the newer models. I've never seen an Area [tt]16[/tt] message. In mine, I see events for Area "[tt]001[/tt]" (My core Security partition), Area "[tt]002[/tt]" (I isolate for Automation) and the Broadcast/Any Area "[tt]000[/tt]"
[tt]G004N020A000[/tt] = a Non-Reportable Event of type 20, which isn’t documented… which is why I’m assuming you’re asking.
No idea. I wouldn’t worry about it, unless its just an interest-item.
If I really wanted to work it out, I’d attach WinLoad to the onboard Serial port and find out, but it’s not worth it (from a practical automation perspective)