Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Efficiency of indoor grow light timer

by SwissGeorge (Initiate)
on Nov 13, 2017 at 15:41 UTC ( #1203267=note: print w/replies, xml ) Need Help??


in reply to Efficiency of indoor grow light timer

please allow do some thoughts outside - not really offtopic.
- your problem is a timing problem .. first of all there are simple to use features provided by operating system.
- you are talking about having the light on for 12 hours. why not set an alarm(43200) and catch this event?
your process then gets inactiv for a long time.
possible strategy eventdriven logic
{
  $state=off
  set_signal_handler()
  toggle_switch('time') #never get out of this function; see wait;

  set_signal_handler() {
    sig_alrm=toggle_switch()
    sig_int=switch_off_and_exit()
    sig_term=ignore
    sig_hup=switch_off_and_exit()
  }

  toggle_switch() {
     if ($stat==off) { $waitsec=43200 }
     else { $waitsec=calc_sec_to_switch('time') }
     alarm($waitsec)
     wait(-1) #go to sleep til alarm, or signals (INT,HUP)
     switch_on_off()
  }
}
have fun
  • Comment on Re: Efficiency of indoor grow light timer

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1203267]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (6)
As of 2019-06-17 14:33 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Is there a future for codeless software?



    Results (79 votes). Check out past polls.

    Notices?
    • (Sep 10, 2018 at 22:53 UTC) Welcome new users!