allergy

Aus FHEMWiki
Zur Navigation springen Zur Suche springen
allergy
Zweck / Funktion
Legt ein Device an, das Vorhersagedaten zum Pollenflug der nächsten 7 Tage ausliest.
Allgemein
Typ Gerätemodul
Details
Dokumentation EN / DE
Support (Forum) Unterstuetzende Dienste
Modulname 60_allergy.pm
Ersteller Markus M.
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!

allergy ist ein Modul zur Vorhersage des Pollenflugs ausgehend von einer deutschen Postleitzahl. Folgende Allergene werden ermittelt: Ambrosia, Ampfer, Beifuß, Birke, Buche, Eiche, Erle, Gräser, Hasel, Pappel, Roggen, Ulme, Wegerich, Weide

Voraussetzungen

Das Perl Modul XML::Simple wird benötigt.

Installation unter Ubuntu/Debian: sudo apt-get install libxml-simple-perl

Anwendung

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

Define

define <Name> allergy <plz>

<plz> - Postleitzahl in Deutschland

Beispiel:

define Pollenflugvorhersage allergy 10115

Werte manuell aktualisieren

get <Name> data

Beispiel:

get Pollenflugvorhersage data

Aktualisierungsintervall festlegen

Updates erfolgen automatisch alle 3 Stunden.

Weitere Attribute

ignoreList
Tageswerte und generierten Readings einschränken
updateEmpty
leere Readings trotzdem generieren
updateIgnored
ignorierte Readings trotzdem generieren
levelsFormat
legt eine individuelle Formatierung der Readings fest
stateFormat

Anwendungsbeispiel(e)

Beispielausgabe mit readingsGroup

Im folgenden Beispiel sind folgende Besonderheiten enthalten:

  • per levelsFormat werden die Werte als farbige Punkte formatiert
  • per Skripten werden die Werte für den Vortag erstellt und als fc0 eingetragen (falls nicht gewünscht, alle fc0-Einträge entfernen)

