Hallo,
ich habe seit kurzem SmartHome auf einem Raspy laufen und will ein paar Logiken schreiben, dazu habe ich mal folgende Fragen:
Aufgabe: Eine Steckdose soll max alle 50 Minuten geschalten werden, kann aber auch durch ein anderes Ereignis früher geschalten werden.
GA in .conf-Datei:
teich_keine_spuelung.conf-Datei für Werte:
teich_spuelung.py für Funktion:
logic.conf:
Kann man einem item eigene Parameter hinzufügen, auf die man zugreifen kann zB sh.teich.keine_spuelung.notice (vermutlich nicht)?
Ist es möglich cycle zur Laufzeit mit einem neuen Wert zu versehen, so wie ich das gemacht habe?
Ich würde gerne noch Log-Funktion schreiben, um mir die Daten später auf der Visu ausgeben zu lassen und eine Alarm-Funktion für Pushs auf das Handy. Hier würde ich gerne die 'notice' ausgeben, wenn ich es so lösen würde:
dann könnte ich nicht auf das aufrufende item zurückgreifen. Zusätzlich soll geloggt werden, wenn der Timer die Steckdose wieder abschaltet.
Wie kann ich meinen Code am besten Debuggen (so könnte ich einige Fragen vermutlich selbst durch testen beantworten)?
Vielen Dank für Eure Hilfe!!
ich habe seit kurzem SmartHome auf einem Raspy laufen und will ein paar Logiken schreiben, dazu habe ich mal folgende Fragen:
Aufgabe: Eine Steckdose soll max alle 50 Minuten geschalten werden, kann aber auch durch ein anderes Ereignis früher geschalten werden.
GA in .conf-Datei:
Code:
[teich] [[trommler]] [[[s]]] visu_acl = rw type = bool knx_dpt = 1 knx_send = 2/6/40 knx_listen = 2/6/40
Code:
[teich] name = Teich [[keine_spuelung]] name = Keine Spülung notice = Zu lange keine Spülung des Trommelfilters log = yes [[[interval]]] # max Zeit für nächste Spülung name = maximales Intervall type = num value = 50 # min [[[time]]] # Laufzeit für Spülung name = Laufzeit type = num value = 2 # min [[[alarm]]] # Alarm ausgeben name = Alarm type = bool value = 0
Code:
# ------------------ vars ------------------- trom_item = sh.teich.trommler prob_item = sh.teich.keine_spuelung duration = prob_item.time * 60 # Dauer Spülvorgang interval = prob_item.interval * 60 # nächster Spülvorgang # ------------------ code ------------------- if not trom_item.s(): # Trommler läuft nicht trom_item.s(1) trom_item.s.timer(duration, 0) sh.teich_spuelung.cycle(interval)
Code:
[teich_spuelung] filename = teich_spuelung.py cycle = sh.teich.keine_spuelung.interval * 60
Ist es möglich cycle zur Laufzeit mit einem neuen Wert zu versehen, so wie ich das gemacht habe?
Ich würde gerne noch Log-Funktion schreiben, um mir die Daten später auf der Visu ausgeben zu lassen und eine Alarm-Funktion für Pushs auf das Handy. Hier würde ich gerne die 'notice' ausgeben, wenn ich es so lösen würde:
Code:
[log] filename = log.py watch_item = teich.trommler.s
Wie kann ich meinen Code am besten Debuggen (so könnte ich einige Fragen vermutlich selbst durch testen beantworten)?
Vielen Dank für Eure Hilfe!!
Kommentar