Add hydroponics/hydroponic_lights.py
This commit is contained in:
parent
753b783ed7
commit
7756c0d960
|
@ -0,0 +1,60 @@
|
||||||
|
# Toggles gpio to turn grow lights on/off and then updates grafana
|
||||||
|
import requests
|
||||||
|
import time
|
||||||
|
import subprocess
|
||||||
|
from apscheduler.schedulers.background import BackgroundScheduler
|
||||||
|
scheduler = BackgroundScheduler()
|
||||||
|
scheduler.start()
|
||||||
|
|
||||||
|
gpio_lights = "15"
|
||||||
|
|
||||||
|
def send_data(results):
|
||||||
|
try:
|
||||||
|
output = requests.post('http://192.168.1.127:6503/write?db=garagedb', data = results, timeout=30)
|
||||||
|
print(output)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
def toggle_lights(state):
|
||||||
|
|
||||||
|
if state == 'on':
|
||||||
|
print('on')
|
||||||
|
subprocess.run(["gpio", "mode", gpio_lights, "out"])
|
||||||
|
subprocess.run(["gpio", "write", gpio_lights, "1"])
|
||||||
|
else:
|
||||||
|
print('off')
|
||||||
|
subprocess.run(["gpio", "write", gpio_lights, "0"])
|
||||||
|
subprocess.run(["gpio", "mode", gpio_lights, "in"])
|
||||||
|
|
||||||
|
|
||||||
|
def turn_on_lights():
|
||||||
|
print('Turning lights on')
|
||||||
|
toggle_lights('on')
|
||||||
|
results = 'hydro_lights,host=nanopi value={}'.format(1)
|
||||||
|
print(results)
|
||||||
|
send_data(results)
|
||||||
|
|
||||||
|
def turn_off_lights():
|
||||||
|
print('Turning lights off')
|
||||||
|
toggle_lights('off')
|
||||||
|
results = 'hydro_lights,host=nanopi value={}'.format(0)
|
||||||
|
print(results)
|
||||||
|
send_data(results)
|
||||||
|
|
||||||
|
print('Starting up')
|
||||||
|
#Just to check lights are off
|
||||||
|
turn_off_lights()
|
||||||
|
print('Lights are off')
|
||||||
|
#turn_on_lights()
|
||||||
|
#print('Lights are on')
|
||||||
|
|
||||||
|
#schedule to turn on at 8am
|
||||||
|
scheduler.add_job(turn_on_lights, trigger='cron', hour=10 )
|
||||||
|
#scheduler.add_job(turn_on_lights, trigger='cron', hour=8 )
|
||||||
|
|
||||||
|
#schedule to turn off
|
||||||
|
#scheduler.add_job(turn_off_lights, trigger='cron', hour=20 )
|
||||||
|
scheduler.add_job(turn_off_lights, trigger='cron', hour=19 )
|
||||||
|
|
||||||
|
while True:
|
||||||
|
time.sleep(30)
|
Loading…
Reference in New Issue