Autor Thema: 7 Tage Pollenflugvorhersage - 60_allergy.pm (Support)  (Gelesen 63886 mal)

Offline persching

  • Full Member
  • ***
  • Beiträge: 198
Antw:Modul: 60_allergy - 7 Tage Pollenflugvorhersage
« Antwort #15 am: 16 Mai 2015, 09:59:30 »
@Markus M.: ich weiß nicht ob das mit fc1...fc7 etwas bringt. Beim Wetter ist in den Readings auch der Wert fc1_day_of_week, also der Tag explizit angegeben. Wie man nur von der Nummerierung auf den Tag kommt weiß ich nicht... Also ich weiß nicht wie man das in Code umsetzen kann.

Offline JoWiemann

  • Tester
  • Hero Member
  • ****
  • Beiträge: 2840
Antw:Modul: 60_allergy - 7 Tage Pollenflugvorhersage
« Antwort #16 am: 16 Mai 2015, 13:11:41 »
Hallo,

vielen Dank für das Modul.

Ich habe eine veränderte Version angehangen, in der ein paar Fehler korrigiert sind und die Wochentage als Readings anstatt day(n) implementiert sind.

Ein gemeinder Fehler war in Zeile 74 in der allergy_GetData aufgerufen wird, die es nicht gibt:

Mist, habe noch mal auf den ersten Post geschaut und gesehen, dass dieser Fehler schon korrigiert war.

Grüße Jörg
« Letzte Änderung: 16 Mai 2015, 13:36:18 von JoWiemann »
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

Offline Michael

  • Full Member
  • ***
  • Beiträge: 462
  • Rechtschreibfehler dürfen Behalten werden!
Antw:Modul: 60_allergy - 7 Tage Pollenflugvorhersage
« Antwort #17 am: 16 Mai 2015, 18:22:16 »
Moin

Einen Wunsch hätte ich noch, ein get <device> clear

Eine Frage habe auch noch.
Ist es denn wirklich so das day0, day1, ... der Montag, Dienstag ist, und nicht Heute, Morgen, ...?

Edit
Wenn ich mir den Screen der APP auf deren HP ansehen, ist da Heute, Morgen zu Sehen.
« Letzte Änderung: 16 Mai 2015, 18:54:48 von Michael »
Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
FS20 ST-2/3 | BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

Offline persching

  • Full Member
  • ***
  • Beiträge: 198
Antw:Modul: 60_allergy - 7 Tage Pollenflugvorhersage
« Antwort #18 am: 16 Mai 2015, 18:37:22 »
Ich hätte es auch so verstanden, dass day_0 heute ist, day_1 dann morgen usw. Aber wie kann man das verifizieren?

Offline JoWiemann

  • Tester
  • Hero Member
  • ****
  • Beiträge: 2840
Antw:Modul: 60_allergy - 7 Tage Pollenflugvorhersage
« Antwort #19 am: 16 Mai 2015, 18:54:22 »
Hallo,

wenn man das XML-File gegen die Anzeige der Webseite verifiziert, dann ist day0 Heute, day1 Morgen usw. So habe ich es dann auch umgesetzt.

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

Offline Michael

  • Full Member
  • ***
  • Beiträge: 462
  • Rechtschreibfehler dürfen Behalten werden!
Antw:Modul: 60_allergy - 7 Tage Pollenflugvorhersage
« Antwort #20 am: 16 Mai 2015, 19:01:31 »
@JoWiemann

Dann verwirren so aber die Tage. (sh. Anhang)
Wären dann nicht die Readings in dieser Reihenfolge (Heute, Morgen, ... ) nicht Sinnvoll?

Oder ist da bei mir was nicht in Ordnung, bekomme auch nur fünf Angezeigt.
« Letzte Änderung: 16 Mai 2015, 19:10:33 von Michael »
Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
FS20 ST-2/3 | BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

Offline JoWiemann

  • Tester
  • Hero Member
  • ****
  • Beiträge: 2840
Antw:Modul: 60_allergy - 7 Tage Pollenflugvorhersage
« Antwort #21 am: 16 Mai 2015, 19:28:36 »
Hallo Michael,

ich habe einfach nur $daycode durch einen Zugriff auf ein Array ersetzt. Das Modul ignoriert übrigens alle Allergene, die in der XML Liste ein "pollen belastung="0"" haben.

Grüße Jörg

PS: Was ich noch machen könnte ist, das Wochentags-Array über ein Attribut konfigurierbar zu machen. Dann würde halt auch Morgen, Übermorgen, und wie auch immer gehen.
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

Offline Michael

  • Full Member
  • ***
  • Beiträge: 462
  • Rechtschreibfehler dürfen Behalten werden!
Antw:Modul: 60_allergy - 7 Tage Pollenflugvorhersage
« Antwort #22 am: 16 Mai 2015, 19:53:22 »
Hallo Jörg

Bitte nicht falsch Verstehen, ich will nicht Meckern.
Wenn ich so was Erstellen könnte wäre ich froh.
Bin halt nur etwas mit VBA unterwegs.  ::)
Finde das Modul SUPER:)

Aber das mit den Wochentagen finde ich so nicht gelungen.
Die wären als extra Reading besser aufgehoben, auch wenn die Liste (um sieben) größer wird.

Zitat
Das Modul ignoriert übrigens alle Allergene, die in der XML Liste ein "pollen belastung="0"" haben.
Das würde dem Nutzer als Attribut an bieten. ( attr <device> 0|1)

Ich bin erstmal auf deine erste Version zurück Gegangen.
Gefällt mir besser, universeller. (sh. Anhang / mein InfoPanel)

Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
FS20 ST-2/3 | BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

Offline Elektrolurch

  • Hero Member
  • *****
  • Beiträge: 1474
Antw:Modul: 60_allergy - 7 Tage Pollenflugvorhersage
« Antwort #23 am: 16 Mai 2015, 19:57:12 »
Hallo,

define Allergie allergy 12345

führt im log zu:

2015.05.16 19:52:31 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 174, near "$pollenhash)"

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


debian perl....

und auf der fhem - Seite steht dann:

cannot load Module 60-allergy.pm

Elektrolurch


configDB und Windows befreite Zone!

Offline Markus M.

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2843
Antw:Modul: 60_allergy - 7 Tage Pollenflugvorhersage
« Antwort #24 am: 16 Mai 2015, 20:12:45 »
Ok, ich setze mich nochmal dran.
Als Prefix nehme ich fcn_ wie beim Wetter, hier mit 1-7 und zusätzlich ein Reading für den Wochentag.

Zu clear und leeren Readings: Alles was leer oder ignoriert ist, wird eigentlich bereits automatisch gelöscht wenn man den Filter verwendet und das Flag alles anzuzeigen nicht gesetzt hat.



define Allergie allergy 12345

führt im log zu:
2015.05.16 19:52:31 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 174, near "$pollenhash)"

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

Werde ich mal testen, Danke.

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

Offline JoWiemann

  • Tester
  • Hero Member
  • ****
  • Beiträge: 2840
Antw:Modul: 60_allergy - 7 Tage Pollenflugvorhersage
« Antwort #25 am: 16 Mai 2015, 20:37:15 »
Hallo Markus,

dann ziehe ich meine Idee erst einmal wieder zurück.

Grüße Jörg

PS: Ein Hinweis:

Der Zugriff auf Attribute über
if($attr{$name}{disabled} eq 1)führt zu einem Fehler, wenn das Attribut nicht gesetzt ist. Besser ist
  if(AttrVal($name, "disabled", 0) eq 1) {
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

Offline persching

  • Full Member
  • ***
  • Beiträge: 198
Antw:Modul: 60_allergy - 7 Tage Pollenflugvorhersage
« Antwort #26 am: 16 Mai 2015, 21:45:04 »
Ich versuche mich gerade an der Readingsgroup, aber das funktioniert nicht so wie ich das gerne hätte.... erstens stehen als Zeilennamen nicht die Allergene, und zweitens hätte ich gerne dass die Worte "low" "moderate" und "high" gegen die Punkte grün, gelb und rot ersetzt werden. Aber man kann bei valueicon kann man wohl keine Platzhalter verwenden (z.B. *.low). Kennt hier jemand eine bessere Möglichkeit die Daten darzustellen??

(http://www.fotos-hochladen.net/uploads/pollenreadingsa3bph4tvoe.png)

Offline Markus M.

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2843
Antw:Modul: 60_allergy - 7 Tage Pollenflugvorhersage
« Antwort #27 am: 16 Mai 2015, 21:47:49 »
Neue Version:
 - Prefix wie beim Wettermodul mit fc1..fc7, Tageswert als fcn_maximum
 - Leere und ignorierte Werte können getrennt gewählt werden mit updateEmpty und updateIgnored
 - Wochentage fcn_day_of_week in den Readings sind über das Attribut weekdaysFormat lokalisierbar
 - Readings sind über das Attribut readingsFormat lokalisierbar

Das Modul hat auch eine Doku, nur mal so als Hinweis ;)

Bugs:
 - Fehler bei manchen Perl Versionen
 - UTF-8 Probleme

Die Problemstellen sind beide hier:
    foreach my $pollenhash (@daydata)
    {
      while(($pollenkey, $pollenvalue) = each($pollenhash)) # <-   das muss anders aussehen
      {
        $pollenname = Encode::encode('UTF-8',$pollenkey); # <- funktioniert nicht zuverlässig
        $pollendata = $pollenvalue->{'belastung'};
Kann hier jemand Perl programmieren?

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

Offline Markus M.

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2843
Antw:Modul: 60_allergy - 7 Tage Pollenflugvorhersage
« Antwort #28 am: 16 Mai 2015, 21:56:57 »
Ich versuche mich gerade an der Readingsgroup, aber das funktioniert nicht so wie ich das gerne hätte.... erstens stehen als Zeilennamen nicht die Allergene, und zweitens hätte ich gerne dass die Worte "low" "moderate" und "high" gegen die Punkte grün, gelb und rot ersetzt werden. Aber man kann bei valueicon kann man wohl keine Platzhalter verwenden (z.B. *.low). Kennt hier jemand eine bessere Möglichkeit die Daten darzustellen??

Ich hab zwar keine Ahnung von ReadingsGroup, aber dass in den Zeilennamen nicht die Allergene stehen, müsste daran liegen dass du Pollenflug hingeschrieben hast?!
Zumindest die Readings kannst du in der neusten Version selbst verändern, das könnte dir bei den Icons weiterhelfen.
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

Offline persching

  • Full Member
  • ***
  • Beiträge: 198
Antw:Modul: 60_allergy - 7 Tage Pollenflugvorhersage
« Antwort #29 am: 16 Mai 2015, 22:02:54 »
Ja, Pollenflug ist der Device name. Da kann man nicht einfach "Ampfer" hinschreiben.
Ich bin selbst noch bei den anfängen von FHEM und darum kenne ich keine andere Möglichkeit. Vielleicht ist es ja ganz einfach.