Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
        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)
Esempio n. 4
0
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(