Some interesting info about the Elk, since I’m revising the [tt]S_AlarmPartition2.xml[/tt] with some of the feedback here and wanted to see what influence it would have (in absence of Alfonso contributing here)
A few “night” modes we hadn’t accounted for, but seem reasonable:
[url=http://www.automatedliving.com/forums/showthread.php?t=2856]http://www.automatedliving.com/forums/showthread.php?t=2856[/url]
A full blown event list:
[url=http://www.elkproducts.com/downloads/ElkRM/Events.xml]http://www.elkproducts.com/downloads/ElkRM/Events.xml[/url]
I’ve added “[tt]Night[/tt]” and “[tt]NightInstant[/tt]” to the DetailedStates, and moved “[tt]Instant[/tt]” to “[tt]StayInstant[/tt]” to clarify it’s usage.
Moved “[tt]Alarm[/tt]” to be a boolean to make the minimalist alarm implementation simpler. Broke out “[tt]AlarmMemory[/tt]” as a separate Boolean for the Prior Alarm state representation.
Added in [tt][/tt] tags into the Service Decl file for each StateVariable.
Moved from [tt]LastStatus[/tt] to a tuple of StateVariables:
[tt]VendorStatus[/tt]
[tt]VendorStatusCode[/tt]
[tt]VendorStatusData[/tt]
descriptions included, but intended as an “escape” to let people do Vendor specific eventing (data that would also be required for the .json Events file for MiOS)
I haven’t changed the Actions as yet, and need to add [tt]DetailAlarm[/tt] (not sure this is a single-state kinda thing between the “Panic” states, and the regular Alarm states). I’d like to hear input based upon people’s vendor-specific knowledge.
The “instant” version of the various arming modes (Arm, Stay, Vacation, Night) might just become a boolean parameter to the various methods. Would like to have convenience methods for each of these, even if we end up with a “common” [tt]requestArmedMode(…)[/tt] type action to handle all the other Vendor specific methods.
@digitalperk, thanks for your input on this!
@futzle, can you elaborate what improvements you think are needed to handle the cases you outline? I’d like to start driving this to ground so we can each go off and prototype against it.
PS: I will check something into my source control system shortly so we can “diff” the various evolutions of what’s being proposed here.
At some later point, we can move onto standardizing a S_AlarmPanel1.xml for the Panel itself, since some of the concepts here are applicable at that level (like Status’s for Battery and AC Failure etc)