Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added syslog to log nicely on temp change and start #10

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions fancontrol.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#!/usr/bin/env python3

import time
import syslog

from gpiozero import OutputDevice

Expand Down Expand Up @@ -28,6 +29,9 @@ def get_temp():
raise RuntimeError('Could not parse temperature output.') from e

if __name__ == '__main__':
syslog.openlog(ident="FAN_CONTROL",logoption=syslog.LOG_PID, facility=syslog.LOG_LOCAL0)
syslog.syslog(syslog.LOG_INFO, "Fan control started")

# Validate the on and off thresholds
if OFF_THRESHOLD >= ON_THRESHOLD:
raise RuntimeError('OFF_THRESHOLD must be less than ON_THRESHOLD')
Expand All @@ -41,11 +45,13 @@ def get_temp():
# isn't already running.
# NOTE: `fan.value` returns 1 for "on" and 0 for "off"
if temp > ON_THRESHOLD and not fan.value:
syslog.syslog(syslog.LOG_INFO, "Reached temperature of " + str(temp) + " turning on fan")
fan.on()

# Stop the fan if the fan is running and the temperature has dropped
# to 10 degrees below the limit.
elif fan.value and temp < OFF_THRESHOLD:
syslog.syslog(syslog.LOG_INFO, "Reached temperature of " + str(temp) + " turning off fan")
fan.off()

time.sleep(SLEEP_INTERVAL)