Hauptmenü

uiTable - neue Funktionen

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

Vorheriges Thema - Nächstes Thema

Damian

Zitat von: ComputerZOO am 21 April 2020, 10:48:59
FHEM/Color.pm:# $Id: Color.pm 20813 vor 4 MonatenZ justme1968 $

System ist Up2Date

Ich habe die Routine jetzt rausgeschmissen. Es sollte eigentlich nur eine Warnung sein. Bei mir wurden die Farben trotz der Warnung korrekt dargestellt. Ist jetzt unerheblich, neue DOIF-Version 0.2 im Anhang des ursprünglichen Posts.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

#46
uitable-Funktion: cylinder

Syntax:

cylinder ($header,$min,$max,$unit,$bwidth,$height,($value1,$color1,$text1),($value2,$color2,$text2),...

$header, $unit, $bwidth, $height können mit "" ausgelassen werden

$color ist ein hue-Wert 0-360 (siehe color picker)

Beispieldefinition:

attr Energie uiTable {\
package ui_Table;;\
}\
\
cylinder("Energie",-20,30,"kWh","","",-[zaehler:Bezug:d1],0,"Bezug",[zaehler:Produktion:d1],60,"Produktion",[$SELF:Eigenv:d1],240,"Eigenverbrauch")



DOIF-Version v0.3 im ersten Post des Threads.


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

Damian

Ich habe fertig. Ich habe die temp_bar-Funktion etwas flexibler gestaltet. Es gibt ebenso Funktionen bar, ring, die nicht nur auf Temperatur beschränkt sind. Die aktuelle Version v.04 befindet sich im ersten Post, sie wird demnächst eingecheckt.

Syntax:

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

Parameter $min,$max,$width,$height,$size sind optional

Beispieldefinition:

attr di_temp_bar uiTable {package ui_Table}\
\
temp_bar([Aussensensor:temperature],-20,40)|\
temp_bar([Aussensensor:temperature],-20,40,undef,80)|\
temp_bar([Aussensensor:temperature],-20,40,undef,300)|\
temp_bar([Aussensensor:temperature],-20,40,undef,undef,100)





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

sash.sc

Uuuiii.

Viel bunt. Sieht sehr gut aus.

Bin mal gespannt.....

Gesendet von meinem MI 9 mit Tapatalk

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

Damian

Zitat von: ComputerZOO am 10 April 2020, 09:54:03
Moin,
ich stehe gerade etwas auf dem Schlauch (vielleicht habe ich auch etwas überlesen...).
Ist es möglich die uiTable in Abhängigkeit z.B. eines Readings komplett auszublenden? Soll heissen, wenn z.B. ein Dummy ein- oder ausgeschaltet wird, dann blende die uiTable ein, oder aus.

Der Hintergrund:
Ich habe für jeden Raum ein "Übersichts"-DOIF (siehe Anhang). nun möchte ich die uiTable nur anzeigen lassen, wenn der Raum gerade auch "besucht/occupied" ist.

wünsche euch ein schönes Osterfest, bleibt gesund,

MAX.

In der Version 0.7 im ersten Post gibt es jetzt die neue Funktionalität uiTable raumabhängig auszublenden.

Syntax:

$SHOWNOUITABLE=<Regex für Räume>


Beispiel:

{
package ui_Table;
$SHOWNOUITABLE="test10";
}


Im Raum test10 wird sie nicht angezeigt.




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

moskito

Da gibt´s jetzt viel auszuprobieren...  :)

Aber ich hätte da mal eine Frage:
Gibt es eine Möglichkeit uiTable im Dashboard anzeigen zu lassen?
Die mit uiTable erzeugte Ausgabe wird dort nicht angezeigt.
FHEM auf Intel NUC/Proxmox & Debian 12 + HM-CFG-USB + zigbee2mqtt + Zwave + Enocean

Damian

Zitat von: moskito am 26 April 2020, 22:41:20
Da gibt´s jetzt viel auszuprobieren...  :)

Aber ich hätte da mal eine Frage:
Gibt es eine Möglichkeit uiTable im Dashboard anzeigen zu lassen?
Die mit uiTable erzeugte Ausgabe wird dort nicht angezeigt.

Dashboard hat vermutlich eine eigene WEB-Schnittstelle, DOIF benutzt eine WEB-Schnittstelle zu FHEM-WEB.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

