7 Tage Pollenflugvorhersage - 60_allergy.pm (Support)

Begonnen von Markus M., 15 Mai 2015, 15:00:31

Vorheriges Thema - Nächstes Thema

Markus M.

Ein kleines Modul zur Vorhersage des Pollenflugs ausgehend von einer deutschen Postleitzahl.

Es lassen sich 2 verschiedene Datenquellen verwenden, gesteuert über das Attribut extended5Day

Allergene (7 Tage, Standard):
Ambrosia, Ampfer, Beifuss, Birke, Buche, Eiche, Erle,
Graeser, Hasel, Pappel, Roggen, Ulme, Wegerich, Weide

Allergene (5 Tage, Extended):
Ahorn, Ambrosia, Beifuss, Birke, Brennnessel, Buche, Eiche, Erle, Esche, Fichte, Flieder, Gaensefuss, Gerste,
Graeser, Hafer, Hasel, Holunder, Hopfen, Kiefer, Linde, Loewenzahn, Mais, Nessel, Pappel, Platane, Raps, Roggen,
Rotbuche, Spitzwegerich, Tanne, Ulme, Weide, Weizen


Updates erfolgen automatisch alle 3h, die Tageswerte und generierten Readings lassen sich über ignoreList einschränken.
Mit updateIgnored lassen sich die leeren und ignorierten Readings trotzdem generieren.

Die Perl Module XML::Simple und JSON werden benötigt!

Viel Spass damit!  *hatschi*
Markus


UPDATE: 28. April 2018: Alternative Datenquelle
UPDATE: 31. Januar 2016: SVN Checkin


tags: Pollen Pollenflug Allergie Allergene Biowetter
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

Hans Franz

Hallo

Schöne Idee.
Nur leider steigt fhem  bei get Pollenflug data kommentarlos aus.
Definiert als:
Zitatdefine Pollenflug allergy <plz>

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

Michael

Moin

Da schließe ich mich doch gleich an.

Vielen Dank für das Modul, das gibt wieder was für 's Infoframe.

Bei mir läuft alles.
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

Markus M.

#3
Zitat von: Hans Franz am 15 Mai 2015, 15:21:50
leider steigt fhem  bei get Pollenflug data kommentarlos aus.

Hast du XML::Simple installiert?

Und ehe du es installierst: Probier bitte nochmal die neue Version im ersten Post aus.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

persching

Gibt es dafür auch eine gute Visualisierungsmöglichkeit??

Hans Franz

#5
Hallo,
Neue Version ausprobiert, leider auch sofortiger Absturz nach get ohne log-Einträge.
ZitatXML::Simple is up to date (2.20).
Habe ein 64bit-System, wenn das von Relevanz ist.

Gruß
Hans

Edit:
PERL WARNING: Use of uninitialized value in string eq at ./FHEM/60_allergy.pm line 110.
2015.05.15 18:29:02 3: stacktrace:
2015.05.15 18:29:02 3:     main::__ANON__                      called by ./FHEM/60_allergy.pm (110)
2015.05.15 18:29:02 3:     main::allergy_Get                   called by fhem.pl (3022)
2015.05.15 18:29:02 3:     main::CallFn                        called by fhem.pl (1557)
2015.05.15 18:29:02 3:     main::CommandGet                    called by fhem.pl (1032)
2015.05.15 18:29:02 3:     main::AnalyzeCommand                called by ./FHEM/01_FHEMWEB.pm (2017)
2015.05.15 18:29:02 3:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (659)
2015.05.15 18:29:02 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (424)
2015.05.15 18:29:02 3:     main::FW_Read                       called by fhem.pl (3022)
2015.05.15 18:29:02 3:     main::CallFn                        called by fhem.pl (643)
2015.05.15 18:29:02 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/60_allergy.pm line 127.
2015.05.15 18:29:02 3: stacktrace:
2015.05.15 18:29:02 3:     main::__ANON__                      called by ./FHEM/60_allergy.pm (127)
2015.05.15 18:29:02 3:     main::allergy_GetUpdate             called by ./FHEM/60_allergy.pm (117)
2015.05.15 18:29:02 3:     main::allergy_Get                   called by fhem.pl (3022)
2015.05.15 18:29:02 3:     main::CallFn                        called by fhem.pl (1557)
2015.05.15 18:29:02 3:     main::CommandGet                    called by fhem.pl (1032)
2015.05.15 18:29:02 3:     main::AnalyzeCommand                called by ./FHEM/01_FHEMWEB.pm (2017)
2015.05.15 18:29:02 3:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (659)
2015.05.15 18:29:02 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (424)
2015.05.15 18:29:02 3:     main::FW_Read                       called by fhem.pl (3022)
2015.05.15 18:29:02 3:     main::CallFn                        called by fhem.pl (643)


