Wunderground Wetter mit einfachem HM-Skript holen

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

postit
Beiträge: 20
Registriert: 23.02.2016, 09:02

Re: Wunderground Wetter mit einfachem HM-Skript holen

Beitrag von postit » 08.03.2019, 23:37

Hat schon jemand ein Script um nur die aktuellen Daten von Dark Sky abzufragen?

Ich brauche halt nur die aktuellen Daten, aber gerne etwas detaillierter als bei Open Weather Map.

Besten Dank!

debianatoe
Beiträge: 475
Registriert: 05.12.2016, 19:04
Hat sich bedankt: 31 Mal
Danksagung erhalten: 4 Mal

Re: Wunderground Wetter mit einfachem HM-Skript holen

Beitrag von debianatoe » 09.03.2019, 12:28

HolgerK hat geschrieben:
27.02.2019, 07:56
Hallo zusammen,

seit heute früh ist ja nun für PWS Besitzer bei Wunderground die Möglichkeit geschaffen wieder einen API Code zu bekommen.
Wie bekommt man das? Was ist ein PWS Besitzer? Bei mir ist der Wunderground-Datenstrom am 5.3. abgestellt worden.
Viele Grüße,
debianatoe

virgin
Beiträge: 636
Registriert: 09.01.2013, 18:36
Wohnort: Leichlingen
Hat sich bedankt: 124 Mal
Danksagung erhalten: 5 Mal
Kontaktdaten:

Re: Wunderground Wetter mit einfachem HM-Skript holen

Beitrag von virgin » 09.03.2019, 12:41

Bei mir auch. Ich arbeite derweil an einer Ersatzlösung mit openweathermap oder über Iobroker mit DasWetter-Adapter. Habe mich noch nicht entschieden...
Bernd

HolgerK
Beiträge: 62
Registriert: 22.01.2018, 08:33

Re: Wunderground Wetter mit einfachem HM-Skript holen

Beitrag von HolgerK » 09.03.2019, 13:23

Hallo,

PWS = personal weather station
Also für alle die User die eine Wetterstation haben und ihre Daten bei Wundeground zur Verfügung stellen.

Gruß Holger

debianatoe
Beiträge: 475
Registriert: 05.12.2016, 19:04
Hat sich bedankt: 31 Mal
Danksagung erhalten: 4 Mal

Re: Wunderground Wetter mit einfachem HM-Skript holen

Beitrag von debianatoe » 09.03.2019, 13:29

postit hat geschrieben:
08.03.2019, 23:37
Hat schon jemand ein Script um nur die aktuellen Daten von Dark Sky abzufragen?
Ich nutze für DarkSky dieses TCL-Skript, um aktuelle Daten zu bekommen:

Code: Alles auswählen

#!/bin/tclsh
load tclrega.so

#
# Read weather data <Ort>
# Update der Daten auf DarkSky erfolgt minuetlich

# Variablen:
#   dsWetterBedingungen         Zeichenkette	summary	
#   dsTemperatur         Zahl (°C)	temperature
#   dsWindgeschwindigkeit   Zahl (km/h)	windSpeed
#   dsWindboeen         Zahl (km/h)	windGust
#   dsWindGrad         Zahl	(°)	windBearing	0°=Nord
#   dsWolkendecke      Zahl	(%)	cloudCover	100%=bedeckt / 0%=wolkenlos
#   dsLuftdruck         Zahl (mb)	pressure
#   dsUVIndex      Zahl	uvIndex
#   dsLuftfeuchte         Zahl	(%)	humidity
#	dsNsIntens	Zahl	(mm/h)	precipIntensity	Niederschlagsintensitaet
#	dsNsWahrsch	Zahl	(%)	precipProbability	Niederschlagswahrscheinlichkeit

#

# Achtung: 3 zusaetzliche Backslashes zum Entfluechten vor ? und 2x &
set url https://api.darksky.net/forecast/<APP-ID>/<GPS noerdliche Breite>,<GPS oestliche Laenge>\?exclude=hourly,daily\&units=ca\&lang=de
if { [catch {exec /usr/bin/wget --no-check-certificate -q -O /usr/local/addons/wetter/darksky.json $url} error] } {
    puts stderr "Could not reach $url \n$error"
    exit 1
}

