ReadingsGroup .*:[Bb]attery - bestimmte Devices ausnehmen

Begonnen von grappa24, 09 Dezember 2019, 00:24:29

Vorheriges Thema - Nächstes Thema

grappa24

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?
Gebäudesicherheit/-komfort, PV-Prognose/Verbrauchssteuerung, Heizungssteuerung, Multimedia, ...
KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200, Netatmo, Nuki, SolarForecast, HEOS, Alexa-FHEM, ...
FHEM 6.4, 2 x RasPi 3B+, Debian Bullseye

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

grappa24

Gebäudesicherheit/-komfort, PV-Prognose/Verbrauchssteuerung, Heizungssteuerung, Multimedia, ...
KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200, Netatmo, Nuki, SolarForecast, HEOS, Alexa-FHEM, ...
FHEM 6.4, 2 x RasPi 3B+, Debian Bullseye

MadMax-FHEM

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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

grappa24

#4
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
Gebäudesicherheit/-komfort, PV-Prognose/Verbrauchssteuerung, Heizungssteuerung, Multimedia, ...
KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200, Netatmo, Nuki, SolarForecast, HEOS, Alexa-FHEM, ...
FHEM 6.4, 2 x RasPi 3B+, Debian Bullseye

Eistee

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'))))\
}