7 Tage Pollenflugvorhersage - 60_allergy.pm (Support)

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

Vorheriges Thema - Nächstes Thema

JoWiemann

Zitat von: Markus M. am 16 Mai 2015, 21:47:49
Kann hier jemand Perl programmieren?

Spaß: "Mit welchen Kenntnissen programmierst Du jetzt?"

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Michael

#31
Moin

Die neue Version sieht sehr gut aus, prima Arbeit!

Was ich mir jetzt noch wünsche, wäre eine deutsche Hilfe
mit Beispielen.  :D

Aber man kann nicht alles haben.
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

Masterfunk

Danke für das Modul.

Hab mal eine Readingsgroup definiert.
Hier der Code:

Internals:
   CFGFN
   DEF        Pollenflug:<Allergen>,<Heute>,<Morgen>,<Überm.>
Pollenflug:<Ambrosia>,fc1.Ambrosia,fc2.Ambrosia,fc3.Ambrosia
Pollenflug:<Ampfer>,fc1.Ampfer,fc2.Ampfer,fc3.Ampfer
Pollenflug:<Beifuß>,fc1.Beifuß,fc2.Beifuß,fc3.Beifuß
Pollenflug:<Birke>,fc1.Birke,fc2.Birke,fc3.Birke
Pollenflug:<Buche>,fc1.Buche,fc2.Buche,fc3.Buche
Pollenflug:<Eiche>,fc1.Eiche,fc2.Eiche,fc3.Eiche
Pollenflug:<Erle>,fc1.Erle,fc2.Erle,fc3.Erle
Pollenflug:<Gräser>,fc1.Gräser,fc2.Gräser,fc3.Gräser
Pollenflug:<Hasel>,fc1.Hasel,fc2.Hasel,fc3.Hasel
Pollenflug:<Pappel>,fc1.Pappel,fc2.Pappel,fc3.Pappel
Pollenflug:<Roggen>,fc1.Roggen,fc2.Roggen,fc3.Roggen
Pollenflug:<Ulme>,fc1.Ulme,fc2.Ulme,fc3.Ulme
Pollenflug:<Wegerich>,fc1.Wegerich,fc2.Wegerich,fc3.Wegerich
Pollenflug:<Weide>,fc1.Weide,fc2.Weide,fc3.Weide
   NAME       Pollenflug_RG
   NR         10716
   NTFY_ORDER 50-Pollenflug_RG
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Pollenflug 1
   Content2:
   DEVICES:
     ARRAY(0x1b8a5a8)
     ARRAY(0x1d17a58)
     ARRAY(0x73ed9b8)
     ARRAY(0x8489c70)
     ARRAY(0x7df1760)
     ARRAY(0x84f27d8)
     ARRAY(0x7dcdbe8)
     ARRAY(0x7dfd050)
     ARRAY(0x7694698)
     ARRAY(0x7683b48)
     ARRAY(0x849fb10)
     ARRAY(0x7a66f40)
     ARRAY(0x438c968)
     ARRAY(0x79a0580)
     ARRAY(0x7e03600)
   Fhem:
     lastDefChange 43
     last_update 1431866172.67808
   Helper:
     DEF
     nameStyle  style="font-size:15px;font-weight:bold;color:white"
     valueIcon  weather_pollen@$VALUE
     valueStyle style="text-align:center"
Attributes:
   nameStyle  style="font-size:15px;font-weight:bold;color:white"
   nonames    1
   notime     1
   style      style="text-align:center"
   valueIcon  weather_pollen@$VALUE
   valueStyle style="text-align:center"


Damit die Icons dargestellt werden, muss im Modul selber noch folgendes Attribut gesetzt werden:

levelsFormat   white,yellow,orange,red

Gruß Detlef

Markus M.

Kurzer Hinweis: disable funktioniert noch nicht, weil ich versehentlich disabled reingeschrieben habe.

