Batteriestatus von unterschiedlichen Hersteller auslesen

Begonnen von pi-user, 08 Mai 2017, 11:45:57

Vorheriges Thema - Nächstes Thema

pi-user

Ich verwende folgender Code, um den Batteriestatus der Sensoren im Zusammenhang mit dem JeeLink Stick darzustellen.

#Batteriestatus aller Devices im Raum Zentral anzeigen
define ZE.Batterie readingsGroup .*:[Bb]attery\
.*:[Bb]atteryLevel
attr ZE.Batterie notime 1
attr ZE.Batterie room Zentral
attr ZE.Batterie valueFormat {return "0" if( $VALUE eq "low" );; return "100" if( $VALUE eq "ok" );; return "25" if( $VALUE < 2.1 );; return "50" if( $VALUE < 2.3 );; return "75" if( $VALUE < 2.5 );; return "100"}
attr ZE.Batterie valueIcon {'battery.0' => 'measure_battery_0@red','battery.100' => 'measure_battery_100@green','Battery.0' => 'measure_battery_0@red','Battery.100' => 'measure_battery_100@green','batteryLevel.0' => 'measure_battery_0@red','batteryLevel.25' => 'measure_battery_25@red','batteryLevel.50' => 'measure_battery_50@orange','batteryLevel.75' => 'measure_battery_75@green','batteryLevel.100' => 'measure_battery_100@green'}


Das Ganze funktioniert sehr gut. Ich habe einen neuen Z-Wave Stick zugelegt. Der Batteriestatus eines Z-Wave Sensors wird aber nicht im Raum Zentral angezeigt! Ich dachte, dass der Code alle Sensoren, die eine Variable battery haben auslist!?! Brauche ich für die Z-Wave Sensoren einen neuen Code, um den Batteriestatus auszulesen?

Vielen Dank im Voraus.

Thorsten Pferdekaemper

Hi,
wann wird denn das DEF ausgewertet? Vielleicht bekommt die readingsGroup einfach nicht mit, dass da ein neues Device ist. Hast Du mal shutdown restart probiert?
Gruß,
   Thorsten
FUIP

pi-user

#2
Hä! Ich habe gerade beim Z-Wave Sensor nachgeschaut. In der Readings Tabelle existiert kein Attribut namens "battery" aber es gibt ein get battery Feld. Bitte siehe Anhang.

pi-user

Die anderen NICHT Z-Wave Sensoren haben in der Tabelle Readings ein Attribut namens battery. Aus diesem Grund funktioniert auch der Code.
Die Z-Wave Sensoren haben in der Tabelle Readings kein Attribut namens battery!?! Wie kann ich sonst den Batteriestatus der Z-Wave Geräte auslesen?

Thorsten Pferdekaemper

Hi,
laut Commandref müsste es ein Event battery:... geben. Allerdings ist mir nicht klar, ob das dann auch ein Reading wird. Hast Du zu dem Device ein FileLog und kommt da irgendwann mal ein battery-Event durch?
Wenn nicht: Was genau passiert denn, wenn Du get ... battery machst?
Gruß,
   Thorsten
FUIP

MadMax-FHEM

Zitat von: pi-user am 08 Mai 2017, 12:06:28
Die anderen NICHT Z-Wave Sensoren haben in der Tabelle Readings ein Attribut namens battery. Aus diesem Grund funktioniert auch der Code.
Die Z-Wave Sensoren haben in der Tabelle Readings kein Attribut namens battery!?! Wie kann ich sonst den Batteriestatus der Z-Wave Geräte auslesen?

Mach mal ein get batteryState (oder wie das heißt).
Wenn es ein wakeup-Gerät ist, dann kommt der Wert beim nächsten wakeup oder du weckst manuell.

Ich habe ein notify auf wakeup und setze da dann den get batteryState ab, so bekomme (hole) ich mir bei jedem wakeup den aktuellen Batteriestatus meiner ZWave-Geräte.

Bin grad nicht zuhause, drum kann ich's nur "umschreiben"...

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)

pi-user

Wenn ich get ausführe, dann bekommt ich eine Meldung. Die Meldung befindet sich als Bild im Anhang.

pi-user

Hallo Joachim,

das hört sich gut. Kannst Du mir den Codeschnipsel zuschicken, wenn Du zuhause bist? Danke.

MadMax-FHEM

Zitat von: pi-user am 08 Mai 2017, 13:03:43
Wenn ich get ausführe, dann bekommt ich eine Meldung. Die Meldung befindet sich als Bild im Anhang.

Also wakeup-Gerät.
Entweder manuell wecken oder halt warten bis zum nächsten Wakeup.

Dann sollte auch ein entsprechendes Reading da sein.

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)

MadMax-FHEM

Zitat von: pi-user am 08 Mai 2017, 13:07:21
Hallo Joachim,

das hört sich gut. Kannst Du mir den Codeschnipsel zuschicken, wenn Du zuhause bist? Danke.

Jep, klar...
...kann aber spät werden, bin unterwegs...

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)

MadMax-FHEM

#10
Hi,

so jetzt.

Hier das notify:

define nZWaveGetBattery notify .*.wakeup:.notification get $NAME battery

Allerdings sendet bzw. ist das Reading bei ZWave (zumindest bei meinen) dann gleich mit %.

Andere (z.B. Homematic) haben bei battery "ok" oder "low" bzw. die aktuell noch vorhandenen Batteriespannungen...

Für eine einheitliche Anzeige muss da halt u.U. noch etwas angepasst werden...

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)

KernSani

#11
@pi-user: Mir scheint das eine sehr ZWAVE-spezifische Diskussion zu werden, daher würde ich dich bitten, das Thema ins entsprechende Unterforum  zu verschieben (Button ganz links unten).

Danke,

Grüße,

Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

pi-user


pi-user

In der Logdatei steht nun nach dem Wakeup Notify der Batteriestatus. Wie kann ich den Batteriestatus in Fhem grafisch darstellen bzw. eine Benachrichtigung rausschicken, wenn der Batteriestatus unter 20% ist? Muss ich dafür ein Skript schreiben?

Danke.

pi-user

Hallo Joachim,

wie kommst Du an Batteriestatus-Wert bei Deinem Code? Wie kann man den Batteriestatus in eine Variable speichern?

Danke.