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

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9970
Antw:uiTable - neue Funktionen
« Antwort #105 am: 11 Juni 2020, 13:30:02 »
siehe https://forum.fhem.de/index.php/topic,12605.msg795076.html#msg795076

Nach dem Auspacken aus der Zip-Datein ins /opt/fhem/www/images/fhemSVG kopieren.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Offline Reinerlein

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2134
Antw:uiTable - neue Funktionen
« Antwort #106 am: 11 Juni 2020, 14:07:01 »
Hi Damian,

danke für den Hinweis.
Ich habe das jetzt in den Ordner fhemSVG kopiert:
root@fhem:/opt/fhem/www/images/fhemSVG# ll
.
.
-rw-r--r-- 1 998 dialout 1427 Sep 28  2017 fa__508.svg
.
.
root@fhem:/opt/fhem/www/images/fhemSVG#
Allerdings werden die Icons immer noch nicht angezeigt... fehlt noch ein Verweis oder so?

Grüße
Reinerlein

Offline ComputerZOO

  • Full Member
  • ***
  • Beiträge: 244
Antw:uiTable - neue Funktionen
« Antwort #107 am: 11 Juni 2020, 14:27:33 »
...Allerdings werden die Icons immer noch nicht angezeigt... fehlt noch ein Verweis oder so?

Einmal im betreffenden WEB-Device
set <WEB-DEVICE> rereadicons ausführen.

Offline Reinerlein

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2134
Antw:uiTable - neue Funktionen
« Antwort #108 am: 11 Juni 2020, 14:35:00 »
Hallo ComputerZOO,

danke für den Hinweis, das war es... jetzt klappt es...

Grüße
Reinerlein

Offline Geronimoo

  • New Member
  • *
  • Beiträge: 12
Antw:uiTable - neue Funktionen
« Antwort #109 am: 09 Januar 2021, 09:31:28 »
Hallo in die Runde,

ich habe ein Problem mit der Positionierung eines PopUps via PUP().
wie kann ich das PopUp zentriert auf dem Bildschirm darstellen? Bei mir wird es immer unten rechts in der ecke geöffnet.

schon mal danke für die Hilfe.

Offline Ellert

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3769
Antw:uiTable - neue Funktionen
« Antwort #110 am: 12 Januar 2021, 01:03:56 »
Die Positionierung festzulegen ist in PUP nicht vorgesehen.

Online Per

  • Hero Member
  • *****
  • Beiträge: 1733
Antw:uiTable - neue Funktionen
« Antwort #111 am: 04 Februar 2021, 09:57:33 »
Deine FUNC_-Funktion solltest du anders benennen (ohne FUNC am Anfang) ansonsten musst du :: davorstellen
Kann ich auch auf Funktionen in myUtils zugreifen? Oder geht das nur mit IMPORT und einer separaten Datei?

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9970
Antw:uiTable - neue Funktionen
« Antwort #112 am: 04 Februar 2021, 13:45:32 »
Kann ich auch auf Funktionen in myUtils zugreifen? Oder geht das nur mit IMPORT und einer separaten Datei?

Du kannst auf alle Funktionen in FHEM zugreifen.  :: voranstellen, wenn sie aus main kommen,  also auch für myUtils, wenn du sie nicht im Package ui_Table definiert hast.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Online Per

  • Hero Member
  • *****
  • Beiträge: 1733
Antw:uiTable - neue Funktionen
« Antwort #113 am: 05 Februar 2021, 00:01:56 »
Komisch, nachdem ich es mit einer "alten" Funktion versucht habe, wurden auch die neu angelegten fehlerfrei genommen. K.A., warum.

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9970
Antw:uiTable - neue Funktionen
« Antwort #114 am: 05 Februar 2021, 09:23:13 »
Komisch, nachdem ich es mit einer "alten" Funktion versucht habe, wurden auch die neu angelegten fehlerfrei genommen. K.A., warum.

Dazu brauche ich genaue Daten mit list.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Online Per

  • Hero Member
  • *****
  • Beiträge: 1733
