FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: stobor am 30 März 2019, 20:08:41

Titel: Alias-Namen auslesen
Beitrag von: stobor am 30 März 2019, 20:08:41
Hallo,
ich möchte im Log eine Info finden, wenn ein Device eine Batteriewarnung ausgibt. Eine Lösung habe ich bereits gefunden:

define BatteriewarnungNotify notify .*:[Bb]attery:.* {\
if(("$EVENT" !~ m/ok/) && (Value("vBatWarningNOTSent") eq "on")) {\
my $deviceAlias = ReadingsVal($NAME,"alias",$NAME);;\
Log 1, "BATTERIEWARNUNG: $NAME = $EVENT $deviceAlias";;\
fhem "set vBatWarningNOTSent off";;\
fhem "delete Bat_Alert_on";;\
fhem "define Bat_Alert_on at +24:00:00 set vBatWarningNOTSent on";;\
}\
}


So bekomme ich Einträge, wenn ein Gerät ein Batterieproblem hat. Die Meldungen werden nur alle 24h einmal generiert. Auch wenn ggf. zwischendurch weitere Beräte ignoriert werden, ist das so erst einmal ok. Allerdings habe ich ein Problem, dass leider nciht die Alias-Namen angezeigt werden, sodern der richtige Name.
Beispiel:

define HM_4CEE98 CUL_HM 4CEE98
attr HM_4CEE98 IODev CUL_1
attr HM_4CEE98 actStatus alive
attr HM_4CEE98 alias Schlafzimmer
attr HM_4CEE98 autoReadReg 4_reqStatus
attr HM_4CEE98 subType thermostat
...

Dieses Gerät generiert folgenden Eintrag:
BATTERIEWARNUNG: HM_4CEE98 = battery: low

Warum erscheint der Alias-Name (Schlafzimmer) nicht?
Titel: Antw:Alias-Namen auslesen
Beitrag von: MadMax-FHEM am 30 März 2019, 20:16:43
Statt ReadingsVal AttrVal nehmen...
Weil der alias kein Reading sondern eben ein Attribut ist...

Kurz, da nur Handy grad...

Gruß, Joachim
Titel: Antw:Alias-Namen auslesen
Beitrag von: stobor am 30 März 2019, 20:29:01
Funzt! Super, Danke.