Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Bin kein Programmierer, behaupte aber, dass innerhalb des TRY-Blocks keine Fehlermeldung kommen dürfte. Ist der Code richtig kopiert, mit den richtigen Einrückungen, etc?
Eigentlich musst sonst nichts machen, das was du gelistet hast, passt.
ich verstehs einfach nicht.
Habe jetzt bereits die wunderground2.py datei aus dem Beitrag #23 heruntergeladen und direkt drauf kopiert damit ich nichts beim kopieren ändere, jedoch bekomme ich weiterhin fehler.
Items habe ich aus Beitrag 12 genommen und den link geändert.
Code:
2014-12-16 18:01:01,746 DEBUG Scheduler Wunderground next time: 2014-12-16 18:01:31+01:00 -- scheduler.py:_next_time:289
2014-12-16 18:01:01,897 DEBUG Wunderground [Wunderground] xml heruntergeladen b'<?xml version="1.0" encoding="utf-8" ?>\n\t<current_observation>\n\t\t<credit>Weather Underground Personal Weather Station</credit>\n\t\t<credit_URL>http://wunderground.com/weatherstation/</credit_URL>\n\t\t<image>\n\t\t<url>http://icons.wunderground.com/graphics/bh-wui_logo.gif</url>\n\t\t<title>Weather Underground</title>\n\t\t<link>http://wunderground.com/weatherstation/</link>\n\t\t</image>\n\t\t<location>\n\t\t<full>Hans-Olden Street, Nu\xc3\x83\xc2\x9fdorf Ob Der Traisen, </full>\n\t\t<neighborhood>Hans-Olden Street</neighborhood>\n\t\t<city>Nu\xc3\x83\xc2\x9fdorf Ob Der Traisen</city>\n\t\t<state></state>\n\t\t<zip></zip>\n\t\t<latitude>48.347851</latitude>\n\t\t<longitude>15.707188</longitude>\n\t\t<elevation>679 ft</elevation>\n\t\t</location>\n\t\t<station_id>INUDORFO2</station_id>\n\t\t<station_type>Netatmo</station_type>\n\t\t<observation_time>Last Updated on December 16, 5:57 PM CET</observation_time>\n\t\t<observation_time_rfc822>Tue, 16 Dec 2014 16:57:04 GMT</observation_time_rfc822>\n\t\t<weather></weather>\n\t\t<temperature_string>39.0 F (3.9 C)</temperature_string>\n\t\t<temp_f>39.0</temp_f>\n\t\t<temp_c>3.9</temp_c>\n\t\t<relative_humidity>97</relative_humidity>\n\t\t<wind_string>Calm</wind_string>\n\t\t<wind_dir>North</wind_dir>\n\t\t<wind_degrees>-999</wind_degrees>\n\t\t<wind_mph>-999.0</wind_mph>\n\t\t<wind_gust_mph>-999.0</wind_gust_mph>\n\t\t<pressure_string>29.70" (1005.6 mb)</pressure_string>\n\t\t<pressure_mb>1005.6</pressure_mb>\n\t\t<pressure_in>29.70</pressure_in>\n\t\t<dewpoint_string>38.2 F (3.4 C)</dewpoint_string>\n\t\t<dewpoint_f>38.2</dewpoint_f>\n\t\t<dewpoint_c>3.4</dewpoint_c>\n\t\t\n\t\t<heat_index_string></heat_index_string>\n\t\t<heat_index_f></heat_index_f>\n\t\t<heat_index_c></heat_index_c>\n\t\t\n\t\t\n\t\t<windchill_string></windchill_string>\n\t\t<windchill_f></windchill_f>\n\t\t<windchill_c></windchill_c>\n\t\t\n\t\t<solar_radiation></solar_radiation>\n\t\t<UV></UV>\n\t\t<precip_1hr_string>-999.00 in (-2537.5 mm)</precip_1hr_string>\n\t\t<precip_1hr_in>-999.00</precip_1hr_in>\n\t\t<precip_1hr_metric>-2537.5</precip_1hr_metric>\n\t\t<precip_today_string>-999.00 in (-2537.5 cm)</precip_today_string>\n\t\t<precip_today_in>-999.00</precip_today_in>\n\t\t<precip_today_metric>-2537.5 cm</precip_today_metric>\n\t\t<history_url>http://www.wunderground.com/weatherstation/WXDailyHistory.asp?ID=INUDORFO2</history_url>\n\t\t<ob_url>http://www.wunderground.com/cgi-bin/findweather/getForecast?query=48.347851,15.707188</ob_url>\n\t</current_observation>\n\n' -- wunderground2.py:<module>:33
2014-12-16 18:01:01,907 DEBUG Wunderground [Wunderground] Behandle jetzt Item Wetter.Windrichtung mit xmlstring wind_degrees -- wunderground2.py:<module>:39
2014-12-16 18:01:01,922 DEBUG Wunderground [Wunderground] Wert -999 in xml gefunden -- wunderground2.py:<module>:45
2014-12-16 18:01:01,927 DEBUG Wunderground [Wunderground] Wert 999.0ins item geschrieben -- wunderground2.py:<module>:49
2014-12-16 18:01:01,933 DEBUG Wunderground [Wunderground] Behandle jetzt Item Wetter.Luftdruck mit xmlstring pressure_mb -- wunderground2.py:<module>:39
2014-12-16 18:01:01,940 DEBUG Wunderground [Wunderground] Wert 1005.6 in xml gefunden -- wunderground2.py:<module>:45
2014-12-16 18:01:01,946 DEBUG Wunderground [Wunderground] Wert 1005.6ins item geschrieben -- wunderground2.py:<module>:49
2014-12-16 18:01:01,950 DEBUG Wunderground [Wunderground] Behandle jetzt Item Wetter.Taupunkt mit xmlstring dewpoint_c -- wunderground2.py:<module>:39
2014-12-16 18:01:01,958 DEBUG Wunderground [Wunderground] Wert 3.4 in xml gefunden -- wunderground2.py:<module>:45
2014-12-16 18:01:01,966 DEBUG Wunderground [Wunderground] Wert 3.4ins item geschrieben -- wunderground2.py:<module>:49
2014-12-16 18:01:01,972 DEBUG Wunderground [Wunderground] Behandle jetzt Item Wetter.Windchill mit xmlstring windchill_c -- wunderground2.py:<module>:39
2014-12-16 18:01:01,980 ERROR Wunderground Logic: Wunderground, File: /usr/smarthome/logics/wunderground2.py, Line: 45, Method: <module>, Exception: Can't convert 'NoneType' object to str implicitly -- scheduler.py:_task:334
Traceback (most recent call last):
File "/usr/smarthome/lib/scheduler.py", line 327, in _task
exec(obj.bytecode)
File "/usr/smarthome/logics/wunderground2.py", line 45, in <module>
logger.debug('[Wunderground] Wert '+val+ ' in xml gefunden')
TypeError: Can't convert 'NoneType' object to str implicitly
2014-12-16 18:01:02,914 DEBUG Main knx: 1.1.13 set 3/3/0 to 0000 -- __init__.py:parse_telegram:181
logger.debug('[Wunderground] Wert '+val+ ' in xml gefunden')
Im Fehlerfall ist val = None. Da gab es weiter oben wohl ein Problem.
Nun wird in Zeile 45 versucht einen String mit dem None zu Verknüpfen.
Und das geht in die Hose.
Am besten den Fehler weiter oben fixen und
Code:
logger.debug('[Wunderground] Wert {0} in xml gefunden').format(val))
Wir sehen, dass alles funktioniert, bis zum windchill_c.
Jetzt würde ich vorschlagen mal die URL der XML-Datei im Browser zu öffnen und gucken, was da zum Thema windchill_c steht.
Anbei eine Version, die aber bei dem Fehler nicht mehr crashen sollte.
perfekt danke, jetzt funkionierts.
Ich hätte jedoch noch 2 fragen:
1) möchte ich gerne die windgeschwindigkeit in m/s statt mph. Ich habe folgendes im Forum gefunden jedoch bekomme ich immer nur 0 als Wert auf die Visu. Sollte das prinzipiell funktionieren? (beide zeigen 0 an):
Code:
[[Windgeschwindigkeit]]
[[[wind_mph]]]
type = num
xmlstring = wind_mph
enforce_update = yes
sqlite = yes
[[[wind_kmh]]]
type = num
knx_dpt = 9
eval = sh.Wetter.Windgeschwindigkeit.wind_mph()/0.44704
eval_trigger = sh.Wetter.Windgeschwindigkeit.wind_mph
enforce_updates = yes
[[[wind_kmh2]]]
type = num
knx_dpt = 9
eval = Wetter.Windgeschwindigkeit.wind_mph()/0.44704
eval_trigger = Wetter.Windgeschwindigkeit.wind_mph
enforce_updates = yes
und 2 würde ich gerne die Windrichtung nach Himmelsrichtung haben. In der XML gibt es das Feld wind_dir welches diesen Wert beinhaltet. Ich habe nun folgenden Item hinzugefügt und bekomme tzdm keine Windrichtung. Muss ich da dass wunderground2.py auch anpassen?
Code:
[[Windrichtung_dir]]
type = str
xmlstring = wind_dir
sqlite = yes
hast du meinen Post verstanden und gemacht, was ich geschrieben habe?
Zur Windrichtung: momentan gehen nur Zahlen. Die Himmelsrichtung ist ein String. Da musst du in der wunderground2.py eine Fallunterscheidung machen hinsichtlich des Typs des Items (zwischen Sting/nicht String).
Wenn nicht-String dann darf die 'clean()' Funktion nicht benutzt werden, da sie alles was keine Zahl ist entfernt.
Leider klappt bei mir die Umrechnung nicht, wenn ich eval und eval_trigger verwende.
Ich hab mal versucht ohne Umrechnung einfach wind_mph in wind_kmh zu kopieren. Leider ist wind_km immer 0. Ich hab das in cli geprüft und die Logik auch manuell ausgelöst aber wind_kmh ist immer 0. Wäre toll, wenn noch jemand eine Idee hätte.
[[Windgeschwindigkeit]]
[[[wind_mph]]]
type = num
visu_acl = yes
xmlstring = wind_mph
enforce_updates = true
[[[wind_kmh]]]
type = num
visu_acl = yes
knx_dpt = 9
sqlite = true
eval = sh.Wetter.Windgeschwindigkeit.wind_mph()
eval_trigger = sh.Wetter.Windgeschwindigkeit.wind_mph
enforce_updates = true
Vorzeichen der Temperatur wird nicht ins Item geschrieben
Hallo zusammen,
mittlerweile befindet sich die Temperatur in unserem Land mal wieder unter dem Gefrierpunkt. Dabei musste ich feststellen, dass das wunderground-Plugin das negative Vorzeichen der Temperatur ignoriert und nicht ins Item schreibt:
Hab zwar keine direkte Lösung, aber man könnte wohl den Fahrenheit-Wert nehmen und mit eval arbeiten.
Code:
[Wetter]
[[TemperaturC]]
type = num
eval = ((sh.Wetter.TemperaturF()-32)/1.8)
eval_trigger = Wetter.TemperaturF
[[TemperaturF]]
type = num
xmlstring = temp_f
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar