FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: araym am 23 April 2015, 18:54:06

Titel: notify dummy mit online Wetter
Beitrag von: araym am 23 April 2015, 18:54:06
Hallo,

ich versuche mein Frühbeet Dach zu steuern. Leider bleibe ich schon dran hängen das es sich schliessen soll wenn der Wind zu stark wird. Als erstes hatte ich einen Dummy geplant der bei bestimmtem wind on gestellt wird.

Wetter:wind_speed.* {\ if ((ReadingsValue("Wetter,"wind_speed"."") >=2 ){\ fhem("set Sturm on")}}

Wobei das online Wetter, Wetter heißt und Sturm ist der dummy. Doch irgendwie passiert beim dummy gar nichts   :-[

Hoffe mir kann geholfen werden.  ;)
Titel: Antw:notify dummy mit online Wetter
Beitrag von: gero am 23 April 2015, 19:16:44
Wie sieht den das Reading wind_speed aus? Poste mal die Ausgabe von list Wetter.
Außerdem müsstest du eine Fehlermeldung im Log sehen, falls das zweite Komma bei ReadingsVal bei dir wirklich ein Punkt ist.

Gruß,
Gero
Titel: Antw:notify dummy mit online Wetter
Beitrag von: araym am 23 April 2015, 19:37:14
Internals:
   DEF        709087 600 de
   INTERVAL   600
   LANG       de
   LOCATION   709087
   NAME       Wetter
   NR         20
   STATE      T: 14  H: 58  W: 18
   TYPE       Weather
   UNITS      c
   Readings:
     2015-04-23 19:24:08   city            Zittau, Germany
     2015-04-23 19:24:08   code            30
     2015-04-23 19:24:08   condition       teilweise wolkig
     2015-04-23 19:24:08   current_date_time 23 Apr 2015 7:00 pm CEST
     2015-04-23 19:24:08   day_of_week     Do
     2015-04-23 19:24:08   fc1_code        29
     2015-04-23 19:24:08   fc1_condition   teilweise wolkig
     2015-04-23 19:24:08   fc1_day_of_week Do
     2015-04-23 19:24:08   fc1_high_c      18
     2015-04-23 19:24:08   fc1_icon        partly_cloudy_night
     2015-04-23 19:24:08   fc1_low_c       6
     2015-04-23 19:24:08   fc2_code        34
     2015-04-23 19:24:08   fc2_condition   heiter
     2015-04-23 19:24:08   fc2_day_of_week Fr
     2015-04-23 19:24:08   fc2_high_c      20
     2015-04-23 19:24:08   fc2_icon        mostly_sunny
     2015-04-23 19:24:08   fc2_low_c       6
     2015-04-23 19:24:08   fc3_code        30
     2015-04-23 19:24:08   fc3_condition   teilweise wolkig
     2015-04-23 19:24:08   fc3_day_of_week Sa
     2015-04-23 19:24:08   fc3_high_c      22
     2015-04-23 19:24:08   fc3_icon        partly_cloudy
     2015-04-23 19:24:08   fc3_low_c       10
     2015-04-23 19:24:08   fc4_code        11
     2015-04-23 19:24:08   fc4_condition   Schauer
     2015-04-23 19:24:08   fc4_day_of_week So
     2015-04-23 19:24:08   fc4_high_c      21
     2015-04-23 19:24:08   fc4_icon        chance_of_rain
     2015-04-23 19:24:08   fc4_low_c       11
     2015-04-23 19:24:08   fc5_code        12
     2015-04-23 19:24:08   fc5_condition   Schauer
     2015-04-23 19:24:08   fc5_day_of_week Mo
     2015-04-23 19:24:08   fc5_high_c      20
     2015-04-23 19:24:08   fc5_icon        chance_of_rain
     2015-04-23 19:24:08   fc5_low_c       4
     2015-04-23 19:24:08   humidity        58
     2015-04-23 19:24:08   icon            partly_cloudy
     2015-04-23 19:24:08   pressure        1015
     2015-04-23 19:24:08   pressure_trend  2
     2015-04-23 19:24:08   pressure_trend_sym -
     2015-04-23 19:24:08   pressure_trend_txt fallend
     2015-04-23 19:24:08   state           T: 14  H: 58  W: 18
     2015-04-23 19:24:08   temp_c          14
     2015-04-23 19:24:08   temp_f          57
     2015-04-23 19:24:08   temperature     14
     2015-04-23 19:24:08   visibility
     2015-04-23 19:24:08   wind            18
     2015-04-23 19:24:08   wind_chill      14
     2015-04-23 19:24:08   wind_condition  Wind: NNW 18 km/h
     2015-04-23 19:24:08   wind_direction  340
     2015-04-23 19:24:08   wind_speed      18
   Fhem:
     interfaces temperature;humidity;wind
Attributes:
   room       Wetter


und im log steht noch
2015.04.23 19:34:09 1: PERL WARNING: Bareword found where operator expected at (eval 7620) line 1, near ""Wetter,"wind_speed"
2015.04.23 19:34:09 3: eval: {\ if ((ReadingsValue("Wetter,"wind_speed","") >=2 ){\ fhem("set Sturm on")}}
2015.04.23 19:34:09 1: PERL WARNING: String found where operator expected at (eval 7620) line 1, near "wind_speed",""
2015.04.23 19:34:09 3: eval: {\ if ((ReadingsValue("Wetter,"wind_speed","") >=2 ){\ fhem("set Sturm on")}}
2015.04.23 19:34:09 1: PERL WARNING: String found where operator expected at (eval 7620) line 1, near "","") >=2 ){\ fhem(""
2015.04.23 19:34:09 3: eval: {\ if ((ReadingsValue("Wetter,"wind_speed","") >=2 ){\ fhem("set Sturm on")}}
2015.04.23 19:34:09 1: PERL WARNING: String found where operator expected at (eval 7620) line 1, at end of line
2015.04.23 19:34:09 3: eval: {\ if ((ReadingsValue("Wetter,"wind_speed","") >=2 ){\ fhem("set Sturm on")}}
2015.04.23 19:34:09 3: Fruehbeet_Temp return value: Can't find string terminator '"' anywhere before EOF at (eval 7620) line 1.

keine ahnung was fhem da von mir möchte :D
achso den Punkt habe ich schon geändert
Titel: Antw:notify dummy mit online Wetter
Beitrag von: Puschel74 am 23 April 2015, 19:40:37
Es heisst ReadingsVal
Titel: Antw:notify dummy mit online Wetter
Beitrag von: Paul am 23 April 2015, 19:44:31
Und hinter Wetter fehlt ein "
Titel: Antw:notify dummy mit online Wetter
Beitrag von: gero am 23 April 2015, 19:45:21
Und eine Klammer ist zuviel.
Titel: Antw:notify dummy mit online Wetter
Beitrag von: Puschel74 am 23 April 2015, 19:46:56
Zitat von: gero am 23 April 2015, 19:45:21
Und eine Klammer ist zuviel.

Zählen sollte jeder können der FHEM benutzt - das nehm ich niemandem mehr ab.
Schon gar nicht wenn mal wieder mein angepinnter Beitrag hier ignoriert wurde (Meldungen aus dem Logfile anhängen).
Titel: Antw:notify dummy mit online Wetter
Beitrag von: gero am 23 April 2015, 19:51:23
Wo kommen eigentlich die Backslashes her? Wo hast du das rauskopiert?
Titel: Antw:notify dummy mit online Wetter
Beitrag von: Puschel74 am 23 April 2015, 19:53:37
Vermutlich per copy&paste irgendwo rauskopiert und vermeintlich richtig abgeändert - ohne zu wissen was man tatsächlich macht.
Titel: Antw:notify dummy mit online Wetter
Beitrag von: gero am 23 April 2015, 20:03:24
Übrigens brauchst du ReadingsVal gar nicht, da dir das notify das Ergebnis in %EVTPART1 liefert.

So, das sollte erstmal für dich reichen, um einen neuen Versuch zu starten. Das dich nicht entmutigen. Es kann nur besser werden;-)
Titel: Antw:notify dummy mit online Wetter
Beitrag von: araym am 23 April 2015, 20:14:27
Naja raus kopiert ist das nicht. Eher selber zusammengestellt, ahnung was ich da getan habe? Eher nicht. Aber nachdem ich da jetzt den 3. Tag dran sitze und nichts passendes gefunden habe dachte ich mir einfach mal schreiben...mehr als blöde machen kann mich keiner  :D. Ich werde morgen mal ein paar Vorschläge versuchen. Auch wenn ich damit sicher auch noch nicht weit komme....merk schon da ist komplett alles falsch.
Titel: Antw:notify dummy mit online Wetter
Beitrag von: gero am 23 April 2015, 20:20:51
Jeder hat mal angefangen und Fehler darf man auch machen. Aber vielleicht liest du tatsächlich vorher mal den angepinnten Beitrag von Puschel74. Dann gibt es hier auch viele Leute, die sich die Mühe machen dir zu helfen.

Gruß,
Gero
Titel: Antw:notify dummy mit online Wetter
Beitrag von: Puschel74 am 23 April 2015, 20:22:38
3 Tage  :o

Du hättest dir 2 1/2 Tage sparen können wenn du das Einsteiger.pdf vorher gelesen hättest und die gefühlten 180 Beispiele
im Wiki und 9274 Beispiele im Forum angeschaut hättest.

Zitatmerk schon da ist komplett alles falsch.
Um auch was positiv zu sagen - nicht alles ist komplett falsch  ;)

Zitat von: gero am 23 April 2015, 20:03:24
Das dich nicht entmutigen. Es kann nur besser werden;-)
Kleiner Einwurf.
In 99,9% der Fälle entmutigen sich die Anfänger selbst weil sie nicht lesen oder nicht sehen WAS sie lesen.
Die restlichen 0,1% bin ich  :P

Edith:
Zitat von: gero am 23 April 2015, 20:20:51
Jeder hat mal angefangen und Fehler darf man auch machen.
Gruß,
Gero
Und man darf auch daraus lernen und das gelernte in Zukunft anwenden  8)
Titel: Antw:notify dummy mit online Wetter
Beitrag von: gero am 23 April 2015, 20:33:13
Zitat von: Puschel74
Die restlichen 0,1% bin ich  :P
;D
Titel: Antw:notify dummy mit online Wetter
Beitrag von: araym am 23 April 2015, 20:45:38
Das Einsteiger PDF habe ich mir sogar ausgedruckt und dient als Klo Lektüre.  ;)
Titel: Antw:notify dummy mit online Wetter
Beitrag von: Puschel74 am 23 April 2015, 20:57:58
Zitat von: araym am 23 April 2015, 20:45:38
Das Einsteiger PDF habe ich mir sogar ausgedruckt und dient als Klo Lektüre.  ;)

Bei einer durchschnittlichen Verdauungsleistung von 2 Stuhlgängen pro Tag scheint das zuwenig zu sein  ;)
Titel: Antw:notify dummy mit online Wetter
Beitrag von: araym am 24 April 2015, 18:12:53
So also mit dem Wind hat es jetzt geklappt.

Wetter:wind_speed.* { if (ReadingsVal("Wetter","wind_speed","") >=20 ){ fhem("set Sturm on")};;elsif (ReadingsVal("Wetter","wind_speed","") <=15 ){ fhem("set Sturm off")}}

Das selbe wollte ich jetzt mit der Temperatur machen doch leider klappt es nicht.

Wetter:temperature.* { if (ReadingsVal("Wetter","temperature","") >=16 ){ fhem("set Temp_Fruehbeet on")};;elsif (ReadingsVal("Wetter","temperature","") <=15 ){ fhem("set Temp_Fruehbeet off")}}

Log file zeigt diesen Fehler mit dem ich nichts anfangen kann.

2015.04.24 17:54:26 3: Temperatur_Fruehbeet return value: syntax error at (eval 26979) line 1, near ";elsif"
syntax error at (eval 26979) line 1, near "}}"

Hoffe da kann mir wieder jemand so super helfen  ;). Finden es halt komisch das das erste Funktioniert und ich es kopierst habe.
Titel: Antw:notify dummy mit online Wetter
Beitrag von: gero am 24 April 2015, 18:19:31
Die Semikoli vor dem elsif sind falsch. Mich wundert nur, dass das erste Notify nicht denselben Fehler liefert. Bist du dir sicher, dass es schon einmal ausgeführt wurde?
Titel: Antw:notify dummy mit online Wetter
Beitrag von: araym am 24 April 2015, 18:27:14
Sicher bin ich mir hier bei gar nichts  ;D
OK jetzt scheint es zu funktionieren. Mal schauen wie weit ich jetzt noch komme ohne Hilfe  ;D