[WICHTIG]Die Logik ist nun hier zu finden
[/WICHTIG]
Hallo,
ich möchte hier kurz eine Alpha-Version meiner Wunderground Logik vorstellen:
(eigentlich ist es eine flexible xml-lese-Logik):
Momentan werden nur User-Wetterstationen unterstützt, da das Plugin nicht unterscheidet zwischen aktuellem Wetter und der Vorhersage (das baue ich aber noch ein)
Funktionsweise:
items:
	Der XML-String entspricht einfach dem String, nach dem in der xml-Datei von Wunderground gesucht werden soll.
Ein Beispiel für die XML:
Weather Underground
Ich werde hier demnächst auch (m)eine vollständige-Item-Liste posten. Sie sollte eigentlich für jeden einfach zu übernehmen sein.
Hier die Logik:
	Vorsichtig müsst ihr noch bei Prozent-Werten sein. Ich denke, da sollte statt 34 eine 0.34 übertragen werden.
Gruß und viel Spaß,
Hendrik
					[/WICHTIG]
Hallo,
ich möchte hier kurz eine Alpha-Version meiner Wunderground Logik vorstellen:
(eigentlich ist es eine flexible xml-lese-Logik):
Momentan werden nur User-Wetterstationen unterstützt, da das Plugin nicht unterscheidet zwischen aktuellem Wetter und der Vorhersage (das baue ich aber noch ein)
Funktionsweise:
items:
Code:
	
	cat /usr/local/smarthome/items/wetter.conf
[aktuelles_wetter]
  [[windrichtung]]
    type=num
    xmlstring=wind_degrees
    knx_send=7/7/15
    knx_dpt=9
  [[windgeschw]]
    type=num
    xmlstring=wind_mph
    knx_send=7/7/23
    knx_dpt=9
  [[temperatur]]
    type=num
    xmlstring=temp_c
    knx_send=7/7/16
    knx_dpt=9
  [[Niederschlag_Heute]]
    type=num
    xmlstring=precip_today_metric
    knx_send=7/7/17
    knx_dpt=9
  [[Niederschlag_letzte_stunde]]
    type=num
    xmlstring=precip_1hr_metric
  [[relative_luftfeuchte]]
    type=num
    xmlstring=relative_humidity
Ein Beispiel für die XML:
Weather Underground
Ich werde hier demnächst auch (m)eine vollständige-Item-Liste posten. Sie sollte eigentlich für jeden einfach zu übernehmen sein.
Hier die Logik:
Code:
	
	#!/usr/bin/python
from xml.dom import minidom
import urllib2
import re
non_decimal = re.compile(r'[^\d.]+')
def get_current_weather_data(xml, name):
   for node in xml.getElementsByTagName(name):
      v=node.childNodes[0].nodeValue
      for i in xrange(1000000):
         w=non_decimal.sub('', v)
      return w
response= urllib2.urlopen('http://api.wunderground.com/weatherstation/WXCurrentObXML.asp?ID=INIEDERS60')
xml=response.read()
xml=minidom.parseString(xml)
for item in sh.aktuelles_wetter:
   item(get_current_weather_data(xml,item.conf['xmlstring']))
Gruß und viel Spaß,
Hendrik



 ? Kann da sonst auch mal kurz rein schauen, wäre nämlich gar nicht so schlecht.
? Kann da sonst auch mal kurz rein schauen, wäre nämlich gar nicht so schlecht.
Kommentar