Wetterauswertung mit wunderground

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
seppy
Beiträge: 738
Registriert: 24. Sep 2015 20:25
Answers: 4
Wohnort: Bonn

Wetterauswertung mit wunderground

Beitrag von seppy »

Hi Zusammen,

nachdem Cyrelian nach meiner Umsetzung für Regenvorhersage gefragt hat, fasse ich hier kurz und grob zusammen. Eine ausführliche Variante schreibe ich die Tage.

Die URL:

Code: Alles auswählen

url=http://api.wunderground.com/api/XXXXXXXXXX/forecast/lang:DL/q/pws:IWACHTBE14.xml
Items:

Code: Alles auswählen

/**
 * Gemessene Regenmenge gestern
 */
/**
 * Vorhersage Regenmenge heute
 */
String WeatherRainForecast0 "Regenmenge/Wahrscheinlichkeit [%s]" <rain> (gWetter)
String WeatherRainForecast0_Date (gWetter) {http="<[cacheWeatherForecastWunderground:300000:XSLT(wunderground_weather_rainforecast0_date.xsl)]" }
Number WeatherRainForecast0_MM (gWetter) {http="<[cacheWeatherForecastWunderground:300000:XSLT(wunderground_weather_rainforecast0_mm.xsl)]" }
Number WeatherRainForecast0_POP (gWetter) {http="<[cacheWeatherForecastWunderground:300000:XSLT(wunderground_weather_rainforecast0_pop.xsl)]" }
/**
 * Vorhersage Regenmenge morgen
 */
String WeatherRainForecast1 "Regenmenge/Wahrscheinlichkeit [%s]" <rain> (gWetter)
String WeatherRainForecast1_Date (gWetter) {http="<[cacheWeatherForecastWunderground:300000:XSLT(wunderground_weather_rainforecast1_date.xsl)]" }
Number WeatherRainForecast1_MM (gWetter) {http="<[cacheWeatherForecastWunderground:300000:XSLT(wunderground_weather_rainforecast1_mm.xsl)]" }
Number WeatherRainForecast1_POP (gWetter) {http="<[cacheWeatherForecastWunderground:300000:XSLT(wunderground_weather_rainforecast1_pop.xsl)]" }
/**
 * Vorhersage Regenmenge übermorgen
 */
String WeatherRainForecast2 "Regenmenge/Wahrscheinlichkeit [%s]" <rain> (gWetter)
String WeatherRainForecast2_Date (gWetter) {http="<[cacheWeatherForecastWunderground:300000:XSLT(wunderground_weather_rainforecast2_date.xsl)]" }
Number WeatherRainForecast2_MM (gWetter) {http="<[cacheWeatherForecastWunderground:300000:XSLT(wunderground_weather_rainforecast2_mm.xsl)]" }
Number WeatherRainForecast2_POP (gWetter) {http="<[cacheWeatherForecastWunderground:300000:XSLT(wunderground_weather_rainforecast2_pop.xsl)]" }
/**
 * Vorhersage Regenmenge heute +3
 */
String WeatherRainForecast3 "Regenmenge/Wahrscheinlichkeit [%s]" <rain> (gWetter)
String WeatherRainForecast3_Date (gWetter) {http="<[cacheWeatherForecastWunderground:300000:XSLT(wunderground_weather_rainforecast3_date.xsl)]" }
Number WeatherRainForecast3_MM (gWetter) {http="<[cacheWeatherForecastWunderground:300000:XSLT(wunderground_weather_rainforecast3_mm.xsl)]" }
Number WeatherRainForecast3_POP (gWetter) {http="<[cacheWeatherForecastWunderground:300000:XSLT(wunderground_weather_rainforecast3_pop.xsl)]" }
Bespiel für einen xslt Stylesheet:

Code: Alles auswählen

<?xml version="1.0"?>
<xsl:stylesheet 
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
	version="1.0">

	<xsl:output indent="yes" method="xml" encoding="UTF-8" omit-xml-declaration="yes" />
	<xsl:template match="/">
		<xsl:for-each select="response/forecast/simpleforecast/forecastdays/forecastday[period=1]">
			<xsl:value-of select="qpf_allday/mm"/>
		</xsl:for-each>
	</xsl:template>
</xsl:stylesheet>
Meine rules:

Code: Alles auswählen

rule "WeatherRainForecast1_Changed"
when
	Item WeatherRainForecast1_Date changed or
	Item WeatherRainForecast1_MM changed or 
	Item WeatherRainForecast1_POP changed
