"Changes Value" rule not working ?

Tips and Techniques for using MLServer's Automation Rules
geodementia
New Member
New Member
Posts: 41
Joined: Wed Jan 23, 2008 4:06 am
Location: Sydney, Australia
Contact:

"Changes Value" rule not working ?

Postby geodementia » Wed Jun 03, 2009 2:01 am

Hi,

I'm trying to get some variable updates from my ELK-M1 through to HomeSeer via the MLELKM1 plugin...

I can't figure out why a rule with "changes value" as the trigger does not work in the following rule:

Code: Select all

Whenever mlelkm1_area_1_statusval changes value
    Then MLServeCMD.MLHSPlugin|HS_SetDeviceString:S55~{{mlelkm1_area_1_statusmsg}}


If I run the command manually it works as needed, but not from the rule above.

As a workaround I have created 7 rules, all with the same "Then" statement, but with "equals <n>" where <n> is between 0 and 6.

Code: Select all

Whenever mlelkm1_area_1_statusval equals 0
    Then MLServeCMD.MLHSPlugin|HS_SetDeviceString:S55~{{mlelkm1_area_1_statusmsg}}
Whenever mlelkm1_area_1_statusval equals 1
    Then MLServeCMD.MLHSPlugin|HS_SetDeviceString:S55~{{mlelkm1_area_1_statusmsg}}
Whenever mlelkm1_area_1_statusval equals 2
    Then MLServeCMD.MLHSPlugin|HS_SetDeviceString:S55~{{mlelkm1_area_1_statusmsg}}
etc...


These rules DO work as I need, but I'd love to be able to get my 7 rules back into the 1 single rule I thought should work here....

Any suggestions ??

MLServer 3.0.557 (Waiting on MLServer 3.75 with MusicLobby though :D )
WinXP (SP3)
Geoff
Sydney, Australia

deanb2
Senior Member
Senior Member
Posts: 181
Joined: Tue Feb 14, 2006 7:21 pm
Contact:

Postby deanb2 » Wed Jun 03, 2009 1:26 pm

I use a few 'changes value' rules without problem.

Does the Elk plugin have an option for fast setting of variables? I know that some plugins have this option and the tradeoff is that the automation rules are not triggered when it is used.

Other than that, turn on verbose logging and see what you get.

Dean

User avatar
DavidL
Simply Incredible
Simply Incredible
Posts: 11071
Joined: Sat Feb 08, 2003 9:39 am
Location: Metamora, Michigan
Contact:

Postby DavidL » Wed Jun 03, 2009 4:22 pm

Dean is probably right...but not the ELK plugin, but the MLHSPlugin. Make sure Fast Variable setting is NOT set.

geodementia
New Member
New Member
Posts: 41
Joined: Wed Jan 23, 2008 4:06 am
Location: Sydney, Australia
Contact:

Postby geodementia » Wed Jun 03, 2009 6:14 pm

Neither the ELKM1 or the MLHSPlugin havean option to enable/disable fast variable switching. Interestingly, I MODIFIED one of my existing rules from "equals" to "changes value" and the rule now works. What is interesting is that the value originally set in the "equals" rule still exists in the "changes value" rule, but cannot be set or seen when modifying it.

Code: Select all

Whenever mlelkm1_area_1_statusval changes value [b]5[/b]
    Then MLServeCMD.MLHSPlugin|HS_SetDeviceString:S55~{{mlelkm1_area_1_statusmsg}}


In the verbose log I also see this value when the rule is triggered:

Code: Select all

6/4/2009 8:56:41 AM   Conditional   Server   Event Triggered for Whenever mlelkm1_area_1_statusval changes value 5
6/4/2009 8:56:41 AM   Conditional   Server           Then MLServeCMD.MLHSPlugin|HS_SetDeviceString:S55~{{mlelkm1_area_1_statusmsg}} 
6/4/2009 8:56:41 AM   Processing (1)      MLServeCMD.MLHSPlugin|HS_SetDeviceString:S55~{{mlelkm1_area_1_statusmsg}}
6/4/2009 8:56:41 AM   Subst In      HS_SetDeviceString:S55~{{mlelkm1_area_1_statusmsg}}
6/4/2009 8:56:41 AM   Subst Out      HS_SetDeviceString:S55~DISARMED


Now if I DELETE that rule and re-create it from scratch as it should be, it is also working correctly.

No idea - gremlins !! :roll:

Thanks for the feedback
Geoff

Sydney, Australia


Return to “Automation Rules”

Who is online

Users browsing this forum: No registered users and 1 guest