Ich möchte zwei Dummy-Variablen (pushover_heizungsstatus_hilke und pushover_heizungsstatus_gunther : an/aus) nutzen, um einstellen zu können, ob beim Statuswechsel der Heizung auf 1 eine Pushnachricht an meine Frau oder mich gesendet wird.
Leider bekomme ich immer eine Fehlermeldung, weiß aber nicht was falsch ist.
Das steht im DEV des notify:
heizung_Status:1
{if (Value("pushover_heizungsstatus_hilke") eq 'ja') { fhem "set Pushover msg title="Heizungsstatus" Die Heizung steht auf Tagbetrieb. device='IPhone8Hilke' "}};;
{if (Value("pushover_heizungsstatus_gunther") eq 'ja') { fhem "set Pushover msg title="Heizungsstatus" Die Heizung steht auf Tagbetrieb. device='IPhone7GB' "}};;
Habe diverse Klammer und Anführungsstrich-Optionen, die mir sinnvoll erschienen erfolglos getestet.
Folgende Fehlermeldung kommt:
syntax error at (eval 4205595) line 1, near ""set Pushover msg title="Heizungsstatus"
Habt Ihr einen Tipp für mich?
Oder sollte ich auf ein DOIF umsteigen?
Klammern falsch...
define nNotify notify Device:Regex {if(Bedingung1){fhem("fhem-Befehl1")}if(Bedingung2){fhem("fhem-Befehl2")}}
Ergo: deine erste "if-Zeile" macht Perl "auf" und Perl am Ende auch wieder "zu" Was danach kommt, also 2tes if ist dann "falsch"...
EDIT: die Strichpunkte sind auch unnötig ;)
Du brauchst für EINEN Auslöser doch nicht auf DOIF umsteigen... ;)
{ -> Perl } -> fhem
Siehe: https://wiki.fhem.de/wiki/Klammerebenen und auch https://wiki.fhem.de/wiki/Notify
Anmerkung: lass die Verwendung von Value! Value greift auf STATE (ja das INTERNAL!!!) zu! Das wird z.B. durch stateFormat beeinflusst! Besser ReadingsVal("Device", "Reading", "Ersatzwert") oder ReadingsNum...
Gruß, Joachim
Danke Dir!
Schaue ich mir die Tage an.
die fehlermeldung bezieht sich wohl aber auf die anführungszeichen.
beim "verschachteln" von anführungszeichen musst du unterschiedliche verwenden.
"set Pushover msg title='Heizungsstatus'......"
Zitat von: frank am 12 Januar 2022, 23:44:12
die fehlermeldung bezieht sich wohl aber auf die anführungszeichen.
beim "verschachteln" von anführungszeichen musst du unterschiedliche verwenden.
"set Pushover msg title='Heizungsstatus'......"
Stimmt, das kommt noch dazu ;)
Die "Strichlein" waren wohl zu klein für mein Auge ;)
Gruß, Joachim
Zitat von: frank am 12 Januar 2022, 23:44:12
die fehlermeldung bezieht sich wohl aber auf die anführungszeichen.
beim "verschachteln" von anführungszeichen musst du unterschiedliche verwenden.
"set Pushover msg title='Heizungsstatus'......"
Seh ich genauso, wobei alle anderen Erläuterungen ja nicht falsch waren.
Hier
eine Möglichkeit es auch mit weniger Klammern umzusetzen :
heizung_Status:1
{return fhem ("set Pushover msg title='Heizungsstatus' Die Heizung steht auf Tagbetrieb. device='IPhone8Hilke'") if ReadingsVal('pushover_heizungsstatus_hilke','state','false') eq 'ja';
return fhem ("set Pushover msg title='Heizungsstatus' Die Heizung steht auf Tagbetrieb. device='IPhone7GB'") if ReadingsVal('pushover_heizungsstatus_gunther','state','false') eq 'ja';}
Danke Euch!
Habe nun folgendes über die Kommandozeile in FHEM erfolgreich getestet:
{if (ReadingsVal('pushover_heizungsstatus_gunther','state','false') eq 'an') { fhem "set Pushover msg Die Heizung steht auf Tagbetrieb. title='Heizungsstatus' device='IPhone7GB' "}}
also wenn
pushover_heizungsstatus_gunther auf "an" steht, geht die Nachricht raus. bei "aus" nicht.
So soll es sein.
Aber: Im notify funktioniert das nicht. Wenn ich das Dummy auf 1 schalte, passiert leider nix.
So sieht DEV des notifys aus:
heizung_Status:1
{if (ReadingsVal('pushover_heizungsstatus_gunther','state','false') eq 'an') { fhem "set Pushover msg Die Heizung steht auf Tagbetrieb. title='Heizungsstatus' device='IPhone7GB' "}};;
Habe ich noch einen Denkfehler?
Eventuell hast Du event-on-change-reading gesetzt?
Hast Du im Eventmonitor geschaut, ob da auch ein event kommt, wenn Du heizung_Status:1 auf 1 schaltest.
Dort kannst Du auch direkt das notify erstellen, damit ist es dann immer richtig.
Danke für Deine Antwort!
Im Dummy ist kein event-in-change-reading gesetzt.
Event kommt. Wenn ich auf nötige anlegen gehe, steht dort dasselbe wie in meinem Notify (vorne).
Komisch
Poste doch mal ein list vom notify und vom dumy.
Und Auszüge aus dem Eventmonitor...
Gruß, Joachim
Hier die lists
Internals:
DEF heizung_Status:1
{if (ReadingsVal('pushover_heizungsstatus_gunther','state','false') eq 'an') { fhem "set Pushover msg Die Heizung steht auf Tagbetrieb. title='Heizungsstatus' device='IPhone7GB' "}};;
FUUID 5ce57bec-f33f-7b68-92f7-61af80f8f0bda645
NAME notify_heizungsstatus_pushover_1
NOTIFYDEV heizung_Status
NR 3681
NTFY_ORDER 50-notify_heizungsstatus_pushover_1
REGEXP heizung_Status:1
STATE 2022-01-14 06:20:00
TRIGGERTIME 1642137604.33378
TYPE notify
READINGS:
2022-01-13 23:18:03 state active
2022-01-14 06:20:00 triggeredByDev heizung_Status
2022-01-14 06:20:00 triggeredByEvent 1
Attributes:
room Logik,Logik_Heizung
Internals:
CFGFN
FUUID 61df3f9e-f33f-7b68-b9c8-660b20ca8bd29e5c
NAME pushover_heizungsstatus_gunther
NR 69429
STATE an
TYPE dummy
READINGS:
2022-01-13 23:17:16 state an
Attributes:
alias Schalter: Aktivieren und Deaktivieren Pushnachricht Heizungsstatus gunther
group Status
room G_Dummydevices,Logik,Logik_Heizung
setList an aus
webCmd an:aus
list heizung_Status wäre noch gut und eben Eventmonitor auch von heizung_Status ;)
dummy wäre nicht nötig gewesen (schadet aber auch nicht) , sorry...
Gruß, Joachim
Es sind die zwei Semikolon in der DEF des notify die da nix zu suchen haben.
Eins ginge, wenn man da unbedingt eines stehen haben will ;D
Zitat von: MadMax-FHEM am 14 Januar 2022, 16:34:31
list heizung_Status wäre noch gut und eben Eventmonitor auch von heizung_Status ;)
Internals:
FUUID 5ce57bec-f33f-7b68-be9b-126e2189c5658e4b
NAME heizung_Status
NR 3665
STATE 1
TYPE dummy
READINGS:
2022-01-14 06:20:00 state 1
Attributes:
comment 1 = Tag / Anwesend
2 = Nacht / Schlafen
3 = Abwesend / Urlaub / Nottemperatur
group Status
room G_Dummydevices,Haus,Logik,Logik_Heizung
setList 1 2 3
sortby 01
webCmd 1:2:3
Event Monitor:
2022-01-14 23:12:16 dummy heizung_Status 2
2022-01-14 23:12:22 dummy heizung_Status 1
2022-01-14 23:12:23 dummy heizung_Status 1
keine Reaktion im Event Monitor vom notify...