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

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

Vorheriges Thema - Nächstes Thema

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