Hauptmenü

Batterieanzeige

Begonnen von dt2510, 24 Februar 2017, 14:33:49

Vorheriges Thema - Nächstes Thema

dt2510

Ich bräuchte mal etwas Starthilfe...

Im Wiki hab ich folgendes Beispiel für eine Batterieanzeige mit Symbol-Widget gefunden
<div data-type="symbol"
     data-device="WohnzimmerHeizung"
     data-get="batteryLevel"
     data-states='["3.[0-9]","2.[789]","2.[456]","2.[123]","((2.0)|([01].[0-9]))"]'
     data-icons='["fa-battery-4","fa-battery-3","fa-battery-2","fa-battery-1","fa-battery-0"]'
     data-colors='["#505050","#505050","#505050","#ad3333","#ad3333"]'>
</div>


Ich weiß leider nicht, um welches Device es sich hier handelt (und welcher Wert im Reading steht), aber ich bekomme für mein Device den Ladestand im Reading "battery" als Prozentwert, also z.B. "100 %", geliefert. Was gebe ich jetzt bei data-states an ? Mit regex kenn ich mich nicht wirklich aus ...

mumpitzstuff

#1
Ich kenne mich da ebenfalls wenig aus, würde aber raten das:


  • WohnzimmerHeizung dein device name ist
  • batteryLevel das reading in diesem device ist aus dem sich dann die anzeige ergibt (muss also existieren damit es funktioniert. wenn es nicht existiert, dann geht die anzeige nicht)
  • dann gibt es 5 zustände (states) die jeweils ein entsprechendes icon besitzen
  • icon fa-battery-4 wird angezeigt wenn: "3.[0-9]" = bereich 3.0 bis 3.9
  • icon fa-battery-3 wird angezeigt wenn: "2.[789]" = bereich 2.7 bis 2.9
  • icon fa-battery-2 wird angezeigt wenn: "2.[456]" = bereich 2.4 bis 2.6
  • icon fa-battery-1 wird angezeigt wenn: "2.[123]" = bereich 2.1 bis 2.3
  • icon fa-battery-0 wird angezeigt wenn: "((2.0)|([01].[0-9]))" = 2.0 oder der bereich 0 bis 1.9

Ich vermute die Bereiche sind die Spannungsbereiche der Batterie. Wenn dein device das nicht als Reading her gibt, dann kannst du diese Anzeige auch nicht basteln. Unter Umständen gibts das aber schon eventuell auch mit anderen Spannungsbereichen, dann musst du nur die Bereiche etwas anpassen. [x-y] bedutet oben immer eine Zahl im Bereich von X-Y. [ABC] bedeutet entweder A oder B oder C. 

PS: Eventuell liefert dein device auch den Ladezustand deiner Batterie in Prozent 0-100. Dann kannst du dir das ebenfalls sehr einfach anpassen.

dt2510

Wie ich oben schon geschrieben habe liefert mein Device im Reading "battery" einen Prozentwert als Text, also z.B. "100 %"

Hier ein List des Devices...
Internals:
   AeonGen5_MSGCNT 63
   AeonGen5_RAWMSG 00040015055b03538001
   AeonGen5_TIME 2017-02-23 20:17:48
   DEF        d86af805 21
   IODev      AeonGen5
   LASTInputDev AeonGen5
   MSGCNT     63
   NAME       FGPB101_ID21
   NR         310
   STATE      ???
   TYPE       ZWave
   ZWaveSubDevice no
   homeId     d86af805
   isWakeUp   1
   lastMsgSent 1487792562.09131
   nodeIdHex  15
   Readings:
     2017-02-21 19:30:25   CMD             ZW_APPLICATION_UPDATE
     2017-02-23 20:17:48   UNPARSED        CENTRAL_SCENE 055b03538001
     2017-02-22 20:40:52   assocGroup_1    Max 1 Nodes AeonGen5
     2017-02-22 20:40:52   assocGroup_2    Max 5 Nodes
     2017-02-22 20:40:52   assocGroup_3    Max 5 Nodes
     2017-02-22 20:40:52   assocGroup_4    Max 5 Nodes
     2017-02-22 20:40:52   assocGroups     4
     2017-02-21 18:50:57   battery         100 %
     2017-02-22 20:40:51   configAlarmFrameTriggers 127
     2017-02-22 20:40:51   configAssociationsInZWaveNetwork3 7
     2017-02-22 20:40:51   configKeyHeldDownCommandSentTo3rd29 BrighteningDimmingAlternately
     2017-02-22 20:40:51   configKeyPressed1TimeCommandSentTo2nd10 SwitchONOFFAlternately
     2017-02-22 20:40:52   configKeyPressed1TimeCommandSentTo3rd20 SwitchONOFFAlternately
     2017-02-22 20:40:52   configKeyPressed1TimesValueOfSWITCHON11 255
     2017-02-22 20:40:52   configKeyPressed1TimesValueOfSWITCHON21 255
     2017-02-22 20:40:52   configKeyPressed2TimeCommandSentTo2nd12 SwitchON
     2017-02-22 20:40:52   configKeyPressed2TimeCommandSentTo3rd22 SwitchON
     2017-02-22 20:40:52   configKeyPressed2TimesValueOfSWITCHON13 99
     2017-02-22 20:40:52   configKeyPressed2TimesValueOfSWITCHON23 99
     2017-02-22 20:40:52   configKeyPressed3TimeCommandSentTo2nd14 NoAction
     2017-02-22 20:40:52   configKeyPressed3TimeCommandSentTo3rd24 NoAction
     2017-02-22 20:40:52   configKeyPressed3TimesValueOfSWITCHON15 255
     2017-02-22 20:40:52   configKeyPressed3TimesValueOfSWITCHON25 255
     2017-02-22 20:40:52   configScenesSentToTheController 127
     2017-02-21 19:30:27   model           FIBARO System FGPB101 Button
     2017-02-21 19:30:27   modelConfig     fibaro/fgpb101.xml
     2017-02-21 19:30:27   modelId         010f-0f01-1000
     2017-02-22 20:42:42   timeToAck       0.027
     2017-02-22 20:42:42   transmit        OK
     2017-02-22 20:42:40   wakeup          notification
     2017-02-21 19:03:51   zwavePlusInfo   version:01 role:PortableSlave node:Z-Wave+Node installerIcon:1600 userIcon:1600
Attributes:
   IODev      AeonGen5
   alias      Button Eingang
   classes    ZWAVEPLUS_INFO VERSION MANUFACTURER_SPECIFIC CENTRAL_SCENE DEVICE_RESET_LOCALLY ASSOCIATION_GRP_INFO ASSOCIATION POWERLEVEL WAKE_UP BATTERY ALARM CRC_16_ENCAP CONFIGURATION MULTI_CHANNEL_ASSOCIATION FIRMWARE_UPDATE_MD SECURITY SENSOR_ALARM MARK SWITCH_MULTILEVEL
   group      Schalter
   room       Eingang,_ZWave
   vclasses   ALARM:5 ASSOCIATION:2 ASSOCIATION_GRP_INFO:1 BATTERY:1 CENTRAL_SCENE:3 CONFIGURATION:1 CRC_16_ENCAP:1 DEVICE_RESET_LOCALLY:1 FIRMWARE_UPDATE_MD:3 MANUFACTURER_SPECIFIC:2 MULTI_CHANNEL_ASSOCIATION:3 POWERLEVEL:1 SECURITY:1 SENSOR_ALARM:1 SWITCH_MULTILEVEL:0 VERSION:2 WAKE_UP:2 ZWAVEPLUS_INFO:2

sinus61

Das oben sieht wie ein HM Thermostat aus, fängt dann bei 3 Volt an.


[8-9][0-9].*

Das würde den Bereich von 80%  - 99% abdecken, entsprechen kannst du es ja weiter nach unten anpassen. Für 100% würde ich einen eigenen state nehmen, sonst wird es zu kompliziert :)

mumpitzstuff



<div data-type="symbol"
     data-device="FGPB101_ID21"
     data-get="battery"
     data-states='["((100)|([98][0-9]))","[76][0-9]","[54][0-9]","[32][0-9]","(([0-9])|(1[0-9]))"]'
     data-icons='["fa-battery-4","fa-battery-3","fa-battery-2","fa-battery-1","fa-battery-0"]'
     data-colors='["#505050","#505050","#505050","#ad3333","#ad3333"]'>
</div>



Versuchs mal damit. Vielleicht muss man noch ein .* hinten an jeden state klemmen, siehe grad geschriebenen Beitrag...  :o

dt2510

Ich hab' es jetzt mal so eingebaut

<div data-type="symbol"
                  style="font-size:240%"
                  data-device="FGPB101_ID21"
                  data-get="battery"
                  data-states='["100.*","[8-9][0-9].*","[6-7][0-9].*","[4-5][0-9].*","[0-3][0-9].*"]'
                  data-icons='["fa-battery-4","fa-battery-3","fa-battery-2","fa-battery-1","fa-battery-0"]'
                  data-background-icons='["","","","",""]'
                  data-colors='["White","White","White","White","White"]'
                  data-background-colors='["transparent","transparent","transparent","transparent","transparent"]'>
                </div>


Scheint zu funktionieren

roman1528

Falls noch von interesse:  ;D


<div data-type="symbol"
data-device="DEVICE"
data-get="battery"
data-states='["([0-9]|[1][0-9])",           "([2][0-5])",       "([2][6-9]|[3][0-9]|[4][0-9]|50)","([5][1-9]|[6][0-9]|[7][0-5])","([7][6-9]|[8][0-9]|[9][0-9]|100)"]'
data-icons='["fa-battery-0 fa-blink warn","fa-battery-1 warn","fa-battery-2",                   "fa-battery-3",                "fa-battery-4"]'
data-colors='["firebrick",                "firebrick",        "#aa6900",                        "green",                       "green"]'
class="top-space">
</div>


0-20%; rot blinkend null balken mit anzeige der %
21-25%; rot ein balken mit anzeige der prozent
26-50%; orange zwei balken
51-75%; gün drei balken
76-100%; grün vier balken (voll)

Grüße^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

dt2510

Die Prozentanzeige steht bei mir davor, brauch' ich also nicht im Icon. Farben hab' ich auch schon angepasst, aber die [0-9] hatte ich vergessen - danke dafür. Sieht bei mir übrigens so aus. Per Click auf die Uhr, das Diagramm-Icon und das Kamerabild lassen sich zusätzliche Dialoge öffnen - wie z.B. hier die Automatisierung der Eingangsbeleuchtung...