NEWS
vis-2-widgets-collection
-
Die neue Version v2.4.0 enthält jetzt auch ein JsonTableWidget.

Dieses erlaubt (fast) beliebige JSON-Arrays in einer Tabelle darzustellen. Das übergebene JSON wird analysiert und dann werden automatisch sinnvolle Spalten generiert.
Das Widget hat sehr viele Einstellmöglichkeiten und daher auch eine gewisse Komplexität. Ich habe versucht das ganze so userfriendly wie möglich zu entwickeln.
Vom Prinzip habt ihr immer die Möglichkeit (wie bei allen anderen Widgets auch) die Basiseinstellungen in der zugehörigen vis-2 Editorgruppe einzustellen. Darüberhinaus gibt es auch einen Spalteneditor der für jede Spalte sehr viele individuelle Einstellungen / Formatierungseinstellungen zulässt.
Es wäre schön wenn der ein oder andere intensiv testen und dann hier berichten könnte.
@carsten04 sagte in vis-2-widgets-collection:
Es wäre schön wenn der ein oder andere intensiv testen und dann hier berichten könnte.
Ein sehr mächtiges Tabellen Widget! Super arbeit, meinen Respekt.
Läuft bis jetzt einwandfrei. -
@carsten04 sagte in vis-2-widgets-collection:
Es wäre schön wenn der ein oder andere intensiv testen und dann hier berichten könnte.
Ein sehr mächtiges Tabellen Widget! Super arbeit, meinen Respekt.
Läuft bis jetzt einwandfrei. -
@MCU Der type in common von Deinem Objekt device-watcher.0.devices.batteryList muss JSON oder String sein.
@carsten04 Tja, ich dachte das wäre so, aber:

Eigentlich ist doch type:string, role: json Standard bei den Adaptern?
Ich mach da mal ein Issue auf.
Oder könntest du evtl. eine Abfrage einbauen, mit der man das Problem löst?https://github.com/iobroker-community-adapters/ioBroker.device-watcher/issues/624
-
@carsten04 Tja, ich dachte das wäre so, aber:

