Hi,
ich würde gerne einen Wert, den ich als Label ausgebe mit einem Faktor "0.001" (kW anstatt W) ausgeben.
Leider scheint FTUI von data-factor absolut unbeeindruckt.
Was kann das sein?
So sieht das im Detail aus:
<div class="col-1-5">
<div data-type="label"
data-device="du_Solar"
data-get="ZZZ_Hausverbrauch_today"
data-factor="0.001"
class="cell tall">
</div>
<div data-type="label" class="top-narrow">Hausverbrauch heute kWh
</div>
</div>
Gruss
killah78
Was enthält genau [du_Solar:ZZZ_Hausverbrauch_today] ?
Wenn nicht numerisch (z.B. weil Einheit im Reading), geht es nicht.
Hallo amenomade,
im Reading steht "5926.53". Also Wert mit Punkt. Ist der Punkt vielleicht das Problem?
Habe gerade den Test gemacht: dummy definiert:
Internals:
CFGFN
FUUID 5ef0d8b0-f33f-fe91-6b72-67732e79a121feb7
NAME du_Solar
NR 172
STATE ???
TYPE dummy
.attraggr:
.attrminint:
READINGS:
2020-06-22 18:14:06 ZZZ_Hausverbrauch_today 5926.53
Attributes:
Und folgendes in FTUI hinzugefügt:
<div data-type="label"
data-device="du_Solar"
data-get="ZZZ_Hausverbrauch_today"
data-factor="0.001"
class="cell tall">
</div>
Und es geht. Siehe Bild.
Kannst Du ein "list du_Solar" bitte liefern?
Hallo amenomade,
sorry für die Verzögerungen, bin derzeit nur wenig am Rechner.
Hier ein List vom du_Solar. Es handelt sich um ein Dummy Device, welches von anderen Devices per userReadings die Werte sammelt.
Ich habe mal andere Werte rausgeschmissen, damit es übersichtlicher ist.
Danke für deine Hilfe.
Internals:
FUUID 5edfcb80-f33f-86d0-6c37-ba7d5aee1a94848d
NAME du_Solar
NR 819
STATE load
TYPE dummy
READINGS:
2020-06-28 17:30:00 ZZZ_Hausverbrauch_today 10429.49
2020-06-28 17:30:00 state load
Attributes:
room Photovoltaik
userReadings ZZZ_Hausverbrauch_today { my $v1 = ReadingsVal($NAME,"statZZZ_Yield_Total",0) =~ m/Day:\s([\d\.]+)/ ? $1 : "0"; my $v2 = ReadingsVal($NAME,"statKSEM_Active_Energy_total_N_Wh",0) =~ m/Day:\s([\d\.]+)/ ? $1 : "0"; my $v3 = ReadingsVal($NAME,"statKSEM_Active_Energy_total_P_Wh",0) =~ m/Day:\s([\d\.]+)/ ? $1 : "0"; my $v9 = $v1 - $v2 + $v3; $v9}
Na dann sollte es gehen. Wie alt ist dein widget_label.js ?
Gute Frage, wo sehe ich das? Ich habe aber mal reingeschaut und sehe nicht mit "factor".
Wie kann ich das updaten?
https://wiki.fhem.de/wiki/FHEM_Tablet_UI#Update
val = me.substitution(val, elem.data('substitution'));
val = me.map(elem.data('map-get'), val, val);
//val = me.round(val, elem.data('round'));
//val = formatValue(elem, val);
val = me.factor(val, elem.data('factor')); /* hier ist es (u.a.)*/
val = me.fix(val, elem.data('fix'));
val = elem.data('pre-text') + val + elem.data('post-text');
Ja das war es. Nach dem Update funktioniert es prima.
Danke für die Hilfe.
Hallo Zusammen,
ich würde gerne meinen Wert von Label-Widget negieren, ich dachte es müsste einfach mit data-factor="-1" funktionieren. Leider geht das aber nicht.
Weiß zufällig jemand eine Lösung?
Danke,
Simon
Hallo Zusammen,
ich habs gefunden.... die Javascript funktion hinter dem "data-Factor" ist auf ">=0" begrenzt. Warum das so ist, weiß ich nicht, ich habe es nun auf ">=-1 geändert und schon wird negiert.
Wer das bei sich ändern will, muss in der Datei /opt/fhem/www/tablet/js/fhem-tablet-ui.js nach der Zeile "return ($.isNumeric(value) && fac >= 0) ? Number(value) * fac : value;" suchen und sie auf "return ($.isNumeric(value) && fac >= -1) ? Number(value) * fac : value;" ändern.
Viele Grüße,
Simon