Pushnachricht bei änderung funktioniert nicht

Begonnen von littleswabi, 07 Januar 2017, 13:14:13

Vorheriges Thema - Nächstes Thema

littleswabi

Hallo zusammen,

ich würde gerne eine PushNachricht bekommen wenn die Temperatur an meinem Ofen zu hoch wird.

Dafür habe ich mir ein Dummy anglegt

define dummy_ofen_temp
attr dummy_ofen_temp event-on-change-reading state


dann habe ich mir ein Notify angelgt welches die Temperatur des Sensors abfragt und den Dummy dementsprechend setzt

define notify_temp_ofen notify TempSicherheitsventil:temperature:.* { if(ReadingsVal("TempSicherheitsventil","temperature:","") < 55) { fhem("set dummy_ofen_temp zuwarm") } else { fhem("set dummy_ofen_temp ok") }}


Das funktioniert auch alles soweit. Wenn ich die Temperatur (<> 55°) von Hand setzte ändert sich der Zustand meines Dummy von ok auf zu warm

nun zu der Push Nachricht:

define notify_ofen_alarm notify dummy_ofen_temp:zuwarm { fhem("set push message Achtung, Temperatur Ofen unter 50°: ".(ReadingsVal("TempSicherheitsventil","temperature:","")."°C! | Temperatur-Warnung") }


und da passiert leider nichts mehr.

Wenn ich ins LogFile schaue bekomme ich diese Meldungen:

Zitat2017.01.07 12:59:14 1: Error: >< has no TYPE, but following keys: ><
2017.01.07 12:59:18 1: Error: >< has no TYPE, but following keys: ><
2017.01.07 12:59:18 1: Error: >< has no TYPE, but following keys: ><
2017.01.07 12:59:18 1: Error: >< has no TYPE, but following keys: ><
2017.01.07 12:59:18 1: Error: >< has no TYPE, but following keys: ><
2017.01.07 12:59:18 1: Error: >< has no TYPE, but following keys: ><
2017.01.07 12:59:19 1: Error: >< has no TYPE, but following keys: ><
2017.01.07 12:59:21 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at (eval 254) line 1, <DATA> line 2.
2017.01.07 12:59:21 3: eval: my $NAME='TempSicherheitsventil';my $TYPE='GPIO4';my $EVENT='temperature: 53.187';my $EVTPART0='temperature:';my $SELF='notify_temp_ofen';my $EVTPART1='53.187';{ if(ReadingsVal("TempSicherheitsventil","temperature:","") > 55) { fhem("set dummy_ofen_temp zuwarm") } else { fhem("set dummy_ofen_temp ok") }}
2017.01.07 12:59:32 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at (eval 255) line 1, <DATA> line 2.
2017.01.07 12:59:32 3: eval: my $NAME='TempSicherheitsventil';my $EVENT='temperature: 53.187';my $TYPE='GPIO4';my $EVTPART0='temperature:';my $SELF='notify_temp_ofen';my $EVTPART1='53.187';{ if(ReadingsVal("TempSicherheitsventil","temperature:","") > 55) { fhem("set dummy_ofen_temp zuwarm") } else { fhem("set dummy_ofen_temp ok") }}
2017.01.07 12:59:42 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at (eval 256) line 1, <DATA> line 2.
2017.01.07 12:59:42 3: eval: my $NAME='TempSicherheitsventil';my $EVENT='temperature: 53.187';my $TYPE='GPIO4';my $EVTPART0='temperature:';my $EVTPART1='53.187';my $SELF='notify_temp_ofen';{ if(ReadingsVal("TempSicherheitsventil","temperature:","") > 55) { fhem("set dummy_ofen_temp zuwarm") } else { fhem("set dummy_ofen_temp ok") }}
2017.01.07 12:59:52 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at (eval 257) line 1, <DATA> line 2.
2017.01.07 12:59:52 3: eval: my $SELF='notify_temp_ofen';my $EVTPART1='53.125';my $EVTPART0='temperature:';my $EVENT='temperature: 53.125';my $TYPE='GPIO4';my $NAME='TempSicherheitsventil';{ if(ReadingsVal("TempSicherheitsventil","temperature:","") > 55) { fhem("set dummy_ofen_temp zuwarm") } else { fhem("set dummy_ofen_temp ok") }}
2017.01.07 13:00:02 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at (eval 258) line 1, <DATA> line 2.
2017.01.07 13:00:02 3: eval: my $EVTPART0='temperature:';my $EVTPART1='53.062';my $SELF='notify_temp_ofen';my $NAME='TempSicherheitsventil';my $TYPE='GPIO4';my $EVENT='temperature: 53.062';{ if(ReadingsVal("TempSicherheitsventil","temperature:","") > 55) { fhem("set dummy_ofen_temp zuwarm") } else { fhem("set dummy_ofen_temp ok") }}
2017.01.07 13:00:12 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at (eval 259) line 1, <DATA> line 2.
2017.01.07 13:00:12 3: eval: my $EVTPART0='temperature:';my $EVTPART1='53.125';my $SELF='notify_temp_ofen';my $NAME='TempSicherheitsventil';my $EVENT='temperature: 53.125';my $TYPE='GPIO4';{ if(ReadingsVal("TempSicherheitsventil","temperature:","") > 55) { fhem("set dummy_ofen_temp zuwarm") } else { fhem("set dummy_ofen_temp ok") }}
2017.01.07 13:00:22 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at (eval 260) line 1, <DATA> line 2.
2017.01.07 13:00:22 3: eval: my $EVTPART0='temperature:';my $SELF='notify_temp_ofen';my $EVTPART1='53.062';my $NAME='TempSicherheitsventil';my $TYPE='GPIO4';my $EVENT='temperature: 53.062';{ if(ReadingsVal("TempSicherheitsventil","temperature:","") > 55) { fhem("set dummy_ofen_temp zuwarm") } else { fhem("set dummy_ofen_temp ok") }}
2017.01.07 13:00:32 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at (eval 261) line 1, <DATA> line 2.
2017.01.07 13:00:32 3: eval: my $SELF='notify_temp_ofen';my $EVTPART1='53.062';my $EVTPART0='temperature:';my $EVENT='temperature: 53.062';my $TYPE='GPIO4';my $NAME='TempSicherheitsventil';{ if(ReadingsVal("TempSicherheitsventil","temperature:","") > 55) { fhem("set dummy_ofen_temp zuwarm") } else { fhem("set dummy_ofen_temp ok") }}
2017.01.07 13:00:43 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at (eval 262) line 1, <DATA> line 2.
2017.01.07 13:00:43 3: eval: my $TYPE='GPIO4';my $EVENT='temperature: 53';my $NAME='TempSicherheitsventil';my $EVTPART1='53';my $SELF='notify_temp_ofen';my $EVTPART0='temperature:';{ if(ReadingsVal("TempSicherheitsventil","temperature:","") > 55) { fhem("set dummy_ofen_temp zuwarm") } else { fhem("set dummy_ofen_temp ok") }}
2017.01.07 13:00:53 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at (eval 263) line 1, <DATA> line 2.
2017.01.07 13:00:53 3: eval: my $EVTPART0='temperature:';my $SELF='notify_temp_ofen';my $EVTPART1='53.062';my $NAME='TempSicherheitsventil';my $TYPE='GPIO4';my $EVENT='temperature: 53.062';{ if(ReadingsVal("TempSicherheitsventil","temperature:","") > 55) { fhem("set dummy_ofen_temp zuwarm") } else { fhem("set dummy_ofen_temp ok") }}
2017.01.07 13:01:03 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at (eval 264) line 1, <DATA> line 2.
2017.01.07 13:01:03 3: eval: my $EVTPART0='temperature:';my $EVTPART1='52.937';my $SELF='notify_temp_ofen';my $NAME='TempSicherheitsventil';my $TYPE='GPIO4';my $EVENT='temperature: 52.937';{ if(ReadingsVal("TempSicherheitsventil","temperature:","") > 55) { fhem("set dummy_ofen_temp zuwarm") } else { fhem("set dummy_ofen_temp ok") }}
2017.01.07 13:01:13 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at (eval 265) line 1, <DATA> line 2.
2017.01.07 13:01:13 3: eval: my $EVTPART1='52.937';my $SELF='notify_temp_ofen';my $EVTPART0='temperature:';my $TYPE='GPIO4';my $EVENT='temperature: 52.937';my $NAME='TempSicherheitsventil';{ if(ReadingsVal("TempSicherheitsventil","temperature:","") > 55) { fhem("set dummy_ofen_temp zuwarm") } else { fhem("set dummy_ofen_temp ok") }}
2017.01.07 13:01:23 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at (eval 266) line 1, <DATA> line 2.
2017.01.07 13:01:23 3: eval: my $EVENT='temperature: 52.937';my $TYPE='GPIO4';my $NAME='TempSicherheitsventil';my $EVTPART1='52.937';my $SELF='notify_temp_ofen';my $EVTPART0='temperature:';{ if(ReadingsVal("TempSicherheitsventil","temperature:","") > 55) { fhem("set dummy_ofen_temp zuwarm") } else { fhem("set dummy_ofen_temp ok") }}
2017.01.07 13:01:33 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at (eval 267) line 1, <DATA> line 2.
2017.01.07 13:01:33 3: eval: my $EVTPART1='52.875';my $SELF='notify_temp_ofen';my $EVTPART0='temperature:';my $TYPE='GPIO4';my $EVENT='temperature: 52.875';my $NAME='TempSicherheitsventil';{ if(ReadingsVal("TempSicherheitsventil","temperature:","") > 55) { fhem("set dummy_ofen_temp zuwarm") } else { fhem("set dummy_ofen_temp ok") }}
2017.01.07 13:01:44 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at (eval 268) line 1, <DATA> line 2.
2017.01.07 13:01:44 3: eval: my $EVTPART1='52.875';my $SELF='notify_temp_ofen';my $EVTPART0='temperature:';my $EVENT='temperature: 52.875';my $TYPE='GPIO4';my $NAME='TempSicherheitsventil';{ if(ReadingsVal("TempSicherheitsventil","temperature:","") > 55) { fhem("set dummy_ofen_temp zuwarm") } else { fhem("set dummy_ofen_temp ok") }}
2017.01.07 13:01:54 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at (eval 269) line 1, <DATA> line 2.
2017.01.07 13:01:54 3: eval: my $EVTPART1='52.875';my $SELF='notify_temp_ofen';my $EVTPART0='temperature:';my $EVENT='temperature: 52.875';my $TYPE='GPIO4';my $NAME='TempSicherheitsventil';{ if(ReadingsVal("TempSicherheitsventil","temperature:","") > 55) { fhem("set dummy_ofen_temp zuwarm") } else { fhem("set dummy_ofen_temp ok") }}
2017.01.07 13:02:04 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at (eval 270) line 1, <DATA> line 2.
2017.01.07 13:02:04 3: eval: my $NAME='TempSicherheitsventil';my $TYPE='GPIO4';my $EVENT='temperature: 52.875';my $EVTPART0='temperature:';my $SELF='notify_temp_ofen';my $EVTPART1='52.875';{ if(ReadingsVal("TempSicherheitsventil","temperature:","") > 55) { fhem("set dummy_ofen_temp zuwarm") } else { fhem("set dummy_ofen_temp ok") }}

Kann mir von euch einer einen Tipp geben?

Vielen Dank!!!

Michael

littleswabi


Ma_Bo

Versuch es mal so:

define notify_ofen_alarm notify dummy_ofen_temp:zuwarm set push message Achtung Temperatur Ofen unter 50° - [TempSicherheitsventil:temperature]°C!


Gesendet von iPhone mit Tapatalk
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Puschel74

Zitat von: littleswabi am 07 Januar 2017, 18:45:24
keiner eine Idee?
Nach 6 Stunden die Nachfrage?
Klar hab ich ne Idee - was bezahlst du dafür?
Oder kommt dir die Erkenntniss das FHEM ein Projekt ist das keinen bezahlten Support hat und du dich einfach in Geduld üben musst - auch wenn es schwer fällt.
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.

littleswabi

Hallo Ma_Bo

danke für deine Antwort.  Funktioniert leider nicht.
Was bedeutet diese Perl Warning?

CoolTux

Ich empfehle wenn es um Zustandsänderungen geht DOIF zu nehmen. Damit solltest Du als Anfänger gerade auch wegen der ausgiebigen Dokumentation super zurechtkommen.
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

littleswabi

Hallo CoolTux,

danke für den Tipp mit dem DOIF. Hab grad mal ne halbe Stunde gebraucht und es funktioniert.

Danke dafür!

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