Hi,
ich veruche hier schon eine ganze Weile eine uitable card zu bauen die genau einen Chart hat und 3 Halbringe
card([PM_Klimaanlage:power:col:$_ >= 0 ? $_ / 1000 : 0],"Energie",[PM_Klimaanlage:power]>0?"sani_solar\@colorVal1":"fa_bolt\@colorVal2",0,1,0,120,"Klima",undef,"2","130,,,,1,,210","0,0,0,0",undef,
[[DOIF_counter:PM_Klimaanlage.consumption.day],[DOIF_counter:PM_Klimaanlage.consumption.month],[DOIF_counter:PM_Klimaanlage.consumption.year]],0,0,0,120,["Day","Month","Year"],[(-10,0,-0.01,30,10,60,25,90)],"1,,fill:silver") |
Damit wirft er aber den Tages wert mit in das Chart rein und es sieht dadurch total verkorkst aus.
Ziel ist es 1) den aktuellen TagesVerbrauch als VErlaufschart anzuzeigen und oben in den Halbringen den kumulierten Tages,- Monats- und Jahreswert.
Siehe Screenshot "soll.png", so soll es aussehen (ist der Chart von meiner PV-Anlage), aber der 2te Wert "Netz" soll hier aus dem Chart raus.
soll.png
Nehme ich ihn dann raus und habe die Definition, wie oben gepostet, kommt das raus:
ist.png
Siehe hier: https://wiki.fhem.de/wiki/DOIF/uiTable_Schnelleinstieg#Darstellung_mehrere_Readingwerte_mit_und_ohne_Verlaufvisualisierung
Syntax für $collect/$collect2
[...,[[<Device>:<Reading>],$min,$max,$minColor,$maxColor,$desc, $colorRef,$decFontUnit,$ringModel],...]
Beispiel:
card([[$SELF:power_pv:144col1d],
[$SELF:power_fc:144col1d]],"","fa_bolt\@silver",-3.6,3.6,0,90,["PV","Netz"],
[(-1,0,-0.01,30,1,60,3.6,90)],"2,,fill:silver, kW","130,,1,0,1,,200","1,,1,0,negzeropos",undef,
[[[di_counter_new:MQTT2_DVES_C58DCB.total_pv.day],0,30,60,90,"PV",[(10,60,30,90)]],
[[di_counter_new:MQTT2_DVES_C58DCB.total_f.day],0,30,60,90,"Einsp.",[(10,60,30,90)]],
[[di_counter_new:MQTT2_DVES_C58DCB.total_c_positiv.day],0,10,30,0,"Bezug",[(3.3,30,10,0)]],
[[di_counter_new:MQTT2_DVES_C58DCB.total_consum.day],0,15,30,0,"Verbr.",
[(5,30,15,0)]]],
0,10,30,0,["","","",""],[(3,30,10,0)],"1,,fill:silver, kWh")
Hier werden zwei Werte als Verlauf dargestellt (die ersten beiden mit col-Angaben, für einen Wert muss man hier nur einen statt zwei angeben) die restlichen vier werden als Halbringe oben dargestellt, sie werden in einem eigenen Array mit eignen Formatierungen angegeben, beginnt hier im Code mit "[[[", hinter "]]]" kommen noch die restlichen Parameter von card, die für alle gelten, falls sie nicht bereits bei den einzelnen Angaben übersteuert wurden.
Danke damit und einem aktuellen update hat es dann funktioniert :)