Autor Thema: uiTable - neue Funktionen  (Gelesen 18532 mal)

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9754
uiTable - neue Funktionen
« am: 06 Dezember 2019, 22:24:21 »
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
« Letzte Änderung: 28 April 2020, 19:54:26 von Damian »
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF
Gefällt mir Gefällt mir x 5 Informativ Informativ x 1 Liste anzeigen

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9754
Antw:uiTable
« Antwort #1 am: 08 Dezember 2019, 16:06:57 »
« Letzte Änderung: 08 Dezember 2019, 18:15:57 von Damian »
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Maui

  • Sr. Member
  • ****
  • Beiträge: 731
Antw:uiTable - Adventskalender
« Antwort #2 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  ;)

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9754
Antw:uiTable - Adventskalender
« Antwort #3 am: 09 Dezember 2019, 18:07:38 »
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

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9754
Antw:uiTable - Adventskalender
« Antwort #4 am: 21 Dezember 2019, 11:46:12 »
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline cwagner

  • Sr. Member
  • ****
  • Beiträge: 691
Antw:uiTable - Adventskalender
« Antwort #5 am: 21 Dezember 2019, 12:44:29 »
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
Raspi 2B+3B: Raspbian 10,Perl v5.28.1, FHEM 6.1. 270 Entities in DbLog  für Heizung mit FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HM (CUL), 1-Wire (FT232RL & DS2480B), EnOcean (TCM EPS3), MQTT2. Im Einsatz u.a. DOIF, PID20, Threshold, OWX NewGen; Micropelt IRTV, Volkszähler

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9754
Antw:uiTable - Adventskalender
« Antwort #6 am: 21 Dezember 2019, 13:01:41 »
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.
« Letzte Änderung: 21 Dezember 2019, 13:22:16 von Damian »
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Offline cwagner

  • Sr. Member
  • ****
  • Beiträge: 691
Antw:uiTable - Adventskalender
« Antwort #7 am: 21 Dezember 2019, 20:36:01 »
Aufgabe angenommen und gelöst :-)
Raspi 2B+3B: Raspbian 10,Perl v5.28.1, FHEM 6.1. 270 Entities in DbLog  für Heizung mit FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HM (CUL), 1-Wire (FT232RL & DS2480B), EnOcean (TCM EPS3), MQTT2. Im Einsatz u.a. DOIF, PID20, Threshold, OWX NewGen; Micropelt IRTV, Volkszähler

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9754
Antw:uiTable - Adventskalender
« Antwort #8 am: 21 Dezember 2019, 21:47:19 »
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

Offline cwagner

  • Sr. Member
  • ****
  • Beiträge: 691
Antw:uiTable - Adventskalender
« Antwort #9 am: 22 Dezember 2019, 09:23:23 »
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
Raspi 2B+3B: Raspbian 10,Perl v5.28.1, FHEM 6.1. 270 Entities in DbLog  für Heizung mit FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HM (CUL), 1-Wire (FT232RL & DS2480B), EnOcean (TCM EPS3), MQTT2. Im Einsatz u.a. DOIF, PID20, Threshold, OWX NewGen; Micropelt IRTV, Volkszähler

Offline ComputerZOO

  • Full Member
  • ***
  • Beiträge: 243
Antw:uiTable - Adventskalender
« Antwort #10 am: 22 Dezember 2019, 11:18:21 »
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?

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9754
Antw:uiTable - Adventskalender
« Antwort #11 am: 22 Dezember 2019, 11:29:11 »
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:

Zitat
attr 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
Informativ Informativ x 2 Liste anzeigen

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9754
Antw:uiTable - Adventskalender
« Antwort #12 am: 24 Dezember 2019, 13:58:59 »
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
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline kumue

  • Hero Member
  • *****
  • Beiträge: 1041
Antw:uiTable - Adventskalender
« Antwort #13 am: 24 Dezember 2019, 21:46:01 »
Danke und Frohe Weihnacht!
..hat Spass gemacht...

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9754
Antw:uiTable - neue Funktionen
« Antwort #14 am: 26 Dezember 2019, 13:08:22 »
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF
Informativ Informativ x 1 Liste anzeigen