then
	if (WeatherRainForecast1_MM.changedSince(now.minusMinutes(5))){
		WeatherRainForecast1_MM.postUpdate(WeatherRainForecast1_MM.state as DecimalType)
	}
	WeatherRainForecast1.postUpdate(WeatherRainForecast1_Date.state + ": " + WeatherRainForecast1_MM.state + "mm / " + WeatherRainForecast1_POP.state + "%")
	logDebug("HomeBox.WeatherRainForecast_Changed", "Updated WeatherRainForecast1: " + WeatherRainForecast1.state)
	
	postUpdate(WeatherLastUpdate, new DateTimeType())
	logDebug("HomeBox.WeatherRainForecast_Changed", "Updated WeatherLastUpdate: " + WeatherLastUpdate.state)
end
Ich hoffe Ihr kommt damit weiter ... sonst einfach fragen.

Grüße,

Seppy
Homematic und HomematicIP über Raspberrymatic (RaspPi 4 4GB) mit 2x HMLAN. Steuerung und Visualisierung durch OpenHAB2 auf RaspPi in Hutschienengehäuse im Sicherungskasten. Rund 100 Aktoren/Sensoren

- Abgesichert durch APC USV
- Bewässerungssteuerung mit Hunter Magnetventilen (HM-LC-Sw4-DR)
- Beleuchtungssteuerung Innen und Aussen (HM-LC-Sw4-DR + HM-LC-SW1-FM + HMW-IO-12-SW7-DR)
- Rolladensteuerung mit Beschattungsautomatik über Temperaturdifferenzsensor (HM-LC-Bl1PBU-FM)
- Wetter und Unwetterinformationen von wunderground
- Benachrichtigung der Bewohner via Pushover
- Multimediawand und Dreambox Steuerung (HM-LC-SW1-FM)
- Heizungssteuerung mit Komfort und Energiesparfunktionen (HM-CC-RT-DN + HM-Sec-SC-2 + HMIP-eTRV-2)
- Werkstatt Kompressorsteuerung (HMW-IO-12-SW7-DR)
- Weihnachtsbeleuchtung außen
- Präsenzerkennung über Geolocation (iCloud Binding), iBeacon und WLAN (Unifi Binding)
- Philips HUE & Tasmota Devices (Tuya) Einbindung

Benutzeravatar
Cyrelian
Beiträge: 601
Registriert: 24. Sep 2015 17:55
Answers: 4

Wetterauswertung mit wunderground

Beitrag von Cyrelian »

Hi Seppy,

super, vielen Dank für die schnelle Hilfe. Ich habe meinen Fehler gefunden. Ich habe nur auf "CONDITIONS" abgefragt und nicht auf "FORECAST".
Für alle die die noch andere Dinge abfragen wollen, hier mal der Link zur API Doku:
https://www.wunderground.com/weather/api/d/docs.

Ich habe jetzt meine openhab.conf wie folgt angepasst:

Code: Alles auswählen

############################### HTTP Binding ##########################################
#
# timeout in milliseconds for the http requests (optional, defaults to 5000)
#http:timeout=

# the interval in milliseconds when to find new refresh candidates
# (optional, defaults to 1000)
#http:granularity=

# configuration of the first cache item
http:WeatherConditionsWunderground.url=http://api.wunderground.com/api/XXXXXXXXX/conditions/lang:DL/q/pws:IBORNHEI48.xml
http:WeatherConditionsWunderground.updateInterval=1800000

# configuration of the second cache item  
http:WeatherForecastWunderground.url=http://api.wunderground.com/api/XXXXXXXXX/forecast/lang:DL/q/pws:IBORNHEI48.xml
http:WeatherForecastWunderground.updateInterval=1800000
Jetzt kann ich beides abfragen :)

CYA
Cyrelian

Benutzeravatar
Cyrelian
Beiträge: 601
Registriert: 24. Sep 2015 17:55
Answers: 4

Re: Wetterauswertung mit wunderground

Beitrag von Cyrelian »

Hi Seppy,

warum macht du in der XSL Datei ein for-each?:

Code: Alles auswählen

 <xsl:for-each select="response/forecast/simpleforecast/forecastdays/forecastday[period=1]">
         <xsl:value-of select="qpf_allday/mm"/>
      </xsl:for-each>
und nicht :

Code: Alles auswählen

<xsl:value-of select="response/forecast/simpleforecast/forecastdays/forecastday[period=1]/qpf_allday/mm"
Wenn ich das richtig verstehe muss man ja eh für jeden "period" eine eigene XSL datei anlegen oder?

