Hi,
nach fast 3 Jahren wollte jemand nochmal das python-coding haben, dass die Stopp-Taste erweitert. Habe schon längst vergessen, dass ich dazu mal was posten wollte
In sh.py habe ich das als eine Logik realisiert.
rolloStopExt.py:
Die zugrundeliegende Item-Struktur ist:
Der Rest ist hoffentlich selbsterklärend!
Gruß, Waldemar
nach fast 3 Jahren wollte jemand nochmal das python-coding haben, dass die Stopp-Taste erweitert. Habe schon längst vergessen, dass ich dazu mal was posten wollte

In sh.py habe ich das als eine Logik realisiert.
rolloStopExt.py:
Code:
#!/usr/bin/env python
#
# zusätzliche Logik für die Stop-Taste:
# Rollo oben => fährt ihn runter
# Rollo unten => fährt ihn hoch
# Rollo irgendwo => fährt weiter
logger.info("Rollo Stop extended")
print(trigger)
# logik nur, wenn von Item getriggert
if trigger['by'] == 'Item':
lItem = trigger['source']
lParent = sh.return_item(lItem).return_parent()
# initialisierung
logger.info("Moving({0}).age({1}),Richtung({2})".format(lParent.Moving(), lParent.Moving.age(), lParent.Richtung()))
if lParent.Stop.conf['rolloStopExt']:
lParent.Stop.conf['rolloStopExt'] = False
elif lParent.IstOben():
lParent.Move(1)
elif lParent.IstUnten():
lParent.Move(0)
elif not lParent.Moving() and lParent.Moving.age() > 0.1:
lParent.Move(lParent.Richtung())
Code:
Rollo:
Move:
# 1 fährt Rollladen hoch, 0 fährt runter
Stop:
# 1 stoppt die Fahrt und triggert die obige Logik
Moving:
# Rollo fährt gerade
Richtung:
# aktuelle Richtung
IstOben:
# Rollo ist ganz oben
IstUnten:
# Rollo ist ganz unten
Gruß, Waldemar


Kommentar