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
keiner eine Idee?
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
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.
Hallo Ma_Bo
danke für deine Antwort. Funktioniert leider nicht.
Was bedeutet diese Perl Warning?
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.
Hallo CoolTux,
danke für den Tipp mit dem DOIF. Hab grad mal ne halbe Stunde gebraucht und es funktioniert.
Danke dafür!
Bitte. Gern geschehen.
Grüße