Zitat von: Michael am 17 Mai 2015, 13:07:34Was ich mir jetzt noch wünsche, wäre eine deutsche Hilfe
mit Beispielen.  :D
Aber man kann nicht alles haben.

Wenn du eine schreibst dann schon ;)
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.

Kurzes Update auf non-blocking HTTP Requests.
Bitte testen.
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

Michael

Moin Markus

ZitatZitat von: Michael am 17 Mai 2015, 13:07:34
Was ich mir jetzt noch wünsche, wäre eine deutsche Hilfe
mit Beispielen.  :D
Aber man kann nicht alles haben.

Wenn du eine schreibst dann schon ;)
Bitte schön, aber ich kann nur schlecht Englisch  :'(  daher können (müssten ?) Fehler in der Übersetzung sein.
Habe auch Versucht einzubauen, hat aber nicht geklappt.

<a name="allergy"></a>
<h3>allergy</h3>

<ul>
  <br>Dieses Modul prognostiziert Allergie Daten für Deutschland.</br>
  Es erfordert dass das Perlmodul XML:: Simple installiert ist.
  <br/><br/>
 
  <b>Define</b>
  <ul>
    <code>define &lt;name&gt; allergy &lt;Postleitzahl&gt;</code>
    <br>
    Beispiel: <code>define allergydata allergy 12345</code>
    <br><br>
    <li><code>Postleitzahl</code>
      <br>
      Deutsche Postleitzahl</b>
    </li><br>
  </ul>

  <br>
  <b>Get</b>
   <ul>
      <li><code>data</code>
      <br>
      Manueller Datenupdate
      </li><br>
  </ul>

  <br>
  <b>Readings</b>
   <ul>
      <li><code>city</code>
      <br>
      Name der Stadt, für die Prognosen gelesen werden.
      </li><br>
  <li><code>fc<i>n</i>_total</code>
      <br>
      Täglicher Höchstwerte für alle Allergene, die nicht aufgrund der Ignoreliste <i>(attr ignoreList)</i> ignoriert werden<br/>
      </li><br>
  <li><code>fc<i>n</i>_day_of_week</code>
      <br>
      Wochentag, kann durch <i>weekdaysFormat</i> lokalisiert werden.<br/>
      </li><br>
      <li><code>fc<i>n</i>_<i>allergen</i></code>
      <br>
      Täglichewerte für alle Allergene, die nicht aufgrund der Ignoreliste <i>(attr ignoreList)</i> ignoriert werden.
      </li><br>
  </ul>


  <br>
   <b>Attributes</b>
   <ul>
      <li><code>ignoreList</code>
         <br>
         Durch Kommas getrennte Liste von Allergen-Namen, die bei der Aktualisierung ignoriert werden sollen.
<br>
      </li><br>
      <li><code>updateEmpty (Standard: 0|1)</code>
         <br>
         Aktualisierung von Allergenen.
<code> <br>
0 = nur Allergene mit Belastung.
<br>
1 = auch Allergene die keine Belastung haben.
</code>
      </li><br>
      <li><code>updateIgnored (1)</code>
         <br>
         Aktualisierung von Allergenen, die sonst durch die ignoreList entfernt werden.
      </li><br>
      <li><code>levelsFormat (Standard: -, low, moderate, high)</code>
         <br>
         Lokalisierte Ebene, indem diese hinzugefügt werden kann und durch Kommas getrennt mu&szlig;.
      </li><br>
      <li><code>weekdaysFormat (Standard: Sun, Mon, Tue, Wed, Tue, Fri, Sat)</code>
         <br>
         Wochentage zum lokalisieren, indem diese durch Kommas getrennt hinzugefügt werden k&ouml;nnen.
      </li><br>
  </ul>
</ul>
</div>
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.

Sehr schön :)
Dauert aber noch ne Woche, bin gerade in nem Flugzeug.

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

Elektrolurch

Hallo,

geht bei mir sowohl auf einer Fritzbox, als auf einem Cubie NICHT.
Auch mit der geänderten (neuen) Version nicht.
Im log  steht nachdem ich die define - Anweisung eingegeben habe:

