[gelöst] Battery Status für alle Geräte

Begonnen von tboston, 12 Oktober 2016, 08:52:26

Vorheriges Thema - Nächstes Thema

tboston

Hallo zusammen,

ich möchte gerne den Battery Status aller Max! Geräte in einem extra Raum sehen. Hat das jemand von euch schon realisiert?

Grüße,
Tony
--
Proxmox Host -> Debian VM -> FHEM 5.9
CUL868 - CUL433
3x Max! Wand-Thermostat - 3x Max! Fenstersensoren - 3x Max! Heizthermostat - 3x Intertechno Funksteckdosen - 3x Brennenstuhl Funksteckdosen
Tradfri Zeugs

Mitch

FHEM im Proxmox Container

RaspiCOC

Habe das bei mir so gemacht:

define Batterie readingsGroup <Sensor>,<Batteriestatus>,<Status Datum/Zeit> *:battery
attr Batterie room Batteriestatus


Alle Devices, die ein "battery" liefern, werden dort gelistet.

tboston

Zitat von: Mitch am 12 Oktober 2016, 09:00:02
ReadingsGroup?

Genau was ich gesucht hatte, funzt!

Zitat von: RaspiCOC am 12 Oktober 2016, 09:06:01
Habe das bei mir so gemacht:

define Batterie readingsGroup <Sensor>,<Batteriestatus>,<Status Datum/Zeit> *:battery
attr Batterie room Batteriestatus


Alle Devices, die ein "battery" liefern, werden dort gelistet.

Danke für die Info!

Grüße,
Tony
--
Proxmox Host -> Debian VM -> FHEM 5.9
CUL868 - CUL433
3x Max! Wand-Thermostat - 3x Max! Fenstersensoren - 3x Max! Heizthermostat - 3x Intertechno Funksteckdosen - 3x Brennenstuhl Funksteckdosen
Tradfri Zeugs

carlos

Hi
Ich habe es so gemacht. Da hat man noch den BatteryLevel dabei:

define Batterie readingsGroup <%Batterie>,<Batterie>,<Batterielevel> .*:[Bb]attery,[Bb]atteryLevel
attr Batterie  alias      Batteriestatus
attr Batterie  mapping    %ALIAS
attr Batterie  notime     1
attr Batterie  room       Status
attr Batterie  valueFormat { batteryLevel => "%0d%" }
attr Batterie  valueIcon  {'battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red'}


Gruß
Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

tboston

Zitat von: carlos am 12 Oktober 2016, 09:27:09
Hi
Ich habe es so gemacht. Da hat man noch den BatteryLevel dabei:

define Batterie readingsGroup <%Batterie>,<Batterie>,<Batterielevel> .*:[Bb]attery,[Bb]atteryLevel
attr Batterie  alias      Batteriestatus
attr Batterie  mapping    %ALIAS
attr Batterie  notime     1
attr Batterie  room       Status
attr Batterie  valueFormat { batteryLevel => "%0d%" }
attr Batterie  valueIcon  {'battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red'}


Gruß
Carlos

batteryLevel scheint es als Reading nicht zu geben
--
Proxmox Host -> Debian VM -> FHEM 5.9
CUL868 - CUL433
3x Max! Wand-Thermostat - 3x Max! Fenstersensoren - 3x Max! Heizthermostat - 3x Intertechno Funksteckdosen - 3x Brennenstuhl Funksteckdosen
Tradfri Zeugs

carlos

Hi,
Kommt natürlich auf das device an, bei meinen Homematic Thermostaten  und meiner Withings Waage gibts den Batterylevel.
Aber man sieht halt den Level, wenn vorhanden.
Gruß
Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

Intruder1956

hallo,
da stimmt aber mit dem Level etwas nicht, es wird nicht z.b. 2,9 Volt angezeigt, sondern 2%
Das ValueFormat ist demnach falsch.

gruß Werner
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

carlos

Da hast du Recht. Bei den Thermostaten ist der  BattaryLevel in Volt, bei anderen in %.
Auch wieder vom device typ abhängig.
Gruß
Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

AtomicOne

Alter Thread, aber für mich gerade wieder aktuell.

Ich habe dies gemäß
https://www.meintechblog.de/2015/08/fhem-rechtzeitige-benachrichtigung-bei-leeren-batterien/
gelöst.

Für den Anfang nicht schlecht, aber eigentlich hätte ich gerne das StateIcon direkt neben dem Sensor und nicht in einer extra Gruppe.

devStateIcon habe ich leider nicht hinbekommen :-/
RPi 3: JeeLink-Clone (LaCrosseITPlusReader.10.1s / RFM69HW), MAX!Cube (TRX868 / 0.1), 4x HT, 1x WT+, 2x FK, 3x TX29 DTH-IT, 1x 1w DS18S20

Wzut

Tipp : deine techblog Quelle ist hier nicht so gern gesehen, ganz besonders wenn sie auf Uralt Lösungen verweist.
Die gleiche Info hättest du auch im Wiki gefunden und deine Batterie solltest ab heute auch an die gewünschte Stelle bekommen  -> https://forum.fhem.de/index.php/topic,97586.msg908277.html#msg908277
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

AtomicOne

Zitat von: Wzut am 20 Februar 2019, 06:42:24
Tipp : deine techblog Quelle ist hier nicht so gern gesehen
Ein solches Verhalten würde ich allgemein als arrogant bezeichnen, wenn man nicht auch andere Quellen außer der eigenen zulässt ...
Aber das ist leider ein sehr verbreitetes Forum-Phänomen (speziell bei technischen Angelegenheiten).
Und damit meine ich jetzt ausdrücklich NICHT DICH persönlich !

Zitat von: Wzut am 20 Februar 2019, 06:42:24
Die gleiche Info hättest du auch im Wiki gefunden und deine Batterie solltest ab heute auch an die gewünschte Stelle bekommen  -> https://forum.fhem.de/index.php/topic,97586.msg908277.html#msg908277
Da hast du absolut Recht, und nachdem ich den Wiki-Artikel zu devStateIcon nochmal vollständig gelesen habe, habe ich es gestern dann auch noch hinbekommen.
Ich hatte zu Anfang bloß zu simpel gedacht.
Mir war nicht bewusst dass man dort eine Mischung aus HTML und Perl eintragen muss und dass state und devStateIcon sich nicht gleichzeitig verwenden lassen.

Hiermit hat es in meinem Fall funktioniert.
{my $batterycolor = 'measure_battery_100@green';;$batterycolor='measure_battery_25@red' if (ReadingsVal($name, "battery", "low") eq "low");;"<div>" . ReadingsVal($name,"temperature",2) . "°C" . " / " . ReadingsVal($name,"humidity",2) . "%rel." . FW_makeImage("$batterycolor","batterie") . "</div>" }
Ich mache das heute Abend noch etwas hübscher. Aber ich habe die Syntax jetzt begriffen.
RPi 3: JeeLink-Clone (LaCrosseITPlusReader.10.1s / RFM69HW), MAX!Cube (TRX868 / 0.1), 4x HT, 1x WT+, 2x FK, 3x TX29 DTH-IT, 1x 1w DS18S20

Wzut

Zitat von: AtomicOne am 20 Februar 2019, 08:22:00
Ein solches Verhalten würde ich allgemein als arrogant bezeichnen, wenn man nicht auch andere Quellen außer der eigenen zulässt ...
[OT:on]
das mag zwar auf den ersten Blick so rüberkommen, Hintergrund ist aber das sehr oft gerade im Anfängerforum User mit irgend welchen uralt Codeschnipsel auftauchen und um Hilfe rufen, da FHEM sich inzwischen weiter entwickelt hat der Blog aber leider stehen geblieben ist.
Das FHEM Wiki mag auch oft der Entwicklung etwas hinter her laufen, aber es wird doch versucht (dank vieler Hände) so gut es geht Schritt zu halten.     
[OT:off]

Zitat von: AtomicOne am 20 Februar 2019, 08:22:00
Ich mache das heute Abend noch etwas hübscher. Aber ich habe die Syntax jetzt begriffen.
IMHO kannst das noch eleganter lösen wenn du das von mir verlinkte heute Update von 01_FHEMWEB berücksichtigst.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

AtomicOne

Danke an wutz.
Gestern bin ich leider nicht mehr dazu gekommen es zu probieren, aber dein Vorschlag ist exakt das was ich gesucht hatte.

Dazu jetzt allerdings drei fragen ...

1. Wo sehe ich auf welcher Version mein FHEM gerade läuft?
2. Kann ich die 01_FHEMWEB einfach tauschen ?
3. Kann ich meine FHEM-Instanz auch auf Basis eines aktuellen Checkout laufen lassen, und mit svn update laufe ich immer auf dem gerade aktuellen trunk !?

Mir ist klar dass im trunk ständig Änderungen gemacht werden (ich arbeite selbst täglich beruflich in der Software-Entwicklung).
Mir geht es darum, was die Erfahrungen sind bzgl. der trunk Versionen.
FHEM ist ja nicht erst gestern entstanden, somit dürften die Änderungen meist nur kleinerer Natur sein, oder spezielle Module betreffen ... (?)

Ansonsten ist die 2. Frage entscheidend.
RPi 3: JeeLink-Clone (LaCrosseITPlusReader.10.1s / RFM69HW), MAX!Cube (TRX868 / 0.1), 4x HT, 1x WT+, 2x FK, 3x TX29 DTH-IT, 1x 1w DS18S20

AtomicOne

So, nachdem ich keine Antwort bekommen habe und ich drei Tage lang auch keine Zeit hatte ...

Ich habe einfach mal 'update' in die commandline eingetragen.
Ob ich nun die entsprechende 01_FHEMWEB habe ...  ???
'verison' sagt zumindest dass das File vom 20.02.2019 ist.

Aber so richtig klappen will es bei mir leider noch nicht.
Ich komme ehrlich gesagt auch oft mit den Beispielen nicht richtig klar.
Es entsteht jedes mal das Gefühl bei mir es würde irgendwie noch etwas an Information fehlen.

Mir ist überhaupt nicht richtig klar wie die Werte aus 'devStateIcon', 'stateFormat', 'setstate', 'webCmd' und 'setList' zusammenhängen.
Wie beeinflussen sich diese Felder gegenseitig ?

Eigentlich will ich für einen Temperatur-/Feuchtigkeits-Sensor nur folgendes erreichen ...

<table>
<tr>
<td>temperature&deg;C</td>
<td rowspan=2>battery</td>
</tr>
<tr>
<td>humidity%rel.</td>
</tr>
</table>


Trage ich exakt diesen Code in 'stateFormat' ein, wird komischer 'battery' nur als "ok" angezeigt.

trage ich hingegen folgendes ein:

temperature&deg;C<br>
humidity%rel.<br>
battery


dann bekomme ich für die Batterie das Icon angezeigt wie es unter 'devStateIcon' definiert ist

ok:batterie@green low:batterie@red

Das finde ich unlogisch.
'<br>' ist ein HTML-Tag. Also schließe ich daraus dass ich auch andere HTML-Tags verwenden kann.
Das scheint aber nicht so zu sein.

Ich möchte die Messwerte links haben und die Batterie rechts daneben.
Aber eben mittig (rowspan=2).

'readingList' kann ich zum Beispiel überhaupt nicht definieren, das Attribut existiert bei meinem Sensor nicht.

Kann mir jemand helfen das zu verstehen ?
Ich fürchte einfach bei mir ist der Knoten noch nicht so ganz geplatzt ...
RPi 3: JeeLink-Clone (LaCrosseITPlusReader.10.1s / RFM69HW), MAX!Cube (TRX868 / 0.1), 4x HT, 1x WT+, 2x FK, 3x TX29 DTH-IT, 1x 1w DS18S20