Ich glaube (log eingebaut), fhem steigt bei
 
Zitatmy $data = $xml->XMLin($body);
aus.
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

Markus M.

FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

Gigafix

Hallo

Bei mir läuft es jetzt, nachdem ich die letzte Version geladen habe. Danke für das Modul.
Bin gerade noch am überlegen was man damit steuern kann.

Viele Grüße sendet
Gigafix
VM Synology DS918 | CubieTruck |2x HMLAN | HMUSB | 3x HMWLAN | CCU2 | MAX-Cube | nanoCUL | ZWDongle |

drdownload

Nachdem es hier keine  Daten für Österreich gibt, aber es sicher ein interessantes Thema ist stellt sich mir eine grundsätzliche Frage: Ist es eigentlich sinnvoller andere Dienste (zB pollenwarndienst.at für Österreich) in einem eigenen Modul zu integrieren oder innerhalb eines Allgemeinen in dem man quasi das Backend auswählt.
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

Hans Franz

Zitat von: Markus M. am 15 Mai 2015, 21:45:27
Seltsam.
Was bekommst du hier?: http://www.allergie.hexal.de/pollenflug/xml-interface-neu/pollen_de_7tage.php?plz=DEINEPLZ
Soetwas:
<datasets>
<pollendaten plz="1234" ort="Ort">
<pollenbelastungen tag="0">
<pollen name="Ambrosia" belastung="0"/>
<pollen name="Ampfer" belastung="2"/>
<pollen name="Beifuß" belastung="0"/>
<pollen name="Birke" belastung="0"/>
<pollen name="Buche" belastung="0"/>
<pollen name="Eiche" belastung="1"/>
<pollen name="Erle" belastung="0"/>
<pollen name="Gräser" belastung="2"/>
<pollen name="Hasel" belastung="0"/>
<pollen name="Pappel" belastung="0"/>
<pollen name="Roggen" belastung="1"/>
<pollen name="Ulme" belastung="0"/>
<pollen name="Wegerich" belastung="1"/>
<pollen name="Weide" belastung="0"/>
</pollenbelastungen>
...
....


Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

persching

Wäre es noch möglich bei den readings den Wochentag mit einzufügen? So wäre eine einfache readingsgroup möglich und man könnte schön eine Pollenvorhersage analog der Wettervorhersage visualisieren. Ich dachte da an farbige Kreise für die einzelnen Zustände je Allergen.

Markus M.

Zitat von: drdownload am 15 Mai 2015, 22:11:30
Nachdem es hier keine  Daten für Österreich gibt, aber es sicher ein interessantes Thema ist stellt sich mir eine grundsätzliche Frage: Ist es eigentlich sinnvoller andere Dienste (zB pollenwarndienst.at für Österreich) in einem eigenen Modul zu integrieren oder innerhalb eines Allgemeinen in dem man quasi das Backend auswählt.

Also wenn, dann hier mit rein. Inflationär neue Module zu erstellen halte ich für wenig sinnvoll.
Wenn du dir die Mühe machst eine Schnittstelle für die Rohdaten rauszufinden, kann ich versuchen den Dienst für Österreich auch mit einzubinden.
Für die erste Version habe ich mich lediglich bei der ersten App bedient, die mir die Adresse im Klartext verraten hat.



