Frage zur Syntax von "" und / in *.pm Dateien

Begonnen von tklein, 20 Februar 2017, 18:55:13

Vorheriges Thema - Nächstes Thema

tklein

Hallo mal wieder :-)

da mein Coder nicht korrekt ausgeführt wird bzw. Fehler/Warnings erscheinen nun meine Frage wie ich folgende Codezeilen in meiner 99_myUtils.pm korrekt schreiben müsste?


fhem ("set Pushover_Client msg "TEST Gelber Sack" ")
system("curl -s -F 'token=xxx' -F 'user=yyy' -F 'message=Biotonne wird heute abgeholt' https://api.pushover.net/1/messages.json");


Muss ich die " " bei msg schützen? Der Curlaufruf funktioniert leider auch nicht.

Wie müsste ich es coden, wenn ich mit  if ($Kalendertext =~ /Gelber Sack.../) exakt auf Gelber Sack/Gelbe Tonne abfragen möchte? Müsste hier der / geschützt werden?

Viele Grüße
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

CoolTux

Zitat von: tklein am 20 Februar 2017, 18:55:13

Muss ich die " " bei msg schützen? Der Curlaufruf funktioniert leider auch nicht.

Wie müsste ich es coden, wenn ich mit  if ($Kalendertext =~ /Gelber Sack.../) exakt auf Gelber Sack/Gelbe Tonne abfragen möchte? Müsste hier der / geschützt werden?

Viele Grüße


If( $Kalendertext eq 'Gelber Sack')


Hier würde exakt auf Gelber Sack geprüft werden. Da darf dann aber auch nicht anderes drinnen sein.
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

tklein

thx, da steht aber "Gelber Sack/Gelbe Tonne" drin. Ginge dann

If( $Kalendertext eq 'Gelber Sack/Gelbe Tonne')

oder stört dann das /?
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

CoolTux

Der Slash sollte meines Erachtens nicht stören. Probiere es aus. Man kann ja bisschen rumtesten. Das Value muss aber halt wirklich exakt so sein.
Das was Du als Beispiel hattest geht auch. Ist halt RegEx, wenn du da eingrenzen willst machst am Anfang ein ^ und am Ende ein $
Also

If($Kalendertext =~ /^Gelber Sack\/Gelbe Tonne$/)


Hier musst du aber escapen.
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

tklein

Danke, kannst du mir auch nocht bitte bei dem curlaufruf bzw. mit dem msg-Text helfen? Habe da schon einiges ausprobiert...
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

CoolTux

Vorschlag meiner Seits. Ich bin gerade zu faul für Dich zu schauen wie es geht, spiele gerade mit meinem Sohn Feuerwehr mit echten Wasser und das halbe Bad steht schon unter Wasser.

Daher meine Empfehlung. Installiere das Pushover Modul und Du brauchst diesen komplexen Aufruf nicht. Gibt ja nicht um sonst das einfach gehaltene Modul. Und da kann ich Dir dann zur Not schneller  helfen wenn es um die Syntax geht.


Grüße
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

tklein

aber ich habe doch schon ein Modul vom Typ Pushover, daher ja auch fhem ("set Pushover_Client msg "TEST Gelber Sack" ")

Dann such mal schnell die Saugpumpe raus und viel Spass. :-)
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

CoolTux

Zitat von: tklein am 20 Februar 2017, 19:43:50
aber ich habe doch schon ein Modul vom Typ Pushover, daher ja auch fhem ("set Pushover_Client msg "TEST Gelber Sack" ")

Dann such mal schnell die Saugpumpe raus und viel Spass. :-)

Erst der Großbrand dann die Saugpumpe. Die Spielzeugindustrie tut aber auch alles dafür das Kind und Eltern gleichzeitig beschäftigt sind.


fhem("set pushmsg msg 'Müllinfo' 'Gelber Sack wird abgeholt' '' 0 ''");

Achte bitte auf die Anzahl und Art der Hochkommata.
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

tklein

jau da gibt es auch schon kleine Makitas uns Stihls. :-)

