Hauptmenü

Notify geht nicht

Begonnen von EnderPhilipp, 04 Januar 2017, 23:50:43

Vorheriges Thema - Nächstes Thema

EnderPhilipp

Hi Liebe FHEM-Community,

ich habe mir folgendes Notify erstellt, um FHEM per Whatsapp zu steuern:


#Whatsappempfänger
define Whatsappempfaenger notify iPhone:message.* {\
    if ($EVTPART1 eq 'Licht') {\
        if ($EVENT =~ 'an') {\
            fhem("set Stehlampe on");;\
            fhem("set LEDStreifen on");;\
            fhem("set Deckenlampe on");;\
            fhem("sleep 1.0 ;; set Tischlampe on");;\
            fhem("");;\
            fhem("set iPhone send Licht ist nun eingeschaltet ...");;\
        }\
        elsif ($EVENT =~ 'aus') {\
            fhem("set Stehlampe off");;\
            fhem("set LEDStreifen off");;\
            fhem("set Deckenlampe off");;\
            fhem("sleep 1.0 ;; set Tischlampe off");;\
            fhem("set iPhone send Licht ist nun ausgeschaltet ...");;        }\
    }\
    elsif ($EVTPART1 eq 'Zocken') {\
        fhem("set Computer on");;\
        fhem("set Monitor on");;\
        fhem("set LEDStreifen off");;\
        fhem("set Tischlampe off");;\
        fhem("set Radio off");;\
        fhem("sleep 1.0 ;; set Stehlampe off");;\
    }\
    elsif ($EVTPART1 eq 'GTA') {\
        fhem("set GTA on");;\
        fhem("set Monitor on");;\
        fhem("set $NAME send GTA wurde gestartet");;\
    }\
    elsif ($EVTPART1 eq 'Aussentemperatur') {\
        my $temperature = ReadingsVal("Aussensensor", "temperature", "");;\
        fhem("set $NAME send Aussentemperatur: $temperature");;\
    }\
elsif ($EVTPART1 eq 'Heizung') {\
        fhem("set Heizung_Clima desired-temp $EVTPART2");;\
        fhem("set iPhone send Heizung wurde auf $EVTPART2 °C gestellt.");;\
}\
elsif ($EVTPART1 eq 'Stehlampe') {\
        fhem("set $EVTPART1 on");;\
        fhem("set iPhone send $EVPART1 wurde eingeschaltet.");;\
}\
    else {\
        fhem("set $NAME send Befehl nicht bekannt");;\
    }\
}


Nur irgendwie passiert nichts, wo liegt der Fehler ?  :o

Mfg
Philipp ;D
¡¡¡ANFÄNGERALARM!!!
Raspberry Pi 3 (Hauptsystem)
Raspberry Pi B+ (Kellersonde)
Homematic,Philips Hue, LD382, nanoCul 433/868mhz, MPD, Intertechno, FIRMATA, EspEasy, SSCAM, STV, HDMI-CEC, EchoDot

Otto123

Hallo Phillip,

die Frage: beim notify passiert nichts, wo liegt der Fehler? ist immer wieder gleich zu beantworten:
Entweder am Ausführungsteil, kann man meist separat testen.
Oder an der Bedingung, die kannst Du im Eventmonitor prüfen.

Also wo liegt Dein Problem, an der Bedingung oder im Ausführungsteil?  ???

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

CoolTux

Ein list des Notify wäre hilfreich gewesen. Geraten. Probiere mal

define Whatsappempfaenger notify iPhone.message:.*
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

EnderPhilipp

Erstmal danke für eure Antworten. :D

Ich habe mal geguckt was passiert, wenn ich die Nachricht ""Aussentemperatur" an FHEM schicke.

Im Eventmonitor steht:
2017-01-05 08:15:08 yowsup iPhone chatstate: received
2017-01-05 08:15:08 yowsup iPhone message: Aussentemperatur


Im Log steht:
2017.01.05 08:13:57 3: iPhone: commands not allowed
2017.01.05 08:14:15 3: iPhone: commands not allowed


Zum Whatsappempfänger steht Folgendes im Log:

Whatsappempfaenger return value: Global symbol "$EVTPART2" requires explicit package name at (eval 74937) line 36.
Global symbol "$EVTPART2" requires explicit package name at (eval 74937) line 37.
Global symbol "$EVPART1" requires explicit package name at (eval 74937) line 41.


Was kann ich daraus schließen?  :o


Mfg
Philipp  ;D
¡¡¡ANFÄNGERALARM!!!
Raspberry Pi 3 (Hauptsystem)
Raspberry Pi B+ (Kellersonde)
Homematic,Philips Hue, LD382, nanoCul 433/868mhz, MPD, Intertechno, FIRMATA, EspEasy, SSCAM, STV, HDMI-CEC, EchoDot

Brice

#4
Commands not allowed kommt, wenn das Notify fehlerhaft ist. Könnte das an den sleeps liegen?

Ich würde so vorgehen, dass ich das notify zunächst auf das Notwendigste abspecke, teste und dann schrittweise wieder aufbaue.

