FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: CarstenF am 28 Februar 2015, 18:52:05

Titel: (Gelöst) DOIF -2 Bedingungen -Fhem schaltet sehr verzögert
Beitrag von: CarstenF am 28 Februar 2015, 18:52:05
Hallöchen,
Ich möchte gerne, das sich das Licht im Flur einschaltet, sobald der Türkontakt sich öffnet. Allerdings nur in der "dunklen" Zeit, zwischen 16:00 und 09:30.
Das habe ich versucht mit einem DOIF zu lösen
([16:00-09:00] and [MAX_0f1252:?opened]) (set Flurlicht_Gross on)

Jetzt wird der Befehl auch ausgelöst, jedoch erst ca. 1 Minute nach Türöffnung.
Ich habe auf den gleichen Türöffner noch ein weiteres DOIF gelegt, das mir eine Nachricht geschickt wird. Das funktioniert einwandfrei. Hier ist aber quasi nur eine Bedingung die abgefragt wird.
Wo liegt denn da wohl mein Fehler?

Gruß Carsten
Titel: Antw:DOIF -2 Bedingungen -Fhem schaltet sehr verzögert
Beitrag von: Mathea am 28 Februar 2015, 19:51:39
eine Minute ist wirklich sehr lang, das klingt komisch.

Ich betreibe im Moment etwas ähnliches, nur dass ich anstatt eines Türkontaktes mit einem Bewegungsmelder triggere. Die Nachricht wird auch zunächst in fhem mithilfe einer DOIF Funktion ausgewertet und gecheckt, ob es dunkel genug ist, um das licht einzuschalten. Das funktioniert leider auch nur mit einer Verzögerung von schätzungsweise 2 bis 3 Sekunden, aber das ist jenseits von einer Minute.

Vielleicht kannst du mal versuchen, die Funktion mithilfe eines notifys und einer if-Bedingung umzusetzen, um zu schauen ob das Verhalten besser ist.

Das würde dann ungefähr so aussehen:

define Flurlicht_Gross_on notify MAX_0f1252:opened { if ($hour > 16 || $hour < 9) { fhem("set Flurlicht_Gross on") } }

Da ich leider selbst Anfänger bin und den Code nicht testen konnte gebe ich keine Garantie auf Korrektheit. Aber grob könntest du das so umsetzen und schauen ob es besser ist.

Gruß,
Martin
Titel: Antw:DOIF -2 Bedingungen -Fhem schaltet sehr verzögert
Beitrag von: der-Lolo am 28 Februar 2015, 19:55:03
Wann kommt denn das Signal vom Fensterkontakt im Eventmonitor an?
Log doch mal diese Minute im Eventmonitor mit - und häng das ganze hier an.
Titel: Antw:DOIF -2 Bedingungen -Fhem schaltet sehr verzögert
Beitrag von: CarstenF am 28 Februar 2015, 20:17:41
So, habe jetzt mal mitgeloggt. Die ersten 30-40 Sekunden passiert erstmal gar nichts. Und dann überschlägt es sich quasi.

2015-02-28 20:09:36 IT Flurlicht_Gross on
2015-02-28 20:09:36 DOIF Haustuer_1 cmd_nr: 1
2015-02-28 20:09:36 DOIF Haustuer_1 cmd_event: MAX_0f1252
2015-02-28 20:09:36 DOIF Haustuer_1 cmd_1
2015-02-28 20:09:37 Pushbullet Benachrichtigungsdienst message Haustüre wurde geöffnet
2015-02-28 20:09:37 DOIF Haustuer_2 cmd_nr: 1
2015-02-28 20:09:37 DOIF Haustuer_2 cmd_event: MAX_0f1252
2015-02-28 20:09:37 DOIF Haustuer_2 cmd_1
2015-02-28 20:09:37 MAX MAX_0f1252 battery: ok
2015-02-28 20:09:37 MAX MAX_0f1252 onoff: 1
2015-02-28 20:09:37 MAX MAX_0f1252 opened
2015-02-28 20:09:37 DOIF Haustuer_1 cmd_nr: 2
2015-02-28 20:09:37 DOIF Haustuer_1 cmd_event: MAX_0f1252
2015-02-28 20:09:37 DOIF Haustuer_1 cmd_2
2015-02-28 20:09:37 DOIF Haustuer_2 cmd_nr: 2
2015-02-28 20:09:37 DOIF Haustuer_2 cmd_event: MAX_0f1252
2015-02-28 20:09:37 DOIF Haustuer_2 cmd_2
2015-02-28 20:09:37 MAX MAX_0f1252 MAXLAN_initialized: 1
2015-02-28 20:09:37 MAX MAX_0f1252 MAXLAN_error: 0
2015-02-28 20:09:37 MAX MAX_0f1252 MAXLAN_errorInCommand:
2015-02-28 20:09:37 MAX MAX_0f1252 MAXLAN_valid: 1

