Hi,
I think, I found a bug on startup of linknx. The following situation:
<objects>
<object id="dynamic1" gad="11/0/121" type="1.001" init="0"/>
<object id="dynamic2" gad="11/0/122" type="1.001" init="0"/>
<object id="first" gad="11/0/141" flags="crwts"/>
<object id="second" gad="11/0/142" flags="crwts"/>
</objects>
<rules>
<rule id="working">
<condition type="and">
<condition type="object" id="dynamic1" value="1" trigger="true"/>
<condition type="object" id="dynamic2" value="1" trigger="true"/>
</condition>
<actionlist type="on-true">
<action type="set-value" id="first" value="1"/>
</actionlist>
</rule>
<rule id="notWorking">
<condition type="object" id="dynamic1" value="1" trigger="true"/>
<actionlist type="on-true">
<action type="set-value" id="second" value="1"/>
</actionlist>
</rule>
</rules>
Now sending a 1 on dynamic1 does not execute rule "working", which is fine, but it also does not execute rule "notWorking", if the value of dynamic2 was never (since start of linknx) available on the bus. To be more exact, the execution of rule "working" sends a read request for dynamic2 on the bus. If this is not replied, no further rules are triggered by dynamic1.
According piece of linknx-log:
2012-10-12 15:57:15,998 DEBUG > KnxConnection - Write from 1.0.254 to 11/0/121: 01
2012-10-12 15:57:15,999 DEBUG > Object - Object (id=dynamic1): get
2012-10-12 15:57:15,999 INFO > Object - New value on for object dynamic1 (type: 1.001)
2012-10-12 15:57:15,999 DEBUG > Object - Calling onChange on listener for dynamic1
2012-10-12 15:57:15,999 INFO > Rule - Evaluate rule working
2012-10-12 15:57:15,999 DEBUG > Object - Object (id=dynamic1): get
2012-10-12 15:57:15,999 INFO > ObjectValue - SwitchingObjectValue: Compare value_m='1' to value='1'
2012-10-12 15:57:16,000 INFO > Condition - ObjectCondition (id='dynamic1') evaluated as '1'
2012-10-12 15:57:16,000 INFO > KnxConnection - write(gad=11/0/122, buf, len=2)
2012-10-12 15:57:16,000 DEBUG > KnxConnection - Write request sent
2012-10-12 15:57:16,107 DEBUG > KnxConnection - Read from 1.0.254 to 11/0/122
No further processing is done.
This bug makes linknx rules not reliable and should be fixed soon. Tested with version 0.0.1.30 and 0.0.1.31 from cvs.
Regards,
Waldemar
Hi,
I reproduced your problem and think I fixed it. Could you please re-test with latest CVS
Thanks