Readingsgroup Batterieanzeige nur von "low"

Begonnen von Depechem, 06 März 2018, 12:44:50

Vorheriges Thema - Nächstes Thema

Depechem

Ich habe wie im Beispiel die ReadingGroup so angelegt:
define rg_battery readingsGroup .*:[Bb]attery

Damit werden mir alle Devices mit dem passenden battery Reading angezeigt.
Wie kann ich mir aber nur die Devices mit den batterie-readings "low" anzeigen lassen?

define rg_battery readingsGroup .*:[Bb]attery:low
define rg_battery readingsGroup .*:[Bb]attery.low
define rg_battery readingsGroup .*:[Bb]attery:low.*
define rg_battery readingsGroup .*:[Bb]attery.low.*

funktioniert nicht

LG Thomas
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

Otto123

Hallo Thomas,

aus meiner Sicht liegst Du mit der Annahme falsch, dass mit dem regEx der Inhalt des Reading abgefragt wird. Ich lese das zumindest so nicht in der Doku.
Dort wird lediglich die Existenz des Readings abgefragt. Das Beispiel würde alle Raedings anzeigen die mit battery beginnen, also auch BatteryLevel:.*:[Bb]attery.*
Den Inhalt des Readings kannst Du in diversen attributen abfragen und die Anzeige modifizieren, siehe Beispiel in der Doku weiter unten.

Gruß Otto

BTW Ein : ist kein Trenner im regEx, er ist der Trenner zwischen Gerät und regEx!
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Depechem

Zitat von: Otto123 am 06 März 2018, 13:36:59
Hallo Thomas,

aus meiner Sicht liegst Du mit der Annahme falsch, dass mit dem regEx der Inhalt des Reading abgefragt wird. Ich lese das zumindest so nicht in der Doku.
Dort wird lediglich die Existenz des Readings abgefragt. Das Beispiel würde alle Raedings anzeigen die mit battery beginnen, also auch BatteryLevel:.*:[Bb]attery.*
Den Inhalt des Readings kannst Du in diversen attributen abfragen und die Anzeige modifizieren, siehe Beispiel in der Doku weiter unten.

Gruß Otto

BTW Ein : ist kein Trenner im regEx, er ist der Trenner zwischen Gerät und regEx!


Danke Otto,
ich habe mir in der "commandref" alle Attribute angeschaut. Mir ist nicht verständlich welches attr dafür genutzt werden könnte.
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

Otto123

Ich bin bei readingsgroup der absolute Laie! Aber das hier?

attr rg_battery valueIcon {'battery.ok' => 'batterie', 'battery.low' => 'batterie@red'}


Funktioniert bei mir auf Anhieb.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Depechem

Zitat von: Otto123 am 06 März 2018, 14:27:23
Ich bin bei readingsgroup der absolute Laie! Aber das hier?

attr rg_battery valueIcon {'battery.ok' => 'batterie', 'battery.low' => 'batterie@red'}


Funktioniert bei mir auf Anhieb.

Gruß Otto

Dann wird statt "low" und "ok" ein Symbol angezeigt. ich möchte aber alle Devices mit "ok" aus der Readingsgroup verbannen.
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

Depechem

Ich habe es

{ return $VALUE if ( $VALUE eq "low");; return undef;; }

Danke für deine Hilfen
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

Otto123

Kannst Du das komplette attr hinschreiben? Das ist zur Lösung sicher für alle Anderen interessant.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Depechem

Hier die Lösung:

defmod rg_battery readingsGroup .*:[Bb]attery
attr rg_battery alias Batteriestatus
attr rg_battery room Batteriestatus
attr rg_battery valueFormat { return $VALUE if ( $VALUE eq "low");;;; return undef;;;; }
attr rg_battery valueIcon {'battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red'}


wobei es direkt hierum geht:
attr rg_battery valueFormat { return $VALUE if ( $VALUE eq "low");;;; return undef;;;; }
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

Moonlightkid

Hallo zusammen,

Mit der DEF TYPE=MAX:FILTER=STATE=opened habe ich die readingsGroup vorsortiert und mit
attr rg_battery valueFormat { return $VALUE if ( $VALUE eq "low");;;; return undef;;;; }
von Depechem habe ich bei mir das anzeigen aller offenen Fensterkontakte realisiert.

Der valueFormat ist so also multifunktional  8)


Grüßle!
Synology 220+, Hue, MAX!, Sonoff und weiteres