Zitat von: Hans Franz am 15 Mai 2015, 22:40:11
Soetwas:
<datasets>
<pollendaten plz="1234" ort="Ort">
<pollenbelastungen tag="0">
....

Sieht gut aus. Leider... Dann weiss ich nämlich nicht warum es bei dir nicht funktioniert.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

Markus M.

Zitat von: persching am 15 Mai 2015, 23:07:06
Wäre es noch möglich bei den readings den Wochentag mit einzufügen? So wäre eine einfache readingsgroup möglich und man könnte schön eine Pollenvorhersage analog der Wettervorhersage visualisieren. Ich dachte da an farbige Kreise für die einzelnen Zustände je Allergen.

Ich könnte als Prefix statt day0_..day6_ einfach fc1_..fc7_ als Prefix verwenden, analog des Weather Moduls.
Würde das helfen?
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

Hans Franz

#13
Hallo,
Ich noch 'mal :)

Habe es nun auf meinem Produktivsystem (Raspi, 32bit) versucht, und es rennt.

Gruß
Hans

Edit:
Kannst du dir erklären, warum das "ä" in Gräser nur manchmal korrekt dekodiert wird?

2015-05-15 23:11:54   day0_Ampfer     moderate
     2015-05-15 23:11:54   day0_Eiche      low
     2015-05-15 23:11:54   day0_Gr�ser   moderate
     2015-05-15 23:11:54   day0_Roggen     low
     2015-05-15 23:11:54   day0_Wegerich   low
     2015-05-15 23:11:54   day1_Ampfer     low
     2015-05-15 23:11:54   day1_Eiche      low
     2015-05-15 23:11:54   day1_Gr�ser   low
     2015-05-15 23:11:54   day1_Roggen     low
     2015-05-15 23:11:54   day1_Wegerich   low
     2015-05-15 23:11:54   day2_Ampfer     low
     2015-05-15 23:11:54   day2_Eiche      low
     2015-05-15 23:11:54   day2_Gr�ser   low
     2015-05-15 23:11:54   day2_Roggen     low
     2015-05-15 23:11:54   day2_Wegerich   low
     2015-05-15 23:11:54   day3_Ampfer     moderate
     2015-05-15 23:11:54   day3_Eiche      low
     2015-05-15 23:11:54   day3_Gräser    moderate
     2015-05-15 23:11:54   day3_Roggen     low
     2015-05-15 23:11:54   day3_Wegerich   low
     2015-05-15 23:11:54   day4_Ampfer     low
     2015-05-15 23:11:54   day4_Eiche      low
     2015-05-15 23:11:54   day4_Gräser    low
     2015-05-15 23:11:54   day4_Roggen     low
     2015-05-15 23:11:54   day4_Wegerich   low
     2015-05-15 23:11:54   day5_Ampfer     low
     2015-05-15 23:11:54   day5_Eiche      low
     2015-05-15 23:11:54   day5_Gräser    low
     2015-05-15 23:11:54   day5_Roggen     low
     2015-05-15 23:11:54   day5_Wegerich   low
     2015-05-15 23:11:54   day6_Ampfer     moderate
     2015-05-15 23:11:54   day6_Eiche      low
     2015-05-15 23:11:54   day6_Gräser    moderate
     2015-05-15 23:11:54   day6_Roggen     moderate
     2015-05-15 23:11:54   day6_Wegerich   low
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

Elektrolurch

Hallo,

kommentarlos nicht:

2015.05.16 09:39:47 1: reload: Error:Modul 60_allergy deactivated:
Type of arg 1 to each must be hash or array (not private variable) at ./FHEM/60_allergy.pm line 177, near "$pollenhash)"

2015.05.16 09:39:47 0: Type of arg 1 to each must be hash or array (not private variable) at ./FHEM/60_allergy.pm line 177, near "$pollenhash)"



aber das dürfte wohl nichts mit XML zu tun haben, oder?

Gruß

Elektrolurch
configDB und Windows befreite Zone!