ist pushmsg vom Typ Pushover_Client? Müllinfo wäre der Titel und Gelber... die msg? Wofür steht die 0?
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

CoolTux

Zitat von: tklein am 20 Februar 2017, 20:15:58
jau da gibt es auch schon kleine Makitas uns Stihls. :-)

ist pushmsg vom Typ Pushover_Client? Müllinfo wäre der Titel und Gelber... die msg? Wofür steht die 0?

Der Aufbau eines set Befehls ist ja immer gleich in FHEM

set DEVICE Command Argumentliste


in meinem Beispiel ist also 'pushmsg' mein Pushover Devicename. 'Müllinfo' ist der Titel/Überschrift und 'Gelber Sack wird abgeholt' der Inhalt der Message. Die Null gibt die Priorität an. Du kannst ja je nach Priorität einen anderen Sound einstellen. Ich verwende 0 normal und 1 wichtig. Null macht pling und 1 macht Alienalarm.
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

tklein

mein Code

fhem("set Pushover_Client msg 'Müllinfo' 'Gelber Sack wird abgeholt'  ' ' 0 ' ' ");

funktioniert immer noch nicht. Kann es sein, das vor und nach der 0 jeweils ein ' zu viel ist?
Werde jetzt aufs Sofa gehen und morgen weitermachen....
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

CoolTux

Wie genau lautet denn die Fehlermeldung. Einfach nur geht nicht ist doof, da würde ich dann sagen kann auch nicht gehen hat ja keine Beine  ;D
Und wenn Du es eins zu eins von mir übernimmst? Geht es dann auch nicht?
Versuch es erstmal in der CMD Line von FHEM. Also im Webfrontend oben die Eingabezeile in FHEM. Natürlich ohne das fhem("

Also nur


set pushmsg msg 'Müllinfo' 'Gelber Sack wird abgeholt' '' 0 ''


Achtung das sind alles einzelne Hochkommata keine Gänsefüße dabei wie man so schön sagt. Die stehen nur eng beisammen.
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

tklein

da wird der Hund in der Pfanne verrückt....

über die Befehlszeile klappt der Versand.


set Pushover_Client msg 'Müllinfo' 'Gelber Sack wird abgeholt' ' ' 0 ' '


Mit dem Code nicht. Der Wert wird korrekt auf ja gesetzt

    if ($Kalendertext =~ /Gelber Sack/) {
            fhem("set Gelber_Sack ja");
    fhem("set Pushover_Client msg 'Müllinfo' 'Gelber Sack wird abgeholt' '' 0 '' ");


Es werden weder bei erfolgreicher noch fehlgeschlagenem Versand Infos im Log/Eventmonitor angezeigt. Werde den verbose-Wert mal ändern.
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

automatisierer

es gibt für Pushover seit ein paar Wochen iene neue Syntax, die alte soll zwar noch vollumfänglich funktionieren, ich hatte da allerdings auch ein paar Problemchen mit. Nach umstellen auf die neue funktioniert alles...

https://fhem.de/commandref_DE.html#Pushover

CoolTux

Zitat von: tklein am 21 Februar 2017, 12:12:52
da wird der Hund in der Pfanne verrückt....

über die Befehlszeile klappt der Versand.


set Pushover_Client msg 'Müllinfo' 'Gelber Sack wird abgeholt' ' ' 0 ' '


Mit dem Code nicht. Der Wert wird korrekt auf ja gesetzt

    if ($Kalendertext =~ /Gelber Sack/) {
            fhem("set Gelber_Sack ja");
    fhem("set Pushover_Client msg 'Müllinfo' 'Gelber Sack wird abgeholt' '' 0 '' ");


Es werden weder bei erfolgreicher noch fehlgeschlagenem Versand Infos im Log/Eventmonitor angezeigt. Werde den verbose-Wert mal ändern.

Wird denn Dein Dummy korrekt gesetzt. Also springt das Notify überhaupt an?
Pushover scheint ja zu gehen wenn es über die cmd geht.
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