Eigentlich ist doch type:string, role: json Standard bei den Adaptern?
Ich mach da mal ein Issue auf.
Oder könntest du evtl. eine Abfrage einbauen, mit der man das Problem löst?https://github.com/iobroker-community-adapters/ioBroker.device-watcher/issues/624
-
@MCU .. es gibt da Unterschiede zwischen Listen und Tabellen. Das kenne ich von unseren Widgest. Wir hatten dafür zwei verschiedene Widgest erstellt.
Nicht jedes json eignet sich für ein Tabellen-Widget.
-
@MCU .. eigentlich lässt sich bei uns jede Spalte nach Wunsch sortieren. Ich schaue mir das nachher mal bei mir an.
-
@MCU Der type in common von Deinem Objekt device-watcher.0.devices.batteryList muss JSON oder String sein.
@carsten04 sagte in vis-2-widgets-collection:
@MCU Der type in common von Deinem Objekt device-watcher.0.devices.batteryList muss JSON oder String sein.
Der Typ common.typoe=json ist lt. Typedefinition nicht zulässig. Hier ist die Dokumentation und die Implementierung widersprüchlich. Das Problem wird mit Issue https://github.com/ioBroker/ioBroker.js-controller/issues/3239 in Evidenz gehalten und geklärt
-
@carsten04 sagte in vis-2-widgets-collection:
@MCU Der type in common von Deinem Objekt device-watcher.0.devices.batteryList muss JSON oder String sein.
Der Typ common.typoe=json ist lt. Typedefinition nicht zulässig. Hier ist die Dokumentation und die Implementierung widersprüchlich. Das Problem wird mit Issue https://github.com/ioBroker/ioBroker.js-controller/issues/3239 in Evidenz gehalten und geklärt
@mcm1957 sagte in vis-2-widgets-collection:
@carsten04 sagte in vis-2-widgets-collection:
@MCU Der type in common von Deinem Objekt device-watcher.0.devices.batteryList muss JSON oder String sein.
Der Typ common.typoe=json ist lt. Typedefinition nicht zulässig. Hier ist die Dokumentation und die Implementierung widersprüchlich. Das Problem wird mit Issue https://github.com/ioBroker/ioBroker.js-controller/issues/3239 in Evidenz gehalten und geklärt
Da hast du recht. Das war eine bewusste Entscheidung jetzt für den type noch json und string zuzulassen. Wenn wir uns für ioBroker geeinigt haben, ändere ich das dann ab. Das ist trivial. Aber: leider kümmern sich viele Adapter überhaupt nicht um den richtigen Typ, so dass in common.type oftmals Grütze steht. Das ist wohl historisch bedingt und wird sich dann hoffentlcih im Laufe der Zeit bessern.
-
@mcm1957 sagte in vis-2-widgets-collection:
@carsten04 sagte in vis-2-widgets-collection:
@MCU Der type in common von Deinem Objekt device-watcher.0.devices.batteryList muss JSON oder String sein.
Der Typ common.typoe=json ist lt. Typedefinition nicht zulässig. Hier ist die Dokumentation und die Implementierung widersprüchlich. Das Problem wird mit Issue https://github.com/ioBroker/ioBroker.js-controller/issues/3239 in Evidenz gehalten und geklärt
Da hast du recht. Das war eine bewusste Entscheidung jetzt für den type noch json und string zuzulassen. Wenn wir uns für ioBroker geeinigt haben, ändere ich das dann ab. Das ist trivial. Aber: leider kümmern sich viele Adapter überhaupt nicht um den richtigen Typ, so dass in common.type oftmals Grütze steht. Das ist wohl historisch bedingt und wird sich dann hoffentlcih im Laufe der Zeit bessern.
@carsten04 sagte in vis-2-widgets-collection:
@mcm1957 sagte in vis-2-widgets-collection:
@carsten04 sagte in vis-2-widgets-collection:
@MCU Der type in common von Deinem Objekt device-watcher.0.devices.batteryList muss JSON oder String sein.
Der Typ common.typoe=json ist lt. Typedefinition nicht zulässig. Hier ist die Dokumentation und die Implementierung widersprüchlich. Das Problem wird mit Issue https://github.com/ioBroker/ioBroker.js-controller/issues/3239 in Evidenz gehalten und geklärt
Da hast du recht. Das war eine bewusste Entscheidung jetzt für den type noch json und string zuzulassen. Wenn wir uns für ioBroker geeinigt haben, ändere ich das dann ab. Das ist trivial. Aber: leider kümmern sich viele Adapter überhaupt nicht um den richtigen Typ, so dass in common.type oftmals Grütze steht. Das ist wohl historisch bedingt und wird sich dann hoffentlcih im Laufe der Zeit bessern.
Ich kenne keinen Adapter wo der Typ ungültig (!) ist. Wenn dir einer unterkommt dann eröffne bitte ein Issue dortund mention mich ggf.
Und ja type === array IST ein gültiger type.
-
Ich versuche mich gerade am Tabelle-Widget - leider nur mit mäßigem Erfolg ... folgende Probleme:
- Spaltenbreite wird ignoriert - ganz egal, was ich bei Breite einstelle, das Ergebnis bleibt immer gleich:

So sieht die Tabelle aus:

- Einzelne Tabellen-Felder habe ich situationsabhängig farblich dargestellt - siehe html tags in Tabelle zuvor. In diesem Widget wird HTML aber ignoriert ... gibt es eine andere Möglichkeit, das wieder hinzubekommen??
Danke schon mal!
- Spaltenbreite wird ignoriert - ganz egal, was ich bei Breite einstelle, das Ergebnis bleibt immer gleich:
-
Ich versuche mich gerade am Tabelle-Widget - leider nur mit mäßigem Erfolg ... folgende Probleme:
- Spaltenbreite wird ignoriert - ganz egal, was ich bei Breite einstelle, das Ergebnis bleibt immer gleich:

So sieht die Tabelle aus:

- Einzelne Tabellen-Felder habe ich situationsabhängig farblich dargestellt - siehe html tags in Tabelle zuvor. In diesem Widget wird HTML aber ignoriert ... gibt es eine andere Möglichkeit, das wieder hinzubekommen??
Danke schon mal!
- Spaltenbreite wird ignoriert - ganz egal, was ich bei Breite einstelle, das Ergebnis bleibt immer gleich:
-
Aber, wenn ich schon hier bin ... eigentlich möchte ich nur eine Tabelle, so wie ich sie in der Vis hatte, in der VIS2 darstellen. Bisher erfolglos - deswegen neuer Versuch mit diesem Tabellen-Widget.
Vorab eine einfache Frage - wo kann ich global die Text-Farbe für die Zellen definieren?
Find nichts, außer im Spalten-Editor und da kann man zwar unglaublich viel auswählen, aber ich habe nichts gefunden, um die Auswahl auf die anderen Spalten zu übernehmen, bzw. die Einstellung zu kopieren, z.B. #9E6060 kopieren und bei einer anderen Spalte anwenden.

Für die Kopfzeile habe ich eine Möglichkeit gefunden

Beim Zeilen-Stil kann zwar die Zellen-Schriftgröße ausgewählt werden, aber nicht die Farbe:

Und dann die eigentliche Herausforderung - ich müsste gewisse Zellen abhängig von einem DP anders formatieren. Bisher hatte ich html-tags direkt im Json-Text, aber die werden ignoriert und beim Spalten-Editor kann ich nur den Zelleninhalt mit einem Wert vergleichen.
So sieht die Tabelle in der VIS aus

So schaffe ich es mit dem Widget

-
Aber, wenn ich schon hier bin ... eigentlich möchte ich nur eine Tabelle, so wie ich sie in der Vis hatte, in der VIS2 darstellen. Bisher erfolglos - deswegen neuer Versuch mit diesem Tabellen-Widget.
Vorab eine einfache Frage - wo kann ich global die Text-Farbe für die Zellen definieren?
Find nichts, außer im Spalten-Editor und da kann man zwar unglaublich viel auswählen, aber ich habe nichts gefunden, um die Auswahl auf die anderen Spalten zu übernehmen, bzw. die Einstellung zu kopieren, z.B. #9E6060 kopieren und bei einer anderen Spalte anwenden.

Für die Kopfzeile habe ich eine Möglichkeit gefunden

Beim Zeilen-Stil kann zwar die Zellen-Schriftgröße ausgewählt werden, aber nicht die Farbe:

Und dann die eigentliche Herausforderung - ich müsste gewisse Zellen abhängig von einem DP anders formatieren. Bisher hatte ich html-tags direkt im Json-Text, aber die werden ignoriert und beim Spalten-Editor kann ich nur den Zelleninhalt mit einem Wert vergleichen.
So sieht die Tabelle in der VIS aus

So schaffe ich es mit dem Widget

@tsero Die CollectionWidgets sind immer so gebaut, dass du auch die anderen vorhandenen Einstellungen im vis-2 Editor nutzen kannst, also:

Es gilt immer das Grundprinzip: speziellere Einstellungen überschreiben allgemeinere Einstellungen.
Schau dir auch mal das GitHub-Wiki an, da ist schon vieles erklärt.
Dein gewünschtes Tabellenaussehen kannst Du dann auch fast wie gewünscht abbilden.
-
@tsero Die CollectionWidgets sind immer so gebaut, dass du auch die anderen vorhandenen Einstellungen im vis-2 Editor nutzen kannst, also:

Es gilt immer das Grundprinzip: speziellere Einstellungen überschreiben allgemeinere Einstellungen.
Schau dir auch mal das GitHub-Wiki an, da ist schon vieles erklärt.
Dein gewünschtes Tabellenaussehen kannst Du dann auch fast wie gewünscht abbilden.
@carsten04 Danke für den Link - wie so oft, wer lesen kann, ist klar im Vorteil.
Die Textfarbe ist somit kein Problem, aber für die Formatierung einzelner Zellen habe ich leider nichts gefunden.
Aktuell baue ich den Json-String so zusammen, dass die relevanten Felder die korrekte Text-Farbe mitbekommen, z.B.
{"Sven": "<html><span style='color:LightSkyBlue'>Vorwoche</span></html>", "TV": "38m"}Allerdings wir HTML vom Widget nicht interpretiert - gibt es eine andere Möglichkeit, wie ich die Info mitgeben kann?
-
@carsten04 Danke für den Link - wie so oft, wer lesen kann, ist klar im Vorteil.
Die Textfarbe ist somit kein Problem, aber für die Formatierung einzelner Zellen habe ich leider nichts gefunden.
Aktuell baue ich den Json-String so zusammen, dass die relevanten Felder die korrekte Text-Farbe mitbekommen, z.B.
{"Sven": "<html><span style='color:LightSkyBlue'>Vorwoche</span></html>", "TV": "38m"}Allerdings wir HTML vom Widget nicht interpretiert - gibt es eine andere Möglichkeit, wie ich die Info mitgeben kann?
-
@tsero Es gibt jetzt eine neue Version v2.4.1, in der das JsonTableCollectionWidget die Zellinhalte als HTML interpretiert sofern vorhanden. Du solltest dann im JSON nicht mit <html> einleiten, sondern direkt mit dem gewünschten Tag, also z.B. <span>, oder <div>, etc..