ich finde es irgendwie auch komisch, das erst das Licht einschalten geloggt wird und danach erst die DOIF  Auswertungen auftauchen. Aber die Chronologie wäre ja noch egal....
Also ich liebe dieses DOIF Modul ja wirklich sehr und verwende es bei total vielen Dingen. Wäre schon klasse, wenn man das irgendwie hinbiegen könnte.
Titel: Antw:DOIF -2 Bedingungen -Fhem schaltet sehr verzögert
Beitrag von: CarstenF am 28 Februar 2015, 20:25:17
Hallo Mathea,
Danke übrigens mal noch für den notify Code.... der funktioniert übrigens, jedoch habe ich auch hier noch ca. 10 Sekunden Verzug.
Das erscheint mir immer noch zu lange und hat vermutlich nicht den Frauen-Aktzeptanz-Faktor.  ;)
Titel: Antw:DOIF -2 Bedingungen -Fhem schaltet sehr verzögert
Beitrag von: marvin78 am 28 Februar 2015, 20:28:55
So weit ich weiß, melden Max-Kontakte ihren Status nicht, er wird in einem gewissen Abstand geholt (ich habe kein Max und sage nur das, was ich irgendwo gelesen habe). Das wird der Grund für die Verzögerung sein. Vielleicht solltest du dein Glück einmal im Max-Bereich versuchen.
Titel: Antw:DOIF -2 Bedingungen -Fhem schaltet sehr verzögert
Beitrag von: der-Lolo am 28 Februar 2015, 20:40:19
So wie ich das sehe arbeitet DOIF sauber, du solltest schauen warum Max erst so spät meldet.
Hier bei mir melden die kontakte umgehend an Thermostate und an FHEM - maximal kann ich hier 2 sekunden verzögerung sehen.
Wie sieht es denn mit der 1% regel aus?
Hast du heute vielleicht viel zu oft die Tür auf und zu gemacht?
Titel: Antw:DOIF -2 Bedingungen -Fhem schaltet sehr verzögert
Beitrag von: CarstenF am 28 Februar 2015, 20:58:15
Ich denke ich habe da was gefunden. (Im Max-Bereich) Es könnte am Pollinginterval des Max-Cube liegen. Um den zu ändern muss ich allerdings den Maxcube komplett rausschmeißen und neu definieren. Ich werde das morgen einfach mal ausprobieren und dann nachberichten.
Danke erstmal für Eure Hilfe.
Titel: Antw:DOIF -2 Bedingungen -Fhem schaltet sehr verzögert
Beitrag von: Damian am 01 März 2015, 14:33:35
Die Verarbeitungszeit vom eingetroffenen Event bis zur Ausführung innerhalb eines DOIF-Modul dürfte im Millisekunden-Bereich liegen, da wird man keinen merkbaren Unterschied zwischen notify oder DOIF feststellen, alles was länger dauert ist mit etwas außerhalb des Modul begründet.

Gruß

Damian
Titel: Antw:DOIF -2 Bedingungen -Fhem schaltet sehr verzögert
Beitrag von: CarstenF am 02 März 2015, 20:27:03
Stimmt genau so. Habe ich jetzt auch rausgefunden. Liegt am Max-Cube und dem Polling und läßt sich nicht befriedrigend verändern. Ich werde jetzt wohl auf die CUL Lösung umstellen, der hört nämlich sofort auf die Änderungen der Stati.
Trotzdem vielen Dank an alle. ;)