From: Ben G. <gri...@gm...> - 2006-10-27 19:50:47
|
Hi, I've got a question about Generic_Item. I have three Generic_Items. I'll call them Event1, Event2, and Result. I've tied both Event1 and Event2 to Result like this: $Event1->tie_items($Result) if $Reload || $Startup; $Event2->tie_items($Result) if $Reload || $Startup; Then I've tied an event to each item: $Event1->tie_event('print "Event1 being set to $state.\n"') if $Reload || $Startup; $Event2->tie_event('print "Event2 being set to $state.\n"') if $Reload || $Startup; $Result->tie_event('print "Result being set to $state.\n"') if $Reload || $Startup; Now I don't want either of the Events to turn off Result if the other Event still wants it on: $Result->tie_filter('$Event1->{state} eq "on" && $Event2->{state} eq "on"', 'off', 'Blocked') if $Reload || $Startup; I haven't gotten to the point of testing that part yet. Each Event is evaluated once per minute, and I print out the state of that Event and also of Result. Here's an example of what I might see when an event gets set to on: Event1=off Result=off Event1 being set to on. Event2=off Result=on Event1=on Result=on ... I understand that the states don't get set until the current pass through the loop is complete, so that's why Event1 and Result show up as off at first. I don't understand why I don't see a message saying, "Result being set to on." along with the message about Event1. Does tie_event only apply when an item is set directly, rather than via another item tied to it? Thanks, Ben |