def startdatenbanklesen(device): datenbank.CreateTables(("dev_%s" % (device['AIN']))) device['runningAIN'] = datenbank.lesen(("dev_%s" % (device['AIN'])), "running") if device['runningAIN'] == None: device['runningAIN'] = 0 elif device['runningAIN'] == 0 or device['runningAIN'] == 2: device['runningAIN'] = 0 elif device['runningAIN'] == 1: device['runningAIN'] = 1 device['startzeitAIN'] = datenbank.lesen(("dev_%s" % (device['AIN'])), "starttimestamp", 1)
def startdatenbanklesen(): global runningAIN1 global runningAIN2 global runningAIN3 global startzeitAIN1 global startzeitAIN2 global startzeitAIN3 global aktivegeraete if aktivegeraete == 1: runningAIN1 = datenbank.lesen("device1", "running") if runningAIN1 == None: runningAIN1 = 0 elif runningAIN1 == 0 or runningAIN1 == 2: runningAIN1 = 0 elif runningAIN1 == 1: runningAIN1 = 1 startzeitAIN1 = datenbank.lesen("device1", "starttimestamp", 1) elif aktivegeraete == 2: runningAIN1 = datenbank.lesen("device1", "running") if runningAIN1 == None: runningAIN1 = 0 elif runningAIN1 == 0 or runningAIN1 == 2: runningAIN1 = 0 elif runningAIN1 == 1: runningAIN1 = 1 startzeitAIN1 = datenbank.lesen("device1", "starttimestamp", 1) runningAIN2 = datenbank.lesen("device2", "running") if runningAIN2 == None: runningAIN2 = 0 elif runningAIN2 == 0 or runningAIN2 == 2: runningAIN2 = 0 elif runningAIN2 == 1: runningAIN2 = 1 startzeitAIN2 = datenbank.lesen("device2", "starttimestamp", 1) elif aktivegeraete == 3: runningAIN1 = datenbank.lesen("device1", "running") if runningAIN1 == None: runningAIN1 = 0 elif runningAIN1 == 0 or runningAIN1 == 2: runningAIN1 = 0 elif runningAIN1 == 1: runningAIN1 = 1 startzeitAIN1 = datenbank.lesen("device1", "starttimestamp", 1) runningAIN2 = datenbank.lesen("device2", "running") if runningAIN2 == None: runningAIN2 = 0 elif runningAIN2 == 0 or runningAIN2 == 2: runningAIN2 = 0 elif runningAIN2 == 1: runningAIN2 = 1 startzeitAIN2 = datenbank.lesen("device2", "starttimestamp", 1) runningAIN3 = datenbank.lesen("device3", "running") if runningAIN3 == None: runningAIN3 = 0 elif runningAIN3 == 0 or runningAIN3 == 2: runningAIN3 = 0 elif runningAIN3 == 1: runningAIN3 = 1 startzeitAIN3 = datenbank.lesen("device3", "starttimestamp", 1)
except: strom = "NULL" return strom # Hauptprogramm ermittleaktivegeraete() startdatenbanklesen() verbinden() while True: verbindungstest() if aktivegeraete >= 1: statusAIN1 = ermittlestatus(AIN1) stromAIN1 = ermittlestrom(AIN1) datenbankfehlerAIN1 = datenbank.lesen('failure', 'device1') if statusAIN1 == "NULL" or stromAIN1 == "NULL": runningAIN1 = 0 datenbankrunningAIN1 = datenbank.lesen('device1', 'running') if datenbankrunningAIN1 == 1: datenbank.update("device1", 'running', 2, "endtimestamp", "CURRENT_TIMESTAMP") if datenbankfehlerAIN1 == 0: datenbank.update('failure', 'device1', 1) try: text = 'Es ist ein Fehler aufgetreten. Die Steckdose ist nicht mehr erreichbar. Das Programn wurde zurückgesetzt.' sub.call([ "curl -X POST 'https://api.telegram.org/bot%s/sendMessage?chat_id=%s=&text=%s'" % (Bot1, groupid, text) ], shell=True)
sendMessage(Bot, groupid, "Service", "Service gestartet") try: while True: for device in settings['devices']: verbindungstest(device['AIN']) now = time.strftime("%H:%M") device['statusAIN'] = ermittlestatus(device['AIN']) device['stromAIN'] = ermittlestrom(device['AIN']) temp = ermittletemp(device['AIN']) if temp < 4: text = "<i><b>Temperaturwarnung:</b></i> %s Grad Celcius" % ( temp) sendMessage(Bot, groupid, "Raum", text) device['datenbankfehlerAIN'] = datenbank.lesen( 'failure', ("dev_%s" % (device['AIN']))) if device['statusAIN'] == "NULL" or device['stromAIN'] == "NULL": device['runningAIN'] = 0 datenbankrunningAIN = datenbank.lesen( ("dev_%s" % (device['AIN'])), 'running') if datenbankrunningAIN == 1: datenbank.update(("dev_%s" % (device['AIN'])), 'running', 2, "endtimestamp", "CURRENT_TIMESTAMP") if device['datenbankfehlerAIN'] == 0: datenbank.update('failure', ("dev_%s" % (device['AIN'])), 1) text = 'Es ist ein Fehler aufgetreten. Die Steckdose ist nicht mehr erreichbar. Das Programn wurde reinitialisiert' sendMessage(Bot, groupid, device['Name'], text) print(