neues Feature: neue Modi bei ring-Funktionen

Begonnen von Damian, 12 Juli 2021, 19:59:35

Vorheriges Thema - Nächstes Thema

Damian

Bisher war es nur möglich Ring-Anzeige im Uhrzeigersinn darzustellen.

Es wird nun möglich sein, zwei weitere Darstellungsarten beim Ring einzustellen.

Der Parameter model beim ring wurde erweitert:

Zitat$model     # '<Farbverlauf>,<Min/Max>,<Innenring>,<Zeigerstärke><Modus>', Farbverlauf: 1 für monochrom, Min/Max: Style-SVG-Attribute oder 1 zum Anzeigen der Min-/Maxwerte, Innenring: Style-SVG-Attribute oder 1 zum Anzeigen des Innenringes, Zeigerstärke: in Pixel, Modus: 0 Standard,1 Null-Min/Max, 2 Min-Null-Max, alle Parameter sind optional, default keine Angaben: ',,,,,'

Modus 0 ist wie bisher (hier von -30 bis 30), beim Modus 1 werden negative Werte nach links (gegen Uhrzeigersinn) dargestellt, beim Modus 2 wird der Wert beginnend bei Null im Uhrzeigersinn dargestellt.

Bei der  Temperaturangabe im unteren Beispiel ist in allen Fälle die Temperaturspanne -30 bis 30 Grad angegeben.

Beim Stromverbrauch wird der negative Bezug nach links darstellt (Modus=1)

defmod di_info DOIF {}
attr di_info fp_Grundriss 50,200,0
attr di_info room test2
attr di_info uiState {package ui_Table;;}\
"standard min-max"|ring([test:state],-30,30,undef,undef,'°C',"100",\&temp_hue,0)|ring(-[test:state],-30,30,undef,undef,'°C',"100",\&temp_hue,0)\
##Modus 1\
"min-null-max"|ring([test:state],-30,30,undef,undef,'°C',"100",\&temp_hue,0,"0,0,0,0,1")|ring(-[test:state],-30,30,undef,undef,'°C',"100",\&temp_hue,0,"0,0,0,0,1")\
##Modus 2\
"null-min/max"|ring([test:state],-30,30,undef,undef,'°C',"100",\&temp_hue,0,"0,0,0,0,2")|ring(-[test:state],-30,30,undef,undef,'°C',"100",\&temp_hue,0,"0,0,0,0,2")\
\
card([[test:Produktion:col2d],[test:Eigenverbrauch:col2d],[test:Bezug:col2d]],"kW","fa_bolt\@silver",-3.6,3.6,0,90,["Solar","Eigen.","Bezug"],[(-1,0,-0.01,30,1,60,3.6,90)],"2","130,,1,1,,1",",,1,0,1")
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

Man kann nun die Eigenschaften des rings: Zeiger, Innenring, negativ gegen Urzeigersinn, null-min/max auf ring2 anwenden:

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

#2
Neue Version wurde eingecheckt, Doku wurde aktualisiert, Beispiele zu neuen Ringmodi siehe Bsp. di_solar mit ring2: https://wiki.fhem.de/wiki/DOIF/uiTable_Schnelleinstieg#Farbskalierte_Anzeige_von_zwei_Zahlenwerten_mit_Hilfe_der_universellen_SVG-Funktion_ring2

Die neuen Features funktionieren durchgängig bei allen Ringfunktion.

Die neuen Modi sind unter mode beim Parameter model anzugeben.

Mode 0: Darstellung ist wie bisher, der Ring beginnt bei kleinster Zahl und endet mit bei der größten, Darstellung im Uhrzeigersinn.
Mode 1: negative Zahlen werden beginnend bei Null nach links (gegen Uhrzeigersinn) dargestellt, positive nach rechts (im Uhrzeigersinn).
Mode 2: negative und positive Zahlen werden nach rechts (im Uhrzeigersinn) dargestellt, der Ring beginnt bei Null.

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

#3
Besonders interessant sind die neuen Darstellungsmöglichkeiten beim Ring in Verbindung mit Card mit negativen und positiven Werten (das war auch der Auslöser für die Programmierung der neuen Modi beim Ring)

## Mode 1 beim Ring (negative Werte nach links, positive nach rechst)
card([[zaehler:l-Produktion:col2d],[zaehler:l-Eigenverbrauch:col2d],[zaehler:l-Bezug_neg:col2d]],"kW","fa_bolt\@silver",-3.6,3.6,0,90,["Solar","Eigen.","Bezug"],[(-1,0,-0.01,30,1,60,3.6,90)],"2","130,,1,1,,1","1,,1,0,1")|

##Mode 2 beim Ring (beginnend bei Null negative und positive Werte nach rechts)
card([[zaehler:Produktion:col1w],[zaehler:Bezug_neg:col1w]],"kWh","fa_bolt\@silver",-30,30,0,90,["Ertrag","Bezug"],undef,"1","130,,1,1,1","0,0,0,0,2")
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF