[FUIP] Geräte dem Batterie Widget von FUIP hinzufügen ?

Begonnen von ronaldhadh, 24 November 2019, 16:20:20

Vorheriges Thema - Nächstes Thema

ronaldhadh

Hallo,
ich habe eine SUSV, die leider als Batterieinformationen ein großes "BatterieLevel" verwendet.
Ich habe dies im Batteries.pm hinzugefügt, aber beim nächsten Update ist es berechtigterweise wieder überschrieben.
Gibt es einen Standardweg, um dies zu ermöglichen.
Danke Ronald

Thorsten Pferdekaemper

Hi,
ist das ein verbreitetes Gerät oder was spezielles, was vielleicht nur Du hast?
Mal sehen, vielleicht kann ich das einfach einbauen. Könntest Du mir mal ein list des "SUSV"-Device geben und vielleicht auch Deine Änderung?
Ansonsten ist "userReading" für so etwas ganz nützlich.
Gruß,
   Thorsten
FUIP

ronaldhadh

#2
Vielen Dank für die schnelle Antwort. Ich habe es erst heute gelesen, da ich beruflich unterwegs war.

Das ist eine USV für den Raspberry Pi und gestattet einen gewissen Weiterbetrieb bei Stromausfall.
https://olmatic.de/produkte/susv/

Gruß
Ronald
Hier die List der USV

Internals:
   CHANGED   
   ExternalPower 0
   FUUID      5c461366-f33f-06a6-a0a3-3f1c75af66597dbd
   Firmware   2.61
   HardwareVersion 2.1
   I2C_Address 15
   I2C_RPII2C_SENDSTAT Ok
   I2C_Requests 6893
   IODev      I2C_RPII2C
   MODEL      Basic - Rev. 2
   NAME       SUSV
   NR         28
   PlausibilityCheckFailed 8
   STATE      100
   TYPE       I2C_SUSV
   VERSION    0.22
   Helper:
     DBLOG:
       BatteryLevel:
         DBLogging:
           TIME       1575388635.85313
           VALUE      100
       BatteryState:
         DBLogging:
           TIME       1575388635.85313
           VALUE      charged
       BatteryVoltage:
         DBLogging:
           TIME       1575388635.85313
           VALUE      4.200
   READINGS:
     2019-12-03 18:34:56   BatteryLevel    100
     2019-12-03 16:57:15   BatteryState    charged
     2019-12-03 18:34:56   BatteryVoltage  4.200
     2019-12-02 13:31:04   ChargingCircuit ONLINE
     2018-11-13 18:20:15   ChargingCurrent 1000 mA
     2019-12-03 16:56:40   Pinlevel        low
     2019-12-03 18:34:56   PowerBattery    0
     2018-11-11 10:06:28   PowerExtern     0
     2019-12-02 13:32:35   PowerSource     RPI
     2019-12-03 18:34:56   VoltageIn       5.18
Attributes:
   IODev      I2C_RPII2C
   devStateIcon ^([0-9].[0-9][0-9]|1[0-9].[0-9][0-9]):measure_battery_0@red ^(2[0-9].[0-9][0-9]|3[0-9].[0-9][0-9]|4[0-4].[0-9][0-9]):measure_battery_25@red ^(4[5-9].[0-9][0-9]|5[0-9].[0-9][0-9]|6[0-9].[0-9][0-9]):measure_battery_50@orange ^(7[0-9].[0-9][0-9]|8[0-9].[0-9][0-9]):measure_battery_75@yellow ^(9[0-9].[0-9][0-9]|100.00|100):measure_battery_100@green
   event-on-change-reading BatteryLevel,BatteryState,PowerSource,BatteryState,BatteryVoltage,ChargingCircuit,PowerBattery
   poll_interval 60
   room       System
   stateFormat BatteryLevel
   verbose    0

Thorsten Pferdekaemper

Hi,
könntest Du sowas in Code-Tags packen?
...und noch Deine Änderung mal hier reinstellen?
Gruß,
   Thorsten
FUIP

ronaldhadh

Hallo Thorsten,

hier meine Änderungen:

Zeile 21 ergänzt
my @readings = qw(battery batteryLevel batVoltage batteryPercent BatteryLevel);

Zeile 97 hinzugefügt
return "percentage" if($reading eq "BatteryLevel" and $device->{TYPE} =~ m/^(SUSV)$/);

Zeile 109 ergänzt
for my $r (qw(batteryLevel batVoltage batteryPercent battery BatteryLevel)) { 

Zeile 145 ergänzt
for my $reading (qw(batteryLevel batteryPercent battery batVoltage BatteryLevel)) {

Zeile 250 ergänzt
my @readings = qw(battery batteryLevel batVoltage batteryPercent Activity BatteryLevel);

Zeile 286 Doku ergänzt


Das ist sicher nicht der eleganteste Weg.
Es wäre besser, wenn man case insensitiv auswerten würde.
Danke für deine Mühe