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

tklein

du meinst, ob set Gelber_Sack ja ausgeführt wird? Ja. Den Wert ändere ich manuell, nach dem Update ist der Wert auf Ja gesetzt. Nur die Nachricht wird nicht versendet. Kann ich mit echo etc. eine Ausgabe in FHEM vornehmen?
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


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


Bitte eins zu eins kopieren. Kopie paste!!!
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

habe es byteweise kopiert. :-)

traue mich es aber nicht zu schreiben. Es passiert nur die Wertänderung mit "set Gelber_Sack ja" Kein Versand. Habe aus dem String auch schon das "ü" durch "ue" ersetzt. Keine Änderung.
Muss ich eigenlich nach jeder Änderung in der .pm Datei eine shutdown restart machen?
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 21 Februar 2017, 14:45:17
habe es byteweise kopiert. :-)

traue mich es aber nicht zu schreiben. Es passiert nur die Wertänderung mit "set Gelber_Sack ja" Kein Versand. Habe aus dem String auch schon das "ü" durch "ue" ersetzt. Keine Änderung.
Muss ich eigenlich nach jeder Änderung in der .pm Datei eine shutdown restart machen?

Was genau ist denn die pm Datei? Meinst Du die 99_myUtils_NAME.pm
Dann JAAAAA   ;D oder eleganter reload 99_myUtils_NAME.pm oben in der CMD Line
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

ganau die meinte ich. :-)

Stimmt mit dem reload hätte ich drauf kommen müssen. Habe es auch schon mal bei der 96_SIP.pm gemacht.

Muss ich meinen "Pushi" evtl. von überall verfügbar machen? Global?


define Pushover_Client Pushover qwertzui qiewiurititititizti
attr Pushover_Client room Actions


Mit einer Scriptdatei die ich in der Konsole aufrufe bekomme ich die Nachricht gesendet.


/opt/fhem/fhem.pl 7072  "set Pushover_Client msg 'Temperatur' 'Daten geschrieben' '' 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 21 Februar 2017, 15:07:47
ganau die meinte ich. :-)

Stimmt mit dem reload hätte ich drauf kommen müssen. Habe es auch schon mal bei der 96_SIP.pm gemacht.

Muss ich meinen "Pushi" evtl. von überall verfügbar machen? Global?


define Pushover_Client Pushover qwertzui qiewiurititititizti
attr Pushover_Client room Actions


Mit einer Scriptdatei die ich in der Konsole aufrufe bekomme ich die Nachricht gesendet.


/opt/fhem/fhem.pl 7072  "set Pushover_Client msg 'Temperatur' 'Daten geschrieben' '' 0 ''"


Nee da musste nichts global machen. Wenn das ganze über die cmd von FHEMWEB geht dann muß es auch aus 99er Dateien oder notifys raus gehen.

Du kannst ja zu Testzwecken einfach ein Notify erstellen was auf irgendwas triggert und da dann mal { fhem "set push bla bla"; } eintragen.
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

automatisierer

mal mit neuer Syntax versuchen?!?

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


... :-X


tklein

#22
nachdem ich ans Ende noch die " geschrieben hatte, bekomme ich nach dem Spreichern folgenden Meldung:

syntax error at ./FHEM/99_myUtils.pm line 42, near ""set Pushover_Client msg title=Müllinfo message="Gelber Sack "


Mit dem Notify war ich erfolgreich.
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

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


Also ich konnte eben testen. Das hier klappt super bei mir. Habe es in der cmd eingegeben als Perlbefehl


{ fhem("set Pushover_Client msg title='Müllinfo' Gelber Sack wird abgeholt priority=0") }
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 ist jetzt der wurm drin. jetzt wird der wert ja bei gelben sack nicht mehr gesetzt. werde mir das morgen mal wieder anschauen
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

Poste Mal deine gesamt sub wie sie jetzt aus sieht.
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

mache ich doch glatt :-)