ComputerZOO

#52
Moin,
ich teste mich gerade mal so durch die neuen Funktionen durch. Kann es sein, dass temp_bar noch einen weiteren Parameter ($BEZEICHNUNG?) hat?
temp_bar ($value,$min,$max,$BEZEICHNUNG,$width,$height)

temp_bar ([wz.cul868.heizung_Clima:desired-temp], 15, 22, "xyz", 80, 120)

Damian

Zitat von: ComputerZOO am 27 April 2020, 15:37:03
Moin,
ich teste mich gerade mal so durch die neuen Funktionen durch. Kann es sein, dass temp_bar noch einen weiteren Parameter ($BEZEICHNUNG?) hat?
temp_bar ($value,$min,$max,$BEZEICHNUNG,$width,$height)

temp_bar ([wz.cul868.heizung_Clima:desired-temp], 15, 22, "xyz", 80, 120)

ja, es haben sich noch ein paar Dinge geändert, die aktuellen Parameter sind:

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

mit $size kann man die gesamte Größe skalieren.

Ich bin inzwischen bei Version v0.8. Ich teste noch etwas und wenn mir nichts mehr auffällt, dann geht die DOIF Version morgen online. Die entsprechenden Wiki-Einträge kommen dann nach und nach.

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

sash.sc

Hallo Damian.

Habe mit der v0.8 mal ein bischen geprobt und was einfaches angelegt. Dabei ist Darstellungsfehler sichtbar geworden, warum auch immer.
Und ich wollte fragen, ob man den Abstand zwischen Widgets verkleinern kann ?


{package ui_Table}

temp_bar([ts01:temperature],15,35,"WZ",60,100)|
temp_bar([ts02:temperature],-10,40,"Garten",60,100)|
temp_bar([ts_ben:temperature],15,35,"KiZi",60,100)|
temp_bar([ts_gz:temperature],12,25,"GZ",60,100)


Ok. habe gerade gesehen, wenn ich das Widget um 10 breiter mache dann stimmt die Darstellung.
Was mich dann zu einer Frage bringt, ob man den angezeigten Wert (Schriftgröße) änder kann.

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

Damian

#55
Zitat von: sash.sc am 27 April 2020, 19:07:53
Hallo Damian.

Habe mit der v0.8 mal ein bischen geprobt und was einfaches angelegt. Dabei ist Darstellungsfehler sichtbar geworden, warum auch immer.
Und ich wollte fragen, ob man den Abstand zwischen Widgets verkleinern kann ?


{package ui_Table}

temp_bar([ts01:temperature],15,35,"WZ",60,100)|
temp_bar([ts02:temperature],-10,40,"Garten",60,100)|
temp_bar([ts_ben:temperature],15,35,"KiZi",60,100)|
temp_bar([ts_gz:temperature],12,25,"GZ",60,100)


Ok. habe gerade gesehen, wenn ich das Widget um 10 breiter mache dann stimmt die Darstellung.
Was mich dann zu einer Frage bringt, ob man den angezeigten Wert (Schriftgröße) änder kann.

Bei der Breite solltest du nicht unter 75 gehen, das ist auch der Defaultwert. Du kannst das ganze Widget kleiner machen, in dem du size kleiner 100 angibst.

Es ist eine Tabelle. Es gibt vermutlich noch etwas anderes in der Spalte über oder unter dem DOIF, so dass die DOIF Tabelle auseinander gezogen wird.

Du kannst am besten in einem separaten Raum testen, wo nur dein DOIF drin ist, dann siehst du die tatsächlichen Abstände zwischen den Widgets.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

sash.sc

Ok. Werde das mal in einen anderen Raum schieben, vorzugsweise einen leeren Raum.

Wie oder womit wird die Ringanzeige definiert bzw aktivert?

Gruß Sascha

Gesendet von meinem MI 9 mit Tapatalk

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

Damian

#57
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,$de
c)

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)

Konkrete Beispiele habe ich bereits hier im Thread gepostet.

Im Wiki wird es natürlich genauer beschrieben.

Im Anhang ist mein aktueller Statusbildschirm basierend auf Version v0.8.

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

Damian

neue DOIF-Version wurde eingecheckt
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

sash.sc

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
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb