HM-Sec-RHS mit HM-SEC-SD verbinden als Alarmanlage

Begonnen von Tommy82, 12 September 2014, 20:11:22

Vorheriges Thema - Nächstes Thema

frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Tommy82

Fensterkontakte ist das structure
Internals:
   ATTR       Ueberwachung
   DEF        Ueberwachung Fenster_neben_Couch Fenster_ueber_Heizung Terassen_Tuer
   NAME       Fensterkontakte
   NR         128
   NTFY_ORDER 50-Fensterkontakte
   STATE      ???
   TYPE       structure
   Content:
     Fenster_neben_Couch 1
     Fenster_ueber_Heizung 1
     Terassen_Tuer 1
Attributes:
   clientstate_behavior relative
   clientstate_priority IrgendwasIstOffen|open|tiled AllesZu|closed
   event-on-change-reading state
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

frank

mit structure kenne ich mich gar nicht aus. fang doch mal einfach an. nimm einen kontakt bis es funktioniert. gerade am anfang, wenn man noch keinen plan hat. kleine einfache schritte. wie früher beim laufen lernen ;)
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Tommy82

Den Tip mit dem structure hatte ich weiter vorne bekommen :-)

Was wäre denn der kleinste schritt?
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Tommy82

So, hab mal alles gelöscht, und beginne nun neu.

Als erstes hab ich einen Dummy angelegt:
Zitatdefine Alarmanlage_Neu dummy

ein list ergibt
Internals:
   CFGFN
   NAME       Alarmanlage_Neu
   NR         244
   STATE      ???
   TYPE       dummy
Attributes:
   group      Einbruchalarm


Dann habe ich über ein
Zitatdefine alarmOff at *06:00:00 set Alarmanlage_Neu off
festgelegt wann die Alarmanlage ausgeschaltet werden soll.

ein list ergibt
Internals:
   CFGFN
   DEF        *06:00:00 set Alarmanlage_Neu off
   NAME       alarmOff
   NR         288
   REP        -1
   STATE      Next: 06:00:00
   TRIGGERTIME 1413518400
   TRIGGERTIME_FMT 2014-10-17 06:00:00
   TYPE       at
Attributes:
   group      Einbruchalarm


Dann habe ich die Alarmanlage eingeschaltet wenn alles zu ist und zwar so:
Zitatdefine alarmOn at *23:00:00 IF [Terassen_Tuer:closes]  (set Alarmanlage_Neu on) ELSE ( { FB_mail('xyt@googlemail.com','FHEM Fenster Offen',Alarm kann nicht aktiviert werden, Fenster oder Tür noch offen' ) } )

Ein list ergibt:
Internals:
   CFGFN
   DEF        *23:00:00 IF [Terassen_Tuer:closes]  (set Alarmanlage_Neu on) ELSE ( { FB_mail('xyt@googlemail.com','FHEM Fenster Offen',Alarm kann nicht aktiviert werden, Fenster oder Tür noch offen' ) } )
   NAME       alarmOn
   NR         334
   REP        -1
   STATE      Next: 23:00:00
   TRIGGERTIME 1413493200
   TRIGGERTIME_FMT 2014-10-16 23:00:00
   TYPE       at
Attributes:
   group      Einbruchalarm


Ist das soweit richtig oder hab ich schon einen Fehler gemacht?

Danke für die Hilfe
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Pfriemler

Tommy, die Fehlermeldungen in Deinen ersten Versuchen hast Du nicht genug ausgemerzt. Ich habe Dir keine fehlerfreie Version liefern können, aber es fängt schon damit an, dass Du meine Vorgaben zusätzlich fehlerhaft umgesetzt hast. Die [ ] um "Fensterkontakte" bspw. sind m.W. unbedingt erforderlich. Evtl. sogar ein angehängtes :state vor der ]. Weiterhin hätte mich interessiert, ob Deine Structure fehlerfreie Werte liefert. Was kommen sollte, schrieb ich ja. Außerdem habe ich die Richtigkeit der Mailbenachrichtigung nicht prüfen können - aber die Probleme hast Du ja selbst gemerkt. Wie Frank schon richtig sagte: Jede Komponente erst prüfen und dann Schritt für Schritt aufbauen. Und natürlich zum Testen nervenschonende Aktoren verwenden - ich nehme da auch irgendwelche Aktoren zum Testauslösen oder mein MP3-Sprachausgabemodul...

Was ist [Terassen_Tuer:closes]? ich kenne nur den Status "closed".

Ich bin jetzt ein paar Tage offline, danach teste ich mal die Structure bei mir (stehe vor ähnlicher Aufgabe), möglich, dass ich da einen Fehler habe, bei Dir stand der Status noch auf ???, da hätte längst was passiert sein müssen.  Spätestens, wenn Du mehr als die Terassentür prüfen willst, könnte die wieder helfen... Erklärung liefere ich dann wenn es bei mir läuft.

Alarmanlage_Neu? naja, is Dein FHEM.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Tommy82

#51
So, ich fang dann jetzt nochmal von vorne an.

Ich habe jetzt die structure so angelegt:
define TuerFensterWohnzimmer structure Ueberwachung Fenster_neben_Couch Fenster_ueber_Heizung Terassen_Tuer

Wie kann ich denn Testen ob diese funktioniert?

ein list des structure sieht so aus:
Internals:
   ATTR       Ueberwachung
   CFGFN
   DEF        Ueberwachung Fenster_neben_Couch Fenster_ueber_Heizung Terassen_Tuer
   NAME       TuerFensterWohnzimmer
   NR         432
   NTFY_ORDER 50-TuerFensterWohnzimmer
   STATE      ???
   TYPE       structure
   Content:
     Fenster_neben_Couch 1
     Fenster_ueber_Heizung 1
     Terassen_Tuer 1
Attributes:
   group      Einbruchalarm
   room       Wohnzimmer



Dann habe ich dem structure diese 3Attribute mit gegeben:

attr TuerFensterWohnzimmer clientstate_behavior relative
attr TuerFensterWohnzimmer clientstate_priority IrgendwasIstOffen|open|tiled AllesZu|closed
attr TuerFensterWohnzimmer event-on-change-reading state


Dann sieht das List so aus:
Internals:
   ATTR       Ueberwachung
   CFGFN
   DEF        Ueberwachung Fenster_neben_Couch Fenster_ueber_Heizung Terassen_Tuer
   NAME       TuerFensterWohnzimmer
   NR         432
   NTFY_ORDER 50-TuerFensterWohnzimmer
   STATE      ???
   TYPE       structure
   Content:
     Fenster_neben_Couch 1
     Fenster_ueber_Heizung 1
     Terassen_Tuer 1
Attributes:
   clientstate_behavior relative
   clientstate_priority IrgendwasIstOffen|open|tiled AllesZu|closed
   event-on-change-reading state
   group      Einbruchalarm
   room       Wohnzimmer



Dann habe ich denn Dummy angelegt:
define Alarmanlage_Wohnzimmer dummy
ein list ergibt:
Internals:
   CFGFN
   NAME       Alarmanlage_Wohnzimmer
   NR         465
   STATE      ???
   TYPE       dummy
Attributes:
   group      Einbruchalarm
   room       Wohnzimmer


Dann hab ich den alarmoff gesetzt über ein
define alarmOff at *06:00:00 set Alarmanlage_Wohnzimmer off
Ein list ergibt da
Internals:
   CFGFN
   DEF        *06:00:00 set Alarmanlage_Wohnzimmer off
   NAME       alarmOff
   NR         476
   REP        -1
   STATE      Next: 06:00:00
   TRIGGERTIME 1413604800
   TRIGGERTIME_FMT 2014-10-18 06:00:00
   TYPE       at
Attributes:
   group      Einbruchalarm


Dann den alarmon gesetzt über
define alarmOn at *21:00:00 IF ([TuerFensterWohnzimmer] eq "AllesZu") (set Alarmanlage_Wohnzimmer on) ELSE ( { FB_mail('xyz@googlemail.com','FHEM Fenster Offen',Alarm kann nicht aktiviert werden, Fenster oder Tür noch offen' ) } )

Ein list ergibt:
Internals:
   CFGFN
   DEF        *21:00:00 IF ([TuerFensterWohnzimmer] eq "AllesZu") (set Alarmanlage_Wohnzimmer on) ELSE ( { FB_mail('xyz@googlemail.com','FHEM Fenster Offen',Alarm kann nicht aktiviert werden, Fenster oder Tür noch offen' ) } )
   NAME       alarmOn
   NR         509
   REP        -1
   STATE      Next: 21:00:00
   TRIGGERTIME 1413572400
   TRIGGERTIME_FMT 2014-10-17 21:00:00
   TYPE       at
Attributes:
   group      Einbruchalarm


Und dann noch das notify
define SendAlarm notify (Fenster.*:open|Terrassen_Tuer:open) IF ([Alarmanlage_Wohnzimmer] eq "on") (set FritzDect_Wohnzimmerschrank on , { FB_mail('xyz@googlemail.com','FHEM Alarm!!!','Alarm ausgelöst durch $NAME' ) } )

Das list sieht dann so aus:
Internals:
   CFGFN
   DEF        (Fenster.*:open|Terrassen_Tuer:open) IF ([Alarmanlage_Wohnzimmer] eq "on") (set FritzDect_Wohnzimmerschrank on , { FB_mail('xyz@googlemail.com','FHEM Alarm!!!','Alarm ausgelöst durch $NAME' ) } )
   NAME       SendAlarm
   NR         574
   NTFY_ORDER 50-SendAlarm
   REGEXP     (Fenster.*:open|Terrassen_Tuer:open)
   STATE      active
   TYPE       notify
Attributes:
   group      Einbruchalarm


So, dann mal sehen was jetzt gleich passiert..........


So Terassen_Tuer geöffnet nach 21:00, und nichts passiert..... Allerdings auch keine Meldung im EventMonitor, im Log gibts folgenden Fehler:
2014.10.17 21:00:00.026 3: alarmOn: Unrecognized character \xC3; marked by <-- HERE after ter oder T<-- HERE near column 220 at (eval 55473) line 1.

Der Fehler wäre weg, lag an dem "Ü" in Tür, muss ue geschrieben werden. Ist das bei allen in Fhem so?

Aber es gibt jetzt einen neuen Fehler:
2014.10.17 21:20:00.168 3: alarmOn: Bad name after offen' at (eval 555) line 1.
Hier war der Fehler das noch ein ' Fehlte

JUHU im Log steht:
Zitat2014.10.17 21:30:02.659 3: Mail sent to xyz@googlemail.com
und sie kommt auch noch an:-)
Das Problem ist nur das ich die Email bekommen hab das noch ein Fenster Offen sei, nur sind alle zu :-(
Alle drei sind zu:

Fenster_neben_Couch
closed
Fenster_ueber_Heizung
closed
Terassen_Tuer
closed


Das würde ja auf eienen Fehler im structure Hinweisen oder? Aber da find ich nichts, vieleicht sieht da ja einer den Fehler.

Danke
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Pfriemler

Yep, da hakt wohl das Structure. Das liefert normalerweise in der Übersicht (des rooms, in welchem es plaziert ist) den Status in Echtzeit zum Mitlesen. Behavior relative soll bedeuten, dass sich der Status immer in Abhängigkeit der anderen Structure-Mitglieder ändert, priority fasst die möglichen Zustände in Gruppen, getrennt durch |, zusammen. Die Structure nimmt dann den in der Gruppe erstgenannten Zustand ein. So sollte es reichen, dass eines der Mitglieder "open" oder "tiled" (ist das richtig für "gekippt"?) einnimt, um der Structure den Zustand "IrgendwasIstOffen" zu geben, alle "closed" wären dann "AllesZu". Soweit die Theorie...
"Event-on-change-reading state" soll ein Notify nur dann feuern, wenn sich der Zustand wirklich ändert, und nicht etwa wenn das Structure durch eine wiederholte Meldung eines Sensors im Status bekräftigt wird. Wenn ich's genau überlege ... später.
Teste doch mal bitte, ob die Structure einen Wert liefert, und dann welchen bei alles zu, eins offen und alle offen.

Geht nich gips nich

"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Tommy82

Das list der structure sieht so aus:
Internals:
   ATTR       Ueberwachung
   DEF        Ueberwachung Fenster_neben_Couch Fenster_ueber_Heizung Terassen_Tuer
   NAME       TuerFensterWohnzimmer
   NR         141
   NTFY_ORDER 50-TuerFensterWohnzimmer
   STATE      AllesZu
   TYPE       structure
   Content:
     Fenster_neben_Couch 1
     Fenster_ueber_Heizung 1
     Terassen_Tuer 1
   Readings:
     2014-10-17 21:50:58   LastDevice      Fenster_ueber_Heizung
     2014-10-17 21:50:58   LastDevice_Abs  Fenster_ueber_Heizung
     2014-10-17 21:50:58   state           AllesZu
Attributes:
   clientstate_behavior relative
   clientstate_priority IrgendwasIstOffen|open|tiled AllesZu|closed
   event-on-change-reading state
   group      Einbruchalarm
   room       Wohnzimmer


Wenn ich das richtig interpretiere ist ja eigentlich alles zu!?

Hab dann mal das Fenster geöffnet, dann sieht das list so aus:
Internals:
   ATTR       Ueberwachung
   DEF        Ueberwachung Fenster_neben_Couch Fenster_ueber_Heizung Terassen_Tuer
   NAME       TuerFensterWohnzimmer
   NR         141
   NTFY_ORDER 50-TuerFensterWohnzimmer
   STATE      AllesZu
   TYPE       structure
   Content:
     Fenster_neben_Couch closed
     Fenster_ueber_Heizung tilted
     Terassen_Tuer closed
   Readings:
     2014-10-19 10:45:50   LastDevice      Fenster_ueber_Heizung
     2014-10-19 10:45:50   LastDevice_Abs  Fenster_ueber_Heizung
     2014-10-19 10:45:50   state           AllesZu
Attributes:
   clientstate_behavior relative
   clientstate_priority IrgendwasIstOffen|open|tiled AllesZu|closed
   event-on-change-reading state
   group      Einbruchalarm
   room       Wohnzimmer


Also werden die Status änderungen ja erkannt, seltsam ist nur das der der Status immer noch AllesZu ist, der müsste doch jetzt Offen sein!?
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

frank

Zitatclientstate_priority IrgendwasIstOffen|open|tiled AllesZu|closed
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Tommy82

#55
Zitat von: frank am 19 Oktober 2014, 10:54:02

Danke für den Hinweis, muss natürlich
Zitattilted
heissen, Also jetzt mal neuer Versuch:-)

So, jetzt funktioniert es, bekomme eine Mail wenn noch was offen ist

Jetzt würde ich noch gerne einen Button anlegen, worüber ich die Alarmanlage ON/Off schalten kann, also auch ausserhalb der definierten Zeiten On Schalten kann und wärend der definierten Zeiten OFF

Hab dafür den Dummy mal so erweitert:
Internals:
   NAME       Alarmanlage_Wohnzimmer
   NR         142
   STATE      on
   TYPE       dummy
   Readings:
     2014-10-19 11:27:00   state           on
Attributes:
   group      Einbruchalarm
   room       Wohnzimmer
   webCmd     On:Off


Ist das so richtig?

Und wird der Button von dem notify geschlagen? Also sprich ich setz über den Button die Alarmanlage auf On , weil ich zwei Tage in Urlaub bin, und das notify sagt aber Jeden Morgen um 6:00 geht die Alarmanlage off.  Was passiert dann?

Danke
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

frank

Zitatdas notify sagt aber Jeden Morgen um 6:00 geht die Alarmanlage off.
dann wird das natürlich auch ausgeführt. du musst das notify auf deine neue logik ändern. dazu würde ich dem dummy noch einen dritten status "auto" spendieren und dann die notify-logik mit dem dummy kombinieren.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Tommy82

#57
Also hab das Dummy dann jetzt so geändert
Internals:
   NAME       Alarmanlage_Wohnzimmer
   NR         142
   STATE      Off
   TYPE       dummy
   Readings:
     2014-10-19 11:40:21   state           Off
Attributes:
   group      Einbruchalarm
   room       Wohnzimmer
   webCmd     On:Off:Auto


und das at dann  so:
define alarmOn at *23:00:00 IF ([Alarmanlage_Wohnzimmer] "On","Auto") then IF ([TuerFensterWohnzimmer] eq "AllesZu") (set Alarmanlage_Wohnzimmer on) ELSE ( { FB_mail('xyz@googlemail.com','FHEM Fenster Offen','Alarm kann nicht aktiviert werden, Fenster oder Tuer noch offen' ) } )

Wäre das so richtig? Muss ich dann das at für alarmoff auch so ändern? Oder doch das notify?

Das notify sieht im Moment so aus:
Internals:
   DEF        (Fenster.*:open|Terrassen_Tuer:open) IF ([Alarmanlage_Wohnzimmer] eq "on") (set FritzDect_Wohnzimmerschrank on , { FB_mail('Th.Halberstadt@googlemail.com','FHEM Alarm!!!','Alarm ausgelöst durch $NAME' ) } )
   NAME       SendAlarm
   NR         144
   NTFY_ORDER 50-SendAlarm
   REGEXP     (Fenster.*:open|Terrassen_Tuer:open)
   STATE      active
   TYPE       notify
Attributes:
   group      Einbruchalarm


Danke

Wie müsste das notify aussehen, so ?
ZitatIF ([Alarmanlage_Wohnzimmer] eq "on", "Auto")
?
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Pfriemler

Zitat von: Tommy82 am 19 Oktober 2014, 11:18:47
Danke für den Hinweis, muss natürlich tilted heissen...
Siehste - das kann ich eben nicht wissen, weil ich den RHS nicht habe und mich auf Deine Angaben verlassen habe. Also die Structure geht. Punkt für mich ::)
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Tommy82


Zitat von: Pfriemler am 20 Oktober 2014, 21:29:37
Siehste - das kann ich eben nicht wissen, weil ich den RHS nicht habe und mich auf Deine Angaben verlassen habe. Also die Structure geht. Punkt für mich ::)

Hast recht:-) Strukturen funktioniert.
Morgen Versuch ich mich mal wieder an der Erweiterung mit dem on/off/Auto button
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI