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. ;)
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
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
Es heisst ReadingsVal
Und hinter Wetter fehlt ein "
Und eine Klammer ist zuviel.
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).
Wo kommen eigentlich die Backslashes her? Wo hast du das rauskopiert?
Vermutlich per copy&paste irgendwo rauskopiert und vermeintlich richtig abgeändert - ohne zu wissen was man tatsächlich macht.
Ü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;-)
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.
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
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)
Zitat von: Puschel74
Die restlichen 0,1% bin ich :P
;D
Das Einsteiger PDF habe ich mir sogar ausgedruckt und dient als Klo Lektüre. ;)
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 ;)
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.
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?
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