[Gelöst]BenaricHtung wenn man aus dem Haus geht das noch eine Tür oder Fenster

Begonnen von Sebastian84, 14 September 2020, 12:17:47

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

Zitat von: Sebastian84 am 26 September 2020, 10:07:21
Weiß aber nicht ob ich einfach and und if einbinden kann.

Das hatten wir doch schon mal: https://forum.fhem.de/index.php/topic,114240.msg1087044.html#msg1087044

Lesen ist nicht so deins!?

Dort wo RegEx in der "Anleitung" (commandref etc.) drauf steht ist auch nur RegEx drin ;) Bedingungen kommen dann in den Ausführungsteil. Entwerder IF dann auf fhem-Ebene oder if dann eben in Perl.

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Sebastian84

         define Uberwachung watchdog Handys_anwesend:absent 00:15 Handys_anwesend:present {fhem("set if(ReadingsVal("Haus","state","closed") eq "open  ;; fhem "set pushmsg msg 'Alarmanlage' 'Tür oder Fenster unbefugt    offen' 'sebastian' 2 'siren' 30 3600 ")}
     


Das währe doch dann über fhem im Ausführungsteil?

Beta-User

Jein. Über Perl im Ausführungsteil. Nur das "eigentlich" über die Kommandozeile gültige Kommando sollte in die fhem("...")-Klammer, das Perl-if gehört hier davor (für Spezialisten: Ja, oder dahinter, aber das ist eine Perl-Besonderheit...).

Ansonsten ist "autoreset:1" mAn. was anderes als ";;trigger w.".
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Sebastian84

  define Uberwachung watchdog Handys_anwesend:absent 00:15 Handys_anwesend:present {fhem "set if(ReadingsVal("Haus","state","closed") eq "open  ;; fhem "set pushmsg msg 'Alarmanlage' 'Tür oder Fenster unbefugt    offen' 'sebastian' 2 'siren' 30 3600 ")}

MadMax-FHEM

FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Sebastian84

define Uberwachung watchdog Handys_anwesend:absent 00:15 Handys_anwesend:present {if("Haus","state","open") {fhem "set pushmsg msg 'Alarmanlage' 'Tür oder Fenster unbefugt offen' 'sebastian' 2 'siren' 30 3600 ")}}

MadMax-FHEM

Zähl doch mal die runden Klammern...

Entweder: fhem("Befehl") oder fhem "Befehl" aber nicht fhem "Befehl")

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Sebastian84

   define Uberwachung watchdog Handys_anwesend:absent 00:15 Handys_anwesend:present {if("Haus","state","open") fhem ("set pushmsg msg 'Alarmanlage' 'Tür oder Fenster unbefugt offen' 'sebastian' 2 'siren' 30 3600 "))}

MadMax-FHEM

Wer hat geschrieben, dass die geschweiften Klammern weg sollen!?

Hier steht doch wie: https://forum.fhem.de/index.php/topic,114240.msg1087974.html#msg1087974

Und warum ist immer noch eine runde Klammer zuviel!?

Letzte Anmerkung, dann fühle ich mich echt (langsam) veräppelt...

EDIT: und warum denkst du, dass ("Haus","state","open") "plötzlich" eine Bedingung wäre!? Genaugenommen ist es nichts! Außer Parameter für den Aufruf von ReadingsVal... Und dann fehlt eben noch die Bedingung... Hattest es doch schon mal: if(ReadingsVal("Haus","state","closed") eq "open") | Habe langsam wirklich den Eindruck du schreibst was dir in den Sinn kommt, ohne auch nur einmal drüber nachzudenken, etwas bei Perl nachzulesen etc. und denkst wir würden hier für dich immer Syntax und Logik etc. prüfen... Wie geschrieben, fühle mich (langsam) veräppelt...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Sebastian84

Sorry

hab mir jetzt noch mal alle Beiträge durchgelesen.

  define Uberwachung watchdog Hausbewohner:absent 00:01 Hausbewohner:present {if(ReadingsVal("Haus","state","closed") eq "open {fhem ("set pushmsg msg 'Alarmanlage' 'Tür oder Fenster unbefugt offen' 'sebastian' 2 'siren' 30 3600 ")}}


Ich hoffe ich hab es jetzt verstanden

MadMax-FHEM

Mit Klammern zählen ist nicht so deins!?

{if(Bedingung){fhem("set device on")}}

Also:


  define Uberwachung watchdog Hausbewohner:absent 00:01 Hausbewohner:present {if(ReadingsVal("Haus","state","closed") eq "open") {fhem ("set pushmsg msg 'Alarmanlage' 'Tür oder Fenster unbefugt offen' 'sebastian' 2 'siren' 30 3600 ")}}


Wobei ich jetzt nicht bzgl. watchdog geprüft habe...

Und: warum änderst du immer von "Version" zu "Version" die "Parameter" bzgl. watchdog?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Sebastian84

Habe die structure alle handy zusammengefügt (Hausbewohner) und ich glaube das 1 Minute reichen müßte.
Damit müßte ich ja eigentlich die fehlalarme beim betreten der z.b. Eingangstuer da das wlan zu spät erkennt das jemand zuhause ist vermeiden? Da ja 1 Minute gewartet wird  und nur eine Nachricht rausgeht wenn keiner von Hausbewohner da ist nach der Minute.

MadMax-FHEM

Allerdings denke ich deine Logik bzgl. watchdog ist Quatsch...

Weil der watchdog (so ich das verstehe) doch auf "weg" reagiert und 1 min wartet ob wieder "da", wenn nicht, dann schaue ob was auf und wenn ja, dann schicke eine Nachricht...

Was du aber willst: Tür auf (du kommst nach hause) und eine Minute später prüfen, ob du (oder alle) da bist oder nicht!?

Zumindest laut deinem letzten Post...

Aber probier es aus...

Ich würde (und habe ich auch geschrieben) bei Tür auf prüfen (optional), ein at anlegen und eben später (erneut) prüfen, ob jemand zuhause ist usw...

EDIT: https://forum.fhem.de/index.php/topic,114240.msg1087004.html#msg1087004

Und damit wären wir wieder bei der Eingangsfrage: was willst du!?

Überlege es DIR, schreib es DIR auf und baue dann die Logik danach...

EDIT: weil weggehen und eine Nachricht bekommen, wenn noch was offen ist UND heimkommen (Tür auf) und prüfen, ob jemand da ist (also ein "Berechtigter" und kein "Fremder") SIND 2 KOMPLETT UNTERSCHIEDLICHE DINGE...

Viel Erfolg, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Sebastian84

     at +00:00:10 handy_.*:presence:.Abwesend {if(ReadingsVal("handy_sebastian","state","n.a.") eq "absent" && ReadingsVal("handy_patricia","state","n.a.") eq "absent" && ReadingsVal("handy_oma","state","n.a.") eq "absent" && ReadingsVal("Haus","state","closed") eq "open") {fhem("at 0 set pushmsg msg 'Alarmanlage' 'Tür oder Fenster unbefugt offen' 'sebastian' 2 'siren' 30 3600 ")} }     


Ja damit hast du recht. Leider verstehe ich nicht wo das at eingefügt werden muss.

MadMax-FHEM

Naja, wenn du mal für DICH aufschreibst WAS du willst und WAS Auslöser sind und WAS dann u.U. (später) geprüft werden soll, dann ist es doch ganz einfach...

Und deutlich schneller als immer hier irgendwas zu posten mit der Frage: und so? Oder: und jetzt? usw.

Jaja: warum poste ich nicht einfach eine Lösung!?

Weil es auf lange Sicht nichts bringt.
Es einige gepostete Lösungen gab, die (gefühlt) nicht beachtet wurden...

Wenn ich richtig verstehe willst du:

Wenn die (oder irgendeine) Tür aufgeht -> Auslöser: notify/DOIF/...

Prüfen, ob jemand zuhause ist: Bedingung

ABER: du willst das nicht sofort bzw. später (noch mal): at

Also muss das at dann ins notify für Tür auf.

Du kannst auch gleich prüfen (vielleicht hast du "Glück" und du bist auch für fhem schon "da" ;) ) und dann DORT (im notify) das at anlegen (defmod) und im at dann (nochmal) prüfen, eben zeitverzögert...

Und wie (fast) immer: es ist nicht die einzige Lösung ;)

Und: alles was du hier frägst, ob das so geht, kann man (ja auch du) einfach ausprobieren. Warten oder eben auslösen und schauen was passiert. Evtl. auch das Log nach Fehlern kontrollieren etc.

EDIT: und wenn ich mir deinen at-Vorschlag anschaue: hast du überhaupt mal geschaut WIE ein at definiert wird!? Kann ich mir nicht vorstellen! Weil so ein RegEx-Teil hat dort nix zu suchen...

EDIT: du hast alle Teile beeinander, jetzt wie geschrieben mal nachdenken und auch lesen wie was definiert wird und dann zusammenbauen. Kleine Bauanleitung: define nUeberwachung notify Tür-Auf defmod at mit Prüfung und Nachricht, falls niemand da
Optional auch gleich prüfen: define nUeberwachung notify Tür-Auf {if(niemand da){fhem("defmod at mit Prüfung und Nachricht, falls immer noch niemand da")}}

Viel Erfolg, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)