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