Neues Modul: 77_UWZ.pm

Begonnen von tdoe, 08 Februar 2015, 22:09:06

Vorheriges Thema - Nächstes Thema

tdoe

Moin,

ich denk ich habs....
In DE scheint es problemlos mit der PLZ zu funktionieren, jedoch in anderen Ländern nicht....
Hier muss ein Umweg gegangen werden.

1. Folgende URL aufrufen, und hinten bei dem search Parameter den Namen des Ortes eingeben im Fall von Oberwaltersdorf AT:
    http://alertspro.geoservice.meteogroup.de/weatherpro/SearchFeed.php?search=oberwalt

Als Antwort bekommt man ein XML:

<result><cities previousOffset="-1" nextOffset="-1"><city country="49" city="8512" id="18226609" country-name="Germany" province-name="Bavaria" continent="6" inhabitants="7500" longitude="12.17092" latitude="48.57422" name="Oberwaltenkofen (Ergolding)" timezone="Europe/Berlin"/><city country="49" city="8671" id="18226768" country-name="Germany" province-name="Bavaria" continent="6" inhabitants="4000" longitude="12.51418" latitude="48.77301" name="Oberwalting (Leiblfing)" timezone="Europe/Berlin"/><city country="43" city="1161" id="18134912" country-name="Austria" province-name="Niederösterreich" continent="6" inhabitants="2500" longitude="16.3203" latitude="47.9756" name="Oberwaltersdorf" timezone="Europe/Vienna"/><city country="43" city="1305915" id="182199490" country-name="Austria" province-name="Niederösterreich" continent="6" inhabitants="150" longitude="15.0844" latitude="48.5394" name="Oberwaltenreith" timezone="Europe/Vienna"/></cities></result>

Dort zieht man sich für den passenden Ort die longitude und latitude. Für Oberwalterdorf ist das :
   longitude="16.3203"
   latitude="47.9756"

2. mit diesen Werten wird nun die nächste URL gefüttert (Parameter lat + lon):
    http://feed.alertspro.meteogroup.com/AlertsPro/AlertsProPollService.php?method=lookupCoord&lat=47.9756&lon=16.3203

Das Resultat:
[{"AREA_TYPE":"UWZ","AREA_ID":"UWZAT00234","CENTER_ID":"2"}]


Und somit bekommt man die passende AREA_ID raus um dann mit dem UWZ Modul eine Abfrage ausserhalb Deutschlands durchzuführen. (zumindest hat das soweit geklappt bei meinem Test.)

@schka17: Kannst du bitte mal testen?

Gruß tdoe


schka17

Zitat von: tdoe am 10 Februar 2015, 21:22:05
Moin,

ich denk ich habs....
In DE scheint es problemlos mit der PLZ zu funktionieren, jedoch in anderen Ländern nicht....
Hier muss ein Umweg gegangen werden.

1. Folgende URL aufrufen, und hinten bei dem search Parameter den Namen des Ortes eingeben im Fall von Oberwaltersdorf AT:
    http://alertspro.geoservice.meteogroup.de/weatherpro/SearchFeed.php?search=oberwalt

Als Antwort bekommt man ein XML:

<result><cities previousOffset="-1" nextOffset="-1"><city country="49" city="8512" id="18226609" country-name="Germany" province-name="Bavaria" continent="6" inhabitants="7500" longitude="12.17092" latitude="48.57422" name="Oberwaltenkofen (Ergolding)" timezone="Europe/Berlin"/><city country="49" city="8671" id="18226768" country-name="Germany" province-name="Bavaria" continent="6" inhabitants="4000" longitude="12.51418" latitude="48.77301" name="Oberwalting (Leiblfing)" timezone="Europe/Berlin"/><city country="43" city="1161" id="18134912" country-name="Austria" province-name="Niederösterreich" continent="6" inhabitants="2500" longitude="16.3203" latitude="47.9756" name="Oberwaltersdorf" timezone="Europe/Vienna"/><city country="43" city="1305915" id="182199490" country-name="Austria" province-name="Niederösterreich" continent="6" inhabitants="150" longitude="15.0844" latitude="48.5394" name="Oberwaltenreith" timezone="Europe/Vienna"/></cities></result>

