widgetlist.append(vorgartentemp) widgetlist.append(arbeitszimmertemp) widgetlist.append(arbeitszimmerhum) widgetlist.append(arbeitszimmerqual) widgetlist.append(loggiatemp) widgetlist.append(pingrouter) widgetlist.append(haustuerOffen) widgetlist.append(telefon) widgetlist.append(esKlingelt) widgetlist.append(esRegnet) widgetlist.append(allefenster) widgetlist.append(motion) widgetlist.append(aussentemperatur) client = MqttClient() client.subscribe("/Chattenweg5/Garten/temperature", gardentemp.update) client.subscribe("/Chattenweg5/Garten/rain", regenAlert) client.subscribe("/Chattenweg5/2OG-Loggia/raindrops", regenTropfen) client.subscribe("/Chattenweg5/Vorgarten/temperature", vorgartentemp.update) client.subscribe("/Chattenweg5/Arbeitszimmer/temperature", arbeitszimmertemp.update) client.subscribe("/Chattenweg5/Arbeitszimmer/humidity", arbeitszimmerhum.update) client.subscribe("/Chattenweg5/Arbeitszimmer/CO2", arbeitszimmerqual.update) client.subscribe("/Chattenweg5/2OG-Loggia/temperature", loggiatemp.update) client.subscribe("/Wallclock/Countdown", mycountdown.mqttstart) client.subscribe("/Wallclock/countdown", mycountdown.mqttstart) client.subscribe("/Chattenweg5/Wallclock/Countdown", mycountdown.mqttstart) client.subscribe("/Chattenweg5/Wallclock/countdown", mycountdown.mqttstart)
someonehome = True else: someonehome = False def motionMessage(topic,msg): global someonehome if topic == None or msg == None: return v = msg.decode() print("Presence:",someonehome," Motion:",v) if someonehome and v == "ON": print("starting wall clock") subprocess.run(["systemctl","start","wallclock"]) print("ending program") subprocess.run(["systemctl","stop","start-wallclock"]) time.sleep(1) sys.exit() if __name__ == "__main__": client = MqttClient() client.subscribe("Chattenweg5/Residents",residentsMessage) client.subscribe("Chattenweg5/2OG-Flur/sensor/binary_sensor/2og-flur_motion/state",motionMessage) while True: time.sleep(1)