(Gelöst) DOIF -2 Bedingungen -Fhem schaltet sehr verzögert

Begonnen von CarstenF, 28 Februar 2015, 18:52:05

Vorheriges Thema - Nächstes Thema

CarstenF

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
Raspberry Pi4
CUL 868, CUL 433, LaCrosse Gateway, Zigbeetomqtt2, HUE, Homematic
Max-Cube umgeflasht
MAX!, FhemtoFhem, Homebridge, FhemConnector, IR_Gateway und sonst auch noch allerlei Spielzeug....

Mathea

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

der-Lolo

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.

CarstenF

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.
Raspberry Pi4
CUL 868, CUL 433, LaCrosse Gateway, Zigbeetomqtt2, HUE, Homematic
Max-Cube umgeflasht
MAX!, FhemtoFhem, Homebridge, FhemConnector, IR_Gateway und sonst auch noch allerlei Spielzeug....

CarstenF

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.  ;)
Raspberry Pi4
CUL 868, CUL 433, LaCrosse Gateway, Zigbeetomqtt2, HUE, Homematic
Max-Cube umgeflasht
MAX!, FhemtoFhem, Homebridge, FhemConnector, IR_Gateway und sonst auch noch allerlei Spielzeug....

marvin78

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.

der-Lolo

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?

CarstenF

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.
Raspberry Pi4
CUL 868, CUL 433, LaCrosse Gateway, Zigbeetomqtt2, HUE, Homematic
Max-Cube umgeflasht
MAX!, FhemtoFhem, Homebridge, FhemConnector, IR_Gateway und sonst auch noch allerlei Spielzeug....

Damian

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
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

CarstenF

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. ;)
Raspberry Pi4
CUL 868, CUL 433, LaCrosse Gateway, Zigbeetomqtt2, HUE, Homematic
Max-Cube umgeflasht
MAX!, FhemtoFhem, Homebridge, FhemConnector, IR_Gateway und sonst auch noch allerlei Spielzeug....