Allergy: Unterschied zwischen den Versionen

Aus FHEMWiki
K (→‎Anwendungsbeispiel(e): Hinweis zu Icons eingefügt)
K (→‎Werte aktualisieren: Umbenannt in "Werte manuell aktualisieren")
 
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
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 27: Zeile 25:
:<code>define Pollenflugvorhersage allergy 10115</code>
:<code>define Pollenflugvorhersage allergy 10115</code>


=== Werte aktualisieren ===
=== Werte manuell aktualisieren ===
:<code>get <Name> data</code>
:<code>get <Name> data</code>
Beispiel:
Beispiel:
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 70: 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 95: Zeile 94:
Die Pollenvorhersage zeigt standardmäßig nicht die Werte des Vortags an. Möchte man dies trotzdem haben so helfen diese beiden Skripte:
Die Pollenvorhersage zeigt standardmäßig nicht die Werte des Vortags an. Möchte man dies trotzdem haben so helfen diese beiden Skripte:
<pre>
<pre>
# kopiert um 12:00 die Werte des aktuellen Tags fc1 in Temp-Einträge fcy
# kopiert um 12:00 die Werte des aktuellen Tags fc1 in die Temp-Einträge fcy
define PollenAt12 at *12:00 \
define PollenAt12 at *12:00 \
   setreading Pollenflugvorhersage fcy_day_of_week [Pollenflugvorhersage:fc1_day_of_week];; \
   setreading Pollenflugvorhersage fcy_day_of_week [Pollenflugvorhersage:fc1_day_of_week];; \
Zeile 116: Zeile 115:
   setreading Pollenflugvorhersage fcy_day_of_week [Pollenflugvorhersage:fc1_day_of_week]
   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
# kopiert um 24:00 die Temp-Einträge fcy in die Vortags-Einträge fc0
define PollenAt24 at *00:00 \
define PollenAt24 at *00:00 \
   setreading Pollenflugvorhersage fc0_day_of_week [Pollenflugvorhersage:fcy_day_of_week];; \
   setreading Pollenflugvorhersage fc0_day_of_week [Pollenflugvorhersage:fcy_day_of_week];; \
Zeile 140: 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]]

Aktuelle Version vom 17. Juni 2016, 17:54 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 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