1
0
Fork 0
A Python based project for controlling a set of lights via relay switches -- based on the light meter readings made available via the "Midpoint" project.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 

40 lines
1.2 KiB

#!/usr/bin/python3
import RPi.GPIO as GPIO
import time
import requests
relay_pin = 11
#GPIO.setmode(GPIO.BCM) # GPIO umbers instead of board numbers.
GPIO.setmode(GPIO.BOARD)
GPIO.setup(relay_pin, GPIO.OUT)
def main():
try:
while True:
# Make sure the U.R.L. is valid.
r = requests.get('http://ritherdon.abbether.net/api/readings/latest/1')
# print(r.status_code) # For testing.
data = r.json()
# print(data) # For testing.
the_reading = data.get("reading")
# print(the_reading) # For testing.
if the_reading > 33:
# Print for testing.
# print(f"[INFO] Light is on -- {the_reading}.")
GPIO.output(relay_pin, GPIO.HIGH)
else:
# Print for testing.
# print(f"[INFO] Light is off -- {the_reading}.")
GPIO.output(relay_pin, GPIO.LOW)
except KeyboardInterrupt:
print("Keyboard Interrupt: quitting program.")
except:
print("Error updating light reading...")
finally:
print("Cleaning up GPIO before closing...")
GPIO.cleanup()
if __name__ == "__main__" :
main()