Problem:
wenn 2x gleichzeitig xy1.Power & xy2.Power getriggert werden, läuft 2x Realy.py in Endlosschleife ...
logic.conf
mein bisheriger Ansatz: file erzeugen, Logik laufen lassen, file löschen, sollte 2. parallele Instance eigentlich ausschließen, aber fkt. nicht 100 % ig
relay.py
ist leider nicht immer erfolgreich !!!
wer kennt eine bessere/sicherere Lösung ?
wenn 2x gleichzeitig xy1.Power & xy2.Power getriggert werden, läuft 2x Realy.py in Endlosschleife ...
logic.conf
Code:
[Relais] filename = Relais.py watch_item = *.Power # 10 verschiedene
relay.py
Code:
import random runlock = "/run/relay.run" wartezeit= random.randint(2,8) while (os.path.isfile(runlock)): logger.info("runlock exist, wait {0} sec".format(wartezeit) ) time.sleep(wartezeit) os.mknod(runlock) logger.info("runlock do not exist ! start procedure") # eigentliche Logik os.remove(runlock)
wer kennt eine bessere/sicherere Lösung ?
Kommentar