neues Feature: gestapelte Säulen

Begonnen von Damian, 29 Juni 2022, 18:52:31

Vorheriges Thema - Nächstes Thema

Damian

Neben der uiTable-Funktion cylinder gibt es jetzt auch cylinder_s für gestapelte Säulen. Wie man es aus Excel kennt, werden die Säulen aufeinander gestapelt. Das funktioniert auch mit negativen Zahlen. Die Syntax von cylinder_s entspricht der von cylinder.

Bsp. der Darstellung:

defmod di_cylinder DOIF ##
attr di_cylinder room test
attr di_cylinder uiTable {package ui_Table}\
cylinder("Säulen",-20,40,"kWh",undef,undef,undef,1,20,"30.100.70","Einspeisung",\
4,"60.100.70","Eigenverbrauch",-4,"90.100.70","Bezug1",-6,"200.100.70","Bezug2")|\
cylinder_s("gestapelte Säulen",-20,40,"kWh",undef,undef,undef,1,20,"30.100.70","Einspeisung",\
4,"60.100.70","Eigenverbrauch",-4,"90.100.70","Bezug1",-6,"200.100.70","Bezug2")


cylindes_s ist ab morgen per Update verfügbar.

Doku angepasst: https://wiki.fhem.de/wiki/DOIF/uiTable_Schnelleinstieg#3d-Balkendarstellung_mehrerer_Zahlenwerten_mit_Hilfe_der_universellen_SVG-Funktion_cylinder.2Fcylinder_s
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

jkriegl

#1
Idee: Habe eine Regenprognose mit Säulen erstellt.
Wäre das auch anders möglich?
{package ui_Table;

sub Farbe {my ($wert)=@_;
return($wert == 0 ? 50 : ($wert == 8.1 ? 80 : ($wert >= 35 ? 210 : 150)));}

sub Zeit {my ($str,$diff)=@_;
my @time=split /:/,$str;
$time[1] += $diff;
if ($time[1] >= 60) {$time[0] += 1;$time[1] -= 60;}
if ($time[1] >= 60) {$time[0] += 1;$time[1] -= 60;}
if ($time[0] >= 24) {$time[0] -= 24;}
return(sprintf("%02.f",$time[0]).":".sprintf("%02.f",$time[1]));}
}

DEF TPL_bar ([wetter_prog:feld-$1:d],Farbe([wetter_prog:feld-$1:d]), Zeit([wetter_prog:Prog],($1-4)*5))

cylinder_bars("Regenprog ".[wetter_prog:stand],0,15,"",undef,undef,undef,1,
TPL_bar(04), TPL_bar(07), TPL_bar(10), TPL_bar(13),
TPL_bar(16), TPL_bar(19), TPL_bar(21),
)
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Damian

Zitat von: jkriegl am 25 November 2022, 17:56:03
Idee: Habe eine Regenprognose mit Säulen erstellt.
Wäre das auch anders möglich?

Verstehe die Frage nicht.

Wenn du cylinder_s meinst - ja.

Man kann die Säulen mit cylinder_s übereinander stapeln, ob das Sinn macht - sei dahingestellt.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

jkriegl

anders - Graph oder Diagramm
geht ja in die Zukunft
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Damian

Zitat von: jkriegl am 25 November 2022, 18:05:33
anders - Graph oder Diagramm
geht ja in die Zukunft

Wer weiß, vielleicht.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF