from collections import deque
import getopt
+import os
import paho.mqtt.client as mqtt
import sys
import time
debug_mode = False
+log_name = '/run/burrow-auto'
+log_file = None
indent = 0
def debug(msg):
if debug_mode:
print(("\t" * indent) + msg, file=sys.stderr)
+ elif log_file is not None:
+ print(("\t" * indent) + msg, file=log_file)
+
+def debug_open():
+ if not debug_mode:
+ global log_file
+ log_file = open(log_name + '.new', 'w')
+
+def debug_close():
+ if debug_mode:
+ debug("=" * 80)
+ else:
+ global log_file
+ log_file.close()
+ log_file = None
+ os.rename(log_name + '.new', log_name)
def diff(x, y):
if x is None or y is None:
fs = 3
else:
fs = 1
+ else:
+ if st.min in range(10, 15):
+ fs = 2
+ else:
+ fs = 0
st.set("loft/fan", fs)
debug("Air: house_warm={} house_hot={} ac_on={} outside_warmer={} mixed_warmer={}".format(house_warm, house_hot, ac_on, outside_warmer, mixed_warmer))
+ if ac_on != 0:
+ st.set("air/ac-on", "{} {}".format(1 if ac_on > 0 else 0, int(st.now)))
+ else:
+ st.set("air/ac-on", "")
+
def auto_aircon():
global st
]
while True:
+ debug_open()
st.update()
debug("averages")
indent -= 1
else:
debug("{} DISABLED".format(name))
- debug("=" * 80)
+
+ debug_close()
time.sleep(10)