sub Kalenderstart ($)
{
    my ($Ereignis) = @_;
    my @Ereignisarray = split(/.*:\s/,$Ereignis);
    my $Ereignisteil1 = $Ereignisarray[1];
    my @uids=split(/;/,$Ereignisteil1);
    foreach my $uid (@uids) {
        my $Kalendertext = fhem("get Muelltonnen_Kalender summary $uid");
        if ($Kalendertext =~ /Biomüll/) {
            fhem("set Bio_Tonne ja");
fhem("set Pushover_Client msg 'Müllinfo' 'Biomüll wird abgeholt' '' 0 '' ");
        };
        if ($Kalendertext =~ /Gelber Sack/) {
           fhem("set Gelber_Sack ja");
    #fhem("set Pushover_Client msg title=2Müllinfo message='2Gelber Sack wird abgeholt' priority=0");
#fhem("set Pushover_Client msg 'Müllinfo1' '1Gelber Sack wird abgeholt' '' 0 '' ");
#fhem("set Gelber_Sack ja");
       };

if ($Kalendertext =~ /Restmüll 4-Wo/) {
            fhem("set Restmuell_Tonne ja");
fhem("set Pushover_Client msg 'Müllinfo' 'Restmüll wird abgeholt' '' 0 '' ");
        };
        if ($Kalendertext =~ /Papier/) {
            fhem("set Papier_Tonne ja");
fhem("set Pushover_Client msg 'Müllinfo' 'Papiertonne wird abgeholt' '' 0 '' ");
        };
    };
}
sub Kalenderende ($) {
    my ($Ereignis) = @_;
    my @Ereignisarray = split(/.*:\s/,$Ereignis);
    my $Ereignisteil1 = $Ereignisarray[1];
    my @uids=split(/;/,$Ereignisteil1);
    foreach my $uid (@uids) {
        my $Kalendertext = fhem("get Muelltonnen_Kalender summary $uid");
        if ($Kalendertext =~ /Biomüll/) {
            fhem("set Bio_Tonne nein");
        };
        if ($Kalendertext =~ /Restmüll 4-Wo/) {
            fhem("set Restmuell_Tonne nein");
        };
if ($Kalendertext =~ /Gelber Sack/) {
            fhem("set Gelber_Sack nein");
        };
        if ($Kalendertext =~ /Papier/) {
            fhem("set Papier_Tonne nein");
        };
    };
}

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


sub Kalenderstart ($)
{
    my ($Ereignis) = @_;
    my @Ereignisarray = split(/.*:\s/,$Ereignis);
    my $Ereignisteil1 = $Ereignisarray[1];
    my @uids=split(/;/,$Ereignisteil1);
    foreach my $uid (@uids) {
        my $Kalendertext = fhem("get Muelltonnen_Kalender summary $uid");
        if ($Kalendertext =~ /Biomüll/) {
            fhem("set Bio_Tonne ja");
fhem("set Pushover_Client msg 'Müllinfo' 'Biomüll wird abgeholt' '' 0 ''");
        };
        if ($Kalendertext =~ /Gelber Sack/) {
           fhem("set Gelber_Sack ja");
    #fhem("set Pushover_Client msg title=2Müllinfo message='2Gelber Sack wird abgeholt' priority=0");
#fhem("set Pushover_Client msg 'Müllinfo1' '1Gelber Sack wird abgeholt' '' 0 ''");
#fhem("set Gelber_Sack ja");
       };

if ($Kalendertext =~ /Restmüll 4-Wo/) {
            fhem("set Restmuell_Tonne ja");
fhem("set Pushover_Client msg 'Müllinfo' 'Restmüll wird abgeholt' '' 0 ''");
        };
        if ($Kalendertext =~ /Papier/) {
            fhem("set Papier_Tonne ja");
fhem("set Pushover_Client msg 'Müllinfo' 'Papiertonne wird abgeholt' '' 0 ''");
        };
    };
}
sub Kalenderende ($) {
    my ($Ereignis) = @_;
    my @Ereignisarray = split(/.*:\s/,$Ereignis);
    my $Ereignisteil1 = $Ereignisarray[1];
    my @uids=split(/;/,$Ereignisteil1);
    foreach my $uid (@uids) {
        my $Kalendertext = fhem("get Muelltonnen_Kalender summary $uid");
        if ($Kalendertext =~ /Biomüll/) {
            fhem("set Bio_Tonne nein");
        };
        if ($Kalendertext =~ /Restmüll 4-Wo/) {
            fhem("set Restmuell_Tonne nein");
        };
if ($Kalendertext =~ /Gelber Sack/) {
            fhem("set Gelber_Sack nein");
        };
        if ($Kalendertext =~ /Papier/) {
            fhem("set Papier_Tonne nein");
        };
    };
}




