Warum wird hier keine Push Nachricht gesendet ?

Begonnen von Trebor5, 24 November 2013, 21:25:01

Vorheriges Thema - Nächstes Thema

Trebor5

Hallo alle zusammen,

ich habe folgendes Problem .
Ich möchte wenn die Alarmanlage nach dem einschalten im Wartezustand ist und ein Fenster noch open oder tilted ist, ich eine Push Nachricht bekomme und die Anlage nicht auf Scharf geschaltet wird.

So weit so gut das habe ich dafür geschrieben.

define act_on_SCHARF_on notify Finger_Print:open {fhem("set ANLAGE_STATUS warten ;; define act_on_FENSTER1_on notify FENSTER.*:open { if (Value("ANLAGE_STATUS") eq "warten") {NMA_send("Fenster noch offen","FENSTER NOCH OFFEN! Alarmanlage ausschalten und Fenster kontrolieren",2,"Robert")}} ;; define act_on_FENSTER1_on notify FENSTER.*:tilted { if (Value("ANLAGE_STATUS") eq "warten") {NMA_send("Fenster noch offen","FENSTER NOCH OFFEN! Alarmanlage ausschalten und Fenster kontrolieren",2,"Robert")}} ;; set Flurlicht on ;; define verzoegert_Flurlicht_ein at +00:00:11 set Flurlicht off ;; define verzoegert_scharf at +00:00:20 set ANLAGE_STATUS scharf" )}

Jetzt ist es so das die Anlage scharf geschaltet wird obwohl ein Fenster noch gekippt ist.

Wo habe ich hier denn Gedankenfehler?
Odroid N2,Hauptsensoren Homematic + 1 Wire + 8Kanal Homematic auf Relay Schaltung. Forum Beiträge sind meine letzte Hoffnung nach Stundenlangen erfolglosen suchen und probieren.

OiledAmoeba

Moin,

wenn ich es auf die Schnelle richtig sehe, wartet fhem hier auf eine Fenster-Meldung (notify). Kannst Du sicherstellen, dass nach "Anlage-Status warten" ein Trigger auf Fenster kommt? Sonst wird das nix.

Und irgendwie stört mich "define act_on_FENSTER1_on notify FENSTER.*:open" und sofort danach "act_on_FENSTER1_on notify FENSTER.*:tilted"... Auf was willst Du jetzt reagieren? Offenes oder gekipptes Fenster?
Eigentlich sollte im Log schon ein Hinweis sein, dass es so nicht klappen kann. Da müsste sinngemäß stehen "act_on_FENSTER1_on already defined" oder "delete act_on_FENSTER1_on first", oder so was.

Tipp: Kopier den Code mal in Notepad++, schmeiß erstmal fhem("") raus, setz die Sprache auf perl und setz sinnvoll Zeilenumbrüche in den Code. Dann dürfte das klarer aussehen. Macht auch die Fehlersuche leichter ;-)
Gruß
Florian

Jail auf XigmaNAS (freeBSD); CCU2 mit CULv3, nanoCUL868 und JeeLink-Clone; div. FS20-Komponenten; andFHEM; div. hm- und hmip-Komponenten; div. IT+

Trebor5

Hallo OiledAmoeba,

ich möchte eigentlich nur wenn die Alarmanlage eingeschaltet wird , diese kurz in einen Wartezustand bringen um abzuchecken ob noch ein Fenster offen oder gekippt ist. Ist das der fall soll es eine Push Nachricht geben damit die Fenster geschlossen werden können.Die Anlage soll nicht scharf werden und das Flurlicht sollte immer an sein somit sieht man auch Optisch das noch ein Fenster auf ist falls mal kein Handy zur hand ist oder Akku leer usw.

Dann muss die Anlage halt wieder ausgeschaltet werden und das Flurlicht sollte auch aus gehen.

Ich habe alles mehrfach umgestellt, vom Code her aber leider bin ich nicht der Perl Crack. Lese mich gerade in das Buch Einführung in Perl ein.

Denn fehler mit define act_on_FENSTER1 habe ich gesehen es muss dann halt Fenster1 und Fenster2 sein.

Habe Notepad++ immer im Einsatz.

Hättest du noch einen anderen Tipp da ich mit schmeiß erstmal fhem("") raus nicht wirklich was anfangen kann?

Die Anlage funzt ja aber ich möchte halt noch die Abfrage zusätzlich einbauen.

Odroid N2,Hauptsensoren Homematic + 1 Wire + 8Kanal Homematic auf Relay Schaltung. Forum Beiträge sind meine letzte Hoffnung nach Stundenlangen erfolglosen suchen und probieren.

Puschel74

Moin,

da open und tilted des Fensters ja das selbe auslösen sollen - eine Push-nachricht sollte als regexp auch sowas funktionieren:

define act_on_FENSTER1_on notify FENSTER.*:(open|tilted) ...

Ob die Klammern um open|tilted sein müssen kann ich jetzt nicht sagen - ausprobieren.
Das würde den Code zumindest schon beinahe halbieren  ;) und die Fehlersuche evtl. erleichtern.

Grüsse
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.

OiledAmoeba

Sorry, hatte diesen Thread irgendwie aus den Augen verloren. Was ich mit FHEM rausschmeißen meinte: Schreibe den Code in notepad++ so, das du nichts in fhem"" einfasst.
So kannst du das Code-Highlighting von notepad++ benutzen. Durch die Gänsefüßchen erkennt notepad++ das als Variable/String und highlighted das nicht.

Gesendet von meinem GT-I9100 mit Tapatalk

Gruß
Florian

Jail auf XigmaNAS (freeBSD); CCU2 mit CULv3, nanoCUL868 und JeeLink-Clone; div. FS20-Komponenten; andFHEM; div. hm- und hmip-Komponenten; div. IT+

netbus

hallo,
ich möchte genau das gleiche umsetzen nur halt mit TTS.
Wie ich sehe bekommst du nur irgendein offenes Fenster gemeldet aber nicht welches genau.
Hast du das auch schon umgesetzt?