Hallo,
ich hab zwecks Überwachung meiner Batterien eine ReadingsGroup definiert: define battStatus ReadingsGroup .*:[Bb]attery
möchte aber hier drei Devices ausnehmen, da deren battery-reading einen (nicht erwünschten) numerischen Wert statt ok bzw. low liefert. Die Namen dieser drei Devices fangen alle mit "HUESensor..." an. (Wie) kann man die Ausnahme bei der Definition spezifizieren?
Mit devspec https://fhem.de/commandref_DE.html#devspec
.*:FILTER=NAME!=HUESensor.*
super, vielen Dank!
Hallo,
ich "normalisiere" die Batteriewerte aller Geräte und zeige die dann in einer readingsGroup an.
https://forum.fhem.de/index.php/topic,82637.msg747514.html#msg747514
Vielleicht ja interessant...
Alternativ könnte auch ein userReadings bei diesen Geräten gehen, dann hast du darüber auch eine Übersicht ;)
Gruß, Joachim
Danke Joachim,
ich benutze noch das DOIF hier aus dem Forum ([":battery: low"] and [?$SELF:B_$DEVICE] ne "low") ({DebianMail('xxxxxxx', 'FHEM - battery warning from device: $DEVICE','Bitte die Batterie im Gerät $DEVICE erneuern')}, setreading $SELF B_$DEVICE low) DOELSEIF ([":battery: ok"] and [?$SELF:B_$DEVICE] ne "ok") (setreading $SELF B_$DEVICE ok)
Ja, das mit dem Normalisieren tut Not ;), werde mir Deine .pm Datei mal ansehen
Hab das so gemacht das ich die Icons mit dem Stand sehe und die ok/low Geräte einfach auf Akku voll oder leer gesetzt vom Icon her.
defmod xx.Batterie.Status readingsGroup .*:[Bb]attery\
.*:[Bb]atteryLevel
attr xx.Batterie.Status alias Batteriestatus
attr xx.Batterie.Status icon batterie
attr xx.Batterie.Status mapping %ALIAS
attr xx.Batterie.Status notime 1
attr xx.Batterie.Status valueFormat {\
return "0" if( $VALUE eq "low" );;;;\
return "100" if( $VALUE eq "ok" );;;;\
}
attr xx.Batterie.Status valueIcon {\
'battery' => (($VALUE > 87)?'measure_battery_100@green':(($VALUE > 62)?'measure_battery_75@green':(($VALUE > 37)?'measure_battery_50@orange':(($VALUE > 12)?'measure_battery_25@red':'measure_battery_0@red'))))\
}