Dort zieht man sich für den passenden Ort die longitude und latitude. Für Oberwalterdorf ist das :
   longitude="16.3203"
   latitude="47.9756"

2. mit diesen Werten wird nun die nächste URL gefüttert (Parameter lat + lon):
    http://feed.alertspro.meteogroup.com/AlertsPro/AlertsProPollService.php?method=lookupCoord&lat=47.9756&lon=16.3203

Das Resultat:
[{"AREA_TYPE":"UWZ","AREA_ID":"UWZAT00234","CENTER_ID":"2"}]


Und somit bekommt man die passende AREA_ID raus um dann mit dem UWZ Modul eine Abfrage ausserhalb Deutschlands durchzuführen. (zumindest hat das soweit geklappt bei meinem Test.)

@schka17: Kannst du bitte mal testen?

Gruß tdoe

Ja, schaut gut aus, ich habe es auch mit echten Koordinaten meiner Position getestet, die Area_ID ist die selbe, die Meldung dich ich bekomme, stimmt mit der Webseiten überein.

Besten Dank

Karl
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

Michael

Moin tdoe

Schönes Modul, super Arbeit.

Einen wunsch hätte ich.  ::)

Ist es möglich das man die Karten speichern kann.
Das würde für das RSS und InfoPanel Modul nützlich sein.
Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

frank

hallo,

ich wollte auch mal testen, aber erhalte ständig diesen fehler, obwohl ich die module manuel auf meiner fritzbox installiert habe. in welchem pfad werden diese beiden module bei euch gelistet? ich habe sie, wie sonst auch, zb unter \fhem\lib\perl5\site_perl\5.12.2\JSON gespeichert.

Error: Perl moduls JSON Text::Iconv are missing on this system
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

tdoe

Hallo Michael,

Zitat von: Michael am 13 Februar 2015, 12:33:40
Einen wunsch hätte ich.  ::)

Ist es möglich das man die Karten speichern kann.
Das würde für das RSS und InfoPanel Modul nützlich sein.
;)
Habe auf deine Anregung hin drei Attribute zum UWZ Modul hinzugefügt.
Nun ist es möglich bei dem Updatelauf Unwetterkarten lokal zu speichern.
Anleitung ist sowohl im Modul als auch im ersten Post, dort findest du auch die aktualisierte Version.

@Michael: Bitte mal testen

Schöne Grüße tdoe

tdoe

#20
Zitat von: frank am 14 Februar 2015, 14:55:25
hallo,

ich wollte auch mal testen, aber erhalte ständig diesen fehler, obwohl ich die module manuel auf meiner fritzbox installiert habe. in welchem pfad werden diese beiden module bei euch gelistet? ich habe sie, wie sonst auch, zb unter \fhem\lib\perl5\site_perl\5.12.2\JSON gespeichert.

Error: Perl moduls JSON Text::Iconv are missing on this system

Betreibe selbst fhem nicht auf der Fritzbox.
Folgender Link könnte u.U. hilfreich sein:
http://forum.fhem.de/index.php?topic=11020.10;wap2

Nachtrag: fhem mal durchgestartet ?

Gruß tdoe

frank

ZitatFolgender Link könnte u.U. hilfreich sein:
danke. das modul JSON hat er jetzt erstmal geschluckt.

leider habe ich mit meinen bisherigen versuchen noch keinen erfolg mit Text::Iconv. kennt jemand eine einfache und übersichtliche beschreibung, aus der hervorgeht, wie die lib struktur von perl auszusehen hat? in welchem pfad steckt bei euch Iconv.pm?
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