set f [open "/usr/local/addons/wetter/darksky.json"]
set input [read $f]
close $f

#
# goto section with current observation
#
regexp ",\"currently\":{(.*?)},\"flags\":{" $input dummy current  ; #get current observation
#
regexp "\"time\":(.*?)," $current dummy observation_time  ; # letzter update
regexp "\"summary\":\"(.*?)\"," $current dummy weather  ; # wetterbedingungen
regexp "\"precipIntensity\":(.*?)," $current dummy prec_int  ; # Niederschlagsintensitaet # ZAHL
regexp "\"precipProbability\":(.*?)," $current dummy prec_pro  ; # Niederschlagswahrscheinlichkeit # ZAHL
regexp "\"temperature\":(.*?)," $current dummy temp_c  ; # temperatur # ZAHL
regexp "\"humidity\":(.*?)," $current dummy relative_humidity  ; # Luftfeuchtigkeit
regexp "\"pressure\":(.*?)," $current dummy pressure_mb  ; # Luftdruck
regexp "\"windSpeed\":(.*?)," $current dummy wind_kph  ; # Windgeschwindigkeit # ZAHL
regexp "\"windGust\":(.*?)," $current dummy wind_gust_kph  ; # Windboeengeschwindigkeit # ZAHL
regexp "\"windBearing\":(.*?)," $current dummy wind_dir  ; # windrichtung
regexp "\"cloudCover\":(.*?)," $current dummy cloudCover  ; # windbedingungen
regexp "\"uvIndex\":(.*?)," $current dummy uv_index  ; # #ZAHL

# Wahrscheinlichkeit in % umrechnen:
set prec_pro [expr $prec_pro * 100.0]
# relative Luftfeuchtigkeit in % umrechnen:
set relative_humidity [expr $relative_humidity * 100.0]
# relative Himmelbedeckung durch Wolken in % umrechnen:
set cloudCover [expr $cloudCover * 100.0]
           # Umlaute korrigieren

          switch $weather {
 "Leicht bewölkt"          {set wind_dir "Leicht bewölkt"}
# "Südost"           {set wind_dir "Südost"}
# "Süd"           {set wind_dir "Süd"}
# "West-Südwest"     {set wind_dir "West-Südwest"}
# "Süd-Südwest"     {set wind_dir "Süd-Südwest"}
# "Ost-Südost"       {set wind_dir "Ost-Südost"}
# "Süd-Südost"      {set wind_dir "Süd-Südost"}
        }
#
# set ReGaHss variables
#
set rega_cmd ""
append rega_cmd "var c0 = dom.GetObject('WetterAktualisierung');"
append rega_cmd "var c1 = dom.GetObject('dsWetterBedingungen');"
append rega_cmd "var c2 = dom.GetObject('dsTemperatur');"
append rega_cmd "var c3 = dom.GetObject('dsWindgeschwindigkeit');"
append rega_cmd "var c4 = dom.GetObject('dsWindboeen');"
append rega_cmd "var c5 = dom.GetObject('dsWindGrad');"
append rega_cmd "var c6 = dom.GetObject('dsWolkendecke');"
append rega_cmd "var c7 = dom.GetObject('dsLuftdruck');"
append rega_cmd "var c8 = dom.GetObject('dsUVIndex');"
append rega_cmd "var c9 = dom.GetObject('dsLuftfeuchte');"
append rega_cmd "var c10 = dom.GetObject('dsNsIntens');"
append rega_cmd "var c11 = dom.GetObject('dsNsWahrsch');"
#append rega_cmd "c0.State('$observation_time');"
append rega_cmd "c1.State('$weather');"
append rega_cmd "c2.State('$temp_c');"
append rega_cmd "c3.State('$wind_kph');"
append rega_cmd "c4.State('$wind_gust_kph');"
append rega_cmd "c5.State('$wind_dir');"
append rega_cmd "c6.State('$cloudCover');"
append rega_cmd "c7.State('$pressure_mb');"
append rega_cmd "c8.State('$uv_index');"
append rega_cmd "c9.State('$relative_humidity');"
append rega_cmd "c10.State('$prec_int');"
append rega_cmd "c11.State('$prec_pro');"

append rega_cmd "dom.GetObject('CUxD.CUX2801001:1.LOGIT').State('dsWindgeschwindigkeit;'#$wind_kph);"
append rega_cmd "dom.GetObject('CUxD.CUX2801001:1.LOGIT').State('dsWindboeen;'#$wind_gust_kph);"
append rega_cmd "dom.GetObject('CUxD.CUX2801001:1.LOGIT').State('dsLuftdruck;'#$pressure_mb);"
append rega_cmd "dom.GetObject('CUxD.CUX2801001:1.LOGIT').State('dsNsIntens;'#$prec_int);"
append rega_cmd "dom.GetObject('CUxD.CUX2801001:1.LOGIT').State('dsNsWahrsch;'#$prec_pro);"
rega_script $rega_cmd

Die entsprechenden Systemvariablen muß man angelegt haben. Die eigene APP-ID und die GPS-Daten des Wohnortes muß man an der markierten Stelle eintragen.
postit hat geschrieben:
08.03.2019, 23:37
Ich brauche halt nur die aktuellen Daten, aber gerne etwas detaillierter als bei Open Weather Map.
Es ist auch sehr individuell, wie weit die nächste Station des jeweiligen Anbieters vom eigenen Wohnort entfernt ist.
Viele Grüße,
debianatoe

him96
Beiträge: 152
Registriert: 10.06.2013, 10:42

Re: Wunderground Wetter mit einfachem HM-Skript holen

Beitrag von him96 » 09.03.2019, 15:30

Ich hatte mal irgendwo gelesen, dass man die DarkSky API nur zum Abruf nutzen darf, wenn man selbst Wetterdaten einer eigenen Sation zur Verfügung stellt. Ist das noch aktuell?

him96

virgin
Beiträge: 636
Registriert: 09.01.2013, 18:36
Wohnort: Leichlingen
Hat sich bedankt: 124 Mal
Danksagung erhalten: 5 Mal
Kontaktdaten:

Re: Wunderground Wetter mit einfachem HM-Skript holen

Beitrag von virgin » 09.03.2019, 15:36

Nein!
Bernd

him96
Beiträge: 152
Registriert: 10.06.2013, 10:42

Re: Wunderground Wetter mit einfachem HM-Skript holen

Beitrag von him96 » 09.03.2019, 15:43

Hab es wieder gefunden. Wie ist das zu verstehen?
Fonzo hat geschrieben:
22.01.2019, 22:33
Dir ist hoffentlich schon klar das Du damit gegen die Nutzungsbedingungen von Dark Sky verstößt.
direct your end-users to sign up for their own API account (The Dark Sky API not intended to be used directly by end-users)
Die API ist nicht dazu gedacht das jeder End User sich ein API Key holt und das ist auch explizit so in den Geschäftbedingungen erwähnt. Daher wenn man DarkSky nutzten will muss man eben eine Wetterdienst für andere kreieren über den dann gesamt abgerechnet wird. Wenn Du basteln willst nimm OpenWeather Map.

Fonzo
Beiträge: 6741
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 484 Mal

Re: Wunderground Wetter mit einfachem HM-Skript holen

Beitrag von Fonzo » 09.03.2019, 15:58

him96 hat geschrieben:
09.03.2019, 15:43
Wie ist das zu verstehen?
Na so wie es in den Nutzungsbedingungen der Dark Sky API steht. Wenn man einen Wetterdienst anbieten will kann man die API nutzten um Daten abzurufen, dabei zahlt man dann eben abhängig von der Anzahl der Aufrufe. Die API ist für Entwickler bzw. Unternehmen, die einen Wetterdienst erstellen wollen, nicht für Endkunden. Wenn man also etwas erstellt, bei dem es notwendig ist das sich jeder Endnutzer selber einen API Key holen muss, dann verstöst man gegen die Nutzungsbedingungen von Dark Sky.

debianatoe
Beiträge: 475
Registriert: 05.12.2016, 19:04
Hat sich bedankt: 31 Mal
Danksagung erhalten: 4 Mal

Re: Wunderground Wetter mit einfachem HM-Skript holen

Beitrag von debianatoe » 09.03.2019, 17:19

Ich sehe mich hier ganz klar als Entwickler und nicht als Enduser.
Viele Grüße,
debianatoe

Antworten

Zurück zu „Projektvorstellungen“