NEWS
[Vorlage] MDCSS v2: Adapter-Instanzen in vis anzeigen
-
Um ein Feedback zu erhalten wäre es schön, wenn jeder, der diese Vorlagen nutzt, den 1.Beitrag des Themas positiv bewertet (Pfeil nach oben oder unten ). Ich kann dann auch abschätzen, ob sich die weitere Pflege lohnt. Thx!
Dieses Script dient der Visualisierung des Zustände der Adapter-Instanzen in der vis im Material Design CSS Style als table- bzw. list-Anzeige. Die Instanzen werden aktiv mit on-Handler auf connected usw. überwacht. In jedem Log-Ordner
- befindet sich ein table- und list-HTML State, welcher direkt in der vis angezeigt werden kann (jeweils im basic-string (unescaped) Widget).
- kann ein filter als string (Bsp:':hasupdate:') oder als RegExp (Bsp:'/warn|error/') festgelegt werden, welcher beim Aufbau der table-/list-HTML States berücksichtigt wird.
- kann die Sortierreihenfolge festgelegt werden
- kann die Anzeige als "normal" oder "compact" geschaltet werden
- können Instanzen gestoppt/gestartet werden
Voraussetzungen
Nutzung der MDCSS v2.x (siehe: https://forum.iobroker.net/topic/30363/projekt-mdcss-v2-material-design-css-version-2)
Installation
Einfach als serverseitiges Script installieren und starten. Beim 1.Start werden die notwendigen States unter STATE_PATH = '0_userdata.0.mdui.logInstances.' erzeugt und es erfolgt nach 10 Sek ein automatischer restart.
Konfiguration
Eigentlich ist keine notwendig. Optional in der Funktion MduiShowInstances|doInit() eine Anpassung der KONFIGURATION vornehmen Optional Anpassung der tmpTable und tmpList.
States
Unter dem STATE_PATH werden die folgenden States erzeugt:
version : Script-Version, wird verwendet um Script-Updates zu erkennen
updatePressed : auf true setzen, wenn ein table/list update außerhalb des Intervals erfolgen sollWeiterhin werden MAX_LOG_FOLDER Unterordner im STATE_PATH erzeugt (N=0-9):
- LogN.table : enthält die table-HTML für ein basic-string (unescaped) Widget
- LogN.list : enthält die list-HTML für ein basic-string (unescaped) Widget
- LogN.count : Anzahl der Log-Zeilen (wenn das Log mit '/:error:|:warn:/' gefiltert ist, dann ist es die Anzahl der Fehler/Warnungen)
- LogN.filter : Filter, der auch die logCache angewendet wurde im .table/.list zu erzeugen (siehe Filter)
- LogN.lastUpdate : Timestamp des letzten Updates
- LogN.sortBy : Sortierung nach welchem Feld
- LogN.sortAscending: true=aufsteigend sortieren
- LogN.showAs : "normal"=mit Details "compact"=ohne Details
Filter
In den filter-States können sowohl strings (Bsp:'error') als auch RegExp-Strings (Bsp:'/warn|error/')
hinterlegt werden. RegExp-Strings werden an den einschließenden '/' erkannt. Über den ':' kann der Anfang
eines Feldes mit in den Filter einbezogen werden.
Beispiele:
'/error|warn/' (RegExp) zeigt alle Zeilen an, in denen 'error' oder 'warn' in irgendeinem Feld vorkommen
'/:error:|:warn:/' (RegExp) zeigt alle Zeilen an, welche dem Typ 'error' oder 'warn' entsprechen
'rssi' (string) zeigt alle Zeilen an, in denen 'rssi' in irgendeinem Feld vorkommt
':rssi:' (string) zeigt alle Zeilen an, in welchen ein Feld den Inhalt 'rssi' hatLizenz
(c) 2020 by UH, MIT License, no warranty, use on your own risc
Beschreibung (Github)
Datei-Download (Github) -
Wo und wie kann ich die Farben ändern?
Hintergrund und JquiButtonState -
00:20:21.917 info javascript.0 (13028) Stop script script.js.Listen.MDCSS_Instances 00:20:21.919 info javascript.0 (13028) script.js.Listen.MDCSS_Instances: [MduiLogInstances] script stopped 00:20:22.989 info javascript.0 (13028) Start javascript script.js.Listen.MDCSS_Instances 00:20:23.017 warn javascript.0 (13028) at MduiLogInstances.getVal (script.js.Listen.MDCSS_Instances:393:23) 00:20:23.017 warn javascript.0 (13028) at $.each (script.js.Listen.MDCSS_Instances:431:37) 00:20:23.017 warn javascript.0 (13028) at MduiLogInstances.onBuildHTML (script.js.Listen.MDCSS_Instances:409:39) 00:20:23.017 warn javascript.0 (13028) at MduiLogInstances.doStart (script.js.Listen.MDCSS_Instances:337:14) 00:20:23.017 warn javascript.0 (13028) at MduiLogInstances.start (script.js.Listen.MDCSS_Instances:120:26) 00:20:23.018 warn javascript.0 (13028) at script.js.Listen.MDCSS_Instances:666:22 00:20:23.022 warn javascript.0 (13028) at MduiLogInstances.getVal (script.js.Listen.MDCSS_Instances:393:23) 00:20:23.022 warn javascript.0 (13028) at $.each (script.js.Listen.MDCSS_Instances:431:37) 00:20:23.022 warn javascript.0 (13028) at MduiLogInstances.onBuildHTML (script.js.Listen.MDCSS_Instances:409:39) 00:20:23.022 warn javascript.0 (13028) at MduiLogInstances.doStart (script.js.Listen.MDCSS_Instances:337:14) 00:20:23.022 warn javascript.0 (13028) at MduiLogInstances.start (script.js.Listen.MDCSS_Instances:120:26) 00:20:23.022 warn javascript.0 (13028) at script.js.Listen.MDCSS_Instances:666:22 00:20:23.027 warn javascript.0 (13028) at MduiLogInstances.getVal (script.js.Listen.MDCSS_Instances:393:23) 00:20:23.028 warn javascript.0 (13028) at $.each (script.js.Listen.MDCSS_Instances:431:37) 00:20:23.028 warn javascript.0 (13028) at MduiLogInstances.onBuildHTML (script.js.Listen.MDCSS_Instances:409:39) 00:20:23.028 warn javascript.0 (13028) at MduiLogInstances.doStart (script.js.Listen.MDCSS_Instances:337:14) 00:20:23.028 warn javascript.0 (13028) at MduiLogInstances.start (script.js.Listen.MDCSS_Instances:120:26) 00:20:23.028 warn javascript.0 (13028) at script.js.Listen.MDCSS_Instances:666:22 00:20:23.041 warn javascript.0 (13028) at MduiLogInstances.getVal (script.js.Listen.MDCSS_Instances:393:23) 00:20:23.042 warn javascript.0 (13028) at $.each (script.js.Listen.MDCSS_Instances:431:37) 00:20:23.042 warn javascript.0 (13028) at MduiLogInstances.onBuildHTML (script.js.Listen.MDCSS_Instances:409:39) 00:20:23.042 warn javascript.0 (13028) at MduiLogInstances.doStart (script.js.Listen.MDCSS_Instances:337:14) 00:20:23.042 warn javascript.0 (13028) at MduiLogInstances.start (script.js.Listen.MDCSS_Instances:120:26) 00:20:23.042 warn javascript.0 (13028) at script.js.Listen.MDCSS_Instances:666:22 00:20:23.102 warn javascript.0 (13028) at MduiLogInstances.getVal (script.js.Listen.MDCSS_Instances:393:23) 00:20:23.102 warn javascript.0 (13028) at $.each (script.js.Listen.MDCSS_Instances:431:37) 00:20:23.102 warn javascript.0 (13028) at MduiLogInstances.onBuildHTML (script.js.Listen.MDCSS_Instances:409:39) 00:20:23.102 warn javascript.0 (13028) at MduiLogInstances.doStart (script.js.Listen.MDCSS_Instances:337:14) 00:20:23.102 warn javascript.0 (13028) at MduiLogInstances.start (script.js.Listen.MDCSS_Instances:120:26) 00:20:23.102 warn javascript.0 (13028) at script.js.Listen.MDCSS_Instances:666:22 00:20:23.110 warn javascript.0 (13028) at MduiLogInstances.getVal (script.js.Listen.MDCSS_Instances:393:23) 00:20:23.110 warn javascript.0 (13028) at $.each (script.js.Listen.MDCSS_Instances:431:37) 00:20:23.110 warn javascript.0 (13028) at MduiLogInstances.onBuildHTML (script.js.Listen.MDCSS_Instances:409:39) 00:20:23.110 warn javascript.0 (13028) at MduiLogInstances.doStart (script.js.Listen.MDCSS_Instances:337:14) 00:20:23.110 warn javascript.0 (13028) at MduiLogInstances.start (script.js.Listen.MDCSS_Instances:120:26) 00:20:23.110 warn javascript.0 (13028) at script.js.Listen.MDCSS_Instances:666:22 00:20:23.116 warn javascript.0 (13028) at MduiLogInstances.getVal (script.js.Listen.MDCSS_Instances:393:23) 00:20:23.116 warn javascript.0 (13028) at $.each (script.js.Listen.MDCSS_Instances:431:37) 00:20:23.116 warn javascript.0 (13028) at MduiLogInstances.onBuildHTML (script.js.Listen.MDCSS_Instances:409:39) 00:20:23.116 warn javascript.0 (13028) at MduiLogInstances.doStart (script.js.Listen.MDCSS_Instances:337:14) 00:20:23.116 warn javascript.0 (13028) at MduiLogInstances.start (script.js.Listen.MDCSS_Instances:120:26) 00:20:23.116 warn javascript.0 (13028) at script.js.Listen.MDCSS_Instances:666:22 00:20:23.121 warn javascript.0 (13028) at MduiLogInstances.getVal (script.js.Listen.MDCSS_Instances:393:23) 00:20:23.121 warn javascript.0 (13028) at $.each (script.js.Listen.MDCSS_Instances:431:37) 00:20:23.121 warn javascript.0 (13028) at MduiLogInstances.onBuildHTML (script.js.Listen.MDCSS_Instances:409:39) 00:20:23.121 warn javascript.0 (13028) at MduiLogInstances.doStart (script.js.Listen.MDCSS_Instances:337:14) 00:20:23.121 warn javascript.0 (13028) at MduiLogInstances.start (script.js.Listen.MDCSS_Instances:120:26) 00:20:23.121 warn javascript.0 (13028) at script.js.Listen.MDCSS_Instances:666:22 00:20:23.126 warn javascript.0 (13028) at MduiLogInstances.getVal (script.js.Listen.MDCSS_Instances:393:23) 00:20:23.126 warn javascript.0 (13028) at $.each (script.js.Listen.MDCSS_Instances:431:37) 00:20:23.126 warn javascript.0 (13028) at MduiLogInstances.onBuildHTML (script.js.Listen.MDCSS_Instances:409:39) 00:20:23.126 warn javascript.0 (13028) at MduiLogInstances.doStart (script.js.Listen.MDCSS_Instances:337:14) 00:20:23.126 warn javascript.0 (13028) at MduiLogInstances.start (script.js.Listen.MDCSS_Instances:120:26) 00:20:23.126 warn javascript.0 (13028) at script.js.Listen.MDCSS_Instances:666:22 00:20:23.131 warn javascript.0 (13028) at MduiLogInstances.getVal (script.js.Listen.MDCSS_Instances:393:23) 00:20:23.131 warn javascript.0 (13028) at $.each (script.js.Listen.MDCSS_Instances:431:37) 00:20:23.131 warn javascript.0 (13028) at MduiLogInstances.onBuildHTML (script.js.Listen.MDCSS_Instances:409:39) 00:20:23.131 warn javascript.0 (13028) at MduiLogInstances.doStart (script.js.Listen.MDCSS_Instances:337:14) 00:20:23.131 warn javascript.0 (13028) at MduiLogInstances.start (script.js.Listen.MDCSS_Instances:120:26) 00:20:23.131 warn javascript.0 (13028) at script.js.Listen.MDCSS_Instances:666:22 00:20:23.184 warn javascript.0 (13028) at MduiLogInstances.getVal (script.js.Listen.MDCSS_Instances:393:23) 00:20:23.184 warn javascript.0 (13028) at $.each (script.js.Listen.MDCSS_Instances:431:37) 00:20:23.184 warn javascript.0 (13028) at MduiLogInstances.onBuildHTML (script.js.Listen.MDCSS_Instances:409:39) 00:20:23.184 warn javascript.0 (13028) at MduiLogInstances.doStart (script.js.Listen.MDCSS_Instances:337:14) 00:20:23.184 warn javascript.0 (13028) at MduiLogInstances.start (script.js.Listen.MDCSS_Instances:120:26) 00:20:23.184 warn javascript.0 (13028) at script.js.Listen.MDCSS_Instances:666:22 00:20:23.215 warn javascript.0 (13028) at MduiLogInstances.getVal (script.js.Listen.MDCSS_Instances:393:23) 00:20:23.215 warn javascript.0 (13028) at $.each (script.js.Listen.MDCSS_Instances:431:37) 00:20:23.215 warn javascript.0 (13028) at MduiLogInstances.onBuildHTML (script.js.Listen.MDCSS_Instances:409:39) 00:20:23.215 warn javascript.0 (13028) at MduiLogInstances.doStart (script.js.Listen.MDCSS_Instances:337:14) 00:20:23.215 warn javascript.0 (13028) at MduiLogInstances.start (script.js.Listen.MDCSS_Instances:120:26) 00:20:23.215 warn javascript.0 (13028) at script.js.Listen.MDCSS_Instances:666:22 00:20:23.329 warn javascript.0 (13028) at MduiLogInstances.getVal (script.js.Listen.MDCSS_Instances:393:23) 00:20:23.329 warn javascript.0 (13028) at $.each (script.js.Listen.MDCSS_Instances:431:37) 00:20:23.329 warn javascript.0 (13028) at MduiLogInstances.onBuildHTML (script.js.Listen.MDCSS_Instances:409:39) 00:20:23.329 warn javascript.0 (13028) at MduiLogInstances.doStart (script.js.Listen.MDCSS_Instances:337:14) 00:20:23.329 warn javascript.0 (13028) at MduiLogInstances.start (script.js.Listen.MDCSS_Instances:120:26) 00:20:23.329 warn javascript.0 (13028) at script.js.Listen.MDCSS_Instances:666:22 00:20:23.350 info javascript.0 (13028) script.js.Listen.MDCSS_Instances: [MduiLogInstances] script started 00:20:23.350 info javascript.0 (13028) script.js.Listen.MDCSS_Instances: registered 9 subscriptions and 0 schedules 00:20:30.372 info javascript.0 (13028) Stop script script.js.Listen.MDCSS_Instances 00:20:30.373 info javascript.0 (13028) script.js.Listen.MDCSS_Instances: [MduiLogInstances] script stopped
-
@sigi234 Passiert beim Auslesen der CPU Werte, manchmal bei einigen States. Habe noch kein Workaround gefunden - bis auf das Auslesen der CPU Werte zu verzichten.
-
Hier meine Warnungen, vielleicht hilft es bei der Ursachenfindung:
javascript.0 2020-04-04 20:31:14.396 warn (2757) at script.js.common.Vis.MduiLogInstanzen:666:22 javascript.0 2020-04-04 20:31:14.396 warn (2757) at MduiLogInstances.start (script.js.common.Vis.MduiLogInstanzen:120:26) javascript.0 2020-04-04 20:31:14.396 warn (2757) at MduiLogInstances.doStart (script.js.common.Vis.MduiLogInstanzen:337:14) javascript.0 2020-04-04 20:31:14.396 warn (2757) at MduiLogInstances.onBuildHTML (script.js.common.Vis.MduiLogInstanzen:409:39) javascript.0 2020-04-04 20:31:14.395 warn (2757) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:868:29) javascript.0 2020-04-04 20:31:14.395 warn (2757) at $.each (script.js.common.Vis.MduiLogInstanzen:431:37) javascript.0 2020-04-04 20:31:14.395 warn (2757) at MduiLogInstances.getVal (script.js.common.Vis.MduiLogInstanzen:393:23) javascript.0 2020-04-04 20:31:14.395 warn (2757) getState "system.adapter.ical.0.connected" not found (3) states[id]=null javascript.0 2020-04-04 20:31:14.375 warn (2757) at script.js.common.Vis.MduiLogInstanzen:666:22 javascript.0 2020-04-04 20:31:14.375 warn (2757) at MduiLogInstances.start (script.js.common.Vis.MduiLogInstanzen:120:26) javascript.0 2020-04-04 20:31:14.375 warn (2757) at MduiLogInstances.doStart (script.js.common.Vis.MduiLogInstanzen:337:14) javascript.0 2020-04-04 20:31:14.374 warn (2757) at MduiLogInstances.onBuildHTML (script.js.common.Vis.MduiLogInstanzen:409:39) javascript.0 2020-04-04 20:31:14.374 warn (2757) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:868:29) javascript.0 2020-04-04 20:31:14.374 warn (2757) at $.each (script.js.common.Vis.MduiLogInstanzen:431:37) javascript.0 2020-04-04 20:31:14.374 warn (2757) at MduiLogInstances.getVal (script.js.common.Vis.MduiLogInstanzen:393:23) javascript.0 2020-04-04 20:31:14.374 warn (2757) getState "system.adapter.feiertage.0.connected" not found (3) states[id]=null javascript.0 2020-04-04 20:31:14.367 warn (2757) at script.js.common.Vis.MduiLogInstanzen:666:22 javascript.0 2020-04-04 20:31:14.367 warn (2757) at MduiLogInstances.start (script.js.common.Vis.MduiLogInstanzen:120:26) javascript.0 2020-04-04 20:31:14.367 warn (2757) at MduiLogInstances.doStart (script.js.common.Vis.MduiLogInstanzen:337:14) javascript.0 2020-04-04 20:31:14.367 warn (2757) at MduiLogInstances.onBuildHTML (script.js.common.Vis.MduiLogInstanzen:409:39) javascript.0 2020-04-04 20:31:14.367 warn (2757) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:868:29) javascript.0 2020-04-04 20:31:14.366 warn (2757) at $.each (script.js.common.Vis.MduiLogInstanzen:431:37) javascript.0 2020-04-04 20:31:14.366 warn (2757) at MduiLogInstances.getVal (script.js.common.Vis.MduiLogInstanzen:393:23) javascript.0 2020-04-04 20:31:14.365 warn (2757) getState "system.adapter.coronavirus-statistics.0.connected" not found (3) states[id]=null
-
@Uhula
Super Arbeit wieder mal! Danke!!bei "DarkMode" werden manchen Adapter Symbole schlecht bzw. nicht angezeigt.
-
Auf Github gibt es ein Update:
- beim Auslesen der States (wie CPU usw) wird nun vorher kein $()-Exists mehr durchgeführt, nur noch ein existsState() - damit sind bei mir die Warnungen weg
- in der Tabellenanzeige sind die Header nun zum Sortieren klickbar, ab MDCSS v2.5 wird das auch in den Views angezeigt
Wer nicht auf die MDCSS v2.5 warten möchte, kann seine Projekt-MDCSS mit folgenden CSS Zeilen ergänzen, dann sollte es auch funktionieren:
@Saschag Die Adapterbilder sind im Adapter angegeben, ich stelle sie so dar, wie sie vom Entwickler entworfen wurden.
-
Wie ändere ich diese Icons Farben? In CSS Klasse?
-
@sigi234 Jein.
Wenn du eine feste Farbe haben möchtest, kannst du in der CSS Klasse das vis-binding, was im Moment da drin ist, durch den Farbnamen ersetzen. Aus mdui-{0_userdata.0.mdui.card_title_color} wird dann z.B. mdui-blueWenn du es konfigurierbar haben möchtest (wie bei mir im View), dann legst du dir einen State unter 0_userdata.0 an: 0_userdata.0.mdui.card_title_color und setzt dort den gewünschten Farbnamen rein, z.B. blue.
Hinweis: Im MDCSS MD_Demo Projekt gibt es auch einen Konfigurationsview dazu, dieser schreibt aber nicht in den 0_userdata.0 State, sondern nutzt temporäre States, da ich ja aus dem CSS heraus keine echten States erzeugen kann. Das müsste im View angepasst werden.
Generell zu den Icon-Farben: Die nutzen, wie auch die Schrift, die Font-Farben.
OK?
-
Okay, weis ich Bescheid.
Aber bei Worx und UpnP fehlen die Logos ganz:-( -
-
@Saschag Ja, die fehlenden Logos liegen daran, dass im Adapter ein Pfad zu externen Icons angegeben ist, der aber mittlerweile ungültig ist. Die URL gibt es nicht mehr, so dass die Bildanzeige nicht möglich ist. Im Admin wird auf ein lokales Bild zugegriffen, aber ich weiß nicht, wie ich das in der vis zum Browser zur Anzeige bekomme.
-
Okay,, danke für die Rückmeldung!
-
Bei mir ist das upnp Logo in der Vis vorhanden.
-
Update 2020.05.01
- Anpassung an neues MduiBase (intern)
- Anpassung an MDCSS 2.5
- Einbau swipeLeft für Start/Stop Adapter, keine Buttonanzeige mehr auf Touch-Geräten
Update auf GitHub, siehe 1.Beitrag
Um ein Feedback zu erhalten wäre es schön, wenn jeder, der diese Vorlagen nutzt, den 1.Beitrag des Themas positiv bewertet (Pfeil nach oben oder unten ). Ich kann dann auch abschätzen, ob sich die weitere Pflege lohnt. Thx!
-
Irgendwas stimmt bei mir glaub ich mit der Anzeige in vis nicht.
-
@Dominik-F Nur in der kompakten Ansicht oder auch in der normalen? Kann ich hier leider in beiden nicht nachvollziehen. Scheint mit dem OK-Symbol (check_circle_outline) zusammen zu hängen, zumindest ist es nicht das aus der Vorlage.
Zeile 698 im Script:
case this.MSG_TYPE_OK : entry.icon = 'check_circle_outline'; entry.iconColor='mdui-green'; break;
-
Hier die normale, dort tritt das Problem auch auf.
so sieht die Zeile bei mir aus, erkenne da keinen Unterschied
case this.MSG_TYPE_OK : entry.icon = 'check_circle_outline'; entry.iconColor='mdui-green'; break;
-
@Dominik-F sagte in [Vorlage] MDCSS v2: Adapter-Instanzen in vis anzeigen:
check_circle_outline
Dann wird - warum auch immer - ein anderes check_circle_outline Icon verwendet. Hast du im CSS noch andere Icon-Schriften eingebunden? In deinem Projekt-Ordner andere Dateien? Wie sieht es im MD_Demo Projekt aus?
-
Ich nutze nur die beiden von dir vorgesehenen Icon-Schriften, sonst keine andere.
meine selbsterstellten Tabellen wo du mir mit den Symbolen geholfen hast haben sich nicht verändert. Im Demoprojekt ehe ich die Symbole nicht