Hauptmenü

Batteriestatus anzeigen

Begonnen von theo01, 15 August 2020, 12:42:54

Vorheriges Thema - Nächstes Thema

theo01

Hallo in die Runde,

ich habe eine Batterie (AGM Batterie) deren Ladezustand ich per % Werte und dem Batterieicons aus der Bibliothek anzeigen lassen möchte. Zu einem gewissen Spannungswert dann die Prozent und das Icon. Es soll ja über DevStateIcon gehen. Und dann halt irgendwie mit if / else. Ich weiß aber nicht wie ich das anstellen soll.
Ich habe euch mal ein Bild angehängt, wie ich die Batterie bis jetzt angelegt habe.

Könnte mir jemand da weiter helfen, evtl. mit einem Codeschnipsel oder einem Link ?
Ich habe auch in der Suche irgendwie nix richtiges gefunden.

Danke vorab !
Raspi Zero mit Bluetooth und Wlan Verbaut in einem Wohnmobil

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Müller

Hi,

bastel mal dies für dich um:

über stateFormat wird "batteryLevel" als Zahl angezeigt und über devStateIcon wird das ganze in ein Icon umgewandelt.

devStateIcon:
100:measure_battery_100@green 9[1-9]:measure_battery_100@green 8[1-9]:measure_battery_75@green 7[1-9]:measure_battery_75@green 6[1-9]:measure_battery_50@green 5[1-9]:measure_battery_50@green 4[1-9]:measure_battery_50@green 3[1-9]:measure_battery_25@green 2[1-9]:measure_battery_25@green 1[1-9]:measure_battery_25@red [1-9]:measure_battery_0@red

viele Grüße

Jochen
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

theo01

Hallo Jochen,
viele Dank das hat geklappt....

Wie bekomme ich denn jetzt noch dahinter dann auch den Prozentwert als Text ?

Danke vorab,
schöne grüße
Raspi Zero mit Bluetooth und Wlan Verbaut in einem Wohnmobil

Müller

Im stateFormat zweimal den Ladezustand "batteryLevel" anzeigen lassen. Damit die zweite Zahl nicht in Icon umgewandelt wird, probiere mal direkt dahinter ein"%" setzen (ohne Leerzeichen).
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Beta-User

Da in einem anderen Thread hierher verwiesen wird:

Diese Lösung ist nur teilweise ideal, denn
- "10"-er Werte werden nicht erfaßt;
- mMn. fehlt der Hinweis, dass man zusätzlich zu dem "%" ein "\n" in stateFormat braucht (Multiicon-Option).

Ich würde empfehlen, das anders zu lösen und (sofern das überhaupt gebraucht wird) in stateFormat nur den Text formatieren und dann mit Perl-devStateIcon arbeiten: über eine ReadingsNum-if-elsif-größer/gleich-Kaskade den Wert abfragen und einem Symbol zuweisen.
Auf die Schnelle habe ich nur was für myUtils gefunden, das zu einem größeren Ding gehört, hoffe aber, es wird damit etwas klarer:
my $batval  = ReadingsNum($name,"batteryLevel","");
my $symbol_string = "measure_battery_";
my $command_string = "getConfig";
if ($batval >=3) {$symbol_string .= "100"} elsif ($batval >2.6) {$symbol_string .= "75"} elsif ($batval >2.4) {$symbol_string .= "50"} elsif ($batval >2.1) {$symbol_string .= "25"} else {$symbol_string .= '0@red'};

if ($state =~ m{CMDs_p}x) {
  $symbol_string = "edit_settings";
  $command_string = "clear msgEvents";
} elsif ($state =~ m{RESPONSE|NACK}x) {
  $command_string = "clear msgEvents";
  $symbol_string = 'edit_settings@red' ;
}
$ret .= "<a href=\"/fhem?cmd.dummy=set $name $command_string&XHR=1\">" . FW_makeImage($symbol_string,"measure_battery_50") . "</a>";
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors