Thanks Travis and Monstergerm. The DCS plugin is great. I have been using it, and its control page icons, every day for years!
I have recently been adding functionality to my Indigo system and I wanted to use some of the DSC plugin python calls. In that process, I have noticed an inconsistent logic behavior. I hope someone can comment on this.
This has to do with the “ReadyState” being in an inconsistent state in a particular situation. Here is the setup. Suppose that I have a DCS alarm system with just two zones, a garage vehicle door and a garage person door. The vehicle door is on a delay (technically a “Force No” zone option), so that while it is open you can arm the system, drive out of the garage and then close the vehicle door. The garage door - the person door - is not on a delay and the alarm will trigger immediately if armed and the door is opened.
Now the scenario:
1) Both zones start out closed and we are NOT going to arm the system - for this test case.
2) The garage vehicle door is opened. The DSC plugin correctly says that the ReadyState is ‘ready’ and also the LEDReady light is ON (because it is a Force No Zone and is on an exit delay if armed).
3) Then the person door is opened. The plugin correctly indicates that the ReadyState is “notready” and the LEDReady light goes OFF.
4) Now close the person door and the plugin incorrectly states that the ReadyState is “notready” but correctly indicates the LEDReady light is ON. (The vehicle door is still open.) This state is inconsistent with step number 2.
5) Just to finish the test case, the vehicle door is closed and the plugin correctly states the ReadyState “ready” and the LEDReady light is ON.
So depending on how I get into the state with only the vehicle door being opened, I get a different state from the plugin. In one case it is ‘ready’ and in the other it is ‘notready’. The problem could be in the plugin software involving the ‘653’ code from the DSC unit, which for now, is ignored. Or maybe a logic problem with code section ‘610’. I’m not sure yet. I don’t know enough about the DSC.
I have attached an “Intense Debugging” level log. I removed a few initialization log lines to reduce the size. The lines “Commands To Arduino” are for my debugging. The lines in green are the plugin debugging. I have highlighted in yellow where I think the inconsistency begins.
Does this make sense? Any comments?
Thanks,
Bill