FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: littleswabi am 07 Januar 2017, 13:14:13

Titel: Pushnachricht bei änderung funktioniert nicht
Beitrag von: littleswabi am 07 Januar 2017, 13:14:13
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
Titel: Antw:Pushnachricht bei änderung funktioniert nicht
Beitrag von: littleswabi am 07 Januar 2017, 18:45:24
keiner eine Idee?
Titel: Antw:Pushnachricht bei änderung funktioniert nicht
Beitrag von: Ma_Bo am 07 Januar 2017, 23:10:18
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
Titel: Antw:Pushnachricht bei änderung funktioniert nicht
Beitrag von: Puschel74 am 07 Januar 2017, 23:28:36
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.
Titel: Antw:Pushnachricht bei änderung funktioniert nicht
Beitrag von: littleswabi am 08 Januar 2017, 11:30:01
Hallo Ma_Bo

danke für deine Antwort.  Funktioniert leider nicht.
Was bedeutet diese Perl Warning?
Titel: Antw:Pushnachricht bei änderung funktioniert nicht
Beitrag von: CoolTux am 08 Januar 2017, 11:35:47
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.
Titel: Antw:Pushnachricht bei änderung funktioniert nicht
Beitrag von: littleswabi am 08 Januar 2017, 16:51:13
Hallo CoolTux,

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

Danke dafür!
Titel: Antw:Pushnachricht bei änderung funktioniert nicht
Beitrag von: CoolTux am 08 Januar 2017, 16:53:25
Bitte. Gern geschehen.


Grüße