Sollten keine farbigen Kreise dargestellt werden, sondern nur Einträge wie "rc_dot@yellow", dann müssen noch die Icon-Pfade in fhem aktualisiert werden (vgl. Icons#Mehr_Icons_zur_Auswahl).

Definition der Pollenflugvorhersage für Berlin:

define Pollenflugvorhersage allergy 10115
attr Pollenflugvorhersage levelsFormat rc_dot@white,rc_dot@yellow,rc_dot@orange,rc_dot@red
attr Pollenflugvorhersage room Wetter-vorhersage
attr Pollenflugvorhersage stateFormat fc1_maximum
attr Pollenflugvorhersage updateEmpty 1
attr Pollenflugvorhersage updateIgnored 1

Darstellung der Vorhersage (Quelle: [1]):

Definitionen für eine readingsGroup zur Darstellung der Pollenflugvorhersage:

define rgPollenvorhersage readingsGroup Pollenflugvorhersage:<Pollen>,fc0_day_of_week,fc1_day_of_week,fc2_day_of_week,fc3_day_of_week,fc4_day_of_week,fc5_day_of_week,fc6_day_of_week,fc7_day_of_week \
                                        Pollenflugvorhersage:<Ambrosia>,fc0_Ambrosia,fc1_Ambrosia,fc2_Ambrosia,fc3_Ambrosia,fc4_Ambrosia,fc5_Ambrosia,fc6_Ambrosia,fc7_Ambrosia \
                                        Pollenflugvorhersage:<Ampfer>,fc0_Ampfer,fc1_Ampfer,fc2_Ampfer,fc3_Ampfer,fc4_Ampfer,fc5_Ampfer,fc6_Ampfer,fc7_Ampfer \
                                        Pollenflugvorhersage:<Beifuß>,fc0_Beifuss,fc1_Beifuss,fc2_Beifuss,fc3_Beifuss,fc4_Beifuss,fc5_Beifuss,fc6_Beifuss,fc7_Beifuss \
                                        Pollenflugvorhersage:<<b>Birke<Birke</b>>,fc0_Birke,fc1_Birke,fc2_Birke,fc3_Birke,fc4_Birke,fc5_Birke,fc6_Birke,fc7_Birke \
                                        Pollenflugvorhersage:<Buche>,fc0_Buche,fc1_Buche,fc2_Buche,fc3_Buche,fc4_Buche,fc5_Buche,fc6_Buche,fc7_Buche \
                                        Pollenflugvorhersage:<Eiche>,fc0_Eiche,fc1_Eiche,fc2_Eiche,fc3_Eiche,fc4_Eiche,fc5_Eiche,fc6_Eiche,fc7_Eiche \
                                        Pollenflugvorhersage:<<b>Erle<Erle</b>>,fc0_Erle,fc1_Erle,fc2_Erle,fc3_Erle,fc4_Erle,fc5_Erle,fc6_Erle,fc7_Erle \
                                        Pollenflugvorhersage:<<b>Gräser</b>>,fc0_Graeser,fc1_Graeser,fc2_Graeser,fc3_Graeser,fc4_Graeser,fc5_Graeser,fc6_Graeser,fc7_Graeser \
                                        Pollenflugvorhersage:<<b>Hasel<Hasel</b>>,fc0_Hasel,fc1_Hasel,fc2_Hasel,fc3_Hasel,fc4_Hasel,fc5_Hasel,fc6_Hasel,fc7_Hasel \
                                        Pollenflugvorhersage:<Pappel>,fc0_Pappel,fc1_Pappel,fc2_Pappel,fc3_Pappel,fc4_Pappel,fc5_Pappel,fc6_Pappel,fc7_Pappel\
                                        Pollenflugvorhersage:<Roggen>,fc0_Roggen,fc1_Roggen,fc2_Roggen,fc3_Roggen,fc4_Roggen,fc5_Roggen,fc6_Roggen,fc7_Roggen \
                                        Pollenflugvorhersage:<Ulme>,fc0_Ulme,fc1_Ulme,fc2_Ulme,fc3_Ulme,fc4_Ulme,fc5_Ulme,fc6_Ulme,fc7_Ulme \
                                        Pollenflugvorhersage:<Wegerich>,fc0_Wegerich,fc1_Wegerich,fc2_Ulme,fc3_Wegerich,fc4_Wegerich,fc5_Wegerich,fc6_Wegerich,fc7_Wegerich \
                                        Pollenflugvorhersage:<Weide>,fc0_Weide,fc1_Weide,fc2_Weide,fc3_Weide,fc4_Weide,fc5_Weide,fc6_Weide,fc7_Weide
attr rgPollenvorhersage mapping %READING
attr rgPollenvorhersage room Wetter-vorhersage
attr rgPollenvorhersage valueIcon %VALUE
attr rgPollenvorhersage valueStyle %VALUE

Die Pollenvorhersage zeigt standardmäßig nicht die Werte des Vortags an. Möchte man dies trotzdem haben so helfen diese beiden Skripte:

# kopiert um 12:00 die Werte des aktuellen Tags fc1 in die Temp-Einträge fcy
define PollenAt12 at *12:00 \
   setreading Pollenflugvorhersage fcy_day_of_week [Pollenflugvorhersage:fc1_day_of_week];; \
   setreading Pollenflugvorhersage fcy_Ambrosia [Pollenflugvorhersage:fc1_Ambrosia];; \
   setreading Pollenflugvorhersage fcy_Ambrosia [Pollenflugvorhersage:fc1_Ambrosia];; \
   setreading Pollenflugvorhersage fcy_Ampfer [Pollenflugvorhersage:fc1_Ampfer];; \
   setreading Pollenflugvorhersage fcy_Beifuss [Pollenflugvorhersage:fc1_Beifuss];; \
   setreading Pollenflugvorhersage fcy_Birke [Pollenflugvorhersage:fc1_Birke];; \
   setreading Pollenflugvorhersage fcy_Buche [Pollenflugvorhersage:fc1_Buche];; \
   setreading Pollenflugvorhersage fcy_Eiche [Pollenflugvorhersage:fc1_Eiche];; \
   setreading Pollenflugvorhersage fcy_Erle [Pollenflugvorhersage:fc1_Erle];; \
   setreading Pollenflugvorhersage fcy_Esche [Pollenflugvorhersage:fc1_Esche];; \
   setreading Pollenflugvorhersage fcy_Graeser [Pollenflugvorhersage:fc1_Graeser];; \
   setreading Pollenflugvorhersage fcy_Hasel [Pollenflugvorhersage:fc1_Hasel];; \
   setreading Pollenflugvorhersage fcy_Pappel [Pollenflugvorhersage:fc1_Pappel];; \
   setreading Pollenflugvorhersage fcy_Roggen [Pollenflugvorhersage:fc1_Roggen];; \
   setreading Pollenflugvorhersage fcy_Ulme [Pollenflugvorhersage:fc1_Ulme];; \
   setreading Pollenflugvorhersage fcy_Wegerich [Pollenflugvorhersage:fc1_Wegerich];; \
   setreading Pollenflugvorhersage fcy_Weide [Pollenflugvorhersage:fc1_Weide];; \
   setreading Pollenflugvorhersage fcy_day_of_week [Pollenflugvorhersage:fc1_day_of_week]

# kopiert um 24:00 die Temp-Einträge fcy in die Vortags-Einträge fc0
define PollenAt24 at *00:00 \
   setreading Pollenflugvorhersage fc0_day_of_week [Pollenflugvorhersage:fcy_day_of_week];; \
   setreading Pollenflugvorhersage fc0_Ambrosia [Pollenflugvorhersage:fcy_Ambrosia];; \
   setreading Pollenflugvorhersage fc0_Ambrosia [Pollenflugvorhersage:fcy_Ambrosia];; \
   setreading Pollenflugvorhersage fc0_Ampfer [Pollenflugvorhersage:fcy_Ampfer];; \
   setreading Pollenflugvorhersage fc0_Beifuss [Pollenflugvorhersage:fcy_Beifuss];; \
   setreading Pollenflugvorhersage fc0_Birke [Pollenflugvorhersage:fcy_Birke];; \
   setreading Pollenflugvorhersage fc0_Buche [Pollenflugvorhersage:fcy_Buche];; \
   setreading Pollenflugvorhersage fc0_Eiche [Pollenflugvorhersage:fcy_Eiche];; \
   setreading Pollenflugvorhersage fc0_Erle [Pollenflugvorhersage:fcy_Erle];; \
   setreading Pollenflugvorhersage fc0_Esche [Pollenflugvorhersage:fcy_Esche];; \
   setreading Pollenflugvorhersage fc0_Graeser [Pollenflugvorhersage:fcy_Graeser];; \
   setreading Pollenflugvorhersage fc0_Hasel [Pollenflugvorhersage:fcy_Hasel];; \
   setreading Pollenflugvorhersage fc0_Pappel [Pollenflugvorhersage:fcy_Pappel];; \
   setreading Pollenflugvorhersage fc0_Roggen [Pollenflugvorhersage:fcy_Roggen];; \
   setreading Pollenflugvorhersage fc0_Ulme [Pollenflugvorhersage:fcy_Ulme];; \
   setreading Pollenflugvorhersage fc0_Wegerich [Pollenflugvorhersage:fcy_Wegerich];; \
   setreading Pollenflugvorhersage fc0_Weide [Pollenflugvorhersage:fcy_Weide];; \
   setreading Pollenflugvorhersage fc0_day_of_week [Pollenflugvorhersage:fcy_day_of_week]

Links