Define...If... Zustandsdauer

Begonnen von Matthias76, 27 Oktober 2014, 16:54:31

Vorheriges Thema - Nächstes Thema

Matthias76

Gibt es einen einfachen, direkten Weg, um aus dem hier
CUL_HM_HM_SCI_3_FM_23F8F2_Sw_01:closed { if (ReadingsVal('CUL_HM_THSensor_1B5AE5', 'temperature', 15) > 8) { fhem("set CUL_HM_HM_LC_SW1_BA_PCB_291A97 on") } }

...eine Abfrage auf die Dauer des ununterbrochenen Zustands zu machen?

Es soll halt nicht direkt bei "closed" losgehen, sondern erst, wenn dieses "closed" 10 Minuten am Stück so geblieben ist. Wechselt der Zustand während dieser Pufferzeit noch vor Abschluss der 10 Minuten auf "open " und danach wieder auf "closed", soll der Timer wieder bei 0 anfangen.
Eine Art "extrem verlängerte Entprellung".

Puschel74

Hallo,

vermutlich wäre das was für einen watchdog.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Damian

Zitat von: Matthias76 am 27 Oktober 2014, 16:54:31
Gibt es einen einfachen, direkten Weg, um aus dem hier
CUL_HM_HM_SCI_3_FM_23F8F2_Sw_01:closed { if (ReadingsVal('CUL_HM_THSensor_1B5AE5', 'temperature', 15) > 8) { fhem("set CUL_HM_HM_LC_SW1_BA_PCB_291A97 on") } }

...eine Abfrage auf die Dauer des ununterbrochenen Zustands zu machen?

Es soll halt nicht direkt bei "closed" losgehen, sondern erst, wenn dieses "closed" 10 Minuten am Stück so geblieben ist. Wechselt der Zustand während dieser Pufferzeit noch vor Abschluss der 10 Minuten auf "open " und danach wieder auf "closed", soll der Timer wieder bei 0 anfangen.
Eine Art "extrem verlängerte Entprellung".

z. B.
define di_LC_SW1 DOIF ([CUL_HM_HM_SCI_3_FM_23F8F2_Sw_01] eq "closed" and [CUL_HM_THSensor_1B5AE5:temperature] > 8)
  (set CUL_HM_HM_LC_SW1_BA_PCB_291A97 on)

attr di_LC_SW1 wait 600


Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Puschel74

Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Matthias76

#4
Dass mein eine Art Dummy brauchen wird, dachte ich mir schon,
aber dass man einen Dummy ein Attribut zum Warten hinzufügen kann, dass sich dann exakt so verhält, wie gewünscht, darauf wäre ich nie gekommen.  Vielen Dank für den Hinweis.

Aber direkt am Aktor setzen geht nicht, oder?
Also attr CUL_HM_HM_SCI_3_FM_23F8F2_Sw_01 wait 600
Ja, aber, oder: Nicht, weil: Man dann auch immer 10 Minuten auf on stehen bleiben muss, damit er an geht oder weil das direkt hier am Aktor gar nicht gehen kann?


Das ist ja gar kein Perl.
Gehört DOIF zum vor kurzem eingeführten FHEM-internen "IF"?

Naja, gut zu wissen, dass man dort so ein wait-Attribut setzen kann.

Damian

Zitat von: Matthias76 am 28 Oktober 2014, 20:33:17
Dass mein eine Art Dummy brauchen wird, dachte ich mir schon,
aber dass man einen Dummy ein Attribut zum Warten hinzufügen kann, dass sich dann exakt so verhält, wie gewünscht, darauf wäre ich nie gekommen.  Vielen Dank für den Hinweis.

Aber direkt am Aktor setzen geht nicht, oder?
Also attr CUL_HM_HM_SCI_3_FM_23F8F2_Sw_01 wait 600
Ja, aber, oder: Nicht, weil: Man dann auch immer 10 Minuten auf on stehen bleiben muss, damit er an geht oder weil das direkt hier am Aktor gar nicht gehen kann?

Mit Dummy hat das wenig zu tun  ;), siehe:

http://fhem.de/commandref_DE.html#DOIF

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Matthias76

Ja, fiel mir dann doch noch auf, dass das gar kein Dummy ist. ;-)
Steht auch alles im DOIF-Wiki-Eintrag.
Wieder einen Befehl mehr kennengelernt.

Nochmals danke!