CU
Cyrelian

Ordnas
Beiträge: 11
Registriert: 5. Aug 2018 12:57

Re: Wetterauswertung mit wunderground

Beitrag von Ordnas »

Hallo Zusammen

dieser Beitrag ist zwar schon etwas älter und ich arbeite mit OH2. Leider ist es das einzige was ich für mein vorhaben gefunden habe und in meine Richtung führt.

Ich habe in meine OH2 die Gardena Bewässerung integriert. Nun mögchte ich aber, dass die Bewässerung nicht ausgeführt wird, wenn sowieso Regen vorhergesagt wird. Falls der Regen doch nicht kommt, soll es einfach einen Tag später wieder bewässern.

Eure Beiträge sehen sehr interessant aus, damit ich dies einbauen könnte. Mir fehlen aber etwas ausfürhlichere Angaben betreffend Binding, bzw. Things.

Oder habt ihr evtl. eine überarbeitete Version?
2x Kodi, 4x Xiaomi Flower, 1x Yamaha RX-V500D, 2x Samsung TV, 1x Sony TV, 1x VU+ One, 1x DM7080, 1x DM8000, 1x MFC-Drucker, 4x UniFi AC-Pro, 2x Switch, 1x Alexa Echo, 2x Dot, 2x Sonos One, 1x Siemens (Backen, Steamer), 1x Siemens (Micro, Backen), 1x Galaxy S6 (Habpanel), 1x iPad-4 (Habpanel), 1x Netatmo Secuity, 3x Netatmo Presence, 1x Netatmo Weather, 1x Miele Gefrierschrank, 1x Harmony, 1x Ring, 1x Xiaomi Mi

Gardena: 3xSensoren, 3xWasser, MicroDrip und 3x Versenk-Regner
1x Husqvarna 420

Philipps HUE:
1x Bridge, 20x Color Spots, 16x Ambiance Spots, 2x Outdoor Pedestal, 5x Stripes, 4x Go

Homematic:
1x HM-ES-PMSw1-Pl-DN-R5,1x HmIP-FAL230-C10,4x HmIP-PSM-CH,4x HmIP-SMI,1x HmIP-SPDR,1x HmIP-SPI,3x HmIP-STH,2x HmIP-STHD,1x HmIP-SWD,4x HMIP-SWDO,1x HmIP-SWO-PL,3x HmIP-SWSD,2x HMIP-WRC2,5x HmIP-WTH-2,8x HM-LC-Sw1-FM,5x HM-LC-Sw2-FM,1x HM-LC-Sw4-WM,2x HM-PB-2-WM55-2,1x HM-Sec-SC-2,14x HM-Sec-SCo,3x HM-Sec-SD-2,1x HM-Sec-Sir-WM,1x HM-Sec-WDS-2,1x HM-Sen-MDIR-O-2,1x HM-Sen-Wa-Od

Benutzeravatar
udo1toni
Beiträge: 13854
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Wetterauswertung mit wunderground

Beitrag von udo1toni »

Das größte Problem dabei ist, eine Datenquelle zu finden. Es gibt verschiedene Wetterbindings, aus denen Du auswählen kannst (und natürlich musst Du schauen, welcher davon in Deiner Region gute Daten liefert), leider bietet Weatherunderground keine kostenlosen API-Keys mehr an, falls Du also keinen funktionierenden alten Key hast, kannst Du dieses Binding vergessen. Bleibt das Yahoo weather Binding oder alternativ das OH1 Weather Binding (welches noch andere Wetterdienste anzapft). Es gibt wohl auch erste Bestrebungen, den DWD einzubinden, allerdings habe ich keine Ahnung, wie weit das schon gediehen ist.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Wetterauswertung mit wunderground

Beitrag von sihui »

Ordnas hat geschrieben: 24. Sep 2018 16:07 betreffend Binding
Vielleicht wäre als WU Alternative das neue OWM Binding ja interessant ...

https://github.com/eclipse/smarthome/pu ... t-30297201
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

Benutzeravatar
udo1toni
Beiträge: 13854
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Wetterauswertung mit wunderground

Beitrag von udo1toni »

Leider ist das noch nicht gemerged, oder?
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Wetterauswertung mit wunderground

Beitrag von sihui »

udo1toni hat geschrieben: 25. Sep 2018 17:52 Leider ist das noch nicht gemerged, oder?
Nein, aber über Snapshot und Marketplace steht es bereits zur Verfügung.

https://marketplace.eclipse.org/content ... ap-binding
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

Antworten