FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: friedel148 am 01 Juni 2018, 19:41:55

Titel: perl error
Beitrag von: friedel148 am 01 Juni 2018, 19:41:55
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

Titel: Antw:perl error
Beitrag von: CoolTux am 01 Juni 2018, 19:47:14
Und dabei gibt es so so so viele Beispiele in der Commander zu DOIF


Ändere = in eq und on muss in Anführungszeichen "on"
Titel: Antw:perl error
Beitrag von: Frank_Huber am 01 Juni 2018, 20:33:18
Und nimm den perl Modus aus dem Befehl raus. (set Push...) reicht völlig.

Gesendet von meinem Doogee S60 mit Tapatalk

Titel: Antw:perl error
Beitrag 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.

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


Titel: Antw:perl error
Beitrag von: friedel148 am 01 Juni 2018, 20:47:18
@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 ?

Titel: Antw:perl error
Beitrag 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
Titel: Antw:perl error
Beitrag von: CoolTux am 01 Juni 2018, 21:37:29
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 ==
Titel: Antw:perl error
Beitrag von: rischbiter123 am 01 Juni 2018, 21:41:59
Hast Recht, sorry. :-[
Titel: Antw:perl error
Beitrag von: friedel148 am 01 Juni 2018, 21:44:53
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?
Titel: Antw:perl error
Beitrag von: Frank_Huber am 01 Juni 2018, 21:58:30
Ja, hast richtig. [emoji3]


Prüfe mal rechte und Besitzer der fhem.cfg


Gesendet von meinem Doogee S60 mit Tapatalk

Titel: Antw:perl error
Beitrag von: CoolTux am 01 Juni 2018, 22:17:36
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.
Titel: Antw:perl error
Beitrag 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
Titel: Antw:perl error
Beitrag von: Frank_Huber am 01 Juni 2018, 23:17:25
Man sollte NIE die cfg direkt editieren.
Langere Befehle kopierst in die def oder raw config.

Gesendet von meinem Doogee S60 mit Tapatalk

Titel: Antw:perl error
Beitrag von: CoolTux am 01 Juni 2018, 23:22:50
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