MeteoSchweiz stellt alle 10 Minuten die Daten all ihrer ca. 160 Messstationen als csv-Datei zur Verfügung
Geliefert werden: Messzeit (GMT), Temperatur (2m über Boden), Sonnenscheindauer in den letzten 10 Minuten, Niederschlagsmenge in der letzen Stunde (glaube ich), Windrichtung in Grad, Windgeschwindigkeit, Böhenspitze in den letzten 10 Minuten, Luftdruck auf Stationshöhe, Luftdruck auf Meereshöhe und der Luftdruck auf Meereshöhe bei "Normalbedingungen"
So können sie gelesen und angezeigt werden (Beispiel für die Messtation "Buchs / Suhr"):
define WetterBuchsSuhr HTTPMOD http://data.geo.admin.ch/ch.meteoschweiz.swissmetnet/VQHA69.csv 300
attr WetterBuchsSuhr userattr reading01-10Name reading01-11Name reading01-12Name reading01-1Name reading01-2Name reading01-3Name reading01-4Name reading01-5Name reading01-6Name reading01-7Name reading01-8Name reading01-9Name reading01Regex
attr WetterBuchsSuhr alias Wetter Buchs / Suhr (MeteoSchweiz)
attr WetterBuchsSuhr enableControlSet 1
attr WetterBuchsSuhr group Wetter
attr WetterBuchsSuhr reading01-10Name humidity
attr WetterBuchsSuhr reading01-11Name qfePressure
attr WetterBuchsSuhr reading01-12Name qffPressure
attr WetterBuchsSuhr reading01-1Name code
attr WetterBuchsSuhr reading01-2Name dateTime
attr WetterBuchsSuhr reading01-3Name temperature
attr WetterBuchsSuhr reading01-4Name sunshine
attr WetterBuchsSuhr reading01-5Name precipitation
attr WetterBuchsSuhr reading01-6Name windDirection
attr WetterBuchsSuhr reading01-7Name windSpeed
attr WetterBuchsSuhr reading01-8Name qnhPressure
attr WetterBuchsSuhr reading01-9Name gustPeak
attr WetterBuchsSuhr reading01Regex (BUS)\|([\d\.]+)\|([\d\.]+)\|([\d\.]+)\|([\d\.]+)\|([\d\.]+)\|([\d\.]+)\|([\d\.]+)\|([\d\.]+)\|([\d\.]+)\|([\d\.]+)\|([\d\.]+)
attr WetterBuchsSuhr room Unsorted
attr WetterBuchsSuhr stateFormat dateTimeLocal: Temperatur: temperature°C, Luftfeuchtigkeit: humidity%, Windgeschwindigkeit windSpeed kmh (Spitze: gustPeak kmh)
attr WetterBuchsSuhr userReadings dateTimeLocal {use Time::Piece;;my $time = localtime->strptime(ReadingsVal($NAME,"dateTime",0), "%Y%m%d%H%M");; $time = $time + $time->tzoffset();; $time->strftime("%d.%m.%Y %H:%M")}
attr WetterBuchsSuhr verbose 1
define Aktuelles_Wetter_BuchsSuhr readingsGroup WetterBuchsSuhr:dateTimeLocal WetterBuchsSuhr:temperature WetterBuchsSuhr:humidity WetterBuchsSuhr:windSpeed WetterBuchsSuhr:gustPeak WetterBuchsSuhr:windDirection WetterBuchsSuhr:precipitation WetterBuchsSuhr:sunshine WetterBuchsSuhr:qfePressure WetterBuchsSuhr:qnhPressure
attr Aktuelles_Wetter_BuchsSuhr alias Aktuelles Wetter Buchs / Suhr (MeteoSchweiz)
attr Aktuelles_Wetter_BuchsSuhr group Wetter
attr Aktuelles_Wetter_BuchsSuhr mapping { 'dateTimeLocal' => 'Messzeitpunkt', 'temperature' => 'Temperatur','humidity' => ' Luftfeuchtigkeit','windSpeed' => 'Windgeschwindigkeit ','gustPeak' => 'Böhenspitze','precipitation' => 'Niederschlag (letzte 10min)','sunshine' => 'Sonnenscheindauer (letzte 10min)','windDirection' => 'Windrichtung','qfePressure' => 'Luftdruck Messstation', 'qnhPressure' => 'Luftdruck auf Mehreshöhe'}
attr Aktuelles_Wetter_BuchsSuhr notime 1
attr Aktuelles_Wetter_BuchsSuhr room Wetter
attr Aktuelles_Wetter_BuchsSuhr valueFormat {"dateTimeLocal" => "%s","temperature" => "%.1f °;C","humidity" => "%s%","sunshine" => "%20smin","windSpeed" => "%d kmh","gustPeak" => "%d kmh","windDirection"=>"%d °;","precipitation"=>"%.1f mm","sunshine" => "%.1f min","qfePressure"=>"%.1f hPa", "qnhPressure"=>"%.1f hPa"}
Jede Station hat ein Kürzel (hier "BUS"), dieses findet man auf der Webseite von Meteoschweiz (http://www.meteoschweiz.admin.ch/home/mess-und-prognosesysteme/bodenstationen/automatisches-messnetz.html?region=Tabelle). Für eine andere Station ist in reading01Regex "BUS" durch das entsprechende Stationskürzel zu ersetzen
have Fun
Thomas
Danke für deine ausführliche Erklärung. Genau das habe ich gesucht.
Wie hast du dieses File gefunden? Würde gerne noch mehr Daten abfragen wie z.B. den Polenflug. Kann aber nichts finden.
Gruss vom Zürisee! [emoji16]
Zitat von: DanHard am 11 Juli 2017, 06:38:48
Danke für deine ausführliche Erklärung. Genau das habe ich gesucht.
Wie hast du dieses File gefunden? Würde gerne noch mehr Daten abfragen wie z.B. den Polenflug. Kann aber nichts finden.
Gruss vom Zürisee! [emoji16]
Hier habe ich was gefunden wo das csv File herkommt.
https://www.sturmforum.ch/viewtopic.php?t=10161
Bei mir gibt es leider einen Fehler:
dateTimeLocal
Error evaluating WetterLuzern userReading dateTimeLocal: Error parsing time at /usr/lib/perl/5.14/Time/Piece.pm line 469.
2019-10-22 01:35:36
Grüessli
Vorwarnung:
https://data.geo.admin.ch/ch.meteoschweiz.swissmetnet/important_information.txt (https://data.geo.admin.ch/ch.meteoschweiz.swissmetnet/important_information.txt)
This data delivery has an unusual format and will be terminated on January 8, 2020.
Please use the new dataset:
Metadata: opendata.swiss «Automatic weather stations – Current measurement values»
Information: https://data.geo.admin.ch/ch.meteoschweiz.messwerte-aktuell/data.zip
*******************************************************************************************
Dieser Datensatz hat ein unübliches Format und wird am 8.Januar 2020 abgestellt.
Bitte verwenden Sie den neuen Datensatz:
Metadata: opendata.swiss «Automatische Wetterstationen - aktuelle Messwerte»
Information: https://data.geo.admin.ch/ch.meteoschweiz.messwerte-aktuell/data.zip
Ich habe das mal für das ab heute geltende neue Format angepasst und erweitert:
define WetterLuzern HTTPMOD https://data.geo.admin.ch/ch.meteoschweiz.messwerte-aktuell/VQHA80.csv 300
attr WetterLuzern userattr reading01-10Name reading01-11Name reading01-12Name reading01-1Name reading01-2Name reading01-3Name reading01-4Name reading01-5Name reading01-6Name reading01-7Name reading01-8Name reading01-9Name reading01Regex
attr WetterLuzern alias Wetter Luzern (MeteoSchweiz)
attr WetterLuzern enableControlSet 1
attr WetterLuzern group Wetter
attr WetterLuzern reading01-1Name code
attr WetterLuzern reading01-2Name dateTime
attr WetterLuzern reading01-3Name temperature
attr WetterLuzern reading01-4Name precipitation
attr WetterLuzern reading01-5Name sunshine
attr WetterLuzern reading01-6Name radiation
attr WetterLuzern reading01-7Name humidity
attr WetterLuzern reading01-8Name dewpoint
attr WetterLuzern reading01-9Name windDirection
attr WetterLuzern reading01-10Name windSpeed
attr WetterLuzern reading01-11Name gustPeak
attr WetterLuzern reading01-12Name qfePressure
attr WetterLuzern reading01Regex (LUZ);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+)
attr WetterLuzern room Unsorted
attr WetterLuzern stateFormat dateTimeLocal: Temperatur: temperature°C, Niederschlag: precipitation mm, Sonne: sunshine min, Globalstrahlung: radiation W/m2, Luftfeuchtigkeit: humidity%, Taupunkt: dewpoint°C, Windrichtung: windDirection°
attr WetterLuzern userReadings dateTimeLocal {use Time::Piece;;my $time = localtime->strptime(ReadingsVal($NAME,"dateTime",0), "%Y%m%d%H%M");; $time = $time + $time->tzoffset();; $time->strftime("%d.%m.%Y %H:%M")}
attr WetterLuzern verbose 1
define Aktuelles_Wetter_Luzern readingsGroup WetterLuzern:dateTimeLocal WetterLuzern:temperature WetterLuzern:precipitation WetterLuzern:sunshine WetterLuzern:radiation WetterLuzern:humidity WetterLuzern:dewpoint WetterLuzern:windDirecti
attr Aktuelles_Wetter_Luzern alias Aktuelles Luzern (MeteoSchweiz)
attr Aktuelles_Wetter_Luzern group Wetter
attr Aktuelles_Wetter_Luzern mapping { 'dateTimeLocal' => 'Messzeitpunkt', 'temperature' => 'Temperatur','humidity' => ' Luftfeuchtigkeit','windSpeed' => 'Windgeschwindigkeit ','gustPeak' => 'Böhenspitze','precipitation' => 'Niederschlag
attr Aktuelles_Wetter_Luzern notime 1
attr Aktuelles_Wetter_Luzern room Wetter
attr Aktuelles_Wetter_Luzern valueFormat {"dateTimeLocal" => "%s","temperature" => "%.1f °;C","humidity" => "%s%","sunshine" => "%20smin","windSpeed" => "%d km/h","gustPeak" => "%d km/h","windDirection"=>"%d °;","precipitation"=>
Danke Dir !
Da ist aber irgendwas noch schief in der Readingsgroup. Habe mir erlaubt das zu korrigieren.
defmod WetterLuzern HTTPMOD https://data.geo.admin.ch/ch.meteoschweiz.messwerte-aktuell/VQHA80.csv 300
attr WetterLuzern userattr reading01-10Name reading01-11Name reading01-12Name reading01-1Name reading01-2Name reading01-3Name reading01-4Name reading01-5Name reading01-6Name reading01-7Name reading01-8Name reading01-9Name reading01Regex
attr WetterLuzern alias Wetter Luzern (MeteoSchweiz)
attr WetterLuzern enableControlSet 1
attr WetterLuzern group Wetter
attr WetterLuzern reading01-10Name windSpeed
attr WetterLuzern reading01-11Name gustPeak
attr WetterLuzern reading01-12Name qfePressure
attr WetterLuzern reading01-1Name code
attr WetterLuzern reading01-2Name dateTime
attr WetterLuzern reading01-3Name temperature
attr WetterLuzern reading01-4Name precipitation
attr WetterLuzern reading01-5Name sunshine
attr WetterLuzern reading01-6Name radiation
attr WetterLuzern reading01-7Name humidity
attr WetterLuzern reading01-8Name dewpoint
attr WetterLuzern reading01-9Name windDirection
attr WetterLuzern reading01Regex (LUZ);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+)
attr WetterLuzern room Wetter
attr WetterLuzern stateFormat dateTimeLocal: Temperatur: temperature°C, Niederschlag: precipitation mm, Sonne: sunshine min, Globalstrahlung: radiation W/m2, Luftfeuchtigkeit: humidity%, Taupunkt: dewpoint°C, Windrichtung: windDirection°
attr WetterLuzern userReadings dateTimeLocal {use Time::Piece;;my $time = localtime->strptime(ReadingsVal($NAME,"dateTime",0), "%Y%m%d%H%M");; $time = $time + $time->tzoffset();; $time->strftime("%d.%m.%Y %H:%M")}
attr WetterLuzern verbose 1
defmod Aktuelles_Wetter_Luzern readingsGroup WetterLuzern:dateTimeLocal WetterLuzern:temperature WetterLuzern:precipitation WetterLuzern:sunshine WetterLuzern:radiation WetterLuzern:humidity WetterLuzern:dewpoint WetterLuzern:windDirection WetterLuzern:gustPeak WetterLuzern:windSpeed
attr Aktuelles_Wetter_Luzern alias Aktuelles Wetter Luzern (MeteoSchweiz)
attr Aktuelles_Wetter_Luzern group Wetter
attr Aktuelles_Wetter_Luzern mapping {\
\
'dateTimeLocal' => 'Messzeitpunkt', \
'temperature' => 'Temperatur',\
'humidity' => 'Luftfeuchtigkeit',\
'dewpoint' => 'Taupunkt',\
'sunshine' => 'Sonnenscheindauer',\
'radiation' => 'Globalstrahlung',\
'windSpeed' => 'Windgeschwindigkeit ',\
'gustPeak' => 'Böenspitze',\
'windDirection' => 'Windrichtung',\
'precipitation' => 'Niederschlag'\
\
}
attr Aktuelles_Wetter_Luzern notime 1
attr Aktuelles_Wetter_Luzern room Wetter
attr Aktuelles_Wetter_Luzern valueFormat {\
"dateTimeLocal" => "%s",\
"temperature" => "%.1f °; C",\
"humidity" => "%s%",\
"dewpoint" => "%.1f °; C",\
"sunshine" => "%20s min",\
"radiation" => "%s W/m²;",\
"windSpeed" => "%d km/h",\
"gustPeak" => "%d km/h",\
"windDirection"=>"%d °;",\
"precipitation"=> "%s mm"\
}
Grüße, gadget
Vielen Dank!
Ich habs erst heute gesehen.....
Gruss
Thomas
PSI hat nur die Windgeschwindigkeit auf dem Turm, also mal die anderen Spalten noch ergänzt (die Beschreibung gibt es hier:
https://data.geo.admin.ch/ch.meteoschweiz.messwerte-aktuell/info/VQHA80_de.txt ):
defmod WetterPSI HTTPMOD https://data.geo.admin.ch/ch.meteoschweiz.messwerte-aktuell/VQHA80.csv 300
attr WetterPSI userattr reading01-10Name reading01-11Name reading01-12Name reading01-13Name reading01-14Name reading01-15Name reading01-16Name reading01-17Name reading01-18Name reading01-19Name reading01-1Name reading01-20Name reading01-21Name reading01-22Name reading01-2Name reading01-3Name reading01-4Name reading01-5Name reading01-6Name reading01-7Name reading01-8Name reading01-9Name reading01Regex
attr WetterPSI alias Wetter PSI (MeteoSchweiz)
attr WetterPSI enableControlSet 1
attr WetterPSI group Wetter
attr WetterPSI reading01-10Name windSpeed
attr WetterPSI reading01-11Name gustPeak
attr WetterPSI reading01-12Name qfePressure
attr WetterPSI reading01-13Name qffPressure
attr WetterPSI reading01-14Name qnhPressure
attr WetterPSI reading01-15Name ppz850s0
attr WetterPSI reading01-16Name ppz700s0
attr WetterPSI reading01-17Name windDirectionTower
attr WetterPSI reading01-18Name windSpeedTower
attr WetterPSI reading01-19Name gustPeakTower
attr WetterPSI reading01-1Name code
attr WetterPSI reading01-20Name temperatureTower
attr WetterPSI reading01-21Name humidityTower
attr WetterPSI reading01-22Name dewpointTower
attr WetterPSI reading01-2Name dateTime
attr WetterPSI reading01-3Name temperature
attr WetterPSI reading01-4Name precipitation
attr WetterPSI reading01-5Name sunshine
attr WetterPSI reading01-6Name radiation
attr WetterPSI reading01-7Name humidity
attr WetterPSI reading01-8Name dewpoint
attr WetterPSI reading01-9Name windDirection
attr WetterPSI reading01Regex (PSI);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+)
attr WetterPSI room Wetter
attr WetterPSI stateFormat dateTimeLocal: Temperatur: temperature°C (Lufttemperatur 2 m über Boden;; Momentanwert), Niederschlag: precipitation mm (Niederschlag;; Zehnminutensumme), Sonne: sunshine min (Sonnenscheindauer;; Zehnminutensumme), Globalstrahlung: radiation W/m2 (Globalstrahlung;; Zehnminutenmittel), Luftfeuchtigkeit: humidity% (Relative Luftfeuchtigkeit 2 m über Boden;; Momentanwert), Taupunkt: dewpoint°C (Taupunkt 2 m über Boden;; Momentanwert), Windrichtung: windDirection° (Windrichtung;; Zehnminutenmittel), Windgeschwindigkeit: windSpeed (Windgeschwindigkeit;; Zehnminutenmittel), Böenspitze: gustPeak (Böenspitze (Sekundenböe);; Maximum), Luftdruck Stationshöhe: qfePressure hPa (Luftdruck auf Stationshöhe (QFE);; Momentanwert), Luftdruck Meeresniveau: qffPressure hPa (Luftdruck reduziert auf Meeresniveau (QFF);; Momentanwert), Luftdruck Meeresniveau Standardatmosphäre: qnhPressure hPa (Luftdruck reduziert auf Meeresniveau mit Standardatmosphäre (QNH);; Momentanwert), 850 hPa-Fläche: ppz850s0 gpm (Geopotentielle Höhe der 850 hPa-Fläche;; Momentanwert), 700 hPa-Fläche: ppz700s0 gpm (Geopotentielle Höhe der 700 hPa-Fläche;; Momentanwert), Windrichtung Turm: windDirectionTower° (Windrichtung vektoriell;; Zehnminutenmittel;; Instrument 1), Windgeschwindigkeit Turm: windSpeedTower km/h (Windgeschwindigkeit Turm;; Zehnminutenmittel), Böenspitze Turm: gustPeakTower km/h (Böenspitze (Sekundenböe) Turm;; Maximum), TemperaturTurm: temperatureTower °C (Lufttemperatur Instrument 1), Luftfeuchtigkeit Turm: humidityTower % (Relative Luftfeuchtigkeit Turm;; Momentanwert), Taupunkt Turm: dewpointTower °C (Taupunkt Turm),
attr WetterPSI userReadings dateTimeLocal {use Time::Piece;;my $time = localtime->strptime(ReadingsVal($NAME,"dateTime",0), "%Y%m%d%H%M");; $time = $time + $time->tzoffset();; $time->strftime("%d.%m.%Y %H:%M")}
attr WetterPSI verbose 1
defmod Aktuelles_Wetter_PSI readingsGroup WetterPSI:dateTimeLocal WetterPSI:temperature WetterPSI:precipitation WetterPSI:sunshine WetterPSI:radiation WetterPSI:humidity WetterPSI:dewpoint WetterPSI:windDirectionTower WetterPSI:gustPeakTower WetterPSI:windSpeedTower WetterPSI:qfePressure
attr Aktuelles_Wetter_PSI alias Aktuelles Wetter PSI (MeteoSchweiz)
attr Aktuelles_Wetter_PSI group Wetter
attr Aktuelles_Wetter_PSI mapping {\
\
'dateTimeLocal' => 'Messzeitpunkt', \
'temperature' => 'Temperatur',\
'humidity' => 'Luftfeuchtigkeit',\
'dewpoint' => 'Taupunkt',\
'sunshine' => 'Sonnenscheindauer',\
'radiation' => 'Globalstrahlung',\
'windSpeed' => 'Windgeschwindigkeit',\
'gustPeak' => 'Böenspitze',\
'windDirection' => 'Windrichtung',\
'precipitation' => 'Niederschlag',\
'qfePressure' => 'Luftdruck Stationshöhe',\
'qffPressure' => 'Luftdruck Meeresniveau',\
'qnhPressure' => 'Luftdruck Meeresniveau Standardatmosphäre',\
'ppz850s0' => '850 hPa-Fläche',\
'ppz700s0' => '700 hPa-Fläche',\
'windDirectionTower' => 'Windrichtung Turm',\
'windSpeedTower' => 'Windgeschwindigkeit Turm',\
'gustPeakTower' => 'Böenspitze Turm',\
'temperatureTower' => 'Temperatur Turm',\
'humidityTower' => 'Feuchtigkeit Turm',\
'dewpointTower' => 'Taupunkt Turm'\
\
}
attr Aktuelles_Wetter_PSI notime 1
attr Aktuelles_Wetter_PSI room Wetter
attr Aktuelles_Wetter_PSI valueFormat {\
"dateTimeLocal" => "%s",\
"temperature" => "%.1f °; C",\
"humidity" => "%s%",\
"dewpoint" => "%.1f °; C",\
"sunshine" => "%20s min",\
"radiation" => "%s W/m²;",\
"windSpeed" => "%d km/h",\
"gustPeak" => "%d km/h",\
"windDirection" => "%d °;",\
"precipitation" => "%s mm",\
"qfePressure" => "%d hPa",\
"qffPressure" => "%d hPa (Luftdruck Meeresniveau)",\
"qnhPressure" => "%d hPa (Luftdruck Meeresniveau Standardatmosphäre)",\
"ppz850s0" => "%d (850 hPa-Fläche)",\
"ppz700s0" => "%d (700 hPa-Fläche)",\
"windDirectionTower" => "%d °; (Windrichtung Turm)",\
"windSpeedTower" => "%d km/h (Windgeschwindigkeit Turm)",\
"gustPeakTower" => "%d km/h (Böenspitze Turm)",\
"temperatureTower" => "%.1f °; C (Temperatur Turm)",\
"humidityTower" => "%s% (Feuchtigkeit Turm)",\
"dewpointTower" => "%.1f °; C (Taupunkt Turm)"\
}
und das loggen der Daten (ich möchte Regen am PSI und den «Wert» der beiden Velux Regensensors plotten können):
defmod FileLog_WetterPSI FileLog ./log/Wetter-%Y.log WetterPSI
attr FileLog_WetterPSI logtype text
Wie könnte man nun mit einem HTTPMOD zwei Stationen abfragen?
Gruss
tomix
Hallo zusammen.
Ich habe die Daten von oben übernommen und bekomme nun folgende Fehlermeldung. Ich bin ein absoluter Neuling und wäre sehr froh um eure Hilfe. Fhem läuft auf einem Raspberry 3B.
Error evaluating OUT_WetterSTG userReading dateTimeLocal: Error parsing time at /usr/lib/arm-linux-gnueabihf/perl/5.28/Time/Piece.pm line 583.
Ich gehe davon aus, dass auf dem Raspberry was fehlt aber ich bekomme nicht raus was.
Besten Dank im Voraus!
Gruss Heinz
Zitat von: Smily013 am 26 Juni 2020, 09:17:48
Hallo zusammen.
Ich habe die Daten von oben übernommen und bekomme nun folgende Fehlermeldung. Ich bin ein absoluter Neuling und wäre sehr froh um eure Hilfe. Fhem läuft auf einem Raspberry 3B.
Error evaluating OUT_WetterSTG userReading dateTimeLocal: Error parsing time at /usr/lib/arm-linux-gnueabihf/perl/5.28/Time/Piece.pm line 583.
Ich gehe davon aus, dass auf dem Raspberry was fehlt aber ich bekomme nicht raus was.
Besten Dank im Voraus!
Gruss Heinz
Ne, anscheinend hast Du schon das benötigte Time::Piece Modul sonst würde er nicht line 583 schreien.
Kannst Du noch ein list von beiden Devices (HTTPMOD und readingsGroup) liefern?
Zitat von: amenomade am 26 Juni 2020, 22:24:02
Ne, anscheinend hast Du schon das benötigte Time::Piece Modul sonst würde er nicht line 583 schreien.
Kannst Du noch ein list von beiden Devices (HTTPMOD und readingsGroup) liefern?
Sehr gerne, aber kannst du mir bitte sagen wie ich das machen kann?
Sorry, ich bin wirklich Anfänger.
So jetzt habe ich auch verstanden was du meinst.
Internals:
BUSY 0
DEF https://data.geo.admin.ch/ch.meteoschweiz.messwerte-aktuell/VQHA80.csv 300
FUUID 5ef31fbd-f33f-02cb-3188-19a876cb32418a46
FVERSION 98_HTTPMOD.pm:0.211410/2020-02-07
Interval 300
LASTSEND 1593273053.40063
MainURL https://data.geo.admin.ch/ch.meteoschweiz.messwerte-aktuell/VQHA80.csv
ModuleVersion 3.5.22 - 7.2.2020
NAME OUT_WetterSTG
NOTIFYDEV global
NR 119
NTFY_ORDER 50-OUT_WetterSTG
STATE Error evaluating OUT_WetterSTG userReading dateTimeLocal: Error parsing time at /usr/lib/arm-linux-gnueabihf/perl/5.28/Time/Piece.pm line 583.
: Temperatur: temperature°C (Lufttemperatur 2 m über Boden;; Momentanwert), Niederschlag: precipitation mm (Niederschlag;; Zehnminutensumme), Sonne: sunshine min (Sonnenscheindauer;; Zehnminutensumme), Globalstrahlung: radiation W/m2 (Globalstrahlung;; Zehnminutenmittel), Luftfeuchtigkeit: humidity% (Relative Luftfeuchtigkeit 2 m über Boden;; Momentanwert), Taupunkt: dewpoint°C (Taupunkt 2 m über Boden;; Momentanwert), Windrichtung: windDirection° (Windrichtung;; Zehnminutenmittel), Windgeschwindigkeit: windSpeed (Windgeschwindigkeit;; Zehnminutenmittel), Böenspitze: gustPeak (Böenspitze (Sekundenböe);; Maximum), Luftdruck Stationshöhe: qfePressure hPa (Luftdruck auf Stationshöhe (QFE);; Momentanwert), Luftdruck Meeresniveau: qffPressure hPa (Luftdruck reduziert auf Meeresniveau (QFF);; Momentanwert), Luftdruck Meeresniveau Standardatmosphäre: qnhPressure hPa (Luftdruck reduziert auf Meeresniveau mit Standardatmosphäre (QNH);; Momentanwert), 850 hPa-Fläche: ppz850s0 gpm (Geopotentielle Höhe der 850 hPa-Fläche;; Momentanwert), 700 hPa-Fläche: ppz700s0 gpm (Geopotentielle Höhe der 700 hPa-Fläche;; Momentanwert), Windrichtung Turm: windDirectionTower° (Windrichtung vektoriell;; Zehnminutenmittel;; Instrument 1), Windgeschwindigkeit Turm: windSpeedTower km/h (Windgeschwindigkeit Turm;; Zehnminutenmittel), Böenspitze Turm: gustPeakTower km/h (Böenspitze (Sekundenböe) Turm;; Maximum), TemperaturTurm: temperatureTower °C (Lufttemperatur Instrument 1), Luftfeuchtigkeit Turm: humidityTower % (Relative Luftfeuchtigkeit Turm;; Momentanwert), Taupunkt Turm: dewpointTower °C (Taupunkt Turm),
TRIGGERTIME 1593273353.39871
TRIGGERTIME_FMT 2020-06-27 17:55:53
TYPE HTTPMOD
addr https://data.geo.admin.ch:443
auth 0
buf
code 200
compress 1
conn
data
displayurl https://data.geo.admin.ch/ch.meteoschweiz.messwerte-aktuell/VQHA80.csv
header
host data.geo.admin.ch
httpheader HTTP/1.1 200 OK
Content-Type: binary/octet-stream
Content-Length: 13966
Connection: close
Last-Modified: Sat, 27 Jun 2020 15:48:31 GMT
x-amz-version-id: OLM35.4hiC46jvkKCULrheNNt4bkRy2h
Server: AmazonS3
Date: Sat, 27 Jun 2020 15:49:57 GMT
ETag: "f379fb15d4f593a36e95958253f5cf82"
X-Cache: Hit from cloudfront
Via: 1.1 08c5e904e2f0226b2d9c1417f32b12f2.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: ZRH50-C1
X-Amz-Cf-Id: ZVMiRdZ8bu3juhhIBRE9gjip3fdgGPBLBP4VC4K-64EKUULPQ7bawg==
Age: 56
httpversion 1.0
hu_blocking 0
hu_filecount 52
hu_port 443
hu_portSfx
ignoreredirects 1
loglevel 4
path /ch.meteoschweiz.messwerte-aktuell/VQHA80.csv
protocol https
redirects 0
timeout 2
url https://data.geo.admin.ch/ch.meteoschweiz.messwerte-aktuell/VQHA80.csv
value 0
CompiledRegexes:
Helper:
DBLOG:
dateTimeLocal:
LOG_Db:
TIME 1593273053.46675
VALUE Error evaluating OUT_WetterSTG userReading dateTimeLocal
QUEUE:
READINGS:
2020-06-27 17:50:53 dateTimeLocal Error evaluating OUT_WetterSTG userReading dateTimeLocal: Error parsing time at /usr/lib/arm-linux-gnueabihf/perl/5.28/Time/Piece.pm line 583.
REQUEST:
data
header
ignoreredirects 0
retryCount 0
type update
url https://data.geo.admin.ch/ch.meteoschweiz.messwerte-aktuell/VQHA80.csv
value 0
sslargs:
Attributes:
alias Wetter STG (Meter Schweiz)
enableControlSet 1
reading01-10Name windSpeed
reading01-11Name gustPeak
reading01-12Name qfePressure
reading01-13Name qffPressure
reading01-14Name qnhPressure
reading01-15Name ppz850s0
reading01-16Name ppz700s0
reading01-17Name windDirectionTower
reading01-18Name windSpeedTower
reading01-19Name gustPeakTower
reading01-1Name code
reading01-20Name temperatureTower
reading01-21Name humidityTower
reading01-22Name dewpointTower
reading01-2Name dateTime
reading01-3Name temperature
reading01-4Name precipitation
reading01-5Name sunshine
reading01-6Name radiation
reading01-7Name humidity
reading01-8Name dewpoint
reading01-9Name windDirection
reading01Regex (STG);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+);;([-?\d\.]+)
room Draussen
stateFormat dateTimeLocal: Temperatur: temperature°C (Lufttemperatur 2 m über Boden;; Momentanwert), Niederschlag: precipitation mm (Niederschlag;; Zehnminutensumme), Sonne: sunshine min (Sonnenscheindauer;; Zehnminutensumme), Globalstrahlung: radiation W/m2 (Globalstrahlung;; Zehnminutenmittel), Luftfeuchtigkeit: humidity% (Relative Luftfeuchtigkeit 2 m über Boden;; Momentanwert), Taupunkt: dewpoint°C (Taupunkt 2 m über Boden;; Momentanwert), Windrichtung: windDirection° (Windrichtung;; Zehnminutenmittel), Windgeschwindigkeit: windSpeed (Windgeschwindigkeit;; Zehnminutenmittel), Böenspitze: gustPeak (Böenspitze (Sekundenböe);; Maximum), Luftdruck Stationshöhe: qfePressure hPa (Luftdruck auf Stationshöhe (QFE);; Momentanwert), Luftdruck Meeresniveau: qffPressure hPa (Luftdruck reduziert auf Meeresniveau (QFF);; Momentanwert), Luftdruck Meeresniveau Standardatmosphäre: qnhPressure hPa (Luftdruck reduziert auf Meeresniveau mit Standardatmosphäre (QNH);; Momentanwert), 850 hPa-Fläche: ppz850s0 gpm (Geopotentielle Höhe der 850 hPa-Fläche;; Momentanwert), 700 hPa-Fläche: ppz700s0 gpm (Geopotentielle Höhe der 700 hPa-Fläche;; Momentanwert), Windrichtung Turm: windDirectionTower° (Windrichtung vektoriell;; Zehnminutenmittel;; Instrument 1), Windgeschwindigkeit Turm: windSpeedTower km/h (Windgeschwindigkeit Turm;; Zehnminutenmittel), Böenspitze Turm: gustPeakTower km/h (Böenspitze (Sekundenböe) Turm;; Maximum), TemperaturTurm: temperatureTower °C (Lufttemperatur Instrument 1), Luftfeuchtigkeit Turm: humidityTower % (Relative Luftfeuchtigkeit Turm;; Momentanwert), Taupunkt Turm: dewpointTower °C (Taupunkt Turm),
userReadings dateTimeLocal {use Time::Piece;;my $time = localtime->strptime(ReadingsVal($NAME,"dateTime",0), "%Y%m%d%H%M");; $time = $time + $time->tzoffset();; $time->strftime("%d.%m.%Y %H:%M")}
userattr reading01-10Name reading01-11Name reading01-12Name reading01-13Name reading01-14Name reading01-15Name reading01-16Name reading01-17Name reading01-18Name reading01-19Name reading01-1Name reading01-20Name reading01-21Name reading01-22Name reading01-2Name reading01-3Name reading01-4Name reading01-5Name reading01-6Name reading01-7Name reading01-8Name reading01-9Name reading01Regex
verbose 1
und
Internals:
CFGFN
DEF WetterSTG:dateTimeLocal WetterSTG:temperature WetterSTG:precipitation WetterSTG:sunshine WetterSTG:radiation WetterSTG:humidity WetterSTG:dewpoint WetterSTG:windDirectionTower WetterSTG:gustPeakTower WetterSTG:windSpeedTower WetterSTG:qfePressure
FUUID 5ef73eed-f33f-02cb-bd1e-515de222151bc3df
NAME OUT_Aktuelles_Wetter_STG
NR 462
NTFY_ORDER 50-OUT_Aktuelles_Wetter_STG
STATE Initialized
TYPE readingsGroup
changed 0
mayBeVisible 1
CONTENT:
CONTENT2:
DEVICES:
Helper:
DBLOG:
state:
LOG_Db:
TIME 1593262182.24077
VALUE visibility toggle
fhem:
lastDefChange 6
last_update 1593262182.23914
helper:
DEF
mapping {\
\
'dateTimeLocal' => 'Messzeitpunkt', \
'temperature' => 'Temperatur',\
'humidity' => 'Luftfeuchtigkeit',\
'dewpoint' => 'Taupunkt',\
'sunshine' => 'Sonnenscheindauer',\
'radiation' => 'Globalstrahlung',\
'windSpeed' => 'Windgeschwindigkeit',\
'gustPeak' => 'Böenspitze',\
'windDirection' => 'Windrichtung',\
'precipitation' => 'Niederschlag',\
'qfePressure' => 'Luftdruck Stationshöhe',\
'qffPressure' => 'Luftdruck Meeresniveau',\
'qnhPressure' => 'Luftdruck Meeresniveau Standardatmosphäre',\
'ppz850s0' => '850 hPa-Fläche',\
'ppz700s0' => '700 hPa-Fläche',\
'windDirectionTower' => 'Windrichtung Turm',\
'windSpeedTower' => 'Windgeschwindigkeit Turm',\
'gustPeakTower' => 'Böenspitze Turm',\
'temperatureTower' => 'Temperatur Turm',\
'humidityTower' => 'Feuchtigkeit Turm',\
'dewpointTower' => 'Taupunkt Turm'\
\
}
valueFormat {\
"dateTimeLocal" => "%s",\
"temperature" => "%.1f °; C",\
"humidity" => "%s%",\
"dewpoint" => "%.1f °; C",\
"sunshine" => "%20s min",\
"radiation" => "%s W/m²;",\
"windSpeed" => "%d km/h",\
"gustPeak" => "%d km/h",\
"windDirection" => "%d °;",\
"precipitation" => "%s mm",\
"qfePressure" => "%d hPa",\
"qffPressure" => "%d hPa (Luftdruck Meeresniveau)",\
"qnhPressure" => "%d hPa (Luftdruck Meeresniveau Standardatmosphäre)",\
"ppz850s0" => "%d (850 hPa-Fläche)",\
"ppz700s0" => "%d (700 hPa-Fläche)",\
"windDirectionTower" => "%d °; (Windrichtung Turm)",\
"windSpeedTower" => "%d km/h (Windgeschwindigkeit Turm)",\
"gustPeakTower" => "%d km/h (Böenspitze Turm)",\
"temperatureTower" => "%.1f °; C (Temperatur Turm)",\
"humidityTower" => "%s% (Feuchtigkeit Turm)",\
"dewpointTower" => "%.1f °; C (Taupunkt Turm)"\
}
Attributes:
alias Aktuelles Wetter STG (Meter Schweiz)
mapping {\
\
'dateTimeLocal' => 'Messzeitpunkt', \
'temperature' => 'Temperatur',\
'humidity' => 'Luftfeuchtigkeit',\
'dewpoint' => 'Taupunkt',\
'sunshine' => 'Sonnenscheindauer',\
'radiation' => 'Globalstrahlung',\
'windSpeed' => 'Windgeschwindigkeit',\
'gustPeak' => 'Böenspitze',\
'windDirection' => 'Windrichtung',\
'precipitation' => 'Niederschlag',\
'qfePressure' => 'Luftdruck Stationshöhe',\
'qffPressure' => 'Luftdruck Meeresniveau',\
'qnhPressure' => 'Luftdruck Meeresniveau Standardatmosphäre',\
'ppz850s0' => '850 hPa-Fläche',\
'ppz700s0' => '700 hPa-Fläche',\
'windDirectionTower' => 'Windrichtung Turm',\
'windSpeedTower' => 'Windgeschwindigkeit Turm',\
'gustPeakTower' => 'Böenspitze Turm',\
'temperatureTower' => 'Temperatur Turm',\
'humidityTower' => 'Feuchtigkeit Turm',\
'dewpointTower' => 'Taupunkt Turm'\
\
}
notime 1
valueFormat {\
"dateTimeLocal" => "%s",\
"temperature" => "%.1f °; C",\
"humidity" => "%s%",\
"dewpoint" => "%.1f °; C",\
"sunshine" => "%20s min",\
"radiation" => "%s W/m²;",\
"windSpeed" => "%d km/h",\
"gustPeak" => "%d km/h",\
"windDirection" => "%d °;",\
"precipitation" => "%s mm",\
"qfePressure" => "%d hPa",\
"qffPressure" => "%d hPa (Luftdruck Meeresniveau)",\
"qnhPressure" => "%d hPa (Luftdruck Meeresniveau Standardatmosphäre)",\
"ppz850s0" => "%d (850 hPa-Fläche)",\
"ppz700s0" => "%d (700 hPa-Fläche)",\
"windDirectionTower" => "%d °; (Windrichtung Turm)",\
"windSpeedTower" => "%d km/h (Windgeschwindigkeit Turm)",\
"gustPeakTower" => "%d km/h (Böenspitze Turm)",\
"temperatureTower" => "%.1f °; C (Temperatur Turm)",\
"humidityTower" => "%s% (Feuchtigkeit Turm)",\
"dewpointTower" => "%.1f °; C (Taupunkt Turm)"\
}
Besten Dank für die Bemühungen.
Gruss Heinz
Mach mal die doppelte Semikola in reading01Regex weg. In einem "list" oder in dem "attr" Feld in der Weboberfläsche sollten die einzel kommen. In Raw DEF hast Du die wahrscheinlich sogar 4 mal statt nur 2 mal
In der jetzigen Form bringt dein HTTPMOD gar kein Reading zurück und kann auch deswegen kein userReading dateTimeLocal ordentlich kalkulieren
Besten Dank, jetzt funktioniert es.
Gruss Heinz
Hallo
Sehr schöne Erweiterung
Wie komme ich zu dem entsprechenden csv Namen für Buchs / Aarau?
VQHA80.csv ist ja für Luzern und etwas weiter von mir als Buchs / Aarau
Vielen Dank
Dragi
Du musst eigentlich nur die reading01Regex anpassen (und ggf. das Device umbenennen). Buchs/Aarau hat das Stationskürzel BUS.
In der csv sind alle Stationen drin.
https://www.meteoschweiz.admin.ch/home/messwerte.html?param=messnetz-automatisch&station=BUS&chart=hour (https://www.meteoschweiz.admin.ch/home/messwerte.html?param=messnetz-automatisch&station=BUS&chart=hour)