Antw:uiTable - neue Funktionen
« Antwort #115 am: 05 Februar 2021, 10:39:57 »
Ich schiebe gleich mal noch eine Frage hinterher: kann man die UIs aktualisieren, ohne die Definition oder das Attribut uiTable selbst zu aktualisieren? Hintergrund: mittels einer FOR-Schleife lasse ich mir eine variable Anzahl von Geräten anzeigen. Leider wird die korrekte Anzahl nur angezeigt, wenn ich o.a. Aktionen durchführe. Dann allerdings automatisch in allen offenen Anzeigen wie gewünscht.
Selbst ein set xxx initialize reicht nicht.

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9970
Antw:uiTable - neue Funktionen
« Antwort #116 am: 05 Februar 2021, 11:23:46 »
Ich schiebe gleich mal noch eine Frage hinterher: kann man die UIs aktualisieren, ohne die Definition oder das Attribut uiTable selbst zu aktualisieren? Hintergrund: mittels einer FOR-Schleife lasse ich mir eine variable Anzahl von Geräten anzeigen. Leider wird die korrekte Anzahl nur angezeigt, wenn ich o.a. Aktionen durchführe. Dann allerdings automatisch in allen offenen Anzeigen wie gewünscht.
Selbst ein set xxx initialize reicht nicht.

Das UI funktioniert beim DOIF ereignisgesteuert. Das heißt, jedes Symbol muss einen Trigger beinhalten. Das geschieht, indem man bei den UI-DOIF-Funktionen ein Reading in der DOIF-Notation angibt [:]. In HTML wird ja dann nicht die ganze UI-Table neu gezeichnet, sondern nur das entsprechende Symbol. Alles andere, wäre eine "billige" Lösung die unnötig Resourcen verbrauchen würde - das wollen wir :)




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

Online Per

  • Hero Member
  • *****
  • Beiträge: 1733
Antw:uiTable - neue Funktionen
« Antwort #117 am: 05 Februar 2021, 14:11:27 »
Nachvollziehbar. Dann muss ich mir einen anderen Weg einfallen lassen.

Offline thorte

  • New Member
  • *
  • Beiträge: 38
Antw:uiTable - neue Funktionen
« Antwort #118 am: 18 Februar 2021, 20:38:30 »
Hi,

ich bin derzeit auch mit der FOR-Schleife zur dynamischen Anzeige von Geräte am testen und mir fehlt ebenfalls die Möglichkeit, in der Tabelle Geräte dynamisch anzuzeigen.

Anwendungsbeispiel: Alle Geräte listen, bei denen die Batterie leer ist.
Vorteil der FOR-Schleife: Wenn alle Batterien gut sind, wird keine Zeile eingeblendet (habe ich mit einer einzelnen Zeile entsprechend dem Beispiel noch nicht geschafft.

Funktioniert prinzipiell wunderbar, wenn als Array eine perl-Funktion DefSpec2Array oder AggrDoIF verwendet wird. Um ein Ereignis zu generieren, war jetzt meine Idee, ein DOIFReadings zu setzen, in dem die Geräte kommasepariert stehen, und dieses Reading via "split" wieder in einen Array zu konvertieren.

Fazit: Funktioniert, wenn ich das Reading via ReadingsVal hole - dann fehlt mir allerdings der Trigger. Versuche ich, den Inhalt via [$SELF:Reading] zu übergeben, kommt in der FOR-Schleife nichts an.

Beispiel (mit Battery; ok, damit ein paar Geräte in der Liste stehen):
defmod di.Test.uiTable DOIF ##
attr di.Test.uiTable DOIF_Readings battery:[@".*":battery:"ok"]
attr di.Test.uiTable event_Readings html:{ fhem "get $SELF html" }
attr di.Test.uiTable room Test
attr di.Test.uiTable uiTable FOR(split(",",ReadingsVal("$SELF","battery","")),"Batterie Test"|"$_")\
FOR(split(",",[$SELF:battery]),"Batterie Test"|"$_")

@Damian: Hast Du einen Tip für mich?

Gruß Thorsten


Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9970
Antw:uiTable - neue Funktionen
« Antwort #119 am: 18 Februar 2021, 20:44:27 »
Der FOR-Befehl impliziert eine Schleife, er ist für eine flexible Definition gedacht, die aber wiederum statisch ist. Eine Änderung der Tabelle ist nur mit der Änderung des Attributes möglich - also mit der Änderung der Konfiguration.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

 

decade-submarginal