Hallo ich habe mal wieder eine Idee die ich ohne Hilfe nicht umsetzen kann :D
Ich habe meine Klingelkamera jetzt endlich erfolgreich eingebunden.
Situation:
Klingelknopf --> Videoserver MotionDetect --> http Notify an fhem--> Tablet Display für 60sec an --> Problem da iframe in einem anderen Room --> Frage im Forum :-\
Ist es denn möglich das iframe global aufpoppen zu lassen?
Vielleicht hat jemand ein ähnliches Scenario bereits verwirklicht.
Ich habe FHEMWEB gerade leicht erweitert, um sowas einfacher machen zu koennen. Nach einem update (ab morgen!) sollte folgendes funktionieren:
Zitat
fhem> trigger WEB JS:FW_okDialog("HellO")
fhem> trigger WEB JS:location="/fhem?room=KaKu"
Das ist ja super!
Ich freue mich auf Morgen. :D Danke
Funktioniert einwandfrei! Vielen Dank dafür. ;)
Du musst zusätzlich das Attribut do always setzen (siehe Commandref zu DOIF).????
Ich verstehe. Es wird jedoch nor für 60sekunden in den Room und dann zurückgewechselt. Es geht schnell und zuverlässig. Mein Standard Room ist Küche. Was würde es noch bringen?
Ich habe dazu noch eine Frage...
Meine Klingel löst dummerweise beim ausschalten der Kamera noch einmal das notify aus. Ich habe schon ein Sleep dahinter gesetzt, welches aber das Notify nicht daran hindert noch einmal zu reagieren.... Dafür brauch ich wohl einen "if" Befehl vornweg oder? Hat da jemand eine Idee???
EsKlingelt.*|cmd=trigger%20EsKlingelt ; trigger WEB JS:location="/fhem?room=Überwachung" ; {UDP_Msg("192.168.2.6" , "wolido:displayon")} ; sleep 3 ; set androidTablet ttsSay Es hat geklingelt ; set samsungTablet ttsSay Es hat geklingelt ; sleep 39 ; trigger WEB JS:location="/fhem?room=Küche" ; {UDP_Msg("192.168.2.6" , "wolido:displayoff")} ; sleep 60
Ich habe mal die Zeile umformatiert, damit ich es einfacher lesen kann:
EsKlingelt.*|cmd=trigger%20EsKlingelt
;
trigger WEB JS:location="/fhem?room=Überwachung" ;
{UDP_Msg("192.168.2.6" , "wolido:displayon")} ;
sleep 3 ;
set androidTablet ttsSay Es hat geklingelt ;
set samsungTablet ttsSay Es hat geklingelt ;
sleep 39 ;
trigger WEB JS:location="/fhem?room=Küche" ;
{UDP_Msg("192.168.2.6" , "wolido:displayoff")} ;
sleep 60
- ich finde das Regexp auf cmd=trigger%20EsKlingelt mehr als merkwuerdig, und vermute, dass es ueberfluessig ist. Am besten konsultiert man das Event Monitor, um zu wissen, welche Events generiert werden.
- das erste ; danach ist vmtl. ueberfluessig
- das letzte "sleep 60" verursacht eine Minute Stillstand in FHEM, da danach kein Befehl kommt. Ist mindenstens fragwuerdig. Da FHEM (hoffentlich) keine Events verliert, hilft es auch nicht um das Ausloesen eines notifies zu vermeiden. Merke: FHEM ist _NICHT_ multithreaded. Ein sleep gefolgt von einem Befehl ist gleichwertig mit einem namenlosen at Definition, nur speichern kann man es nicht.
- ich kann nicht erkennen, wieso das notify erneut aufgerufen wird, dazu braucht man vermutlich ein Log mit einem hoeheren verbose.
Es wird noch einmal ausgelöst, da die Klingelkamera beim abschalten im Videoserver ein motiondetect auslöst, welches über http notify die ganze Kette noch einmal in Gang setzt. Deshalb habe ich am Ende das sleep 60 eingesetzt. So scheint es aber nicht zu funktionieren. Die Klingelanlage schaltet die Kamera nach 60 Sekunden ab
Um notify zu deaktivieren kann man "attr notify disable" bzw. "deleteattr notify disable" verwenden.
Sleep hilft nicht.
Ich glaube ich greife den Klingelknopf irgendwie ab. Dann geht es sicher. Der Videoserver besitzt ja einen Alarm-Schaltkontakt
mit DOIF sollte das funktionieren,in der commandref zum Modul steht:
Zwangspause für das Ausführen eines Kommandos seit der letzten Zustandsänderung
Mit dem Attribut cmdpause <Sekunden für cmd_1>:<Sekunden für cmd_2>:... wird die Zeitspanne in Sekunden angegeben für eine Zwangspause seit der letzten Zustandsänderung. In der angegebenen Zeitspanne wird ein Kommando nicht ausgeführt, auch wenn die dazugehörige Bedingung wahr wird.
Super.
Danke für den Tip.
Ich schaffe es jedoch nicht das ganze zu definieren. :-[
Wie könnte der Code dafür aussehen?
gab es noch eine Antwort auf die Frage nach dem Code ?
Ich habe es mit doif leider nie zum laufen bekommen. Im Moment lebe ich mangels Zeit noch mit diesem
Problem.
Gesendet von iPhone mit Tapatalk
cmdpause hab ich sinnvoll bei dem Klingelsensor Notify eingesetzt mit 30 Sekunden ..
attr Klingel_push cmdpause 30
seitdem kommt nur eine Meldung wenn jemand an der Tür klingelt ...
ich bleib da mal dran und melde mich ...
Gruss Harway