tdoe

Zitat von: frank am 15 Februar 2015, 13:37:32
danke. das modul JSON hat er jetzt erstmal geschluckt.

leider habe ich mit meinen bisherigen versuchen noch keinen erfolg mit Text::Iconv. kennt jemand eine einfache und übersichtliche beschreibung, aus der hervorgeht, wie die lib struktur von perl auszusehen hat? in welchem pfad steckt bei euch Iconv.pm?

Wenn ich mir das debian Paket anschaue dann ist hier eine Iconv.so mit dabei. Vermute du benötigst eine für deine fritzbox compilierte iconv version. Besser gesagt die library davon.

https://packages.debian.org/wheezy/mips/libtext-iconv-perl/filelist



Bernd

#23
Hallo tdoe,

schünes Modul - und so einfach zu konfigurieren  :).

Ich habe meine lokale Karte Niedersachen/Bremen einfach über den Namen "Niedersachsen" im Weblink definieren können. Für Deutschland gesamt klappt es auch mit "Deutschland". Nur mit Europa, so wie auf der Startseite der UWZ angezeigt, bekomme ich es weder mit "Europa", noch mit "Europe" hin. Da kommt dann die Meldung "unbekannte Landbezeichnung".

Was muss ich da angeben?

Danke und Gruß

Bernd
FHEM auf BananaPi

hexenmeister

Zitat von: Bernd am 17 Februar 2015, 18:27:31
Was muss ich da angeben?

Nichts, Europa ist in meinem Vorschlag für die Methode nicht drinn gewesen.

@tdoe: kannst Du bitte folgende Zeile zusätzlich für Europa aufnehemen?

$lmap->{'europa'}='europe_index.png';

Grüße,

Alexander
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Michael

Moin tdoe

Entschuldige das ich mich erst jetzt melde.  :-[
ZitatHabe auf deine Anregung hin drei Attribute zum UWZ Modul hinzugefügt.
Nun ist es möglich bei dem Updatelauf Unwetterkarten lokal zu speichern.
Anleitung ist sowohl im Modul als auch im ersten Post, dort findest du auch die aktualisierte Version.

@Michael: Bitte mal testen

Schöne Grüße tdoe

define Unwetterzentrale UWZ DE 29378 600
attr Unwetterzentrale download 1
attr Unwetterzentrale savepath /tmp/

Leider habe ich noch keine Grafik im /tmp/ Verzeichnis bekommen.
Oder wird sie nur Angelegt wenn es eine Warnung gibt?
Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

bjoernbo

Gibt einen Bildschirmausschnitt wie sich das ganze darstellt?
Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -

Michael

@bjoernbo

ZitatGibt einen Bildschirmausschnitt wie sich das ganze darstellt?
Was soll ich darstellen, ein leeres Verzeichnis?
Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

tdoe

Moin zusammen,

@Bernd: am Samstag kannst die neue Version downloaden.

@Michael: du musst das Attribut "maps" hinzufügen.
  define Unwetterzentrale UWZ DE 29378 600
attr Unwetterzentrale download 1
attr Unwetterzentrale savepath /tmp/
attr Unwetterzentrale maps Deutschland Bayern oesterreich


Wie im ersten Post beschrieben muss das "maps" Attribut mit einer Leerzeichen separierten Liste der zu downloaden Karte bestückt werden. Wie du in diesem Beispiel siehst werden hier die Karten für :
- Deutschland
- Bayern
- Österreich

Heruntergeladen.

Bitte setze mal das maps Attribut und teste nochmal.
Die Karten werden bei jedem Update erneuert/überschrieben.

Gruß  tdoe

bjoernbo

@Michael:

tdoe schrieb in seinem ersten Beitrag :
ZitatIm Großen und Ganzen funktioniert es bei mir bis dato ganz gut.
Daher bin ich davon ausgegangen, dass es hierzu ein Screenshot gibt.
Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -