[GELÖST]Structure erstellen

Begonnen von Sebastian84, 10 September 2021, 13:22:05

Vorheriges Thema - Nächstes Thema

Sebastian84

Guten Tag
Ich möchte gerne ne Structure erstellen für Anwesenheit.
Damit ich ein Notify schreiben kann wenn Keiner da und Haus zu eine Nachricht kommt Haus ist zu
{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
Danke schon mal

betateilchen

Zitat von: Sebastian84 am 10 September 2021, 13:22:05
Ich möchte gerne ne Structure erstellen für Anwesenheit.
Damit ich ein Notify schreiben kann

und was hindert Dich jetzt konkret an Deinem Vorhaben?

https://commandref.fhem.de/#structure
https://commandref.fhem.de/#notify
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Christoph Morrison

Oder du ziehst es gleich größer auf und nimmst Residents dafür.

Sebastian84

   define Haus_abgeschlossen Notify structure_test:absent {if(ReadingsVal("Haus","state","n.a.") eq "closed"){fhem(\ " set pushmsg msg 'Haus' 'Alle Fenster,Türen und Garagen geschlossen' 'sebastian' 2 'siren'\)}

habe jetzt mal ne Structure erstellt. Leider kommt immer ne Fehlermeldung wenn ich das eingebe

MadMax-FHEM

#4
Logisch, weil dein define ja auch falsch ist:

Zitat von: commandref
define <name> structure <struct_type> <dev1> <dev2> ...
EDIT: dachte (zuerst) du hast ein Problem mit dem Definieren der structure... ;)

Was du hier hast ist eher ein notify aber notify != Notify!
EDIT: vermutlich steht im fhem Log sowas wie "unknown Module Notify" ;)

EDIT: hmm ist wohl egal ob Notify oder notify...

Zitat von: Sebastian84 am 10 September 2021, 23:47:34
Leider kommt immer ne Fehlermeldung wenn ich das eingebe
EDIT: wäre ja viel zu einfach, wenn du die Fehlermeldung gepostet hättest... ;)

UND: hast du jetzt eine structure? Wo ist diese?

Also list structure_test (das soll ja wohl die structure sein?)
EDIT: wenn die structure tut, dann ist nat. kein list nötig ;)

EDIT:
und das hier stimmt ja wohl auch nicht
Zitat
{fhem(\ " set pushmsg msg 'Haus' 'Alle Fenster,Türen und Garagen geschlossen' 'sebastian' 2 'siren'\)}
eher so:

{fhem("set pushmsg msg 'Haus' 'Alle Fenster,Türen und Garagen geschlossen' 'sebastian' 2 'siren' ")}

Wobei ich jetzt nicht weiß wozu die einfach-Hochkomma sind und ob die an den Stellen notwendig sind.
ABER: einfach den Befehl, der in der FHEMWeb-Zeile funktioniert in fhem("HIER DEN BEFEHL") packen...
EDIT: und du musst nat. auch 2x geschweift "zu machen", wenn du 2x geschweift "auf machst"!

EDIT: so gibt es zumindest (bei mir) keinen Fehler:

define Haus_abgeschlossen notify structure_test:absent {if(ReadingsVal("Haus","state","n.a.") eq "closed"){fhem("set pushmsg msg 'Haus' 'Alle Fenster,Türen und Garagen geschlossen' 'sebastian' 2 'siren' ")}}

aber wie geschrieben habe ich keine Ahnung bzgl. der "einzel-Hochkomma"...

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)

betateilchen

Zitat von: MadMax-FHEM am 10 September 2021, 23:51:01
EDIT: wäre ja viel zu einfach, wenn du die Fehlermeldung gepostet hättest... ;)

Can't find string terminator '"' anywhere before EOF at (eval 2391) line 1.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

MadMax-FHEM

Zitat von: betateilchen am 11 September 2021, 12:19:52
Can't find string terminator '"' anywhere before EOF at (eval 2391) line 1.

Ja aber wäre es nicht "netter" (hilfreicher) gewesen, wenn Sebastian84 selber die (komplette) Fehlermeldung gepostet hätte...
...statt es (wie vielfach "hier im Forum") "einen" oder "nen" Fehler zu nennen  ;D

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)

betateilchen

Zitat von: MadMax-FHEM am 11 September 2021, 12:35:28
Ja aber wäre es nicht "netter" (hilfreicher) gewesen, wenn ...

über sowas denkst Du noch nach? Zeitverschwendung  8)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Sebastian84

     
Internals:
   DEF        handy_sebastian:Abwesend {if(ReadingsVal("Haus","state","n.a.") eq "closed"){fhem("set pushmsg msg 'Haus' 'Alle Fenster,Türen und Garagen geschlossen' 'sebastian' 2 'siren' ")}}
   FUUID      613bd7bd-f33f-cdd4-3097-955a24dc58758f7d
   NAME       Haus_abgeschlossen
   NOTIFYDEV  handy_sebastian
   NR         345
   NTFY_ORDER 50-Haus_abgeschlossen
   REGEXP     handy_sebastian:Abwesend
   STATE      2021-09-11 23:15:09
   TRIGGERTIME 1631394909.79566
   TYPE       notify
   READINGS:
     2021-09-11 23:12:14   state           active
Attributes:/code]
Ich habe jetzt mal nur mein Handy ausprobiert das ich
Eine push Nachricht zu bekommen.
Bei mir steht Abwesend und Haus closed
Und pushover connected
Aber trotzdem bekomm ich keine Nachricht

MadMax-FHEM

#9
Wo sind die lists von Haus und handy_sebastian?

Wo sind die zugehörigen Ausschnitte aus dem Eventmonitor?

Tatsächlich Abwesend? Nicht absent?
Hast du ein eventMap?
Oder anderes?
(würde man mit einem list sehen)

Weil: es ist nicht interessant WAS im READING steht, sondern OB und wenn WAS für ein EVENT kommt!

EDIT: notify "selbst gebastelt" oder über Eventmonitor erstellt/erstellen lassen?

Wenn du das hier in FhemWeb-cmd eingibst:

{fhem("set pushmsg msg 'Haus' 'Alle Fenster,Türen und Garagen geschlossen' 'sebastian' 2 'siren' ")}

bekommst du eine Nachricht?

EDIT: weil wie bereits geschrieben "irritieren" mich die "einfach-Hochkommas" aber ich weiß ja nicht wie eine Nachricht zu verschicken geht. Das musst schon du wissen.

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

#10
   Internals:
   ATTR       room
   CHANGEDCNT 260
   DEF        room Balkontuer Dachfenster_GaestezL Dachfenster_GaestezR Dachfenster_HeidiZ Eingangstuer Fenster_Bad_1OG Fenster_Kinderzimmer Fenster_Bad_EG Fenster_Keller  Fenster_Kueche  Kleine_Garage Grosse_Garage Fenster_Schlafzimmer Kellertuer  Fensterkontakt_Bad_2.OG
   FUUID      5f627473-f33f-cdd4-47b9-e84aa5b0e9ff8b67
   NAME       Haus
   NOTIFYDEV  Dachfenster_GaestezL,Kleine_Garage,Fenster_Schlafzimmer,Dachfenster_GaestezR,Fenster_Bad_EG,Balkontuer,Fenster_Kinderzimmer,Kellertuer,Fensterkontakt_Bad_2.OG,Fenster_Bad_1OG,Fenster_Kueche,Eingangstuer,global,Fenster_Keller,Grosse_Garage,Dachfenster_HeidiZ
   NR         160
   NTFY_ORDER 50-Haus
   STATE      closed
   TYPE       structure
   READINGS:
     2021-09-12 07:29:29   LastDevice      Fenster_Bad_1OG
     2021-09-12 07:29:29   LastDevice_Abs  Fenster_Bad_1OG
     2021-09-12 07:29:29   state           closed
Attributes:
   clientstate_behavior relative
   clientstate_priority open|on closed|off
   devStateIcon open:ampel_rot closed:ampel_gruen
   event-on-change-reading .*
   group      Anwesenheit
   room       8_Zuhause 


 
Internals:
   ADDRESS    192.168.0.107
   DEF        lan-ping 192.168.0.107 5
   FUUID      5ecab806-f33f-b383-7dc6-8d81b875ebaea5e5
   INTERVAL_NORMAL 5
   INTERVAL_PRESENT 5
   MODE       lan-ping
   NAME       handy_sebastian
   NOTIFYDEV  global
   NR         94
   NTFY_ORDER 50-handy_sebastian
   STATE      Zuhause
   TYPE       PRESENCE
   READINGS:
     2021-09-11 04:00:21   model           lan-ping
     2021-09-12 07:32:02   presence        present
     2021-09-12 07:32:02   state           present
   helper:
     CURRENT_STATE present
Attributes:
   eventMap   absent:Abwesend present:Zuhause
   group      Anwesenheit
   room       8_Zuhause
   userattr   presence presence_map structexclude structure structure_map 
   
Notify ist selbst gebastelt
Leider kommt auchbkeine Naricht unter Web cmd
 
Events (Filter: .*)   FHEM log   ResetCreate/Modify Device


2021-09-12 08:47:32 PRESENCE handy_sebastian Abwesend
2021-09-12 08:47:32 PRESENCE handy_sebastian presence: Abwesend 




MadMax-FHEM

#11
Naja, wenn auch bei Eingabe von dem "verschicke Nachricht" Code keine Nachricht kommt, dann stimmt da eben was nicht!

Ich nutze aber msg pushmsg nicht.
EDIT: was ist pushmsg überhaupt für ein Device? list pushmsg wäre interessant oder wenigstens der TYPE...
EDIT: das hier? https://wiki.fhem.de/wiki/Pushover
Daher weiß ich nicht wie man damit Nachrichten sendet.

D.h. dank eventMap sollte das notify tun (besser nicht selbst bauen, sondern mittels Eventmonitor bauen lassen)...

EDIT: sicher gehen kann man, wenn man (zu Beginn einfach erst mal) eine Logausgabe einbaut: Log3(undef, 3, "NOTIFYNAME hat ausgelöst und Inhalt war: $EVENT")

Du musst also noch rauskriegen wie das Senden richtig lauten muss.
Hast du schon mal mittels FhemWeb-cmd eine Nachricht versendet?

EDIT: wenn ja, wie lautet(e) die Syntax?

EDIT: etwas fischen im Trüben aber es gab ja schon immer mal wieder "Probleme" mit Umlauten etc. also evtl. mal Türen -> Tueren... Das device sebastian gibt es? Weil an sich sollte die Syntax eigentlich passen. Vors. es handelt sich um oben verlinktes Modul zum Senden...
Wobei mich das hier ein wenig "verwirrt":
Zitat von: wiki
define notify_fhem_reload notify global:INITIALIZED set pushmsg msg 'fhem' 'Ich wurde neu geladen! - $EVENT' '' 0 ''
vs.
Zitat von: wiki
fhem("set pushmsg msg 'fhem' 'Das Fenster wurde geschlossen!' 0 ");
Also muss man nun Dinge wie "device" oder/und "sound" durch '' "ersetzen" oder nicht. Auch das ist fraglich und könnte Schuld sein, warum keine Nachricht kommt.
EDIT: ist bei dir wohl nicht relevant, da du ja alle Parameter hast (soweit ich das beurteilen kann)...
Übrigens hast du hier doch ein Aufrufbeispiel mittels fhem("set ...") ;)
Wie geschrieben: ich verwende das nicht, daher kann ich nur raten...

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)

MadMax-FHEM

#12
Andere Frage (hatte ich doch richtig im Kopf ;)  ):

versuchst du immer noch/wieder dasselbe Thema (immer wieder mal von vorne, erneut [unstrukturiert]) anzugehen?
https://forum.fhem.de/index.php/topic,114240.msg1085036.html#msg1085036

Funktioniert das doch nicht?
Wobei kann ja nicht sein ;) https://forum.fhem.de/index.php/topic,114240.msg1094100.html#msg1094100

Oder wo ist da jetzt genau der Unterschied?
Die "Aufgabe" liest sich ähnlich...
Und wenn ähnlich/gleich, dann ist das https://forum.fhem.de/index.php/topic,114240.msg1094103.html#msg1094103 wohl leider nicht passiert :-\
(hattest ja eigentlich alle Hilfsmittel schon mal erläutert bekommen, oder? Siehe z.B.: https://forum.fhem.de/index.php/topic,114240.msg1087120.html#msg1087120 )

Dort hast du doch eine Nachricht wie sie (eventuell?) ja funktioniert drin:
Zitat von: https://forum.fhem.de/index.php/topic,114240.msg1085036.html#msg1085036"
fhem("set pushmsg msg 'Alarmanlage' 'Kleine Garage unbefugt offen' 'sebastian' 2 'siren' 30 3600 ")
EDIT: geht/ging das nun oder (doch) nicht? Wenn du einfach diese Nachricht schicken lässt, also nur zum Test. Vorher halt mal mittels FhemWeb-cmd testen:

{fhem("set pushmsg msg 'Alarmanlage' 'Kleine Garage unbefugt offen' 'sebastian' 2 'siren' 30 3600 ")}

Wenn die Aussage am Ende des Threads (dass es funktioniert) stimmt, dann sollte ja eine Nachricht kommen. Wenn (doch/auch damit) nicht, dann mal prüfen warum nicht (mehr). Und wie (auch schon mal) geschrieben eine Logausgabe einbauen, um zu sehen, ob das "selbstgebaute" notify tatsächlich getriggert wird...

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)

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Sebastian84

#14
    Internals:
   CFGFN     
   DEF        handy_sebastian:absent {if(ReadingsVal("Haus","state","n.a.") eq "closed"){fhem "set pushmsg msg 'Haus' 'Alle Fenster und Türen zu' 'sebastian' 0 'bugle' "}}
   FUUID      613e5fde-f33f-cdd4-a8d0-e52e17004c8d7f41
   NAME       Haus_abgeschlossen1
   NOTIFYDEV  handy_sebastian
   NR         21169
   NTFY_ORDER 50-Haus_abgeschlossen1
   REGEXP     handy_sebastian:absent
   STATE      active
   TRIGGERTIME 1631481529.55392
   TYPE       notify
   READINGS:
     2021-09-12 23:18:51   state           active
Attributes:
   room       8_Zuhause



Damit habe ich es jetzt hinbekommen.
Aber leider werde ich jetzt mit Narichen geflutet. Ich würde gerne nur eine Naricht bekommen.
Ich wollte auch gerne handy_oma dazu nehem. Nur wenn ich die einzeln eingebe geht der Notify.