Hauptmenü

neues Modul DOIF

Begonnen von Damian, 21 Mai 2014, 15:53:18

Vorheriges Thema - Nächstes Thema

Brockmann

Zitat von: Steffen am 01 Oktober 2014, 08:09:21
Das hatte ich mir auch schon gedacht und war nur ein versuch von vielen aber bekommt man denn zwei Befehle mit einer Verzögerung(wait) unter gebracht??
Dafür gibt es den Sleep-Befehl. Also ungefähr so:

({HueOffSofa};;sleep 30 quiet;;{HueOffSideBoard})

Wichtig: Unbedingt, das FHEM-sleep verwenden, nicht das Perl-sleep, denn letzteres hält FHEM für den angegebenen Zeitraum komplett an.
Alternativ könntest Du auch ein at +00:00:30 definieren, das würde 30 Sekunden später ausgeführt und dann wieder gelöscht.

Damian

Zitat von: Brockmann am 01 Oktober 2014, 08:35:44
Dafür gibt es den Sleep-Befehl. Also ungefähr so:

({HueOffSofa};;sleep 30 quiet;;{HueOffSideBoard})

Wichtig: Unbedingt, das FHEM-sleep verwenden, nicht das Perl-sleep, denn letzteres hält FHEM für den angegebenen Zeitraum komplett an.
Alternativ könntest Du auch ein at +00:00:30 definieren, das würde 30 Sekunden später ausgeführt und dann wieder gelöscht.

Leider legt auch FHEM-Sleep in Kombination mit DOIF FHEM lahm. Ich werde mir da noch etwas einfallen lassen müssen. Z. Zt. ist also für Verzögerungen zwischen den Befehlen bei DOIF, nur die at-Lösung sinnvoll.

Gruß

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

Otto

Hallo,

habe mal eine Verständnisfrage, im commandref steht:

ZitatLampe soll ab 6:00 Uhr angehen, wenn es dunkel ist und wieder ausgehen, wenn es hell wird, spätestens aber um 9:00 Uhr:
define di_lamp DOIF ([06:00-09:00] and [sensor:brightness] < 40) (set lamp on) DOELSE (set lamp off)

Aber wenn die brightness nach 9:00 >40 ist passiert nix, richtig?

Wie fängt man das ab?

Gruß Otto
Gruss Otto

.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.

docker - homematic

Damian

Zitat von: Otto am 03 Oktober 2014, 07:32:00
Hallo,

habe mal eine Verständnisfrage, im commandref steht:

Aber wenn die brightness nach 9:00 >40 ist passiert nix, richtig?

Wie fängt man das ab?

Gruß Otto
Die Bedingung ist ab 9:00 Uhr nicht mehr wahr und damit geht die Lampe aus. Daher ist es egal ob nach 9:00 brightness >40, da die Bedingung bereits falsch ist und die Lampe ausgegangen ist. Mehr als falsch geht nicht und mehr als aus auch nicht ;)
Gruß

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

holzwurm83

Hallo zusammen,  ich möchte über meine Fensterkontakte meine Rollladen steuern.  Z.B. wenn ich das Fenster inerhalb von zwei sec auf und wieder zu mache soll der Rollo hochfahren.  Habe mir die Doku  komplett durchgelesen,  aber finde dazu irgendwie keinen Ansatz. 
Könnt ihr mir weiterhelfen?
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

Damian

Zitat von: holzwurm83 am 03 Oktober 2014, 19:28:27
Hallo zusammen,  ich möchte über meine Fensterkontakte meine Rollladen steuern.  Z.B. wenn ich das Fenster inerhalb von zwei sec auf und wieder zu mache soll der Rollo hochfahren.  Habe mir die Doku  komplett durchgelesen,  aber finde dazu irgendwie keinen Ansatz. 
Könnt ihr mir weiterhelfen?

Endlich mal was zum Knobeln  :D

setreading Fenster doppelkick off (nur einmalig setzen)

und dann:

define di_fensterhoch DOIF ([Fenster])
  (IF ([Fenster:doppelklick] eq "on")
    (set Rollladen hoch)
  ELSE
    (setreading Fenster doppelklick on, define doppelklick_off at +00:00:02 setreading Fenster doppelklick off))

attr di_fensterhoch do always


Wird demnächst auch ohne at funktionieren  :)

Gruß

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

holzwurm83

Hallo Damian,

habe das mal versucht umzusetzen. Irgendwas mache ich wohl falsch.

Das ist die def. vom Rollo:
define WZ_J_OST dummy
attr WZ_J_OST KU_J_Front Alle_Jalousie
attr WZ_J_OST alias Osten
attr WZ_J_OST devStateIcon 00:fts_shutter_up:auf C8:fts_shutter_down:stop C9:fts_shutter_manual:zu
attr WZ_J_OST eventMap zu:00 auf:C8 stop:C9
attr WZ_J_OST group Jalousie
attr WZ_J_OST icon fts_blade_arc
attr WZ_J_OST room Wohnzimmer
attr WZ_J_OST setList zu auf stop
attr WZ_J_OST webCmd zu:auf:stop


Das ist die def. vom Fenster:
define WZ_Fenster_OST_R DOIF ([HMW_Sen_SC_12_DR_JEQ0545703_05:sensor] == 51200 and [HMW_Sen_SC_12_DR_JEQ0545703_06:sensor] == 0) DOELSEIF ([HMW_Sen_SC_12_DR_JEQ0545703_05:sensor] == 0 and [HMW_Sen_SC_12_DR_JEQ0545703_06:sensor] == 51200) DOELSEIF ([HMW_Sen_SC_12_DR_JEQ0545703_05:sensor] == 51200 and [HMW_Sen_SC_12_DR_JEQ0545703_06:sensor] == 51200)
attr WZ_Fenster_OST_R cmdState zu|gekippt|offen
attr WZ_Fenster_OST_R devStateIcon zu:fts_window_1w offen:fts_window_1w_open@red gekippt:fts_window_1w_tilt@red
attr WZ_Fenster_OST_R group Fenster
attr WZ_Fenster_OST_R icon fts_door_right
attr WZ_Fenster_OST_R room Wohnzimmer


Und hier noch die def. für die Umsetzung:
define di_fensterhoch DOIF ([WZ_Fenster_OST_R])   (IF ([WZ_Fenster_OST_R:doppelklick] eq "offen")     (set WZ_J_OST auf)   ELSE     (setreading WZ_Fenster_OST_R doppelklick offen, define doppelklick_zu at +00:00:04 setreading Fenster doppelklick zu))
attr di_fensterhoch do always


irgendwie gibt es auch ein Error Reading:
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

Puschel74

#502
Hallo,

du weisst aber das du ALLE Fenster gegen den Namen deines Fensters austauschen musst?
Selbiges mit dem Rollladen.

Auch fehlt mir irgendwie das neue Reading beim Fenster - auch hier bietet es sich an im geposteten Code Fenster gegen den Namen deines Fensters zu tauschen.
Das sollte aber immerhin einen Meldung von FHEM provoziert haben.

Und Screenshots kann man auch schön einbinden - man muss niemanden zwingen diese erst runterladen zu müssen  ;)

Grüße

Edith: Erst jetzt geshehen:
define WZ_Fenster_OST_R DOIF ([HMW_Sen_SC_12_DR_JEQ0545703_05:sensor] == 51200 and [HMW_Sen_SC_12_DR_JEQ0545703_06:sensor] == 0) DOELSEIF ([HMW_Sen_SC_12_DR_JEQ0545703_05:sensor] == 0 and [HMW_Sen_SC_12_DR_JEQ0545703_06:sensor] == 51200) DOELSEIF ([HMW_Sen_SC_12_DR_JEQ0545703_05:sensor] == 51200 and [HMW_Sen_SC_12_DR_JEQ0545703_06:sensor] == 51200)

Das ist ein Define eines DOIF und kein Device im Sinne von - das ist der Sensor an meinem Fenster.
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.

holzwurm83

Zitatdu weisst aber das du ALLE Fenster gegen den Namen deines Fensters austauschen musst?
Selbiges mit dem Rollladen.
Ein Fenster hatte ich wohl übersehen:
define di_fensterhoch DOIF ([WZ_Fenster_OST_R])   (IF ([WZ_Fenster_OST_R:doppelklick] eq "offen")     (set WZ_J_OST auf)   ELSE     (setreading WZ_Fenster_OST_R doppelklick offen, define doppelklick_zu at +00:00:04 setreading WZ_Fenster_OST_R doppelklick zu))
attr di_fensterhoch do always


ZitatAuch fehlt mir irgendwie das neue Reading beim Fenster - auch hier bietet es sich an im geposteten Code Fenster gegen den Namen deines Fensters zu tauschen.
Habe da noch mal ein Bild angehängt. Mit dem Bilder anhängen muss ich aber noch üben.

Trotz dessen scheint da noch was nicht zu passen.

ZitatDas ist ein Define eines DOIF und kein Device im Sinne von - das ist der Sensor an meinem Fenster.

Heißt es, dass man es nun anders lösen muss?
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

Puschel74

Hallo,

ZitatHeißt es, dass man es nun anders lösen muss?
Weiß ich nicht - da muss Damian was dazu sagen.

Du solltest dir aber angewöhnen erstmal in das FHEM-Logfile zu schauen.
Das ist nicht so schwer lesbar und kryptisch wie verborgene Mythen immer behaupten.
Dort wirst du immerhin fündig wenn dir FHEM etwas mitteilen möchte.

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

In der Fehlermeldung steht: IF: unknown reading: WZ_Fenster_OST_R:doppelklick

also hast du nicht zu Anfang , wie ich geschrieben habe:

setreading WZ_Fenster_OST_R doppelkick off

gesetzt.

Gruß

Damian



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

Puschel74

Hallo,

Zitat von: Damian am 05 Oktober 2014, 16:26:19
In der Fehlermeldung steht: IF: unknown reading: WZ_Fenster_OST_R:doppelklick

also hast du nicht zu Anfang , wie ich geschrieben habe:

setreading WZ_Fenster_OST_R doppelkick off

gesetzt.

Gruß

Damian

So wird es sein - aber lass doch mal die Fragesteller selbst ein bischen mitdenken  ;D

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.

holzwurm83

Zitat von: Damian am 05 Oktober 2014, 16:26:19
In der Fehlermeldung steht: IF: unknown reading: WZ_Fenster_OST_R:doppelklick

also hast du nicht zu Anfang , wie ich geschrieben habe:

setreading WZ_Fenster_OST_R doppelkick off

gesetzt.

Gruß

Damian

Ich habe passend dazu
setreading WZ_Fenster_OST_R doppelkick zu
gesetzt.

Habe  off = zu und für on = offen ersetzt, oder habe ich da zu viel mitgedacht?  ;D
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

Puschel74

doppelkick oder doppelklick?
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.

holzwurm83

Zitat von: Puschel74 am 05 Oktober 2014, 16:41:14
doppelkick oder doppelklick?

So habe das auf "doppelklick" korrigiert. Jetzt fährt der Rollo auch hoch. Allerdings bereits beim erstem mal "offen" und nicht wie geplant erst nach zwei mal "offen" innerhalb von zwei sec.
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN