Inconsistent Plugin 'ReadyState' depending on order

Posted on
Fri Jul 28, 2017 7:41 pm
dawson1331 offline
Posts: 32
Joined: Oct 22, 2012

Inconsistent Plugin 'ReadyState' depending on order

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
Attachments
DSC Alarm Debug Log 2.txt
(8.19 KiB) Downloaded 135 times

Posted on
Wed Aug 02, 2017 5:46 pm
Monstergerm offline
Posts: 274
Joined: Sep 01, 2009

Re: Inconsistent Plugin 'ReadyState' depending on order

I think this is a simple problem with an easy fix. It is most likely caused by, as you pointed out, cmd 653 not being enabled in the plugin. Cmd 653 is updating a partition to ready if it is force arm enabled like in your case. So we need to update the code for cmd 653 in the plugin.

Can you replace in the plugin the code lines for cmd 653 with the ones from cmd 650. In other words cmd 653 should look like cmd 650. I am sure this fixes your problem.

thanks for pointing it out.

Posted on
Wed Aug 02, 2017 8:25 pm
dawson1331 offline
Posts: 32
Joined: Oct 22, 2012

Re: Inconsistent Plugin 'ReadyState' depending on order

I did replace the 653 code with the 650 code - except I did not include the LEDReady- I think it is taken care of in another place. (But I would be OK if it were part of the solution). I have been running for 5 days. It does what I want and I have not noticed any bad behaviors. I think this is a good solution. Thanks for looking into it.

Bill

Page 1 of 1

Who is online

Users browsing this forum: No registered users and 2 guests