2015.05.28 10:41:25 1: PERL WARNING: "my" variable $data masks earlier declaration in same scope at ./FHEM/60_allergy.pm line 165.
2015.05.28 10:41:25 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 194, near "$pollenhash)"

2015.05.28 10:41:25 0: Type of arg 1 to each must be hash or array (not private variable) at ./FHEM/60_allergy.pm line 194, near "$pollenhash)"


und dann:
cannot load Modul 60_allergy.pm


Gruß

Elektrolurch
configDB und Windows befreite Zone!

Markus M.

Zitat von: Elektrolurch am 28 Mai 2015, 10:45:48
geht bei mir sowohl auf einer Fritzbox, als auf einem Cubie NICHT.

Bitte das Ergebnis von list <allergydevice> posten und was mit der Version im Anhang im Log rauskommt.
Bzw. per PM wegen der PLZ.

Markus
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

Elektrolurch

Hallo Markus,
so weit komme ich schon nicht mehr.

reload 60_allergy.pm
führt zu:
Type of arg 1 to each must be hash or array (not private variable) at ./FHEM/60_allergy.pm line 195, near "$pollenhash)"

define Allergie allergy <meinePLZ>

führt zu: Cannot load module allergy


Im log-File steht:
2015.06.07 10:20:41 1: PERL WARNING: Subroutine allergy_Initialize redefined at ./FHEM/60_allergy.pm line 33.
2015.06.07 10:20:41 1: PERL WARNING: Subroutine allergy_Define redefined at ./FHEM/60_allergy.pm line 51.
2015.06.07 10:20:41 1: PERL WARNING: Subroutine allergy_Undefine redefined at ./FHEM/60_allergy.pm line 87.
2015.06.07 10:20:41 1: PERL WARNING: Subroutine allergy_Get redefined at ./FHEM/60_allergy.pm line 94.
2015.06.07 10:20:41 1: PERL WARNING: Subroutine allergy_GetUpdate redefined at ./FHEM/60_allergy.pm line 118.
2015.06.07 10:20:41 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 195, near "$pollenhash)"

2015.06.07 10:20:41 0: Type of arg 1 to each must be hash or array (not private variable) at ./FHEM/60_allergy.pm line 195, near "$pollenhash)"



Gruß

Elektrolurch
configDB und Windows befreite Zone!

tdoe

#40
Moin zusammen,

Zitat von: Elektrolurch am 07 Juni 2015, 10:24:57
reload 60_allergy.pm
führt zu:
Type of arg 1 to each must be hash or array (not private variable) at ./FHEM/60_allergy.pm line 195, near "$pollenhash)"
2015.06.07 10:20:41 0: Type of arg 1 to each must be hash or array (not private variable) at ./FHEM/60_allergy.pm line 195, near "$pollenhash)"

hatte selbes Problem, wollte aber trotzdem das Modul testen, also hab ichs gefixt.
Im Anhang eine funktionierende Version.
Zusätzlich hat mich gestört dass es mit fc1 und nicht mit fc0 begonnen hat zu zählen, das hab ich dann kurzerhand auch gleich angepasst.

Leider war der Readingsgroup-Ansatz in einem Vorgänger Post "nur" ein Bild, also nicht copy/paste fähig, deshalb hier mal eine Readingsgroup zum kopieren:


define Pollenflug Readingsgroup <>,<Ampfer>,<Ambrosia>,<Beifuß>,<Birke>,<Buche>,<Eiche>,<Erle>,<Gräser>,<Hasel>,<Pappel>,<Roggen>,<Ulme>,<Wegerich>,<Weide> Pollenflugvorhersage:fc0_day_of_week,fc0_Ampfer,fc0_Ambrosia,fc0_Beifuß,fc0_Birke,fc0_Buche,fc0_Eiche,fc0_Erle,fc0_Gräser,fc0_Hasel,fc0_Pappel,fc0_Roggen,fc0_Ulme,fc0_Wegerich,fc0_Weide Pollenflugvorhersage:fc1_day_of_week,fc1_Ampfer,fc1_Ambrosia,fc1_Beifuß,fc1_Birke,fc1_Buche,fc1_Eiche,fc1_Erle,fc1_Gräser,fc1_Hasel,fc1_Pappel,fc1_Roggen,fc1_Ulme,fc1_Wegerich,fc1_Weide Pollenflugvorhersage:fc2_day_of_week,fc2_Ampfer,fc2_Ambrosia,fc2_Beifuß,fc2_Birke,fc2_Buche,fc2_Eiche,fc2_Erle,fc2_Gräser,fc2_Hasel,fc2_Pappel,fc2_Roggen,fc2_Ulme,fc2_Wegerich,fc2_Weide Pollenflugvorhersage:fc3_day_of_week,fc3_Ampfer,fc3_Ambrosia,fc3_Beifuß,fc3_Birke,fc3_Buche,fc3_Eiche,fc3_Erle,fc3_Gräser,fc3_Hasel,fc3_Pappel,fc3_Roggen,fc3_Ulme,fc3_Wegerich,fc3_Weide Pollenflugvorhersage:fc4_day_of_week,fc4_Ampfer,fc4_Ambrosia,fc4_Beifuß,fc4_Birke,fc4_Buche,fc4_Eiche,fc4_Erle,fc4_Gräser,fc4_Hasel,fc4_Pappel,fc4_Roggen,fc4_Ulme,fc4_Wegerich,fc4_Weide Pollenflugvorhersage:fc5_day_of_week,fc5_Ampfer,fc5_Ambrosia,fc5_Beifuß,fc5_Birke,fc5_Buche,fc5_Eiche,fc5_Erle,fc5_Gräser,fc5_Hasel,fc5_Pappel,fc5_Roggen,fc5_Ulme,fc5_Wegerich,fc5_Weide Pollenflugvorhersage:fc6_day_of_week,fc6_Ampfer,fc6_Ambrosia,fc6_Beifuß,fc6_Birke,fc6_Buche,fc6_Eiche,fc6_Erle,fc6_Gräser,fc6_Hasel,fc6_Pappel,fc6_Roggen,fc6_Ulme,fc6_Wegerich,fc6_Weide
attr Pollenflug  nonames 1


@Markus: Danke fürs Modul, vielleicht kannst die Änderungen ja gebrauchen.

Gruß tdoe

xsasx

Danke für das Modul! Da ich auch Heuschnupfen geplagt bin find ich das sehr interessant! Hab das nun alles mal so übernommen aber leider wird bei meinen Reading nur:

Ampfer, Gräser, Roggen und Wegerich angezeigt- leider keine Hasel etc? Woran kann das liegen?

tdoe

Moin, Moin,

Zitat von: xsasx am 15 Juni 2015, 10:25:03
Danke für das Modul! Da ich auch Heuschnupfen geplagt bin find ich das sehr interessant! Hab das nun alles mal so übernommen aber leider wird bei meinen Reading nur:

Ampfer, Gräser, Roggen und Wegerich angezeigt- leider keine Hasel etc? Woran kann das liegen?

im Moment gibts da wohl keine Vorhersage dafür.

Du musst das Attribut "updateEmpty" auf "1" setzen.

Gruß tdoe

xsasx

#43
super das wars nun wirds angezeigt ! vielen DANK !

EDIT:

Noch was - da ich mir das gerne in einer GUI anzeigen lass will und nicht jeden Tag einzeln gibt es einen Wert für einen Wochendurchschnitt oder welchen Wert müsst ich nehmen für immer den aktuellen Tag?

Markus M.

Es gibt den Maximalwert je Tag, der aus deinen persönlichen Eingaben berechnet wird. Die Doku auf Deutsch muss ich noch einbauen, auf Englisch ist sie allerdings schon drin ;)
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