Hauptmenü

uiTable - neue Funktionen

Begonnen von Damian, 06 Dezember 2019, 22:24:21

Vorheriges Thema - Nächstes Thema

Damian

Zitat von: sash.sc am 28 April 2020, 20:52:31
Hallo Damian.

Es gibt ja den temp_hum_ring.
Ist es möglich diesen auch als temp-hum-bar darzustellen ? Also 2 Balken (temp und humidity) nebeneinander ?

Gruß und Danke
Sascha

z. Zt. gibt es nur temp_bar, temp_hum_bar ist nicht programmiert. Man kann mit der Funktion bar alles Mögliche darstellen, z. B. humidity, allerdings mit nur einem Balken. Was die Zukunft noch bringt werden sehen. Wenn jemand sich etwas mit html auskennt, so kann er schnell die bestehenden svg-Funktionen auslagern und für seine Zwecke anpassen oder erweitern.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

#61
so sieht z. B. Feuchte über die Funktion bar aus:

defmod di_new_func DOIF ##
attr di_new_func uiTable {package ui_Table}\
"hum_bar"| bar([Aussensensor:humidity],0,100,"Aussen",undef,undef,"%",60,undef,undef,\&hum_hue,0)


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

Damian

oder Feuchte über die Funktion cylinder:

defmod di_new_func DOIF ##
attr di_new_func uiTable {package ui_Table}\
"hum_cylinder"|cylinder("Außen",0,100,"%",100,50,undef,0,[Aussensensor:humidity],200,"Feuchte")
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

oder wie wäre es mit einem cylinder, dessen Farbe sich an die Feuchte anpasst:

defmod di_new_func DOIF ##
attr di_new_func uiTable {package ui_Table}\
"hum_cylinder"|cylinder("Außen",0,100,"%",100,50,undef,0,[Aussensensor:humidity],hum_hue([Aussensensor:humidity]),"Feuchte")


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

Damian

oder wie wäre es mit Skalierung immer in bester Schärfe:

defmod di_new_func DOIF ##
attr di_new_func uiTable {package ui_Table}\
"hum_cylinder"|cylinder("Außen",0,100,"%",100,50,undef,0,[Aussensensor:humidity],hum_hue([Aussensensor:humidity]),"Feuchte")\
"hum_cylinder"|cylinder("Außen",0,100,"%",100,50,50,0,[Aussensensor:humidity],hum_hue([Aussensensor:humidity]),"Feuchte")\
"hum_cylinder"|cylinder("Außen",0,100,"%",100,50,200,0,[Aussensensor:humidity],hum_hue([Aussensensor:humidity]),"Feuchte")
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

sash.sc

#65
Hallo Damian.

Danke für deine Beispiele.

Habe gerade versucht, den ring2 zu defnieren.


"Garten",temp_hum_ring([ts02:temperature],[ts02:humidity],-10,35,175)|
"Garten", ring2 ([ts02:temperature],-10,30,blue,red,"°C",150,linear,1)|



Bekomme aber nur Garten angezeigt, jedoch keinen Ring2. Die 1. Definition funktioniert ohne Probleme.

Stimmt das mit der min max Farbe oder müssen dort Werte rein? und wie muss die $func definiert sein ?
Und wie bekomme ich die Bezeichnung/Label mittig über die Grafik?

Ich habe auch versucht, den Staus eines CUL´s (Initialized/disconnected) darzustellen. Habe mich an dein beispiel aus der WIKI gehalten.


## Icon für Zustand 'closed' ist "status_locked", für Zustand 'open' 'status_open\@DarkOrange'\
"Haus"|icon([Schloss:state],"status_locked","status_open\@DarkOrange","closed","open")


Wenn ich analg dazu das uitable definiere wird jedoch nix angezeigt !


"CUL1" |icon ([CUL868:state],"cul_cul\@red","cul_cul\@lime","Initialized","disconnected")


Gruß und Danke
Sascha

P.S.

Mit der Zentrierung des Labels habe ich selber gefunden.


defmod di_uiTable_temp DOIF ##
attr di_uiTable_temp uiTable {\
  package ui_Table;;           ## Package für uiTable-Funktionen\
  $TC{0..2}="align='center'";; ## zentrierte Darstellung aller Tabellenspalten\
}\
## Tabellendefinition\
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Damian

"Garten", ring2 ([ts02:temperature],-10,30,blue,red,"°C",150,linear,1)|

Texte müssen in Anführungszeichen, Farben nur als Werte zwischen 0  und 360 (siehe color picker in der Googlesuche)

Was soll ring2 als Zweites darstellen?
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

sash.sc

#67
Du hattest hier



Funktionen mit ihren Parametern:

temp_bar ($value,$min,$max,$header,$width,$height,$size)

temp_ring ($value,$min,$max,$size)

hum_ring  ($value,$size)

temp_hum_ring ($value,$value2,$min,$max,$size)

Die oberen Funktionen basieren auf allgemeinen Funktionen:

bar ($value,$min,$max,$header,$minColor,$maxColor,$unit,$bwidth,$bheight,$size,$func,$dec)

ring ($value,$min,$max,$minColor,$maxColor,$unit,$size,$func,$dec)

ring2 ($value,$min,$max,$minColor,$maxColor,$unit,$size,$func,$dec,$value2,$min2,$max2,$minColor2,$maxColor2,$unit2,$func2,$dec2)

und

cylinder ($header,$min,$max,$unit,$bwidth,$height,$size,$dec,@values)

Die meisten Parameter sind optional, oft reicht die Angabe des Wertes (value)



Das mit Ring2 erwähnt, oder ist da nur eine interne FUnktion ??


Danke !
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Damian

ring2 kann man nutzen, aber wie du sieht, sind da jede Menge Parameter, die sich auf zwei verschiedene Werte beziehen, die man darstellen will. ring2 wird z. B. von temp_hum_ring genutzt.

Was möchtest du mit ring2 konkret darstellen?
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

sash.sc

Ich wollte einfach mal alle Darstellungen ausprobieren.

Gesendet von meinem MI 9 mit Tapatalk

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Damian

Zitat von: sash.sc am 02 Mai 2020, 16:14:20
Ich wollte einfach mal alle Darstellungen ausprobieren.

Gesendet von meinem MI 9 mit Tapatalk

Sie entspricht temp_hum_ring mit zweit Ringen, wie in meinem jetzigen Profilbild für beliebige zwei Werte.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

jkriegl

#71
Ich möchte gerne mit ring2 Collektor-Temp und Rücklauf  darstellen
ring2([HK.SOL:S.CollTemp],0,130,,,"°C",,,,[HK.SOL:S.FlowBack])
den 2. Wert bekomme ich nicht hin. Müssen ev. Parameter undef sein.
Später Heizung Vorlauf - Rücklauf.
3 Puffertemperaturen unten, mitte, oben funktionieren mit cylinder.
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

jkriegl

Wetterbeispiel: aktuell uni-muenchen
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Damian

#73
Ich merke schon, ihr braucht dringend vernünftige Doku :)

Hier mal zwei Temperaturen mit ring2:

ring2([ESPEasy_ESP_Temp_Vorlauf:Temperature],15,60,undef,undef,"°C",undef,\&temp_hue,1,[ESPEasy_ESP_Temp_Keller_Ruecklauf:Temperature],15,60,undef,undef,"°C",\&temp_hue,1)


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

jkriegl

Danke klappt - Doku wäre nicht schlecht, weil wir sonst nur rumprobieren.
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly