FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Groej am 13 Juli 2018, 06:51:46

Titel: Notify löst nicht aus / Luftdaten.info in Dummy schreiben
Beitrag von: Groej am 13 Juli 2018, 06:51:46
Guten Morgen,

ich habe eine Problem mit einen Notify welches nicht auslöst.

Internals:
   CFGFN      ./FHEM/fhem_klimawerte.cfg
   DEF        Luftdaten_(HN|Bln):PM10:.* {
luftguete($NAME,$EVTPART1);
}
   NAME       lueftguete_nf
   NR         405
   NTFY_ORDER 50-lueftguete_nf
   REGEXP     Luftdaten_(HN|Bln):PM10:.*
   STATE      2018-07-13 06:43:04
   TYPE       notify
   READINGS:
     2018-07-12 17:15:42   state           active
Attributes:
   room       99_Notify


Ich möchte eigentlich auf alles reagieren was mit Luftdaten_ anfängt. Im Code steht Luftdaten_(HN|Bln):PM10:.*. Ich habe es auch schon mit Luftdaten_.*:PM10:.* probiert aber geht auch nicht. Wenn ich für Luftdaten_HN und Luftdaten_Bln jeweils ein eigenes Notify schreibe geht es wobei ich da $NAME nicht als Übergabe hatte sondern direkt den Namen eingetragen habe jeweils. Oder liegt es an $NAME?

Danke für Eure Tipps

Gruß

Jörg
Titel: Antw:Notify löst nicht aus
Beitrag von: CoolTux am 13 Juli 2018, 08:31:20

Luftdaten_(HN|Bln):PM10.* {


Versuch es mal so
Titel: Antw:Notify löst nicht aus
Beitrag von: Otto123 am 13 Juli 2018, 10:22:19
Hallo Jörg,

wir arbeiten noch dran, aber vielleicht hilft es:
https://wiki.fhem.de/wiki/Notify#Mein_notify_geht_nicht_-_wie_kann_ich_mir_selbst_helfen:_Debugging

Gruß Otto
Titel: Antw:Notify löst nicht aus
Beitrag von: Beta-User am 13 Juli 2018, 10:30:32
Vielleicht sollten wir da noch einen Hinweis einarbeiten?

"Vor dem Posten entsprechender Fragen bitte 10 Zeilen mit Events der relevanten Geräte im Event-Monitor sammeln und (in Code-Tags) mit anfügen ;) ".

Gruß, Beta-User
Titel: Antw:Notify löst nicht aus
Beitrag von: Groej am 14 Juli 2018, 09:59:16
Moin,

so habs selber hinbekommen. Es ging darum die Luftgüte Werte von Luftdaten.info als Text in verschiedenen Farbe darzustellen. Gleichzeitig werden diese auch auf meine Homepage exportiert. Darum auf die Textfarbe als extra Reading.

Hier die überwachten Devices:

Internals:
   CFGFN      ./FHEM/fhem_klimawerte.cfg
   DEF        remote 12070
   INTERVAL   300
   MODE       remote
   NAME       Luftdaten_Bln
   NR         303
   SENSORIDS  12070
   STATE      active
   TIMEOUT    5
   TYPE       LuftdatenInfo
   READINGS:
     2018-07-14 09:50:25   PM10            11.67
     2018-07-14 09:50:25   PM2.5           8.40
     2018-06-24 08:50:32   latitude        52.5600
     2018-06-24 08:50:33   location        13359
     2018-06-24 08:50:32   longitude       13.3780
     2018-07-14 09:50:25   state           active
Attributes:
   group      WH3080
   room       99_System

Internals:
   CFGFN      ./FHEM/fhem_klimawerte.cfg
   DEF        remote 7289
   INTERVAL   300
   MODE       remote
   NAME       Luftdaten_HN
   NR         299
   SENSORIDS  7289
   STATE      active
   TIMEOUT    5
   TYPE       LuftdatenInfo
   READINGS:
     2018-07-14 09:50:26   PM10            17.82
     2018-07-14 09:50:26   PM2.5           13.20
     2018-06-24 08:32:04   latitude        52.6780
     2018-06-24 08:32:05   location        16540 Hohen Neuendorf
     2018-06-24 08:32:04   longitude       13.2520
     2018-07-14 09:50:26   state           active
Attributes:
   group      WH3080
   room       99_System


hier das Notify:

Internals:
   CFGFN      ./FHEM/fhem_klimawerte.cfg
   DEF        Luftdaten_.*:PM10:.* {
luftguete($NAME,$EVTPART1);
}
   NAME       lueftguete_nf
   NOTIFYDEV  Luftdaten_.*
   NR         405
   NTFY_ORDER 50-lueftguete_nf
   REGEXP     Luftdaten_.*:PM10:.*
   STATE      2018-07-14 09:50:26
   TYPE       notify
   READINGS:
     2018-07-13 15:39:55   state           active
Attributes:
   room       99_Notify


und hier das Programm dazu:

sub luftguete($$) {
   my ($sensor, $PM10) = @_;
   my $luftguete = "";
   my $luftguete_farbe = "";
   my $device = "";
   $device = $sensor."_dy";
    if ($PM10 <= 20) {
$luftguete = "Sehr gut";
$luftguete_farbe = "#82FA58";
}
elsif ($PM10 <= 35) {
$luftguete = "Gut";
$luftguete_farbe = "#01DF01";
}
elsif ($PM10 <= 50) {
$luftguete = "Befriedigend";
$luftguete_farbe = "#00FFBF";
}
elsif ($PM10 <= 100) {
$luftguete = "Unbefriedigend";
$luftguete_farbe = "#FFFF00";
}
elsif ($PM10 <= 150) {
$luftguete = "Schlecht";
$luftguete_farbe = "#FFBF00";
}
else {
$luftguete = "Sehr schlecht";
$luftguete_farbe = "FF0000";
}
  {fhem ("set $device $luftguete")};
  {fhem ("setreading $device PM10 $PM10")};
  {fhem ("setreading $device Textfarbe $luftguete_farbe")};
  {fhem ("attr $device devStateStyle style=color:$luftguete_farbe")};
  {fhem ("save")};
 
}


und hier die Dummys dazu:

Internals:
   CFGFN      ./FHEM/fhem_klimawerte.cfg
   NAME       Luftdaten_HN_dy
   NR         301
   STATE      Sehr gut
   TYPE       dummy
   READINGS:
     2018-07-14 09:50:27   PM10            17.82
     2018-07-14 09:50:27   Textfarbe       #82FA58
     2018-07-14 09:50:26   state           Sehr gut
Attributes:
   alias      Luftgüte PM10
   devStateStyle style=color:#82FA58
   group      Aussen
   room       Klima
   sortby     08

Internals:
   CFGFN      ./FHEM/fhem_klimawerte.cfg
   NAME       Luftdaten_Bln_dy
   NR         305
   STATE      Sehr gut
   TYPE       dummy
   READINGS:
     2018-07-14 09:50:25   PM10            11.67
     2018-07-14 09:50:26   Textfarbe       #82FA58
     2018-07-14 09:50:25   state           Sehr gut
Attributes:
   alias      Luftgüte PM10
   devStateStyle style=color:#82FA58
   group      Klima
   room       Wohnung