Allergy: Unterschied zwischen den Versionen

Aus FHEMWiki
K (→‎Anwendungsbeispiel(e): Screenshot eingefügt)
K (Infobox korrigiert und ergänzt)
Zeile 1: Zeile 1:
{{Infobox Modul
{{SEITENTITEL:allergy}}{{Infobox Modul
|ModPurpose=Legt ein Device an, das Vorhersagedaten zum Pollenflug der nächsten 7 Tage ausliest.
|ModPurpose=Legt ein Device an, das Vorhersagedaten zum Pollenflug der nächsten 7 Tage ausliest.
|ModType=d
|ModType=d
|ModFTopic=
|ModForumArea=Unterstuetzende Dienste
|ModForumArea=
|ModCmdRef=allergy
|ModTechName=60_allergy.pm
|ModTechName=60_allergy.pm
|ModOwner=Markus /
|ModOwner={{Link2FU|291|Markus M.}}}}
}}
 
[[allergy]] ist ein Modul zur Vorhersage des Pollenflugs ausgehend von einer deutschen Postleitzahl. Folgende Allergene werden ermittelt:
[[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
Ambrosia, Ampfer, Beifuß, Birke, Buche, Eiche, Erle, Gräser, Hasel, Pappel, Roggen, Ulme, Wegerich, Weide
Zeile 17: Zeile 15:


== Anwendung ==
== Anwendung ==
Updates erfolgen automatisch alle 3h, die Tageswerte und generierten Readings lassen sich über ignoreList einschränken.
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.
Mit ''updateIgnored'' lassen sich die leeren und ignorierten Readings trotzdem generieren.


=== Define ===
=== Define ===
Zeile 33: Zeile 31:


=== Aktualisierungsintervall festlegen ===
=== Aktualisierungsintervall festlegen ===
Updates erfolgen automatisch alle 3h.
Updates erfolgen automatisch alle 3 Stunden.


=== Weitere Attribute ===
=== Weitere Attribute ===
Zeile 52: Zeile 50:


== Anwendungsbeispiel(e) ==
== Anwendungsbeispiel(e) ==
[[Datei:RgPollenvorhersage.png|mini|240px|Beispielausgabe mit readingsGroup]]
Im folgenden Beispiel sind folgende Besonderheiten enthalten:
Im folgenden Beispiel sind folgende Besonderheiten enthalten:
* per levelsFormat werden die Werte als farbige Punkte formatiert
* per levelsFormat werden die Werte als farbige Punkte formatiert
Zeile 59: Zeile 58:


'''Definition der Pollenflugvorhersage für Berlin:'''
'''Definition der Pollenflugvorhersage für Berlin:'''
[[Datei:RgPollenvorhersage.png|mini|240px]]
<pre>
<pre>
define Pollenflugvorhersage allergy 10115
define Pollenflugvorhersage allergy 10115
Zeile 73: Zeile 69:
'''Darstellung der Vorhersage''' (Quelle: [https://forum.fhem.de/index.php/topic,37194.120.html]):
'''Darstellung der Vorhersage''' (Quelle: [https://forum.fhem.de/index.php/topic,37194.120.html]):


ReadingsGroup zur Darstellung der Pollenflugvorhersage:
Definitionen für eine [[readingsGroup]] zur Darstellung der Pollenflugvorhersage:
<pre>
<pre>
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 \
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 \
Zeile 143: Zeile 139:
== Links ==
== Links ==
* {{Link2Forum|Topic=37194|LinkText=Forum-Thread zum Modul}}
* {{Link2Forum|Topic=37194|LinkText=Forum-Thread zum Modul}}
* Andere Möglichkeiten zum Thema s. [[Pollenflug]]
* Andere Möglichkeiten zum Thema siehe [[Pollenflug]]

Version vom 16. Mai 2016, 19:40 Uhr

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 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 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 den 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