Notify mit zwei Bedingungen (if Funktion)

Begonnen von Mellowback, 29 Mai 2016, 13:21:29

Vorheriges Thema - Nächstes Thema

Mellowback

Hallo zusammen,

Ich habe folgende Situation:

Meine Steckdose_1 soll angeschaltet werden sobald der Türkontakt "Terrasse" auf "Open" steht und es soll geprüft werden ob der virtuelle Schalter "Arlamanlage" auf "On" steht.

Code:

define Alarmanlage dummy
attr Alarmanlage  setList on off

define Terrasse_auf_Licht_an notify Terrasse { if ( Value("Terrasse") eq "open" && Value(,,Alarmanlage setList") eq ,,on")   { fhem("set Funksteckdose_1 on") } }

Leider funktioniert es nicht und ich habe so ziemlich alle forum Beiträge zum Thema gelesen, leider ohne Erfolg.

Im Logfile bekomme ich folgende Meldung:

Terrasse_auf_Licht_an notify Return value: unrecognized character \xE2; marked by <-- here after  && Value (<--

Vorab danke






splat

Hallo, soviel Ahnung habe ich jetzt auch nicht. Aber ich denke es liegt an einem falschen Zeichen

du hast
define Terrasse_auf_Licht_an notify Terrasse { if ( Value("Terrasse") eq "open" && Value(,,Alarmanlage setList") eq ,,on")   { fhem("set Funksteckdose_1 on") } }


und es sollte
define Terrasse_auf_Licht_an notify Terrasse { if ( Value("Terrasse") eq "open" && Value("Alarmanlage setList") eq ,,on")   { fhem("set Funksteckdose_1 on") } }

so aussehen. Es betrifft das Zeichen von Alarmanlage.
wobei ich jetzt auch nicht weis ob das setlist sein muss bzw darf.



Mellowback

Hallo,

Das war leider nicht die Lösung.

Im Logfile steht jetzt folgendes:

Terrasse_auf_Licht_an  ... \xE2; marked by <-- here aflter List") eq <-- Near column 272 at (eval 5685) line 1.

budy

Oha... drei verschiedene Arten von Anführungszeichen in einem Befehl, das ist schon mal was. Am besten mal mit einem Editor arbeiten, der keine automatische Ersetzung von Anführungszeichen vornimmt... ;)

Oder aber die Eingabezeile im WebIF verwenden...
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

Mellowback

Hallo,


habe nochmal alle Anführungszeichen nach oben gesetzt:



define Terrasse_auf_Licht_an notify Terrasse { if ( Value("Terrasse") eq "open" && Value("Alarmanlage setList") eq "on")   { fhem("set Funksteckdose_1 on") } }


Leider immer noch der gleiche Fehler wie vorhin beschrieben.
Hat es vielleicht etwas damit zu tun das er den Status des Arlamanlage Schalters nicht abfragt? Oder wartet die Funktion auf ein On von der Arlamanlage?


Danke

dev0


Mellowback

Auch das habe ich angepasst.

Es geht trotzdem nicht :(

define Alarmanlage dummy
attr Alarmanlage  setList on off

define Terrasse_auf_Licht_an notify Terrasse { if ( Value("Terrasse") eq "open" && Value("Alarmanlage") eq "on")   { fhem("set Funksteckdose_1 on") } }

CoolTux

#7
Es wäre schön wenn Du Code Tags verwenden würdest. Macht alles etwas übersichtlicher.


define Terrasse_auf_Licht_an notify Terrasse.Open { if Value("Alarmanlage") eq "on")   { fhem("set Funksteckdose_1 on"); } }


Vorausgesetzt ist natürlich das Deine Terrassentür auch ein Event liefert. Also Eventmonitor beobachten.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Mellowback

Hallo,

Das event der Terrasse ist "Open" das nimmt er auch. Scheinbar checkt er aber nicht das die Dumme Alarmanlage auf On steht

CoolTux

Dann schreibe in die if Abfrage doch ein On. Also wirklich großes O


define Terrasse_auf_Licht_an notify Terrasse.Open { if Value("Alarmanlage") eq "On")   { fhem("set Funksteckdose_1 on"); } }


Was sagt denn das Log dazu?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Mellowback

Geht immer noch nicht.

Log bringt folgenden Fehler:

Terrasse_auf_Licht_an notify Return value: unrecognized character \xC2; marked by <-- here after  eq On (<-- hear near column 145 at (eval 7237) line 1

CoolTux

#11
Sorry mein Fehler. Hinter if eine (


define Terrasse_auf_Licht_an notify Terrasse.Open {
                              if( Value("Alarmanlage") eq "on") {
                                        fhem("set Funksteckdose_1 on");
                              }
}
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Mellowback


Mellowback

Liegt es vielleicht am Schalter dummy selber ?

define Alarmanlage dummy
attr Alarmanlage  setList on off

CoolTux

Also dann ja doch ein kleines on. Wie ist den der STATE vom Dummy aktuell?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net