Hauptmenü

perl error

Begonnen von friedel148, 01 Juni 2018, 19:41:55

Vorheriges Thema - Nächstes Thema

friedel148

Hallo
Ich möchte eine Pushnachricht bekommen wenn ein Rolltor geöffnet wird.

Dazu habe ich mir das hier zusammen gereimt:

define pushblogtor_doif DOIF ([Rolltor_Bewegung:state] = on) ({fhem("set Pushnachricht msg 'Warnung' 'Rolltor geöffnet')})

dazu bekomme ich aber folgende Fehlermeldung:

perl error in condition: ReadingValDoIf($hash,'Rolltor_Bewegung','state','','',AttrVal($hash->{NAME},'notexist',undef)) = "on": Can't find string terminator '"' anywhere before EOF at (eval 277271) line 1.

und ganz ehrlich ich verstehe nicht ein Wort.

Auch wenn ich das on in "on" ändere klappt es nicht.

Die Pushnachricht sieht so aus wie ich Sie haben will. Das passt also.

Hat jemand einen Tipp für mich?

Danke
Lars


CoolTux

Und dabei gibt es so so so viele Beispiele in der Commander zu DOIF


Ändere = in eq und on muss in Anführungszeichen "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

Frank_Huber

Und nimm den perl Modus aus dem Befehl raus. (set Push...) reicht völlig.

Gesendet von meinem Doogee S60 mit Tapatalk


friedel148

Danke hat geklappt und da ich das über Word geschrieben habe musste ich noch die Zeichen ändern Word macht " und ' anders als Sie in FHEM benutzt werden.

Wo finde ich etwas über eq als Ersatz für das = (kenne ich überhaupt nicht)

Was mich jetzt ab er noch etwas verwundert das ich nach    Save config (auf der Seite angeklickt) ein  Cannot open fhem.cfg Permission denied bekomme. Bedeutet das nach Stromausfall alles weg?

Lars



friedel148

@Frank
Äh das verstehe ich nicht wie Du das meinst.

define pushblogtor_doif DOIF ([Rolltor_Bewegung:state] eq "on") ("set Pushnachricht msg 'Warnung' 'Rolltor geöffnet'")

So ?


rischbiter123

Mit = vegleicht man numerische Werte, mit eq Strings (Worte wie on, open o.ä.) und bei
("set Pushnachricht msg 'Warnung' 'Rolltor geöffnet'")
müssen noch die Anführungszeichen weg, also
(set Pushnachricht msg 'Warnung' 'Rolltor geöffnet')

Andreas
4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2

CoolTux

Zitat von: rischbiter123 am 01 Juni 2018, 21:35:13
Mit = vegleicht man numerische Werte, mit eq Strings (Worte wie on, open o.ä.) und bei
("set Pushnachricht msg 'Warnung' 'Rolltor geöffnet'")
müssen noch die Anführungszeichen weg, also
(set Pushnachricht msg 'Warnung' 'Rolltor geöffnet')

Andreas

Unter Perl und vielen anderen Programmiersprachen ist das = ein Zuweisungsoperator. Was Du meinst ist ==
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

rischbiter123

4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2

friedel148

Super vielen Dank

Bleibt nur noch die Sache mit dem

Was mich jetzt ab er noch etwas verwundert das ich nach    Save config (auf der Seite angeklickt) ein  Cannot open fhem.cfg Permission denied bekomme. Bedeutet das nach Stromausfall alles weg?

Frank_Huber

Ja, hast richtig. [emoji3]


Prüfe mal rechte und Besitzer der fhem.cfg


Gesendet von meinem Doogee S60 mit Tapatalk


CoolTux

Zitat von: friedel148 am 01 Juni 2018, 20:43:37
Danke hat geklappt und da ich das über Word geschrieben habe musste ich noch die Zeichen ändern Word macht " und ' anders als Sie in FHEM benutzt werden.

Diesen Unsinn zusammen mit dem editieren der cfg solltest Du Dir ganz schnell wieder abgewöhnen.
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

friedel148

Das mit Word ist wirklich nicht gut. Aber an der Config war ich in diesem Fall nicht dran. Vor über einem Jahr hatte ich mal Stress mit dem CUL von Homematic und dem CUL von KNX. Dann muss ich es da wohl verbogen haben, stimmt sollte man lassen.
Mit Notepad 2 wollte ich das Schreiben und dann über die Website kopieren, spricht doch sicherlich nichts dagegen wenn man längere Befehle hat?
Danke für die Unterstützung
Lars

Frank_Huber

Man sollte NIE die cfg direkt editieren.
Langere Befehle kopierst in die def oder raw config.

Gesendet von meinem Doogee S60 mit Tapatalk


CoolTux

Zitat von: friedel148 am 01 Juni 2018, 23:10:07
Das mit Word ist wirklich nicht gut. Aber an der Config war ich in diesem Fall nicht dran. Vor über einem Jahr hatte ich mal Stress mit dem CUL von Homematic und dem CUL von KNX. Dann muss ich es da wohl verbogen haben, stimmt sollte man lassen.
Mit Notepad 2 wollte ich das Schreiben und dann über die Website kopieren, spricht doch sicherlich nichts dagegen wenn man längere Befehle hat?
Danke für die Unterstützung
Lars

Schreibe es direkt übers FHEMWEB. Einfach auf die Detailansicht des Devices gehen und dann auf DEF drücken. Da dann Deine definition für das DOIF machen und dann auf modify.
Anlegen kannst Du das DOIF ja erstmal mit kurzem Pseudocode.
Du kannst Dir auch Codemirror einrichten
https://wiki.fhem.de/wiki/Konfiguration
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