Hauptmenü

uiTable - neue Funktionen

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

Vorheriges Thema - Nächstes Thema

Damian

Ich habe eine neue DOIF-Version eingecheckt. Da inzwischen einige Erweiterungen hinzugekommen sind, andere Ideen aber verworfen wurden, fange ich hier mit einem neuen Thread zum Thema uiTable an. Das Attribut ist um einige neue Perl-Funktionen erweitert worden.

Gleichzeitig baue ich eine neue wiki-Seite https://wiki.fhem.de/wiki/DOIF/uiTable_Schnelleinstieg dazu auf, die in erster Linie den Einstieg erleichtern soll. Bis Weihnachten sollen alle neuen Features, die sich bereits im neuen Modul befinden, dort mit bebilderten Beispielen dargestellt werden. Es wird also einige Türchen bis Weihnachten zu den neuen uiTable-Funktionen geben. :)


Hier findet man den alten Thread zu uiTable: https://forum.fhem.de/index.php/topic,77690.msg998416.html#msg998416

Eine wiki-Seite von Ellert zu den bisherigen Features des Attributes, u. a. mit komplexeren Beispielen, gibt es bereits hier: https://wiki.fhem.de/wiki/DOIF/uiTable
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

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

Maui

Schick. Bei temp fehlt mir allerdings eine Skalierung, also zb min und max. Für eine Zimmer-Temp ist -20 - 40 einfach zu grob gefasst  ;)

Damian

Zitat von: Maui am 09 Dezember 2019, 15:29:24
Schick. Bei temp fehlt mir allerdings eine Skalierung, also zb min und max. Für eine Zimmer-Temp ist -20 - 40 einfach zu grob gefasst  ;)

Das kannst du alles anpassen, aber dieses Türchen ist noch nicht offen ;)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

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

cwagner

Zur Funktion shutter habe ich eine Frage oder Anregung: Die Logik meiner Homematic-Rolladensteuerung geht genau anders herum, wie implementiert. Pict=0% bedeutet hier, Rollladen ist oben, also zu 0% geschlossen. Entsprechend zeigen die Symbole der Funktion shutter bei mir jetzt genau das Gegenteil des wirklichen Zustandes.

Wäre ein attribut denkbar in Sinne von "reverse logik"?

Die von Dir bisher vorgestellten Vereinfachungen von uiTable finde ich wirklich gut und Du machst damit der großen DOIF-Fan-Gemeinde sicher ein großes Weihnachtsgeschenk.

Christian
PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

Damian

#6
ja, das hängt vom Aktor ab. Die shutter-funktion ist ja als Kopie in contrib/DOIF/uiTable.tpl drin:

sub shutter {
   my ($value,$color,$type)=@_;
   $color="\@darkorange" if (!defined ($color) or $color eq "");
   if (!defined ($type) or $type == 3) {
     return ($value,"","iconRadio,$color,100,fts_shutter_10,30,fts_shutter_70,0,fts_shutter_100","set");
   } elsif ($type == 4) {
       return ($value,"","iconRadio,$color,100,fts_shutter_10,50,fts_shutter_50,30,fts_shutter_70,0,fts_shutter_100","set");
     } elsif ($type == 5) {
         return ($value,"","iconRadio,$color,100,fts_shutter_10,70,fts_shutter_30,50,fts_shutter_50,30,fts_shutter_70,0,fts_shutter_100","set");
       } elsif ($type >= 6) {
           return ($value,"","iconRadio,$color,100,fts_shutter_10,70,fts_shutter_30,50,fts_shutter_50,30,fts_shutter_70,20,fts_shutter_80,0,fts_shutter_100","set");
         } elsif ($type == 2) {
             return ($value,"","iconRadio,$color,100,fts_shutter_10,0,fts_shutter_100","set");
         }
}


Der dritter Rückgabewert entspricht dem FHEM-Widget: iconRadio

Die Anpassung kann man als eine kleine Fingerübung zum Verständnis der Sache ansehen.

Erweiterungen, die von allgemeiner Bedeutung sind, kann ich gerne ins DOIF übernehmen - da werden sich bestimmt noch einige interessante Funktionen ergeben.

PS: Ich habe bei mir auch HM laufen (https://de.elv.com/homematic-funk-rollladenaktor-fuer-markenschalter-1fach-unterputzmontage-hm-lc-bl1pbu-fm-fuer-smart-home-hausautomation-103038?fs=2896061061&c=421) und die funktionieren mit shutter korrekt. Vielleicht hast du deine andersrum drin.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

cwagner

PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

Damian

Zitat von: cwagner am 21 Dezember 2019, 20:36:01
Aufgabe angenommen und gelöst :-)

schön :), dann kannst du für die Nachwelt noch die Lösung posten.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

cwagner

Mein Vorschlag für Rollläden, bei denen das Reading pct 0 hat, wenn der Rollladen oben ist (0% geschlossen) wäre:

sub shutter {
   my ($value,$color,$type)=@_;
   $color="\@darkorange" if (!defined ($color) or $color eq "");
   if (!defined ($type) or $type == 3) {
     return ($value,"","iconRadio,$color,0,fts_shutter_10,30,fts_shutter_70,100,fts_shutter_100","set");
   } elsif ($type == 4) {
       return ($value,"","iconRadio,$color,0,fts_shutter_10,30,fts_shutter_30,70,fts_shutter_70,100,fts_shutter_100","set");
     } elsif ($type == 5) {
         return ($value,"","iconRadio,$color,0,fts_shutter_10,30,fts_shutter_30,50,fts_shutter_50,70,fts_shutter_70,100,fts_shutter_100","set");
       } elsif ($type >= 6) {
           return ($value,"","iconRadio,$color,0,fts_shutter_10,30,fts_shutter_30,50,fts_shutter_50,70,fts_shutter_70,80,fts_shutter_80,100,fts_shutter_100","set");
         } elsif ($type == 2) {
             return ($value,"","iconRadio,$color,0,fts_shutter_10,100,fts_shutter_100","set");
         }
}


Christian
PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

ComputerZOO

Zitat von: Damian am 21 Dezember 2019, 11:46:12
neues Türchen (Fenster :) ) geöffnet: https://wiki.fhem.de/wiki/DOIF/uiTable_Schnelleinstieg#Visualisierung:_offene_Fenster

Moin,
Das "Türchen" funktioniert super. Aber wie kann ich anstelle des Device-Namen den Alias des Device-Namen ( AttrVal("[$SELF:windows]"), "alias", "") ) anzeigen lassen?

Damian

Zitat von: ComputerZOO am 22 Dezember 2019, 11:18:21
Moin,
Das "Türchen" funktioniert super. Aber wie kann ich anstelle des Device-Namen den Alias des Device-Namen ( AttrVal("[$SELF:windows]"), "alias", "") ) anzeigen lassen?
Das ist relativ simpel, hier: https://fhem.de/commandref_DE.html#DOIF_aggregation unter <format> gibt es das kleine "a" als Option für Aliasnamen:

also:

Zitatattr di_uiTable_windows DOIF_Readings windows:[@as(<br>)"Fenster$":state:"open","keine"]
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

Ziel erreicht :)

Mit dem letzten Türchen: https://wiki.fhem.de/wiki/DOIF/uiTable_Schnelleinstieg#Visualisierung:_aktuelle_Wetterlage wurde die Wiki-Seite zu uiTable weitgehend fertiggestellt. 

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

kumue

Danke und Frohe Weihnacht!
..hat Spass gemacht...

Damian

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