Hallo,
ich habe für eine Füllstandsanzeige eine Balkenanzeige
realisiert.
Der Balken wird in fhem leider linksbündig angezeigt,
warum wird der Balken nicht Zentriert?
siehe jpg im Anhang
fhem.cfg
define RE_Level dummy
attr RE_Level devStateIcon {Balken("RE_Level",1000,8,50,"FFFFFF","4B9C8A")}
attr RE_Level fp_01_Wohnen 58,210,0,
attr RE_Level room Terasse
99_MyUtils.pm
# Balkenanzeige
sub Balken($$$$$$) {
my ($name, $max, $width, $height, $color1, $color2) = @_;
my $p=int(ReadingsVal("$name","state",0)/($max/$height));
return '<div align="bottom" style="width:'.$width.'px;height:'.($height-$p).'px;background-color:#'.$color1.'"></div><div align="bottom" style="width:'.$width.'px;height:'.$p.'px;background-color:#'.$color2.';"></div>'
}
Wer kann mir weiterhelfen,
Vielen Dank
Hi,
probiere es mal so:
# Balkenanzeige
sub Balken($$$$$$) {
my ($name, $max, $width, $height, $color1, $color2) = @_;
my $p=int(ReadingsVal("$name","state",0)/($max/$height));
return '<div align="bottom" style="width:'.$width.'px;height:'.($height-$p).'px;margin-left:30px;background-color:#'.$color1.'"></div><div align="bottom" style="width:'.$width.'px;height:'.$p.'px;margin-left:30px;background-color:#'.$color2.';"></div>'
}
Mit dem Wert von "margin-left:" schiebst du die Darstellung weiter nach rechts und bekommst so eine Zentrierung hin.
Es ist ja kein normales Icon sondern eine "Web- Grafik" und wird somit von FHEMWEB nicht so behandelt, wie Icons.
Edit: Ich sehe gerade dass ich das mal von dir abgekupfert hatte und du den Balken mit den Variablen noch optimiert hast. Dann baust du dir den margin am Besten auch per Var. ein.
Gruß
Frank
probier mal noch ein div mit align="centrer" drum.
gruss
andre
Hallo,
@fiedel
im Prinzip geht's, allerdings verschiebt sich dann auch die Darstellung im Floorplan,
weiterhin ist die Darstellung zwischen verschiedenen Bildschirmauflösungen verschieden.
@justme1968
das wars, so funktioniert alles.
vielen Dank für eure schnelle Hilfe.
# Balkenanzeige
sub Balken($$$$$$) {
my ($name, $max, $width, $height, $color1, $color2) = @_;
my $p=int(ReadingsVal("$name","state",0)/($max/$height));
return '<div align="center"><div align="bottom" style="width:'.$width.'px;height:'.($height-$p).'px;background-color:#'.$color1.'"></div><div align="bottom" style="width:'.$width.'px;height:'.$p.'px;background-color:#'.$color2.';"></div></div>'
}
Hallo,
Zitatdas wars, so funktioniert alles.
vielen Dank für eure schnelle Hilfe.
Bitte dem Beitragstitel noch ein (Gelöst) vorne dran und die Lösung auch posten.
Danke.
Grüße