Einzig und allein was ich gemacht habe, war die Doppelten Anführungsstriche am Ende des pushover Commands ran zu ziehen an den letzten einfachen Anführungsstrich.
Kannst Du bitte damit mal testen
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

vielen lieben Dank.

Ich bin kurz vor dem Aufgeben. Brauche glaube ich etwas Pause. Mache am WE damit weiter.
Habe die ICS-Datei angepasst, dass heute der Gelbe Sack geholt wird. Einmal wurde der Wert auf Ja gesetzt. Bei ersten Boot des Raspis. Danach hat er den Wert nicht mehr geändert.
Vielleicht kann ich das am WE lösen.
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

Das wird dann wohl daran liegen weil Du noch nicht gesagt hast wie oder was Deine Funktion auf ruft. Notify oder doif.
Desweiteren hilft es sich Ausgaben in die Funktion einzubauen. Ein einfaches printf würde schon helfen.
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 habe ich die hier:


define Muelltonnen_Kalender_EventStart notify Muelltonnen_Kalender:modeStart.* { Kalenderstart("$EVENT");; }
define Muelltonnen_Kalender_EventEnde notify Muelltonnen_Kalender:modeEnd.* { Kalenderende("$EVENT");; }
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

tklein

wo müsste ich die Ausgabe denn sehen? Im Log oder EventMonitor?


fhem("set Pushover_Client msg 'Müllinfo' 'Biomüll wird abgeholt' '' 0 '' ");
printf "1";
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

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

@CoolTux:

Vielen vielen Dank für Deine Geduld/Infos.

Jetzt klappt es mit dem Versenden. Ich habe nur noch einen "Dreher" in den Subs. Daher wird der Wert nicht immer korrekt gesetzt. Nur beim initialen Start klappt es einmal. ::)
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

Kannst du mir das an Hand Deines Codes erklären? Wo und wie ist da ein Dreher und wie genau äußert es sich?
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

mache ich sobald ich das kann. :-) Momentan geht der nicht in das Sub Kalenderstart rein, bzw. nur einmal wenn ich den Rapsi starte. Dann wird der Wert korrekt gesetzt und die Nachricht gesendet.

Aber die If's scheinen nicht immer korrekt zu funktionieren:


sub Kalenderstart ($)
{
    my ($Ereignis) = @_;
    my @Ereignisarray = split(/.*:\s/,$Ereignis);
    my $Ereignisteil1 = $Ereignisarray[1];
    my @uids=split(/;/,$Ereignisteil1);
print "Kalenderstart TK";
    foreach my $uid (@uids) {
        my $Kalendertext = fhem("get Muelltonnen_Kalender summary $uid");
        if ($Kalendertext =~ /Biomüll/) {
            fhem("set Bio_Tonne ja");
fhem("set Pushover_Client msg 'Müllinfo' 'Biomüll wird abgeholt' '' 0 '' ");
printf "x1x";
        };
        if ($Kalendertext =~ /Gelber Sack/) {
           fhem("set Gelber_Sack ja");
    #fhem("set Pushover_Client msg title=2Müllinfo message='2Gelber Sack wird abgeholt' priority=0");
#fhem("set Pushover_Client msg 'Müllinfo1' '1Gelber Sack wird abgeholt' '' 0 '' ");
#fhem("set Gelber_Sack ja");
#fhem("set Pushover_Client msg 'Müllinfo' 'Papiertonne wird abgeholt' '' 0 ''");
printf "x2x";
       };

if ($Kalendertext =~ /Restmüll 4-Wo/) {
            fhem("set Restmuell_Tonne ja");
#fhem("set Pushover_Client msg 'Müllinfo' 'Restmüll wird abgeholt' '' 0 '' ");
fhem("set Pushover_Client msg 'Müllinfo1' '1Gelber Sack wird abgeholt' '' 0 ''");
printf "x3x";
        };
        if ($Kalendertext =~ /Papier/) {
            fhem("set Papier_Tonne ja");
fhem("set Pushover_Client msg 'Müllinfo' 'Papiertonne wird abgeholt' '' 0 '' ");
printf "x4x";
        };
    };
}
sub Kalenderende ($) {
    my ($Ereignis) = @_;
    my @Ereignisarray = split(/.*:\s/,$Ereignis);
    my $Ereignisteil1 = $Ereignisarray[1];
    my @uids=split(/;/,$Ereignisteil1);
print "Kalenderende TK";
    foreach my $uid (@uids) {
        my $Kalendertext = fhem("get Muelltonnen_Kalender summary $uid");
        if ($Kalendertext =~ /Biomüll/) {
            fhem("set Bio_Tonne nein");
printf "xAx";
        };
        if ($Kalendertext =~ /Restmüll 4-Wo/) {
            fhem("set Restmuell_Tonne nein");
printf "xBx";
        };
if ($Kalendertext =~ /Gelber Sack/) {
            fhem("set Gelber_Sack nein");
printf "xCx";
        };
        if ($Kalendertext =~ /Papier/) {
            fhem("set Papier_Tonne nein");
printf "xDx";
        };
    };
}



Logausgabe:

Kalenderende TK2017.02.23 19:40:22 3: get Muelltonnen_Kalender summary 0461b08c048beb0802d31f874884a305 : Papier
xDx2017.02.23 19:40:22 3: get Muelltonnen_Kalender summary cff5462f84b0362fef4f90bb6956215c : Gelber Sack/Gelbe Tonne
xCx2017.02.23 19:40:22 3: get Muelltonnen_Kalender summary 0d4e66098c87df7e9daf1b0394d224f0 : Biomüll
xAx2017.02.23 19:40:22 3: get Muelltonnen_Kalender summary 309ec636b1d605f03cea23e8070353c1 : Biomüll
xAx 2017.02.23 19:40:22 3: get Muelltonnen_Kalender summary 8eb4e93dc855645d129be17f508f5d09 : Gelber Sack/Gelbe Tonne
xCx 2017.02.23 19:40:22 3: get Muelltonnen_Kalender summary 331ed1c1dc836852e2b156ae12c3f07f : Schadstoffmobil
2017.02.23 19:40:22 3: get Muelltonnen_Kalender summary bc93fb375ed3f8be1e891dad9bf0d1e7 : Gelber Sack/Gelbe Tonne
xCx 2017.02.23 19:40:22 3: get Muelltonnen_Kalender summary c1db86495b0a3c9faf002838be21d789 : Restmüll 4-Wo
xBx 2017.02.23 19:40:22 3: get Muelltonnen_Kalender summary befa20c1f62df2ab9f195aa1c7ed9d6c : Gelber Sack/Gelbe Tonne
xCx 2017.02.23 19:40:22 3: get Muelltonnen_Kalender summary b1ff4559ae5fa04397c3213283493dd2 : Biomüll
xAx 2017.02.23 19:40:22 3: get Muelltonnen_Kalender summary 03c658b4f53e669ff3d010b7800408dd : Papier
xDx 2017.02.23 19:40:22 3: get Muelltonnen_Kalender summary 57c9525d003aa2eb574f3d6e3474a2ce : Restmüll 4-Wo


Man sollte meinen, das bei gleicher Entsorgungsart immer der gleiche String davor steht. Ist aber nicht. Restmüll hat mal "xCx" und mal "xDx"
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

Das stimmt schon alles so. Du musst immer eine Zeile runter gehen

erste zeile und anfang zweite
get Muelltonnen_Kalender summary 0461b08c048beb0802d31f874884a305 : Papier
xDx

vorletzte zeile und anfang letzte zeile
get Muelltonnen_Kalender summary 03c658b4f53e669ff3d010b7800408dd : Papier
xDx

mach mal so

printf "x1x\n";
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

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