From: Lieven H. <li...@li...> - 2009-10-11 20:06:23
|
Hello David, perfect, indeed that's what I was searching for. Thanks, Lieven. On Sun, Oct 11, 2009 at 06:23, David Norwood <dno...@ya...> wrote: > Since Analog_Sensor is derived from Generic_Item, you can use the get_idle_time > method on that object to return the seconds since it was last set. > > David > > > ----- Original Message ----- > *From:* Lieven Hollevoet <li...@li...> > *To:* The main list for the MisterHouse home automation program<mis...@li...> > *Sent:* Saturday, October 10, 2009 1:54 PM > *Subject:* [mh] Analog_Sensor and expired sensor reading > > Hello, > > I'm trying to couple readings from my ambient lightlevel sensor with > Misterhouse. The reason is that I would like to use Misterhouse to control > some lights and our window blinds, and that I would like to use the real > light conditions instead of the ones calculated by Misterhouse. > > Some background: the sensor itself reports its readings wirelessly to a > 'gateway' that is on my LAN. Misterhouse then periodically interrogates the > gateway to get the readings. The gateway keeps a counter that is reset every > time a valid RF packet is received. In this way, I can know how fresh the > value is that I read from the gateway. If for some reason the gateway is not > receiving RF packets, I don't want Misterhouse to react on an 'old' value. > If the counter is bigger than 250, I consider the reading to be too old to > be used. > > The basics are already working (see attached code file), but I have a > specific question concerning the 'freshness counter' in the gateway. > > I'm using an ANALOG_SENSOR to keep track of the current lightlevel (between > 0 and 100%). Is there a way to make clear that the current measurement that > is done for the analog sensor is not valid any more? > > What I'd like to obtain is that if I request the value of the analog_sensor > item in usercode, I could first verify if the value is still valid. > > Theoretical example user code in combination with attached file: > > # Switch on the desklight if it is getting dark > my $desklight_auto_on_allowed = 1; > > if (new_minute) { > > my $lightlevel = $sa_lightlevel->measurement(); > > > if ($lightlevel > 70 and $sa_lightlevel->valid()) { > $desklight_auto_on_allowed = 1; > } > if ($lightlevel < 30 and $sa_lightlevel->valid() and > $desklight_auto_on_allowed){ > &::print_log("It is dark outside ($lightlevel %), switching desklight > on..."); > $desklight->set("ON"); > $desklight_auto_on_allowed = 0; > } > > } > > Can somebody point me in the direction on how to solve this please? > > Kind regards, > Lieven. > > ------------------------------ > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > > ------------------------------ > > ________________________________________________________ > To unsubscribe from this list, go to: > http://sourceforge.net/mail/?group_id=1365 > > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > ________________________________________________________ > To unsubscribe from this list, go to: > http://sourceforge.net/mail/?group_id=1365 > > > |