#Whatsappempfänger
define Whatsappempfaenger notify iPhone:message.* {\
    if ($EVTPART1 eq 'Licht') {\
        if ($EVENT =~ 'an') {\
            fhem("set Stehlampe on");;\
            fhem("set iPhone send Licht ist nun eingeschaltet ...");;\
        }\
        elsif ($EVENT =~ 'aus') {\
            fhem("set Stehlampe off");;\
            fhem("set iPhone send Licht ist nun ausgeschaltet ...");;        }\
    }\
    elsif ($EVTPART1 eq 'Zocken') {\
        fhem("set Computer on");;\
    }\
    else {\
        fhem("set $NAME send Befehl nicht bekannt");;\
    }\
}


Edit: stelle gerade fest, dass ich die Meldung auch im Log habe, obwohl das Notify korrekt ausgeführt wird:

2017.01.05 08:51:10 3: WhatsAppFHEM: commands not allowed
2017.01.05 08:51:10 3: WhatsAppFHEM: sending /message send 49171xxxxxxx 'SetTopBox/TV ist: absent'
2017.01.05 08:51:10 3: WhatsAppFHEM: sending /message send 49171xxxxxxx 'XXXX ist: present'
2017.01.05 08:51:10 3: WhatsAppFHEM: sending /message send 49171xxxxxxx 'YYYY ist: absent'
FHEM auf RPi 4 4GB (Buster) | produktiv) CUL 868 für FS20 | S300TH | KS300 | Max!Cube als CUN 868 für TechemWZ | HM-MOD-RPI-PCB für HM | Z-Wave ZME_UZB1 | FRITZ!DECT 200 | HUE | Lightify | Echo Dot | WS3080

EnderPhilipp

Danke!
Dieses Notify geht, dann werde ich darauf aufbauen.  8)
¡¡¡ANFÄNGERALARM!!!
Raspberry Pi 3 (Hauptsystem)
Raspberry Pi B+ (Kellersonde)
Homematic,Philips Hue, LD382, nanoCul 433/868mhz, MPD, Intertechno, FIRMATA, EspEasy, SSCAM, STV, HDMI-CEC, EchoDot

Otto123

Zitat von: EnderPhilipp am 05 Januar 2017, 08:30:43
Im Eventmonitor steht:
2017-01-05 08:15:08 yowsup iPhone chatstate: received
2017-01-05 08:15:08 yowsup iPhone message: Aussentemperatur

Was kann ich daraus schließen?  :o
Moin Philip,

naja jetzt einfach in die Commandref schauen was da zum notify steht
ZitatFührt eine oder mehrere Anweisungen aus, wenn ein Event generiert wurde, was dem <Suchmuster> (Gerätename oder Gerätename:Event) entspricht.
Gerätename -> iPhone
Event -> message: Aussentemperatur

Dein Suchmuster war also nicht verkehrt. Beachte! Der Doppelpunkt hinter iPhone trennt Gerät vom Event, der Doppelpunkt hinter message ist Teil des Events!

Ich würde Dir raten den umfangreichen Perl Code in 99_myUtils zu packen und im notfy nur einen Funktionsaufruf zu machen. Damit kannst Du auch besser testen.
Ein simpler Log Eintrag im Ausführungsteil zeigt Dir ob der Event auch ankommt -> { Log 1, "Hello"}

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

EnderPhilipp

Habe bisher noch nicht mit der 99_myUtils gearbeitet, wie müsste die denn dann aussehen ? ???
¡¡¡ANFÄNGERALARM!!!
Raspberry Pi 3 (Hauptsystem)
Raspberry Pi B+ (Kellersonde)
Homematic,Philips Hue, LD382, nanoCul 433/868mhz, MPD, Intertechno, FIRMATA, EspEasy, SSCAM, STV, HDMI-CEC, EchoDot

Puschel74

So wie im Wiki beschrieben  ;)
Dafür gibt es ja das Wiki  8)
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

EnderPhilipp

Und wie kann ich dann das in der 99 myUtils Erstellte dann in Fhem aufrufen ?  :o
¡¡¡ANFÄNGERALARM!!!
Raspberry Pi 3 (Hauptsystem)
Raspberry Pi B+ (Kellersonde)
Homematic,Philips Hue, LD382, nanoCul 433/868mhz, MPD, Intertechno, FIRMATA, EspEasy, SSCAM, STV, HDMI-CEC, EchoDot

Puschel74

#10
So wie im Wiki beschrieben  ::)
Ich such mal für dich - einen Moment Bitte.

Edith: Gefunden
https://wiki.fhem.de/wiki/99_myUtils_anlegen
Alles weitere sollter sich per SuFu im Forum finden lassen.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Benni

Über den Wiki-Eintrag zum notify (liegt ja evtl. nahe, in diesem Zusammenhang dort auch mal reinzuschauen) kommt man übrigens (unter Hinweise) auch noch auf folgenden wertvollen Beitrag: https://forum.fhem.de/index.php/topic,38520.msg307325.html#msg307325

Ansonsten mal sowas hier versuchen: https://www.google.de/search?q=site%3Aforum.fhem.de&rct=j#q=site:forum.fhem.de+notify+99_myutils