Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. Material Design Widgets: Adapter Status

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.3k

Material Design Widgets: Adapter Status

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
material design widgetsvisiconlistviewview adapteradapterstatusanzeige
144 Beiträge 48 Kommentatoren 33.6k Aufrufe 60 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • WszeneW Wszene

    @glasfaser sagte in Material Design Widgets: Adapter Status:

    @Wszene

    @glasfaser sagte in Material Design Widgets: Adapter Status:
    Adapter starten und im Log schauen ob eine Fehlermeldung kommt .

    Ich meinte nicht das Script an sich , sondern was beim Hinzufügen des NPM Modul kommt .

    Achso
    also nochmal :grin:

    
    javascript.0
    2022-01-28 20:37:13.301	info	State value to set for "0_userdata.0.001_Alexa.01_Stube.Lampen.Stehlampe" has to be type "boolean" but received type "string"
    
    javascript.0
    2022-01-28 20:37:13.247	warn	at processTimers (internal/timers.js:500:7)
    
    javascript.0
    2022-01-28 20:37:13.247	warn	at listOnTimeout (internal/timers.js:557:17)
    
    javascript.0
    2022-01-28 20:37:13.247	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2117:34)
    
    javascript.0
    2022-01-28 20:37:13.247	warn	at Object.<anonymous> (script.js.01-Stube.Lampen.Stehlampe_-_An_Aus:115:29)
    
    javascript.0
    2022-01-28 20:37:13.247	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1437:20)
    
    javascript.0
    2022-01-28 20:37:13.243	warn	You are assigning a string to the state "0_userdata.0.001_Alexa.01_Stube.Lampen.Stehlampe" which expects a boolean. Please fix your code to use a boolean or change the state type to string. This warning might become an error in future versions.
    
    vw-connect.0
    2022-01-28 20:37:13.028	error	failed set state
    
    vw-connect.0
    2022-01-28 20:37:13.027	error	{"error":{"errorCode":"RS.security.9007","description":"The context has not gained a legitimation due to missing access rights."}}
    
    vw-connect.0
    2022-01-28 20:37:13.027	error	403
    
    javascript.0
    2022-01-28 20:37:12.276	info	script.js.001-VIS.Wetter.Wetter_DD_-_DWD-Regenradar: registered 0 subscriptions and 1 schedule
    
    javascript.0
    2022-01-28 20:37:12.267	info	Start javascript script.js.001-VIS.Wetter.Wetter_DD_-_DWD-Regenradar
    
    javascript.0
    2022-01-28 20:37:12.267	info	script.js.06-Autos.Scala_-_Tabelle-Status: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.266	info	Start javascript script.js.06-Autos.Scala_-_Tabelle-Status
    
    javascript.0
    2022-01-28 20:37:12.265	info	script.js.001-VIS.Wetter.Wetter_DD_-_Es_regnet_oder_schneit_oder_stürmt: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.264	info	Start javascript script.js.001-VIS.Wetter.Wetter_DD_-_Es_regnet_oder_schneit_oder_stürmt
    
    javascript.0
    2022-01-28 20:37:12.264	info	script.js.001-VIS.Wetter.Wetter_GRH_-_Überschriften: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.263	info	Start javascript script.js.001-VIS.Wetter.Wetter_GRH_-_Überschriften
    
    javascript.0
    2022-01-28 20:37:12.262	info	script.js.001-VIS.Wetter.Wetter_GRH_-_Werte: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.261	info	Start javascript script.js.001-VIS.Wetter.Wetter_GRH_-_Werte
    
    javascript.0
    2022-01-28 20:37:12.261	info	script.js.001-VIS.Wetter.Wetter_GRH_-_MinMax-Temp: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.260	info	Start javascript script.js.001-VIS.Wetter.Wetter_GRH_-_MinMax-Temp
    
    javascript.0
    2022-01-28 20:37:12.259	info	script.js.001-VIS.Wetter.Wetter_DD_-_Werte: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.258	info	Start javascript script.js.001-VIS.Wetter.Wetter_DD_-_Werte
    
    javascript.0
    2022-01-28 20:37:12.258	info	script.js.001-VIS.Wetter.Wetter_DD_-_MinMax-Temp: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.256	info	Start javascript script.js.001-VIS.Wetter.Wetter_DD_-_MinMax-Temp
    
    javascript.0
    2022-01-28 20:37:12.256	info	script.js.001-VIS.Wetter.Wetter_DD_-_Überschriften: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.255	info	Start javascript script.js.001-VIS.Wetter.Wetter_DD_-_Überschriften
    
    javascript.0
    2022-01-28 20:37:12.255	info	script.js.001-VIS.Welche_Steckdosen_sind_an: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.253	info	Start javascript script.js.001-VIS.Welche_Steckdosen_sind_an
    
    javascript.0
    2022-01-28 20:37:12.253	info	script.js.001-VIS.Welche_Lampen_sind_an: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.252	info	Start javascript script.js.001-VIS.Welche_Lampen_sind_an
    
    javascript.0
    2022-01-28 20:37:12.252	info	script.js.02-Schlafzimmer.Dosen.TV-Bett: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.250	info	Start javascript script.js.02-Schlafzimmer.Dosen.TV-Bett
    
    javascript.0
    2022-01-28 20:37:12.250	info	script.js.02-Schlafzimmer.Taster.Sleeptimer_-_Button: registered 1 subscription and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.249	info	Start javascript script.js.02-Schlafzimmer.Taster.Sleeptimer_-_Button
    
    javascript.0
    2022-01-28 20:37:12.249	info	script.js.01-Stube.Fernbedienungen.Kino_an_aus: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.247	info	Start javascript script.js.01-Stube.Fernbedienungen.Kino_an_aus
    
    javascript.0
    2022-01-28 20:37:12.247	info	script.js.01-Stube.Fernbedienungen.TV_Sender_schalten_-_Alexa: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.244	info	Start javascript script.js.01-Stube.Fernbedienungen.TV_Sender_schalten_-_Alexa
    
    javascript.0
    2022-01-28 20:37:12.231	info	script.js.01-Stube.Fernbedienungen.TV_Kanal_-_Hoch_Runter: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.230	info	Start javascript script.js.01-Stube.Fernbedienungen.TV_Kanal_-_Hoch_Runter
    
    javascript.0
    2022-01-28 20:37:12.230	info	script.js.01-Stube.Fernbedienungen.AV-Receiver_-_Lautstärke: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.228	info	Start javascript script.js.01-Stube.Fernbedienungen.AV-Receiver_-_Lautstärke
    
    javascript.0
    2022-01-28 20:37:12.228	info	script.js.02-Schlafzimmer.Schalter.Schlafzimmerlampe: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.227	info	Start javascript script.js.02-Schlafzimmer.Schalter.Schlafzimmerlampe
    
    javascript.0
    2022-01-28 20:37:12.227	info	script.js.01-Stube.Schalter.Lampe-Sofatisch: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.225	info	Start javascript script.js.01-Stube.Schalter.Lampe-Sofatisch
    
    javascript.0
    2022-01-28 20:37:12.121	info	script.js.01-Stube.Schalter.Lampe-Esstisch: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.120	info	Start javascript script.js.01-Stube.Schalter.Lampe-Esstisch
    
    javascript.0
    2022-01-28 20:37:12.120	info	script.js.01-Stube.Lampen.Stehlampe_-_An_Aus: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.118	info	Start javascript script.js.01-Stube.Lampen.Stehlampe_-_An_Aus
    
    javascript.0
    2022-01-28 20:37:12.118	info	script.js.06-Autos.Kodiaq_-_Tabelle_Türen-Fenster: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.115	info	Start javascript script.js.06-Autos.Kodiaq_-_Tabelle_Türen-Fenster
    
    javascript.0
    2022-01-28 20:37:12.112	info	script.js.06-Autos.Kodiaq_-_Tabelle-Status: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.111	info	Start javascript script.js.06-Autos.Kodiaq_-_Tabelle-Status
    
    javascript.0
    2022-01-28 20:37:12.111	info	script.js.001-VIS.Tankstellen_-_offen-geschlossen: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.109	info	Start javascript script.js.001-VIS.Tankstellen_-_offen-geschlossen
    
    javascript.0
    2022-01-28 20:37:12.109	info	script.js.06-Autos.Telegram_-_Tankerinnerung: registered 0 subscriptions and 1 schedule
    
    javascript.0
    2022-01-28 20:37:12.092	info	Start javascript script.js.06-Autos.Telegram_-_Tankerinnerung
    
    javascript.0
    2022-01-28 20:37:12.092	info	script.js.06-Autos.Telegram_-_Standortwechsel: registered 2 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.090	info	Start javascript script.js.06-Autos.Telegram_-_Standortwechsel
    
    javascript.0
    2022-01-28 20:37:12.090	info	script.js.06-Autos.Kodiaq_-_Datenpunkte_Tueren-Fenster: registered 8 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.088	info	Start javascript script.js.06-Autos.Kodiaq_-_Datenpunkte_Tueren-Fenster
    
    javascript.0
    2022-01-28 20:37:12.088	info	script.js.06-Autos.Kodiaq_-_Standheizung: registered 3 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.087	info	Start javascript script.js.06-Autos.Kodiaq_-_Standheizung
    
    javascript.0
    2022-01-28 20:37:12.086	info	script.js.06-Autos.Scala_-_Datenpunkte_anlegen: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.085	info	Start javascript script.js.06-Autos.Scala_-_Datenpunkte_anlegen
    
    javascript.0
    2022-01-28 20:37:12.085	info	script.js.06-Autos.Kodiaq_-_Datenpunkte_anlegen: registered 0 subscriptions and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.079	info	Start javascript script.js.06-Autos.Kodiaq_-_Datenpunkte_anlegen
    
    javascript.0
    2022-01-28 20:37:12.079	info	script.js.03-Flur-Kammer.Kammerlicht_schalten: registered 1 subscription and 0 schedules
    
    javascript.0
    2022-01-28 20:37:12.077	info	Start javascript script.js.03-Flur-Kammer.Kammerlicht_schalten
    
    javascript.0
    2022-01-28 20:37:12.077	info	script.js.01-Stube.Lampen.Zeitplan_-_Leuchtbaum: registered 0 subscriptions and 4 schedules
    
    javascript.0
    2022-01-28 20:37:12.054	info	Start javascript script.js.01-Stube.Lampen.Zeitplan_-_Leuchtbaum
    
    javascript.0
    2022-01-28 20:37:11.793	info	received all states
    
    javascript.0
    2022-01-28 20:37:11.343	info	received all objects
    
    javascript.0
    2022-01-28 20:37:10.139	info	requesting all objects
    
    javascript.0
    2022-01-28 20:37:10.138	info	requesting all states
    
    javascript.0
    2022-01-28 20:37:10.100	info	starting. Version 5.2.21 in /opt/iobroker/node_modules/iobroker.javascript, node: v14.18.3, js-controller: 3.3.22
    host.ioBroker02
    2022-01-28 20:37:09.239	info	instance system.adapter.javascript.0 started with pid 73225
    host.ioBroker02
    2022-01-28 20:37:06.743	info	instance system.adapter.javascript.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)
    
    javascript.0
    2022-01-28 20:37:06.204	info	Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
    
    javascript.0
    2022-01-28 20:37:06.203	info	terminating
    
    javascript.0
    2022-01-28 20:37:06.200	info	Stop script script.js.001-VIS.Wetter.Wetter_DD_-_DWD-Regenradar
    
    javascript.0
    2022-01-28 20:37:06.199	info	Stop script script.js.001-VIS.Wetter.Wetter_GRH_-_Überschriften
    
    javascript.0
    2022-01-28 20:37:06.200	info	Stop script script.js.001-VIS.Wetter.Wetter_DD_-_DWD-Regenradar
    
    javascript.0
    2022-01-28 20:37:06.198	info	Stop script script.js.001-VIS.Welche_Lampen_sind_an
    
    javascript.0
    2022-01-28 20:37:06.199	info	Stop script script.js.001-VIS.Wetter.Wetter_GRH_-_Überschriften
    
    javascript.0
    2022-01-28 20:37:06.197	info	Stop script script.js.01-Stube.Fernbedienungen.AV-Receiver_-_Lautstärke
    
    javascript.0
    2022-01-28 20:37:06.200	info	Stop script script.js.001-VIS.Wetter.Wetter_DD_-_DWD-Regenradar
    
    javascript.0
    2022-01-28 20:37:06.198	info	Stop script script.js.001-VIS.Welche_Lampen_sind_an
    
    javascript.0
    2022-01-28 20:37:06.196	info	Stop script script.js.01-Stube.Lampen.Stehlampe_-_An_Aus
    
    javascript.0
    2022-01-28 20:37:06.199	info	Stop script script.js.001-VIS.Wetter.Wetter_GRH_-_Überschriften
    
    javascript.0
    2022-01-28 20:37:06.197	info	Stop script script.js.01-Stube.Fernbedienungen.AV-Receiver_-_Lautstärke
    
    javascript.0
    2022-01-28 20:37:06.195	info	Stop script script.js.06-Autos.Telegram_-_Tankerinnerung
    
    javascript.0
    2022-01-28 20:37:06.200	info	Stop script script.js.001-VIS.Wetter.Wetter_DD_-_DWD-Regenradar
    
    javascript.0
    2022-01-28 20:37:06.198	info	Stop script script.js.001-VIS.Welche_Lampen_sind_an
    
    javascript.0
    2022-01-28 20:37:06.196	info	Stop script script.js.01-Stube.Lampen.Stehlampe_-_An_Aus
    
    javascript.0
    2022-01-28 20:37:06.199	info	Stop script script.js.001-VIS.Wetter.Wetter_GRH_-_Überschriften
    
    javascript.0
    2022-01-28 20:37:06.197	info	Stop script script.js.01-Stube.Fernbedienungen.AV-Receiver_-_Lautstärke
    
    javascript.0
    2022-01-28 20:37:06.195	info	Stop script script.js.06-Autos.Telegram_-_Tankerinnerung
    
    javascript.0
    2022-01-28 20:37:06.200	info	Stop script script.js.001-VIS.Wetter.Wetter_DD_-_DWD-Regenradar
    
    javascript.0
    2022-01-28 20:37:06.198	info	Stop script script.js.001-VIS.Welche_Lampen_sind_an
    
    javascript.0
    2022-01-28 20:37:06.196	info	Stop script script.js.01-Stube.Lampen.Stehlampe_-_An_Aus
    
    javascript.0
    2022-01-28 20:37:06.199	info	Stop script script.js.001-VIS.Wetter.Wetter_GRH_-_Überschriften
    
    javascript.0
    2022-01-28 20:37:06.197	info	Stop script script.js.01-Stube.Fernbedienungen.AV-Receiver_-_Lautstärke
    
    javascript.0
    2022-01-28 20:37:06.195	info	Stop script script.js.06-Autos.Telegram_-_Tankerinnerung
    
    javascript.0
    2022-01-28 20:37:06.200	info	Stop script script.js.001-VIS.Wetter.Wetter_DD_-_DWD-Regenradar
    
    javascript.0
    2022-01-28 20:37:06.198	info	Stop script script.js.001-VIS.Welche_Lampen_sind_an
    
    javascript.0
    2022-01-28 20:37:06.196	info	Stop script script.js.01-Stube.Lampen.Stehlampe_-_An_Aus
    
    javascript.0
    2022-01-28 20:37:06.199	info	Stop script script.js.001-VIS.Wetter.Wetter_GRH_-_Überschriften
    
    javascript.0
    2022-01-28 20:37:06.197	info	Stop script script.js.01-Stube.Fernbedienungen.AV-Receiver_-_Lautstärke
    
    javascript.0
    2022-01-28 20:37:06.195	info	Stop script script.js.06-Autos.Telegram_-_Tankerinnerung
    
    javascript.0
    2022-01-28 20:37:06.200	info	Stop script script.js.001-VIS.Wetter.Wetter_DD_-_DWD-Regenradar
    
    javascript.0
    2022-01-28 20:37:06.198	info	Stop script script.js.001-VIS.Welche_Lampen_sind_an
    
    javascript.0
    2022-01-28 20:37:06.196	info	Stop script script.js.01-Stube.Lampen.Stehlampe_-_An_Aus
    
    javascript.0
    2022-01-28 20:37:06.199	info	Stop script script.js.001-VIS.Wetter.Wetter_GRH_-_Überschriften
    
    javascript.0
    2022-01-28 20:37:06.197	info	Stop script script.js.01-Stube.Fernbedienungen.AV-Receiver_-_Lautstärke
    
    javascript.0
    2022-01-28 20:37:06.195	info	Stop script script.js.06-Autos.Telegram_-_Tankerinnerung
    
    javascript.0
    2022-01-28 20:37:06.200	info	Stop script script.js.001-VIS.Wetter.Wetter_DD_-_DWD-Regenradar
    
    javascript.0
    2022-01-28 20:37:06.198	info	Stop script script.js.001-VIS.Welche_Lampen_sind_an
    
    javascript.0
    2022-01-28 20:37:06.196	info	Stop script script.js.01-Stube.Lampen.Stehlampe_-_An_Aus
    
    javascript.0
    2022-01-28 20:37:06.199	info	Stop script script.js.001-VIS.Wetter.Wetter_GRH_-_Überschriften
    
    javascript.0
    2022-01-28 20:37:06.197	info	Stop script script.js.01-Stube.Fernbedienungen.AV-Receiver_-_Lautstärke
    
    javascript.0
    2022-01-28 20:37:06.195	info	Stop script script.js.06-Autos.Telegram_-_Tankerinnerung
    
    javascript.0
    2022-01-28 20:37:06.200	info	Stop script script.js.001-VIS.Wetter.Wetter_DD_-_DWD-Regenradar
    
    javascript.0
    2022-01-28 20:37:06.198	info	Stop script script.js.001-VIS.Welche_Lampen_sind_an
    
    javascript.0
    2022-01-28 20:37:06.196	info	Stop script script.js.01-Stube.Lampen.Stehlampe_-_An_Aus
    
    javascript.0
    2022-01-28 20:37:06.200	info	Stop script script.js.06-Autos.Scala_-_Tabelle-Status
    
    javascript.0
    2022-01-28 20:37:06.200	info	Stop script script.js.001-VIS.Wetter.Wetter_DD_-_Es_regnet_oder_schneit_oder_stürmt
    
    javascript.0
    2022-01-28 20:37:06.199	info	Stop script script.js.001-VIS.Wetter.Wetter_GRH_-_Überschriften
    
    javascript.0
    2022-01-28 20:37:06.197	info	Stop script script.js.01-Stube.Fernbedienungen.AV-Receiver_-_Lautstärke
    
    javascript.0
    2022-01-28 20:37:06.195	info	Stop script script.js.06-Autos.Telegram_-_Tankerinnerung
    
    javascript.0
    2022-01-28 20:37:06.199	info	Stop script script.js.001-VIS.Wetter.Wetter_GRH_-_Werte
    
    javascript.0
    2022-01-28 20:37:06.199	info	Stop script script.js.001-VIS.Wetter.Wetter_GRH_-_MinMax-Temp
    
    javascript.0
    2022-01-28 20:37:06.199	info	Stop script script.js.001-VIS.Wetter.Wetter_DD_-_Werte
    
    javascript.0
    2022-01-28 20:37:06.199	info	Stop script script.js.001-VIS.Wetter.Wetter_DD_-_MinMax-Temp
    
    javascript.0
    2022-01-28 20:37:06.199	info	Stop script script.js.001-VIS.Wetter.Wetter_DD_-_Überschriften
    
    javascript.0
    2022-01-28 20:37:06.199	info	Stop script script.js.001-VIS.Welche_Steckdosen_sind_an
    
    javascript.0
    2022-01-28 20:37:06.198	info	Stop script script.js.001-VIS.Welche_Lampen_sind_an
    
    javascript.0
    2022-01-28 20:37:06.196	info	Stop script script.js.01-Stube.Lampen.Stehlampe_-_An_Aus
    
    javascript.0
    2022-01-28 20:37:06.198	info	Stop script script.js.02-Schlafzimmer.Dosen.TV-Bett
    
    javascript.0
    2022-01-28 20:37:06.198	info	Stop script script.js.02-Schlafzimmer.Taster.Sleeptimer_-_Button
    
    javascript.0
    2022-01-28 20:37:06.198	info	Stop script script.js.01-Stube.Fernbedienungen.Kino_an_aus
    
    javascript.0
    2022-01-28 20:37:06.198	info	Stop script script.js.01-Stube.Fernbedienungen.TV_Sender_schalten_-_Alexa
    
    javascript.0
    2022-01-28 20:37:06.198	info	Stop script script.js.01-Stube.Fernbedienungen.TV_Kanal_-_Hoch_Runter
    
    javascript.0
    2022-01-28 20:37:06.197	info	Stop script script.js.01-Stube.Fernbedienungen.AV-Receiver_-_Lautstärke
    
    javascript.0
    2022-01-28 20:37:06.195	info	Stop script script.js.06-Autos.Telegram_-_Tankerinnerung
    
    javascript.0
    2022-01-28 20:37:06.197	info	Stop script script.js.02-Schlafzimmer.Schalter.Schlafzimmerlampe
    
    javascript.0
    2022-01-28 20:37:06.197	info	Stop script script.js.01-Stube.Schalter.Lampe-Sofatisch
    
    javascript.0
    2022-01-28 20:37:06.197	info	Stop script script.js.01-Stube.Schalter.Lampe-Esstisch
    
    javascript.0
    2022-01-28 20:37:06.196	info	Stop script script.js.01-Stube.Lampen.Stehlampe_-_An_Aus
    
    javascript.0
    2022-01-28 20:37:06.196	info	Stop script script.js.06-Autos.Kodiaq_-_Tabelle_Türen-Fenster
    
    javascript.0
    2022-01-28 20:37:06.196	info	Stop script script.js.06-Autos.Kodiaq_-_Tabelle-Status
    
    javascript.0
    2022-01-28 20:37:06.196	info	Stop script script.js.001-VIS.Tankstellen_-_offen-geschlossen
    
    javascript.0
    2022-01-28 20:37:06.195	info	Stop script script.js.06-Autos.Telegram_-_Tankerinnerung
    
    javascript.0
    2022-01-28 20:37:06.195	info	Stop script script.js.06-Autos.Telegram_-_Standortwechsel
    
    javascript.0
    2022-01-28 20:37:06.195	info	Stop script script.js.06-Autos.Kodiaq_-_Datenpunkte_Tueren-Fenster
    
    javascript.0
    2022-01-28 20:37:06.194	info	Stop script script.js.06-Autos.Kodiaq_-_Standheizung
    
    javascript.0
    2022-01-28 20:37:06.194	info	Stop script script.js.06-Autos.Scala_-_Datenpunkte_anlegen
    
    javascript.0
    2022-01-28 20:37:06.194	info	Stop script script.js.06-Autos.Kodiaq_-_Datenpunkte_anlegen
    
    javascript.0
    2022-01-28 20:37:06.194	info	Stop script script.js.03-Flur-Kammer.Kammerlicht_schalten
    
    javascript.0
    2022-01-28 20:37:06.193	info	Stop script script.js.01-Stube.Lampen.Zeitplan_-_Leuchtbaum
    
    javascript.0
    2022-01-28 20:37:06.190	info	Got terminate signal TERMINATE_YOURSELF
    host.ioBroker02
    2022-01-28 20:37:06.197	info	stopInstance system.adapter.javascript.0 send kill signal
    host.ioBroker02
    2022-01-28 20:37:06.187	info	stopInstance system.adapter.javascript.0 (force=false, process=true)
    
    GlasfaserG Offline
    GlasfaserG Offline
    Glasfaser
    schrieb am zuletzt editiert von
    #99

    @wszene

    Fehler gefunden ... trage es oben ein :

    1c1dba9e-f300-4f32-afb3-a5a6fbab2c1a-grafik.png

    Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

    WszeneW 1 Antwort Letzte Antwort
    0
    • GlasfaserG Glasfaser

      @wszene

      Fehler gefunden ... trage es oben ein :

      1c1dba9e-f300-4f32-afb3-a5a6fbab2c1a-grafik.png

      WszeneW Offline
      WszeneW Offline
      Wszene
      schrieb am zuletzt editiert von
      #100

      @glasfaser sagte in Material Design Widgets: Adapter Status:

      @wszene

      Fehler gefunden ... trage es oben ein :

      1c1dba9e-f300-4f32-afb3-a5a6fbab2c1a-grafik.png

      Sehr schön das scheint es gewesen zu sein

      Jetzt hat sich auch der Datenpunkt "jsonList" gefüllt
      Aber die anderen 3 bleiben leer

      Meine Hard- & Software:

      • MSI Cubi 5 10M-049DE mit Proxmox
      • CC2652P Zigbee Stick
      • Steckdosen mit Tasmota und Zigbee
      • Lichtschalter mit Tasmota
      • IKEA TRÅDFRI Glühbirnen
      • Aqara Sensoren
      GlasfaserG 1 Antwort Letzte Antwort
      0
      • WszeneW Wszene

        @glasfaser sagte in Material Design Widgets: Adapter Status:

        @wszene

        Fehler gefunden ... trage es oben ein :

        1c1dba9e-f300-4f32-afb3-a5a6fbab2c1a-grafik.png

        Sehr schön das scheint es gewesen zu sein

        Jetzt hat sich auch der Datenpunkt "jsonList" gefüllt
        Aber die anderen 3 bleiben leer

        GlasfaserG Offline
        GlasfaserG Offline
        Glasfaser
        schrieb am zuletzt editiert von Glasfaser
        #101

        @wszene sagte in Material Design Widgets: Adapter Status:

        Aber die anderen 3 bleiben leer

        Die werden erst mit dem View gefüllt ( Auswahl .... )

        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

        WszeneW 1 Antwort Letzte Antwort
        0
        • GlasfaserG Glasfaser

          @wszene sagte in Material Design Widgets: Adapter Status:

          Aber die anderen 3 bleiben leer

          Die werden erst mit dem View gefüllt ( Auswahl .... )

          WszeneW Offline
          WszeneW Offline
          Wszene
          schrieb am zuletzt editiert von
          #102

          @glasfaser sagte in Material Design Widgets: Adapter Status:

          @wszene sagte in Material Design Widgets: Adapter Status:

          Aber die anderen 3 bleiben leer

          Die werden erst mit dem View gefüllt ( Auswahl .... )

          OK ich habe die View mal importiert aber die DPs bleiben leer ich habe die View auch aufgerufen
          Muss ich irgendwo meine eigenen DPs angeben ich habe nur gefunden wo ich die JsonList einfügen muss

          Meine Hard- & Software:

          • MSI Cubi 5 10M-049DE mit Proxmox
          • CC2652P Zigbee Stick
          • Steckdosen mit Tasmota und Zigbee
          • Lichtschalter mit Tasmota
          • IKEA TRÅDFRI Glühbirnen
          • Aqara Sensoren
          GlasfaserG 1 Antwort Letzte Antwort
          0
          • WszeneW Wszene

            @glasfaser sagte in Material Design Widgets: Adapter Status:

            @wszene sagte in Material Design Widgets: Adapter Status:

            Aber die anderen 3 bleiben leer

            Die werden erst mit dem View gefüllt ( Auswahl .... )

            OK ich habe die View mal importiert aber die DPs bleiben leer ich habe die View auch aufgerufen
            Muss ich irgendwo meine eigenen DPs angeben ich habe nur gefunden wo ich die JsonList einfügen muss

            GlasfaserG Offline
            GlasfaserG Offline
            Glasfaser
            schrieb am zuletzt editiert von
            #103

            @wszene

            hier bei den beiden Widgets

            aa14f292-f0ca-47a4-8515-7e5d841dd0fc-grafik.png

            Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

            WszeneW 1 Antwort Letzte Antwort
            0
            • GlasfaserG Glasfaser

              @wszene

              hier bei den beiden Widgets

              aa14f292-f0ca-47a4-8515-7e5d841dd0fc-grafik.png

              WszeneW Offline
              WszeneW Offline
              Wszene
              schrieb am zuletzt editiert von Wszene
              #104

              @glasfaser sagte in Material Design Widgets: Adapter Status:

              @wszene

              hier bei den beiden Widgets

              aa14f292-f0ca-47a4-8515-7e5d841dd0fc-grafik.png

              Ja wenn ich da Filter oder Sortiere passiert leider nichts

              PS:
              Habe gerade im Log gesehen das er die falschen DPs ansprechen will

              
              web.0
              2022-01-28 21:03:14.802	warn	State "0_userdata.0.vis.AdapterStatus.filterMode" has no existing object, this might lead to an error in future versions
              
              web.0
              2022-01-28 21:02:49.672	warn	State "0_userdata.0.vis.AdapterStatus.sortMode" has no existing object, this might lead to an error in future versions
              

              Meine Hard- & Software:

              • MSI Cubi 5 10M-049DE mit Proxmox
              • CC2652P Zigbee Stick
              • Steckdosen mit Tasmota und Zigbee
              • Lichtschalter mit Tasmota
              • IKEA TRÅDFRI Glühbirnen
              • Aqara Sensoren
              GlasfaserG 2 Antworten Letzte Antwort
              0
              • WszeneW Wszene

                @glasfaser sagte in Material Design Widgets: Adapter Status:

                @wszene

                hier bei den beiden Widgets

                aa14f292-f0ca-47a4-8515-7e5d841dd0fc-grafik.png

                Ja wenn ich da Filter oder Sortiere passiert leider nichts

                PS:
                Habe gerade im Log gesehen das er die falschen DPs ansprechen will

                
                web.0
                2022-01-28 21:03:14.802	warn	State "0_userdata.0.vis.AdapterStatus.filterMode" has no existing object, this might lead to an error in future versions
                
                web.0
                2022-01-28 21:02:49.672	warn	State "0_userdata.0.vis.AdapterStatus.sortMode" has no existing object, this might lead to an error in future versions
                
                GlasfaserG Offline
                GlasfaserG Offline
                Glasfaser
                schrieb am zuletzt editiert von
                #105

                @wszene

                Hast du dort ... im Vis Editor bei den beiden Widgets deine Datenpunkte eingetragen !?

                Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                1 Antwort Letzte Antwort
                0
                • WszeneW Wszene

                  @glasfaser sagte in Material Design Widgets: Adapter Status:

                  @wszene

                  hier bei den beiden Widgets

                  aa14f292-f0ca-47a4-8515-7e5d841dd0fc-grafik.png

                  Ja wenn ich da Filter oder Sortiere passiert leider nichts

                  PS:
                  Habe gerade im Log gesehen das er die falschen DPs ansprechen will

                  
                  web.0
                  2022-01-28 21:03:14.802	warn	State "0_userdata.0.vis.AdapterStatus.filterMode" has no existing object, this might lead to an error in future versions
                  
                  web.0
                  2022-01-28 21:02:49.672	warn	State "0_userdata.0.vis.AdapterStatus.sortMode" has no existing object, this might lead to an error in future versions
                  
                  GlasfaserG Offline
                  GlasfaserG Offline
                  Glasfaser
                  schrieb am zuletzt editiert von
                  #106

                  @wszene sagte in Material Design Widgets: Adapter Status:

                  State "0_userdata.0.vis.AdapterStatus.filterMode" has no existing object, t

                  und genau das meinte ich !

                  Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                  WszeneW 1 Antwort Letzte Antwort
                  0
                  • GlasfaserG Glasfaser

                    @wszene sagte in Material Design Widgets: Adapter Status:

                    State "0_userdata.0.vis.AdapterStatus.filterMode" has no existing object, t

                    und genau das meinte ich !

                    WszeneW Offline
                    WszeneW Offline
                    Wszene
                    schrieb am zuletzt editiert von
                    #107

                    @glasfaser sagte in Material Design Widgets: Adapter Status:

                    @wszene sagte in Material Design Widgets: Adapter Status:

                    State "0_userdata.0.vis.AdapterStatus.filterMode" has no existing object, t

                    und genau das meinte ich !

                    Ja aber wo muss ich denn meinen DP im Widget einfügen

                    Meine Hard- & Software:

                    • MSI Cubi 5 10M-049DE mit Proxmox
                    • CC2652P Zigbee Stick
                    • Steckdosen mit Tasmota und Zigbee
                    • Lichtschalter mit Tasmota
                    • IKEA TRÅDFRI Glühbirnen
                    • Aqara Sensoren
                    GlasfaserG 1 Antwort Letzte Antwort
                    0
                    • WszeneW Wszene

                      @glasfaser sagte in Material Design Widgets: Adapter Status:

                      @wszene sagte in Material Design Widgets: Adapter Status:

                      State "0_userdata.0.vis.AdapterStatus.filterMode" has no existing object, t

                      und genau das meinte ich !

                      Ja aber wo muss ich denn meinen DP im Widget einfügen

                      GlasfaserG Offline
                      GlasfaserG Offline
                      Glasfaser
                      schrieb am zuletzt editiert von
                      #108

                      @wszene

                      7d984eaa-f4b3-4205-add6-34d6070f0b58-grafik.png

                      cef478e4-9526-4d4c-a32b-64184edbac47-grafik.png

                      Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                      WszeneW 1 Antwort Letzte Antwort
                      0
                      • GlasfaserG Glasfaser

                        @wszene

                        7d984eaa-f4b3-4205-add6-34d6070f0b58-grafik.png

                        cef478e4-9526-4d4c-a32b-64184edbac47-grafik.png

                        WszeneW Offline
                        WszeneW Offline
                        Wszene
                        schrieb am zuletzt editiert von
                        #109

                        @glasfaser
                        Danke jetzt geht es

                        Ich sollte wohl doch ins Bett gehen und morgen weiter machen
                        Seid 2Uhr wach dann sollte man soetwas um diese Zeit nicht mehr machen

                        Aber nochmal 1000Dank für deine Geduld

                        Meine Hard- & Software:

                        • MSI Cubi 5 10M-049DE mit Proxmox
                        • CC2652P Zigbee Stick
                        • Steckdosen mit Tasmota und Zigbee
                        • Lichtschalter mit Tasmota
                        • IKEA TRÅDFRI Glühbirnen
                        • Aqara Sensoren
                        1 Antwort Letzte Antwort
                        1
                        • O Offline
                          O Offline
                          ostseeskipper
                          schrieb am zuletzt editiert von ostseeskipper
                          #110

                          Für alle die am Anfang Probleme mit den nicht angelegten Datenpunkten haben, werden hier automatisch angelegt wenn sie noch nicht da sind. Zeilen 11 bis 17

                          // Skript Einstellungen *************************************************************************************************************************************************
                          
                          // Imports -> müssen im Javascript Adapter unter 'Zusätzliche NPM-Module' eingetragen sein
                          
                          const moment = require("moment");
                          
                          const momentDurationFormatSetup = require("moment-duration-format");
                          
                          // Datenpunkte anlegen falls nicht vorhanden ********************************
                          
                          if ( !existsState("0_userdata.0.vis.AdapterStatus.jsonList")){createState("0_userdata.0.vis.AdapterStatus.jsonList", false, {type: 'string'})};
                           
                          if ( !existsState("0_userdata.0.vis.AdapterStatus.restartTrigger")){createState("0_userdata.0.vis.AdapterStatus.restartTrigger", false, {type: 'string'})};
                           
                          if ( !existsState("0_userdata.0.vis.AdapterStatus.sortMode")){createState("0_userdata.0.vis.AdapterStatus.sortMode", false, {type: 'string'})};
                          
                          if ( !existsState("0_userdata.0.vis.AdapterStatus.filterMode")){createState("0_userdata.0.vis.AdapterStatus.filterMode", false, {type: 'string'})};
                          
                           
                          
                          // Skript Einstellungen *************************************************************************************************************************************************
                          
                           
                          
                          let dpList = '0_userdata.0.vis.AdapterStatus.jsonList';                     // Datenpunkt für IconList Widget (Typ: Zeichenkette (String))
                          
                          let dpAdapterRestart = '0_userdata.0.vis.AdapterStatus.restartTrigger';     // Datenpunkt für Adapter restart (Typ: Zeichenkette (String))
                          
                           
                          
                          let dpSortMode = '0_userdata.0.vis.AdapterStatus.sortMode';                 // Datenpunkt für Sortieren (Typ: Zeichenkette (String))
                          
                          let dpFilterMode = '0_userdata.0.vis.AdapterStatus.filterMode';             // Datenpunkt für Filter (Typ: Zeichenkette (String))
                          
                           
                          
                          let adminUpdatesList = 'admin.0.info.updatesList';                          // Datenpunkt Admin Adapter für verfübare Updates der Adapter
                          
                           
                          
                          const checkInterval = 30;                                                   // Interval wie oft Status der Adapter aktualisiert werden soll (in Sekunden)
                          
                           
                          
                          let sprache = 'de';                                                         // Sprache für formatierung Dauer 
                          
                          let formatierungDauer = "dd[T] hh[h] mm[m]";                                // Formatierung der Dauer -> siehe momentjs library
                          
                           
                          
                          let neustarten = true;                                                      // true: Adapter wird neugestartet, false: Adapter wird gestoppt oder gestartet
                          
                           
                          
                          let farbeAdapterAktiv = 'green';                                            // Status Bar Farbe wenn Adapter aktiv ist
                          
                          let farbeAdapterNichtAktiv = 'FireBrick';                                   // Status Bar Farbe wenn Adapter nicht aktiv ist oder Fehler vorliegt
                          
                          let farbeAdapterDeaktiviert = 'darkgrey';                                   // Status Bar Farbe wenn Adapter deaktiviert ist
                          
                          let farbeAdapterNichtVerbunden = 'yellow';                                  // Status Bar Farbe wenn Adapter nicht verbunden ist
                          
                          let farbeAdapterZeitgesteuert = 'lightgreen';                               // Status Bar Farbe wenn Adapter zeitgesteuert ist
                          
                          let farbeAdapterErweiterung = '#44739e';                                    // Status Bar Farbe wenn Adapter Erweiterung ist
                          
                          let farbeAdapterSystem = '#44739e';                                         // Status Bar Farbe wenn Adapter mit System gestartet wird
                          
                           
                          
                          let sortResetAfter = 120;                                                   // Sortierung nach X Sekunden auf sortReset zurücksetzen (0=deaktiviert)
                          
                          let sortReset = 'memHeapUsed'                                               // Sortierung auf die zurückgesetzt werden soll
                          
                           
                          
                          let filterResetAfter = 120;                                                 // Filter nach X Sekunden zurücksetzen (0=deaktiviert)
                          
                           
                          
                          // **********************************************************************************************************************************************************************
                          
                           
                          
                           
                          
                          // Fomate für moment Lib
                          
                          moment.locale(sprache);
                          
                           
                          
                          // auf .alive Änderungen hören
                          
                          let aliveSelector = `[id=system.adapter.*.alive]`;
                          
                          let adapterAliveList = $(aliveSelector);
                          
                          if (adapterAliveList.length === 0) {
                          
                              // Fehlermeldung ausgeben, wenn selector kein result liefert
                          
                              console.error(`no result for selector '${aliveSelector}'`)
                          
                          } else {
                          
                              // listener nur für Änderung bei alive
                          
                              adapterAliveList.on(adapterStatus);
                          
                          }
                          
                           
                          
                          // auf .connection Änderungen hören
                          
                          let connectionSelector = `[id=*.info.connection]`;
                          
                          let adapterConnectionList = $(connectionSelector);
                          
                          if (adapterConnectionList.length === 0) {
                          
                              // Fehlermeldung ausgeben, wenn selector kein result liefert
                          
                              console.error(`no result for selector '${connectionSelector}'`)
                          
                          } else {
                          
                              // listener nur für Änderung bei alive
                          
                              adapterConnectionList.on(adapterStatus);
                          
                          }
                          
                           
                          
                          // auf .connected Änderungen hören
                          
                          let connectedSelector = `[id=system.adapter.*.connected]`;
                          
                          let adapterConnectedList = $(connectedSelector);
                          
                          if (adapterConnectedList.length === 0) {
                          
                              // Fehlermeldung ausgeben, wenn selector kein result liefert
                          
                              console.error(`no result for selector '${connectedSelector}'`)
                          
                          } else {
                          
                              // listener nur für Änderung bei alive
                          
                              adapterConnectedList.on(adapterStatus);
                          
                          }
                          
                           
                          
                          // auf Änderungen der Sortieung hören
                          
                          on({ id: dpSortMode, change: 'any' }, adapterStatus);
                          
                          on({ id: dpSortMode, change: 'any' }, resetSort);
                          
                           
                          
                          // auf Änderungen der Filter hören
                          
                          on({ id: dpFilterMode, change: 'any' }, adapterStatus);
                          
                          on({ id: dpFilterMode, change: 'any' }, resetFilter);
                          
                           
                          
                          // Funktion adapterStatus alle x Sekunden ausführen
                          
                          schedule('*/' + checkInterval + ' * * * * *', adapterStatus);
                          
                           
                          
                          function adapterStatus() {
                          
                              // Funktion um Status der Adapter abzurufen und als JSON String für das Material Design Widget IconList aufbereiten
                          
                              try {
                          
                                  let adapterList = [];
                          
                                  let updateList = myHelper().getStateValueIfExist(adminUpdatesList);
                          
                           
                          
                                  for (var i = 0; i <= adapterAliveList.length - 1; i++) {
                          
                                      let id = adapterAliveList[i].replace('.alive', '');
                          
                                      let obj = getObject(adapterAliveList[i].replace('.alive', ''));
                          
                           
                          
                                      let nameArray = id.replace('system.adapter.', '').split(".");
                          
                           
                          
                                      let name = nameArray[0];
                          
                                      name = name.charAt(0).toUpperCase() + name.slice(1);
                          
                           
                          
                                      let nameWithInstance = name;
                          
                                      let adapterInstance = nameArray[1];
                          
                                      if (parseInt(adapterInstance) > 0) {
                          
                                          nameWithInstance = name + '.' + adapterInstance;
                          
                                      }
                          
                           
                          
                                      let uptime = (existsState(id + '.uptime')) ? moment.duration(getState(id + '.uptime').val, 'seconds').format(formatierungDauer, 0) : '-';
                          
                                      let image = (myHelper().checkCommonPropertyExist(obj, 'icon')) ? `/${nameArray[0]}.admin/${obj.common.icon}` : 'image-off-outline';
                          
                           
                          
                                      let hasUpdates = updateList && updateList.includes(nameArray[0]);
                          
                                      let newVersion = (hasUpdates) ? '<span class="mdi mdi-update" style="color: #ec0909;"></span>' : '';
                          
                           
                          
                                      let text = `<div style="display: flex; flex-direction: row; line-height: 1.5; padding-right: 8px; align-items: center;">
                          
                                                      <div style="flex: 1">${newVersion} ${nameWithInstance}</div>
                          
                                                      <div style="color: grey; font-size: 12px; font-family: RobotoCondensed-LightItalic;">${myHelper().getCommonPropertyIfExist(obj, 'version', '-', 'v', '')}</div>
                          
                                                  </div>`
                          
                           
                          
                                      let subText = `<div style="display: flex; flex-direction: row; line-height: 1.3; padding-left: 1px; padding-right: 8px; align-items: center;">
                          
                                                          <div style="flex: 1;">CPU</div>
                          
                                                          <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic; text-align: right;">${myHelper().getStateValueIfExist(id + '.cpu', '-', '', ' %')}</div>
                          
                                                      </div>
                          
                                                      <div style="display: flex; flex-direction: row; line-height: 1.3; padding-left: 1px; padding-right: 8px; align-items: center;">
                          
                                                          <div style="flex: 1;">RAM total</div>
                          
                                                          <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic; text-align: right;">${myHelper().getStateValueIfExist(id + '.memHeapTotal', '-', '', ' MB')}</div>
                          
                                                      </div>
                          
                                                      <div style="display: flex; flex-direction: row; line-height: 1.3; padding-left: 1px; padding-right: 8px; align-items: center;">
                          
                                                          <div style="flex: 1;">RAM verwendet</div>
                          
                                                          <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic; text-align: right;">${myHelper().getStateValueIfExist(id + '.memHeapUsed', '-', '', ' MB')}</div>
                          
                                                      </div>
                          
                                                      <div style="display: flex; flex-direction: row; line-height: 1.3; padding-left: 1px; padding-right: 8px; align-items: center;">
                          
                                                          <div style="flex: 1;">RAM reserviert</div>
                          
                                                          <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic; text-align: right;">${myHelper().getStateValueIfExist(id + '.memRss', '-', '', ' MB')}</div>
                          
                                                      </div>
                          
                                                      <div style="display: flex; flex-direction: row; line-height: 1.3; padding-left: 1px; padding-right: 8px; align-items: center;">
                          
                                                          <div style="flex: 1;">Betriebszeit</div>
                          
                                                          <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic; text-align: right;">${uptime}</div>
                          
                                                      </div>
                          
                                                      <div style="display: flex; flex-direction: row; line-height: 1.3; padding-left: 1px; padding-right: 8px; align-items: center;">
                          
                                                          <div style="flex: 1;">Modus</div>
                          
                                                          <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic; text-align: right;">${myHelper().getCommonPropertyIfExist(obj, 'mode', '-')}</div>
                          
                                                      </div>`
                          
                           
                          
                                      let statusBarColor = farbeAdapterNichtAktiv;
                          
                                      let status = 3;
                          
                           
                          
                                      if (myHelper().getStateValueIfExist(adapterAliveList[i]) === 'true') {
                          
                                          statusBarColor = farbeAdapterAktiv;
                          
                                          status = 0;
                          
                           
                          
                                          if (existsState(id.replace('system.adapter.', '') + '.info.connection')) {
                          
                                              if (!getState(id.replace('system.adapter.', '') + '.info.connection').val) {
                          
                                                  statusBarColor = farbeAdapterNichtVerbunden;
                          
                                                  status = 4;
                          
                                              }
                          
                                          } else {
                          
                                              if (myHelper().getStateValueIfExist(adapterAliveList[i].replace('.alive', '.connected')) === 'false') {
                          
                                                  statusBarColor = farbeAdapterNichtVerbunden;
                          
                                                  status = 4;
                          
                                              }
                          
                                          }
                          
                                      }
                          
                           
                          
                                      if (myHelper().getCommonPropertyIfExist(obj, 'mode') === 'schedule') {
                          
                                          // Adapter ist zeitgesteuert
                          
                                          statusBarColor = farbeAdapterZeitgesteuert;
                          
                                          status = 1;
                          
                                      }
                          
                           
                          
                                      if (myHelper().getCommonPropertyIfExist(obj, 'mode') === 'extension') {
                          
                                          // Adapter ist Extension
                          
                                          statusBarColor = farbeAdapterErweiterung;
                          
                                          status = 1;
                          
                                      }
                          
                           
                          
                                      if (myHelper().getCommonPropertyIfExist(obj, 'mode') === 'once') {
                          
                                          // Adapter wird mit System gestartet
                          
                                          statusBarColor = farbeAdapterSystem;
                          
                                          status = 1;
                          
                                      }
                          
                           
                          
                                      if (myHelper().getCommonPropertyIfExist(obj, 'enabled', false).toString() === 'false') {
                          
                                          // Adapter ist deaktiviert
                          
                                          statusBarColor = farbeAdapterDeaktiviert;
                          
                                          status = 2;
                          
                                      }
                          
                           
                          
                                      adapterList.push({
                          
                                          text: text,
                          
                                          subText: subText,
                          
                                          image: image,
                          
                                          listType: "buttonState",
                          
                                          objectId: dpAdapterRestart,
                          
                                          buttonStateValue: id,
                          
                                          statusBarColor: statusBarColor,
                          
                                          showValueLabel: false,
                          
                                          name: name,
                          
                                          mode: myHelper().getCommonPropertyIfExist(obj, 'mode'),
                          
                                          hasUpdates: hasUpdates,
                          
                                          cpu: parseFloat(myHelper().getStateValueIfExist(id + '.cpu', '0')),
                          
                                          memHeapTotal: parseFloat(myHelper().getStateValueIfExist(id + '.memHeapTotal', '0')),
                          
                                          memHeapUsed: parseFloat(myHelper().getStateValueIfExist(id + '.memHeapUsed', '0')),
                          
                                          memRss: parseFloat(myHelper().getStateValueIfExist(id + '.memRss', '0')),
                          
                                          uptime: parseFloat(myHelper().getStateValueIfExist(id + '.uptime', 0)),
                          
                                          status: status,
                          
                                          lockEnabled: true
                          
                                      })
                          
                                  }
                          
                           
                          
                                  let sortMode = myHelper().getStateValueIfExist(dpSortMode, 'name');
                          
                           
                          
                                  if (sortMode === 'name' || sortMode === 'mode') {
                          
                                      adapterList.sort(function (a, b) {
                          
                                          return a[sortMode].toLowerCase() == b[sortMode].toLowerCase() ? 0 : +(a[sortMode].toLowerCase() > b[sortMode].toLowerCase()) || -1;
                          
                                      });
                          
                                  } else if (sortMode === 'hasUpdates' || sortMode === 'cpu' || sortMode === 'memHeapTotal' || sortMode === 'memHeapUsed' || sortMode === 'memRss' || sortMode === 'uptime' || sortMode === 'status') {
                          
                                      adapterList.sort(function (a, b) {
                          
                                          return a[sortMode] == b[sortMode] ? 0 : +(a[sortMode] < b[sortMode]) || -1;
                          
                                      });
                          
                                  } else {
                          
                                      // default: nach name sortieren
                          
                                      sortMode = 'name'
                          
                                      adapterList.sort(function (a, b) {
                          
                                          return a[sortMode].toLowerCase() == b[sortMode].toLowerCase() ? 0 : +(a[sortMode].toLowerCase() > b[sortMode].toLowerCase()) || -1;
                          
                                      });
                          
                                  }
                          
                           
                          
                                  // Filter: not connected, updates, deaktiviert, aktiviert
                          
                           
                          
                                  let filterMode = myHelper().getStateValueIfExist(dpFilterMode, null);
                          
                           
                          
                                  if (filterMode && filterMode !== null && filterMode !== '') {
                          
                                      if (filterMode === 'hasUpdates') {
                          
                                          adapterList = adapterList.filter(function (item) {
                          
                                              return item.hasUpdates === true;
                          
                                          });
                          
                                      } else if (filterMode === 'notConnected') {
                          
                                          adapterList = adapterList.filter(function (item) {
                          
                                              return item.status === 4;
                          
                                          });
                          
                                      } else if (filterMode === 'deactivated') {
                          
                                          adapterList = adapterList.filter(function (item) {
                          
                                              return item.status === 2;
                          
                                          });
                          
                                      } else if (filterMode === 'activated') {
                          
                                          adapterList = adapterList.filter(function (item) {
                          
                                              return item.status <= 1;
                          
                                          });
                          
                                      }
                          
                                  }
                          
                           
                          
                                  let result = JSON.stringify(adapterList);
                          
                                  if (existsState(dpList) && getState(dpList).val !== result) {
                          
                                      setState(dpList, result, true);
                          
                                  } else {
                          
                                      setState(dpList, result, true);
                          
                                  }
                          
                           
                          
                              } catch (err) {
                          
                                  console.error(`[adapterStatus] error: ${err.message}, stack: ${err.stack}`);
                          
                              }
                          
                          }
                          
                           
                          
                          // Beim Staren des Skriptes Adapter Status abrufen
                          
                          adapterStatus();
                          
                           
                          
                          // Funktion um Adapter zu starten / neu starten
                          
                          on({ id: dpAdapterRestart }, function (obj) {
                          
                              var adapter = getObject(obj.state.val.toString());
                          
                           
                          
                              if (neustarten) {
                          
                                  if (adapter.common && adapter.common.enabled === false) {
                          
                                      // Adapter deaktiviert -> starten
                          
                                      adapter.common.enabled = true;
                          
                                  }
                          
                              } else {
                          
                                  if (adapter.common && adapter.common.enabled) {
                          
                                      adapter.common.enabled = !adapter.common.enabled;
                          
                                  } else {
                          
                                      adapter.common.enabled = true;
                          
                                  }
                          
                              }
                          
                           
                          
                              setObject(obj.state.val, adapter);
                          
                              console.log(`${obj.state.val.replace('system.adapter.', '')} neugestartet`);
                          
                          });
                          
                           
                          
                           
                          
                          function resetSort() {
                          
                              let sortMode = myHelper().getStateValueIfExist(dpSortMode, null);
                          
                           
                          
                              if (sortResetAfter > 0) {
                          
                                  setTimeout(function () {
                          
                                      if (sortMode !== null && sortMode === myHelper().getStateValueIfExist(dpSortMode, null)) {
                          
                                          setState(dpSortMode, sortReset);
                          
                                      }
                          
                                  }, sortResetAfter * 1000);
                          
                              }
                          
                          }
                          
                           
                          
                          function resetFilter() {
                          
                              let filterMode = myHelper().getStateValueIfExist(dpFilterMode, null);
                          
                           
                          
                              if (filterResetAfter > 0) {
                          
                                  setTimeout(function () {
                          
                                      if (filterMode !== null && filterMode === myHelper().getStateValueIfExist(dpFilterMode, null)) {
                          
                                          setState(dpFilterMode, '');
                          
                                      }
                          
                                  }, filterResetAfter * 1000);
                          
                              }
                          
                          }
                          
                           
                          
                          function myHelper() {
                          
                              return {
                          
                                  getStateValueIfExist: function (id, nullValue = undefined, prepand = '', append = '') {
                          
                                      if (existsState(id)) {
                          
                                          return prepand + getState(id).val + append;
                          
                                      } else {
                          
                                          return nullValue;
                          
                                      }
                          
                                  },
                          
                                  getCommonPropertyIfExist: function (object, prop, nullValue = undefined, prepand = '', append = '') {
                          
                                      if (myHelper().checkCommonPropertyExist(object, prop)) {
                          
                                          return prepand + object.common[prop] + append;
                          
                                      } else {
                          
                                          return nullValue;
                          
                                      }
                          
                                  },
                          
                                  checkCommonPropertyExist: function (object, prop) {
                          
                                      if (object && object.common && object.common[prop]) {
                          
                                          return true;
                          
                                      } else {
                          
                                          return false;
                          
                                      }
                          
                                  }
                          
                              }
                          
                          }
                          
                          
                          
                          1 Antwort Letzte Antwort
                          0
                          • daes10D Offline
                            daes10D Offline
                            daes10
                            schrieb am zuletzt editiert von
                            #111

                            @ostseeskipper Vielen Dank, hat bei mir auch gut funktioniert.

                            Kann mir aber jemand helfen, warum bei mir überall undefined angezeigt wird?
                            Hab ich eine Einstellung übersehen? Weil alle Daten werden korrekt abgefragt.

                            f08e32c9-4e43-4d61-8ed1-99bd834d78a2-grafik.png

                            I M L 3 Antworten Letzte Antwort
                            0
                            • daes10D daes10

                              @ostseeskipper Vielen Dank, hat bei mir auch gut funktioniert.

                              Kann mir aber jemand helfen, warum bei mir überall undefined angezeigt wird?
                              Hab ich eine Einstellung übersehen? Weil alle Daten werden korrekt abgefragt.

                              f08e32c9-4e43-4d61-8ed1-99bd834d78a2-grafik.png

                              I Offline
                              I Offline
                              Idefix01
                              schrieb am zuletzt editiert von
                              #112

                              Hallöchen, ein super Script.

                              Nur das mit der Farbe für die Werte funktioniert bei mir nicht, diese bleibt weiterhin grau

                              // Imports -> müssen im Javascript Adapter unter 'Zusätzliche NPM-Module' eingetragen sein
                              const moment = require("moment");
                              const momentDurationFormatSetup = require("moment-duration-format");
                               
                               
                              // Skript Einstellungen *************************************************************************************************************************************************
                               
                              let dpList = 'javascript.0.vis.AdapterStatus.jsonList';                     // Datenpunkt für IconList Widget (Typ: Zeichenkette (String))
                              let dpAdapterRestart = 'javascript.0.vis.AdapterStatus.restartTrigger';     // Datenpunkt für Adapter restart (Typ: Zeichenkette (String))
                              let dpSortMode = 'javascript.0.vis.AdapterStatus.sortMode';                 // Datenpunkt für Sortieren (Typ: Zeichenkette (String))
                              let dpFilterMode = 'javascript.0.vis.AdapterStatus.filterMode';             // Datenpunkt für Filter (Typ: Zeichenkette (String))
                              let adminUpdatesList = 'admin.0.info.updatesList';                     // Datenpunkt Admin Adapter für verfübare Updates der Adapter
                               
                              const checkInterval = 30;                                                   // Interval wie oft Status der Adapter aktualisiert werden soll (in Sekunden)
                               
                              let sprache = 'de';                                                         // Sprache für formatierung Dauer 
                              let formatierungDauer = "dd[T] hh[h] mm[m]";                                // Formatierung der Dauer -> siehe momentjs library
                               
                              let neustarten = true;                                                      // true: Adapter wird neugestartet, false: Adapter wird gestoppt oder gestartet
                               
                              let farbeAdapterAktiv = 'green';                                            // Status Bar Farbe wenn Adapter aktiv ist
                              let farbeAdapterNichtAktiv = 'FireBrick';                                   // Status Bar Farbe wenn Adapter nicht aktiv ist oder Fehler vorliegt
                              let farbeAdapterDeaktiviert = 'darkgrey';                                   // Status Bar Farbe wenn Adapter deaktiviert ist
                              let farbeAdapterNichtVerbunden = 'yellow';                                  // Status Bar Farbe wenn Adapter nicht verbunden ist
                              let farbeAdapterZeitgesteuert = 'lightgreen';                               // Status Bar Farbe wenn Adapter zeitgesteuert ist
                              let farbeAdapterErweiterung = '#44739e';                                    // Status Bar Farbe wenn Adapter Erweiterung ist
                              let farbeAdapterSystem = '#44739e';                                         // Status Bar Farbe wenn Adapter mit System gestartet wird
                              let farbeAdapterWerte = '#ffffff';                                       // Sekundärfarbe Adapterwerte, einer muss auskommentiert sein !
                              
                              let sortResetAfter = 120;                                                   // Sortierung nach X Sekunden auf sortReset zurücksetzen (0=deaktiviert)
                              let sortReset = 'memHeapUsed'                                               // Sortierung auf die zurückgesetzt werden soll
                               
                              let filterResetAfter = 120;                                                 // Filter nach X Sekunden zurücksetzen (0=deaktiviert)
                              
                              
                              1 Antwort Letzte Antwort
                              0
                              • C Offline
                                C Offline
                                cst9
                                schrieb am zuletzt editiert von
                                #113

                                Hi,

                                bei mir ist das Problem, das wenn ich die Filter über ein mobiles Gerät anwähle, wird das Bild vergrößert sprich herangezoomt. Dabei spielt es auch keine Rolle ob man es über die App oder den Browser benutzt, es wird immer komischerweise immer herangezoomt.

                                Hat jemand das gleiche Problem und wie kann ich das abschalten?

                                Schöne Grüße

                                1 Antwort Letzte Antwort
                                0
                                • ScroungerS Scrounger

                                  Skript zur Anzeige des Adapter Status mit dem Material Design IconList Widget

                                  Mit diesem Skript wird ein json string erzeugt mit dem Status aller installierten Adapter. Diese Daten (Datenpunkt) kann dann im Material Design IconList Widget verwendet werden, um den Status der Adapter im VIS anzuzeigen.

                                  letzte Aktualierung: 04.03.2020

                                  AdapterStatus.gif

                                  Voraussetzung:

                                  • Material Design Widgets v0.2.62

                                  Funktionen:

                                  • Anzeige des Status aller Adapter (Aktiviert, Deakitivert, nicht verbunden, update verfügbar, etc.)
                                  • Anzeige von Werten der Adapter (Betriebszeit, Ram, etc.)
                                  • Neustarten / Starten / Stoppen von Adaptern
                                  • Sortier und Filter Funktion
                                  • Einstellungen, siehe im Skript Sektion Einstellungen, Funktion der Einstellungen ist dort als Kommentar beschrieben.

                                  Ist auch im Online Beispiel enthalten

                                  View zum importieren:

                                  {
                                    "settings": {
                                      "style": {
                                        "background_class": ""
                                      },
                                      "theme": "redmond",
                                      "sizex": "",
                                      "sizey": "",
                                      "gridSize": "",
                                      "snapType": null
                                    },
                                    "widgets": {
                                      "e00001": {
                                        "tpl": "tplVis-materialdesign-Icon-List",
                                        "data": {
                                          "g_fixed": false,
                                          "g_visibility": false,
                                          "g_css_font_text": false,
                                          "g_css_background": false,
                                          "g_css_shadow_padding": false,
                                          "g_css_border": false,
                                          "g_gestures": false,
                                          "g_signals": false,
                                          "g_last_change": false,
                                          "visibility-cond": "==",
                                          "visibility-val": 1,
                                          "visibility-groups-action": "hide",
                                          "wrapItems": true,
                                          "listItemDataMethod": "jsonStringObject",
                                          "countListItems": "1",
                                          "vibrateOnMobilDevices": "50",
                                          "listLayout": "card",
                                          "itemLayout": "horizontal",
                                          "listType0": "text",
                                          "showValueLabel0": "true",
                                          "listType1": "text",
                                          "showValueLabel1": "true",
                                          "signals-cond-0": "==",
                                          "signals-val-0": true,
                                          "signals-icon-0": "/vis/signals/lowbattery.png",
                                          "signals-icon-size-0": 0,
                                          "signals-blink-0": false,
                                          "signals-horz-0": 0,
                                          "signals-vert-0": 0,
                                          "signals-hide-edit-0": false,
                                          "signals-cond-1": "==",
                                          "signals-val-1": true,
                                          "signals-icon-1": "/vis/signals/lowbattery.png",
                                          "signals-icon-size-1": 0,
                                          "signals-blink-1": false,
                                          "signals-horz-1": 0,
                                          "signals-vert-1": 0,
                                          "signals-hide-edit-1": false,
                                          "signals-cond-2": "==",
                                          "signals-val-2": true,
                                          "signals-icon-2": "/vis/signals/lowbattery.png",
                                          "signals-icon-size-2": 0,
                                          "signals-blink-2": false,
                                          "signals-horz-2": 0,
                                          "signals-vert-2": 0,
                                          "signals-hide-edit-2": false,
                                          "lc-type": "last-change",
                                          "lc-is-interval": true,
                                          "lc-is-moment": false,
                                          "lc-format": "",
                                          "lc-position-vert": "top",
                                          "lc-position-horz": "right",
                                          "lc-offset-vert": 0,
                                          "lc-offset-horz": 0,
                                          "lc-font-size": "12px",
                                          "lc-font-family": "",
                                          "lc-font-style": "",
                                          "lc-bkg-color": "",
                                          "lc-color": "",
                                          "lc-border-width": "0",
                                          "lc-border-style": "",
                                          "lc-border-color": "",
                                          "lc-border-radius": 10,
                                          "lc-zindex": 0,
                                          "json_string_oid": "0_userdata.0.vis.AdapterStatus.jsonList",
                                          "maxItemsperRow": "6",
                                          "iconItemMinWidth": "300",
                                          "iconHeight": "60",
                                          "buttonHeight": "100",
                                          "labelFontSize": "22",
                                          "subLabelFontSize": "14",
                                          "subLabelFontColor": "#000000",
                                          "labelFontFamily": "RobotoCondensed-Regular",
                                          "subLabelFontFamily": "RobotoCondensed-Light",
                                          "horizontalIconContainerWidth": "120"
                                        },
                                        "style": {
                                          "left": "0px",
                                          "top": "50px",
                                          "width": "100%",
                                          "height": "calc(100% - 50px)",
                                          "overflow-x": "",
                                          "overflow-y": "auto",
                                          "z-index": "1"
                                        },
                                        "widgetSet": "materialdesign"
                                      },
                                      "e00002": {
                                        "tpl": "tplHtml",
                                        "data": {
                                          "g_fixed": false,
                                          "g_visibility": false,
                                          "g_css_font_text": false,
                                          "g_css_background": true,
                                          "g_css_shadow_padding": false,
                                          "g_css_border": false,
                                          "g_gestures": false,
                                          "g_signals": false,
                                          "g_last_change": false,
                                          "visibility-cond": "==",
                                          "visibility-val": 1,
                                          "visibility-groups-action": "hide",
                                          "refreshInterval": "0",
                                          "signals-cond-0": "==",
                                          "signals-val-0": true,
                                          "signals-icon-0": "/vis/signals/lowbattery.png",
                                          "signals-icon-size-0": 0,
                                          "signals-blink-0": false,
                                          "signals-horz-0": 0,
                                          "signals-vert-0": 0,
                                          "signals-hide-edit-0": false,
                                          "signals-cond-1": "==",
                                          "signals-val-1": true,
                                          "signals-icon-1": "/vis/signals/lowbattery.png",
                                          "signals-icon-size-1": 0,
                                          "signals-blink-1": false,
                                          "signals-horz-1": 0,
                                          "signals-vert-1": 0,
                                          "signals-hide-edit-1": false,
                                          "signals-cond-2": "==",
                                          "signals-val-2": true,
                                          "signals-icon-2": "/vis/signals/lowbattery.png",
                                          "signals-icon-size-2": 0,
                                          "signals-blink-2": false,
                                          "signals-horz-2": 0,
                                          "signals-vert-2": 0,
                                          "signals-hide-edit-2": false,
                                          "lc-type": "last-change",
                                          "lc-is-interval": true,
                                          "lc-is-moment": false,
                                          "lc-format": "",
                                          "lc-position-vert": "top",
                                          "lc-position-horz": "right",
                                          "lc-offset-vert": 0,
                                          "lc-offset-horz": 0,
                                          "lc-font-size": "12px",
                                          "lc-font-family": "",
                                          "lc-font-style": "",
                                          "lc-bkg-color": "",
                                          "lc-color": "",
                                          "lc-border-width": "0",
                                          "lc-border-style": "",
                                          "lc-border-color": "",
                                          "lc-border-radius": 10,
                                          "lc-zindex": 0
                                        },
                                        "style": {
                                          "left": "0",
                                          "top": "0",
                                          "width": "100%",
                                          "height": "50px",
                                          "background-color": "#44739e"
                                        },
                                        "widgetSet": "basic"
                                      },
                                      "e00003": {
                                        "tpl": "tplVis-materialdesign-Select",
                                        "data": {
                                          "oid": "0_userdata.0.vis.AdapterStatus.sortMode",
                                          "g_fixed": false,
                                          "g_visibility": false,
                                          "g_css_font_text": false,
                                          "g_css_background": false,
                                          "g_css_shadow_padding": false,
                                          "g_css_border": false,
                                          "g_gestures": false,
                                          "g_signals": false,
                                          "g_last_change": false,
                                          "visibility-cond": "==",
                                          "visibility-val": 1,
                                          "visibility-groups-action": "hide",
                                          "inputType": "text",
                                          "inputLayout": "regular",
                                          "showInputMessageAlways": "true",
                                          "showInputCounter": false,
                                          "clearIconShow": false,
                                          "listDataMethod": "jsonStringObject",
                                          "countSelectItems": "1",
                                          "listPosition": "bottom",
                                          "showSelectedIcon": "prepend-inner",
                                          "showValue": false,
                                          "signals-cond-0": "==",
                                          "signals-val-0": true,
                                          "signals-icon-0": "/vis/signals/lowbattery.png",
                                          "signals-icon-size-0": 0,
                                          "signals-blink-0": false,
                                          "signals-horz-0": 0,
                                          "signals-vert-0": 0,
                                          "signals-hide-edit-0": false,
                                          "signals-cond-1": "==",
                                          "signals-val-1": true,
                                          "signals-icon-1": "/vis/signals/lowbattery.png",
                                          "signals-icon-size-1": 0,
                                          "signals-blink-1": false,
                                          "signals-horz-1": 0,
                                          "signals-vert-1": 0,
                                          "signals-hide-edit-1": false,
                                          "signals-cond-2": "==",
                                          "signals-val-2": true,
                                          "signals-icon-2": "/vis/signals/lowbattery.png",
                                          "signals-icon-size-2": 0,
                                          "signals-blink-2": false,
                                          "signals-horz-2": 0,
                                          "signals-vert-2": 0,
                                          "signals-hide-edit-2": false,
                                          "lc-type": "last-change",
                                          "lc-is-interval": true,
                                          "lc-is-moment": false,
                                          "lc-format": "",
                                          "lc-position-vert": "top",
                                          "lc-position-horz": "right",
                                          "lc-offset-vert": 0,
                                          "lc-offset-horz": 0,
                                          "lc-font-size": "12px",
                                          "lc-font-family": "",
                                          "lc-font-style": "",
                                          "lc-bkg-color": "",
                                          "lc-color": "",
                                          "lc-border-width": "0",
                                          "lc-border-style": "",
                                          "lc-border-color": "",
                                          "lc-border-radius": 10,
                                          "lc-zindex": 0,
                                          "inputLabelText": "Sortieren nach",
                                          "inputLabelColor": "#ffffff",
                                          "inputLabelFontFamily": "RobotoCondensed-LightItalic",
                                          "collapseIconColor": "#ffffff",
                                          "collapseIconSize": "",
                                          "jsonStringObject": "[\n\t{\n\t\t\"text\": \"Adaptername\",\n\t\t\"value\": \"name\",\n\t\t\"icon\": \"sort-alphabetical\"\n\t},\n\t{\n\t\t\"text\": \"Status\",\n\t\t\"value\": \"status\",\n\t\t\"icon\": \"information-variant\"\n\t},\t\n\t{\n\t\t\"text\": \"Modus\",\n\t\t\"value\": \"mode\",\n\t\t\"icon\": \"view-dashboard\"\n\t},\n\t{\n\t\t\"text\": \"Updates verfügbar\",\n\t\t\"value\": \"hasUpdates\",\n\t\t\"icon\": \"package-down\"\n\t},\n\t{\n\t\t\"text\": \"CPU\",\n\t\t\"value\": \"cpu\",\n\t\t\"icon\": \"cpu-64-bit\"\n\t},\n\t{\n\t\t\"text\": \"RAM total\",\n\t\t\"value\": \"memHeapTotal\",\n\t\t\"icon\": \"memory\"\n\t},\n\t{\n\t\t\"text\": \"RAM verwendet\",\n\t\t\"value\": \"memHeapUsed\",\n\t\t\"icon\": \"memory\"\n\t},\n\t{\n\t\t\"text\": \"RAM reserviert\",\n\t\t\"value\": \"memRss\",\n\t\t\"icon\": \"memory\"\n\t},\n\t{\n\t\t\"text\": \"Betriebszeit\",\n\t\t\"value\": \"uptime\",\n\t\t\"icon\": \"clock-check-outline\"\n\t}\n]",
                                          "listPositionOffset": true,
                                          "inputLayoutBackgroundColor": "transparent",
                                          "inputLabelColorSelected": "#ffffff",
                                          "inputTranslateX": "-15",
                                          "clearIcon": "",
                                          "inputLayoutBorderColorHover": "#ffffff",
                                          "inputLayoutBorderColorSelected": "#ffffff",
                                          "inputLayoutBorderColor": "#a1a1a1",
                                          "listItemFontColor": "",
                                          "inputTextColor": "#ffffff",
                                          "inputTextFontFamily": "RobotoCondensed-LightItalic",
                                          "prepandIcon": "",
                                          "prepandIconColor": "",
                                          "prepandIconSize": "",
                                          "prepandInnerIcon": "",
                                          "prepandInnerIconColor": "#ffffff",
                                          "prepandInnerIconSize": "18",
                                          "collapseIcon": "",
                                          "inputTranslateY": "-12",
                                          "listIconSelectedColor": "#44739e",
                                          "listIconColor": "",
                                          "appendOuterIcon": "",
                                          "appendOuterIconSize": "2",
                                          "listItemFont": "RobotoCondensed-Regular",
                                          "listItemRippleEffectColor": "",
                                          "inputLayoutBackgroundColorSelected": "",
                                          "inputLayoutBackgroundColorHover": ""
                                        },
                                        "style": {
                                          "left": "10px",
                                          "top": "0px",
                                          "z-index": "1",
                                          "width": "calc(50% - 20px)",
                                          "height": "40px"
                                        },
                                        "widgetSet": "materialdesign"
                                      },
                                      "e00004": {
                                        "tpl": "tplVis-materialdesign-Select",
                                        "data": {
                                          "oid": "0_userdata.0.vis.AdapterStatus.filterMode",
                                          "g_fixed": false,
                                          "g_visibility": false,
                                          "g_css_font_text": false,
                                          "g_css_background": false,
                                          "g_css_shadow_padding": false,
                                          "g_css_border": false,
                                          "g_gestures": false,
                                          "g_signals": false,
                                          "g_last_change": false,
                                          "visibility-cond": "==",
                                          "visibility-val": 1,
                                          "visibility-groups-action": "hide",
                                          "inputType": "text",
                                          "inputLayout": "regular",
                                          "showInputMessageAlways": "true",
                                          "showInputCounter": false,
                                          "clearIconShow": true,
                                          "listDataMethod": "jsonStringObject",
                                          "countSelectItems": "1",
                                          "listPosition": "bottom",
                                          "showSelectedIcon": "prepend-inner",
                                          "showValue": false,
                                          "signals-cond-0": "==",
                                          "signals-val-0": true,
                                          "signals-icon-0": "/vis/signals/lowbattery.png",
                                          "signals-icon-size-0": 0,
                                          "signals-blink-0": false,
                                          "signals-horz-0": 0,
                                          "signals-vert-0": 0,
                                          "signals-hide-edit-0": false,
                                          "signals-cond-1": "==",
                                          "signals-val-1": true,
                                          "signals-icon-1": "/vis/signals/lowbattery.png",
                                          "signals-icon-size-1": 0,
                                          "signals-blink-1": false,
                                          "signals-horz-1": 0,
                                          "signals-vert-1": 0,
                                          "signals-hide-edit-1": false,
                                          "signals-cond-2": "==",
                                          "signals-val-2": true,
                                          "signals-icon-2": "/vis/signals/lowbattery.png",
                                          "signals-icon-size-2": 0,
                                          "signals-blink-2": false,
                                          "signals-horz-2": 0,
                                          "signals-vert-2": 0,
                                          "signals-hide-edit-2": false,
                                          "lc-type": "last-change",
                                          "lc-is-interval": true,
                                          "lc-is-moment": false,
                                          "lc-format": "",
                                          "lc-position-vert": "top",
                                          "lc-position-horz": "right",
                                          "lc-offset-vert": 0,
                                          "lc-offset-horz": 0,
                                          "lc-font-size": "12px",
                                          "lc-font-family": "",
                                          "lc-font-style": "",
                                          "lc-bkg-color": "",
                                          "lc-color": "",
                                          "lc-border-width": "0",
                                          "lc-border-style": "",
                                          "lc-border-color": "",
                                          "lc-border-radius": 10,
                                          "lc-zindex": 0,
                                          "inputLabelText": "Filtern nach",
                                          "inputLabelColor": "#ffffff",
                                          "inputLabelFontFamily": "RobotoCondensed-LightItalic",
                                          "collapseIconColor": "#ffffff",
                                          "collapseIconSize": "",
                                          "jsonStringObject": "[\n\t{\n\t\t\"text\": \"nicht verbunden\",\n\t\t\"value\": \"notConnected\",\n\t\t\"icon\": \"network-off\"\n\t},\n\t{\n\t\t\"text\": \"deaktiviert\",\n\t\t\"value\": \"deactivated\",\n\t\t\"icon\": \"checkbox-blank-outline\"\n\t},\t\n\t{\n\t\t\"text\": \"aktiviert\",\n\t\t\"value\": \"activated\",\n\t\t\"icon\": \"checkbox-intermediate\"\n\t},\n\t{\n\t\t\"text\": \"Updates verfügbar\",\n\t\t\"value\": \"hasUpdates\",\n\t\t\"icon\": \"package-down\"\n\t}\n]",
                                          "listPositionOffset": true,
                                          "inputLayoutBackgroundColor": "transparent",
                                          "inputLabelColorSelected": "#ffffff",
                                          "inputTranslateX": "-15",
                                          "clearIcon": "",
                                          "inputLayoutBorderColorHover": "#ffffff",
                                          "inputLayoutBorderColorSelected": "#ffffff",
                                          "inputLayoutBorderColor": "#a1a1a1",
                                          "listItemFontColor": "",
                                          "inputTextColor": "#ffffff",
                                          "inputTextFontFamily": "RobotoCondensed-LightItalic",
                                          "prepandIcon": "",
                                          "prepandIconColor": "",
                                          "prepandIconSize": "",
                                          "prepandInnerIcon": "",
                                          "prepandInnerIconColor": "#ffffff",
                                          "prepandInnerIconSize": "18",
                                          "collapseIcon": "",
                                          "inputTranslateY": "-12",
                                          "listIconSelectedColor": "#44739e",
                                          "listIconColor": "",
                                          "appendOuterIcon": "",
                                          "appendOuterIconSize": "2",
                                          "listItemFont": "RobotoCondensed-Regular",
                                          "listItemRippleEffectColor": "",
                                          "inputLayoutBackgroundColorSelected": "",
                                          "inputLayoutBackgroundColorHover": "",
                                          "clearIconColor": "#ffffff"
                                        },
                                        "style": {
                                          "left": "calc(50% + 10px)",
                                          "top": "0px",
                                          "z-index": "1",
                                          "width": "calc(50% - 20px)",
                                          "height": "40px"
                                        },
                                        "widgetSet": "materialdesign"
                                      }
                                    },
                                    "name": "AdapterStatus",
                                    "filterList": []
                                  }
                                  

                                  Hier hab ich beschrieben, wie man das layout am besten einstellt:
                                  https://forum.iobroker.net/topic/30661/material-design-widgets-adapter-status/5

                                  Skript

                                  // Imports -> müssen im Javascript Adapter unter 'Zusätzliche NPM-Module' eingetragen sein
                                  const moment = require("moment");
                                  const momentDurationFormatSetup = require("moment-duration-format");
                                  
                                  
                                  // Skript Einstellungen *************************************************************************************************************************************************
                                  
                                  let dpList = '0_userdata.0.vis.AdapterStatus.jsonList';                     // Datenpunkt für IconList Widget (Typ: Zeichenkette (String))
                                  let dpAdapterRestart = '0_userdata.0.vis.AdapterStatus.restartTrigger';     // Datenpunkt für Adapter restart (Typ: Zeichenkette (String))
                                  
                                  let dpSortMode = '0_userdata.0.vis.AdapterStatus.sortMode';                 // Datenpunkt für Sortieren (Typ: Zeichenkette (String))
                                  let dpFilterMode = '0_userdata.0.vis.AdapterStatus.filterMode';             // Datenpunkt für Filter (Typ: Zeichenkette (String))
                                  
                                  let adminUpdatesList = 'admin.0.info.updatesList';                          // Datenpunkt Admin Adapter für verfübare Updates der Adapter
                                  
                                  const checkInterval = 30;                                                   // Interval wie oft Status der Adapter aktualisiert werden soll (in Sekunden)
                                  
                                  let sprache = 'de';                                                         // Sprache für formatierung Dauer 
                                  let formatierungDauer = "dd[T] hh[h] mm[m]";                                // Formatierung der Dauer -> siehe momentjs library
                                  
                                  let neustarten = true;                                                      // true: Adapter wird neugestartet, false: Adapter wird gestoppt oder gestartet
                                  
                                  let farbeAdapterAktiv = 'green';                                            // Status Bar Farbe wenn Adapter aktiv ist
                                  let farbeAdapterNichtAktiv = 'FireBrick';                                   // Status Bar Farbe wenn Adapter nicht aktiv ist oder Fehler vorliegt
                                  let farbeAdapterDeaktiviert = 'darkgrey';                                   // Status Bar Farbe wenn Adapter deaktiviert ist
                                  let farbeAdapterNichtVerbunden = 'yellow';                                  // Status Bar Farbe wenn Adapter nicht verbunden ist
                                  let farbeAdapterZeitgesteuert = 'lightgreen';                               // Status Bar Farbe wenn Adapter zeitgesteuert ist
                                  let farbeAdapterErweiterung = '#44739e';                                    // Status Bar Farbe wenn Adapter Erweiterung ist
                                  let farbeAdapterSystem = '#44739e';                                         // Status Bar Farbe wenn Adapter mit System gestartet wird
                                  
                                  let sortResetAfter = 120;                                                   // Sortierung nach X Sekunden auf sortReset zurücksetzen (0=deaktiviert)
                                  let sortReset = 'memHeapUsed'                                               // Sortierung auf die zurückgesetzt werden soll
                                  
                                  let filterResetAfter = 120;                                                 // Filter nach X Sekunden zurücksetzen (0=deaktiviert)
                                  
                                  // **********************************************************************************************************************************************************************
                                  
                                  
                                  // Fomate für moment Lib
                                  moment.locale(sprache);
                                  
                                  // auf .alive Änderungen hören
                                  let aliveSelector = `[id=system.adapter.*.alive]`;
                                  let adapterAliveList = $(aliveSelector);
                                  if (adapterAliveList.length === 0) {
                                      // Fehlermeldung ausgeben, wenn selector kein result liefert
                                      console.error(`no result for selector '${aliveSelector}'`)
                                  } else {
                                      // listener nur für Änderung bei alive
                                      adapterAliveList.on(adapterStatus);
                                  }
                                  
                                  // auf .connection Änderungen hören
                                  let connectionSelector = `[id=*.info.connection]`;
                                  let adapterConnectionList = $(connectionSelector);
                                  if (adapterConnectionList.length === 0) {
                                      // Fehlermeldung ausgeben, wenn selector kein result liefert
                                      console.error(`no result for selector '${connectionSelector}'`)
                                  } else {
                                      // listener nur für Änderung bei alive
                                      adapterConnectionList.on(adapterStatus);
                                  }
                                  
                                  // auf .connected Änderungen hören
                                  let connectedSelector = `[id=system.adapter.*.connected]`;
                                  let adapterConnectedList = $(connectedSelector);
                                  if (adapterConnectedList.length === 0) {
                                      // Fehlermeldung ausgeben, wenn selector kein result liefert
                                      console.error(`no result for selector '${connectedSelector}'`)
                                  } else {
                                      // listener nur für Änderung bei alive
                                      adapterConnectedList.on(adapterStatus);
                                  }
                                  
                                  // auf Änderungen der Sortieung hören
                                  on({ id: dpSortMode, change: 'any' }, adapterStatus);
                                  on({ id: dpSortMode, change: 'any' }, resetSort);
                                  
                                  // auf Änderungen der Filter hören
                                  on({ id: dpFilterMode, change: 'any' }, adapterStatus);
                                  on({ id: dpFilterMode, change: 'any' }, resetFilter);
                                  
                                  // Funktion adapterStatus alle x Sekunden ausführen
                                  schedule('*/' + checkInterval + ' * * * * *', adapterStatus);
                                  
                                  function adapterStatus() {
                                      // Funktion um Status der Adapter abzurufen und als JSON String für das Material Design Widget IconList aufbereiten
                                      try {
                                          let adapterList = [];
                                          let updateList = myHelper().getStateValueIfExist(adminUpdatesList);
                                  
                                          for (var i = 0; i <= adapterAliveList.length - 1; i++) {
                                              let id = adapterAliveList[i].replace('.alive', '');
                                              let obj = getObject(adapterAliveList[i].replace('.alive', ''));
                                  
                                              let nameArray = id.replace('system.adapter.', '').split(".");
                                  
                                              let name = nameArray[0];
                                              name = name.charAt(0).toUpperCase() + name.slice(1);
                                  
                                              let nameWithInstance = name;
                                              let adapterInstance = nameArray[1];
                                              if (parseInt(adapterInstance) > 0) {
                                                  nameWithInstance = name + '.' + adapterInstance;
                                              }
                                  
                                              let uptime = (existsState(id + '.uptime')) ? moment.duration(getState(id + '.uptime').val, 'seconds').format(formatierungDauer, 0) : '-';
                                              let image = (myHelper().checkCommonPropertyExist(obj, 'icon')) ? `/${nameArray[0]}.admin/${obj.common.icon}` : 'image-off-outline';
                                  
                                              let hasUpdates = updateList && updateList.includes(nameArray[0]);
                                              let newVersion = (hasUpdates) ? '<span class="mdi mdi-update" style="color: #ec0909;"></span>' : '';
                                  
                                              let text = `<div style="display: flex; flex-direction: row; line-height: 1.5; padding-right: 8px; align-items: center;">
                                                              <div style="flex: 1">${newVersion} ${nameWithInstance}</div>
                                                              <div style="color: grey; font-size: 12px; font-family: RobotoCondensed-LightItalic;">${myHelper().getCommonPropertyIfExist(obj, 'version', '-', 'v', '')}</div>
                                                          </div>`
                                  
                                              let subText = `<div style="display: flex; flex-direction: row; line-height: 1.3; padding-left: 1px; padding-right: 8px; align-items: center;">
                                                                  <div style="flex: 1;">CPU</div>
                                                                  <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic; text-align: right;">${myHelper().getStateValueIfExist(id + '.cpu', '-', '', ' %')}</div>
                                                              </div>
                                                              <div style="display: flex; flex-direction: row; line-height: 1.3; padding-left: 1px; padding-right: 8px; align-items: center;">
                                                                  <div style="flex: 1;">RAM total</div>
                                                                  <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic; text-align: right;">${myHelper().getStateValueIfExist(id + '.memHeapTotal', '-', '', ' MB')}</div>
                                                              </div>
                                                              <div style="display: flex; flex-direction: row; line-height: 1.3; padding-left: 1px; padding-right: 8px; align-items: center;">
                                                                  <div style="flex: 1;">RAM verwendet</div>
                                                                  <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic; text-align: right;">${myHelper().getStateValueIfExist(id + '.memHeapUsed', '-', '', ' MB')}</div>
                                                              </div>
                                                              <div style="display: flex; flex-direction: row; line-height: 1.3; padding-left: 1px; padding-right: 8px; align-items: center;">
                                                                  <div style="flex: 1;">RAM reserviert</div>
                                                                  <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic; text-align: right;">${myHelper().getStateValueIfExist(id + '.memRss', '-', '', ' MB')}</div>
                                                              </div>
                                                              <div style="display: flex; flex-direction: row; line-height: 1.3; padding-left: 1px; padding-right: 8px; align-items: center;">
                                                                  <div style="flex: 1;">Betriebszeit</div>
                                                                  <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic; text-align: right;">${uptime}</div>
                                                              </div>
                                                              <div style="display: flex; flex-direction: row; line-height: 1.3; padding-left: 1px; padding-right: 8px; align-items: center;">
                                                                  <div style="flex: 1;">Modus</div>
                                                                  <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic; text-align: right;">${myHelper().getCommonPropertyIfExist(obj, 'mode', '-')}</div>
                                                              </div>`
                                  
                                              let statusBarColor = farbeAdapterNichtAktiv;
                                              let status = 3;
                                  
                                              if (myHelper().getStateValueIfExist(adapterAliveList[i]) === 'true') {
                                                  statusBarColor = farbeAdapterAktiv;
                                                  status = 0;
                                  
                                                  if (existsState(id.replace('system.adapter.', '') + '.info.connection')) {
                                                      if (!getState(id.replace('system.adapter.', '') + '.info.connection').val) {
                                                          statusBarColor = farbeAdapterNichtVerbunden;
                                                          status = 4;
                                                      }
                                                  } else {
                                                      if (myHelper().getStateValueIfExist(adapterAliveList[i].replace('.alive', '.connected')) === 'false') {
                                                          statusBarColor = farbeAdapterNichtVerbunden;
                                                          status = 4;
                                                      }
                                                  }
                                              }
                                  
                                              if (myHelper().getCommonPropertyIfExist(obj, 'mode') === 'schedule') {
                                                  // Adapter ist zeitgesteuert
                                                  statusBarColor = farbeAdapterZeitgesteuert;
                                                  status = 1;
                                              }
                                  
                                              if (myHelper().getCommonPropertyIfExist(obj, 'mode') === 'extension') {
                                                  // Adapter ist Extension
                                                  statusBarColor = farbeAdapterErweiterung;
                                                  status = 1;
                                              }
                                  
                                              if (myHelper().getCommonPropertyIfExist(obj, 'mode') === 'once') {
                                                  // Adapter wird mit System gestartet
                                                  statusBarColor = farbeAdapterSystem;
                                                  status = 1;
                                              }
                                  
                                              if (myHelper().getCommonPropertyIfExist(obj, 'enabled', false).toString() === 'false') {
                                                  // Adapter ist deaktiviert
                                                  statusBarColor = farbeAdapterDeaktiviert;
                                                  status = 2;
                                              }
                                  
                                              adapterList.push({
                                                  text: text,
                                                  subText: subText,
                                                  image: image,
                                                  listType: "buttonState",
                                                  objectId: dpAdapterRestart,
                                                  buttonStateValue: id,
                                                  statusBarColor: statusBarColor,
                                                  showValueLabel: false,
                                                  name: name,
                                                  mode: myHelper().getCommonPropertyIfExist(obj, 'mode'),
                                                  hasUpdates: hasUpdates,
                                                  cpu: parseFloat(myHelper().getStateValueIfExist(id + '.cpu', '0')),
                                                  memHeapTotal: parseFloat(myHelper().getStateValueIfExist(id + '.memHeapTotal', '0')),
                                                  memHeapUsed: parseFloat(myHelper().getStateValueIfExist(id + '.memHeapUsed', '0')),
                                                  memRss: parseFloat(myHelper().getStateValueIfExist(id + '.memRss', '0')),
                                                  uptime: parseFloat(myHelper().getStateValueIfExist(id + '.uptime', 0)),
                                                  status: status,
                                                  lockEnabled: true
                                              })
                                          }
                                  
                                          let sortMode = myHelper().getStateValueIfExist(dpSortMode, 'name');
                                  
                                          if (sortMode === 'name' || sortMode === 'mode') {
                                              adapterList.sort(function (a, b) {
                                                  return a[sortMode].toLowerCase() == b[sortMode].toLowerCase() ? 0 : +(a[sortMode].toLowerCase() > b[sortMode].toLowerCase()) || -1;
                                              });
                                          } else if (sortMode === 'hasUpdates' || sortMode === 'cpu' || sortMode === 'memHeapTotal' || sortMode === 'memHeapUsed' || sortMode === 'memRss' || sortMode === 'uptime' || sortMode === 'status') {
                                              adapterList.sort(function (a, b) {
                                                  return a[sortMode] == b[sortMode] ? 0 : +(a[sortMode] < b[sortMode]) || -1;
                                              });
                                          } else {
                                              // default: nach name sortieren
                                              sortMode = 'name'
                                              adapterList.sort(function (a, b) {
                                                  return a[sortMode].toLowerCase() == b[sortMode].toLowerCase() ? 0 : +(a[sortMode].toLowerCase() > b[sortMode].toLowerCase()) || -1;
                                              });
                                          }
                                  
                                          // Filter: not connected, updates, deaktiviert, aktiviert
                                  
                                          let filterMode = myHelper().getStateValueIfExist(dpFilterMode, null);
                                  
                                          if (filterMode && filterMode !== null && filterMode !== '') {
                                              if (filterMode === 'hasUpdates') {
                                                  adapterList = adapterList.filter(function (item) {
                                                      return item.hasUpdates === true;
                                                  });
                                              } else if (filterMode === 'notConnected') {
                                                  adapterList = adapterList.filter(function (item) {
                                                      return item.status === 4;
                                                  });
                                              } else if (filterMode === 'deactivated') {
                                                  adapterList = adapterList.filter(function (item) {
                                                      return item.status === 2;
                                                  });
                                              } else if (filterMode === 'activated') {
                                                  adapterList = adapterList.filter(function (item) {
                                                      return item.status <= 1;
                                                  });
                                              }
                                          }
                                  
                                          let result = JSON.stringify(adapterList);
                                          if (existsState(dpList) && getState(dpList).val !== result) {
                                              setState(dpList, result, true);
                                          } else {
                                              setState(dpList, result, true);
                                          }
                                  
                                      } catch (err) {
                                          console.error(`[adapterStatus] error: ${err.message}, stack: ${err.stack}`);
                                      }
                                  }
                                  
                                  // Beim Staren des Skriptes Adapter Status abrufen
                                  adapterStatus();
                                  
                                  // Funktion um Adapter zu starten / neu starten
                                  on({ id: dpAdapterRestart }, function (obj) {
                                      var adapter = getObject(obj.state.val.toString());
                                  
                                      if (neustarten) {
                                          if (adapter.common && adapter.common.enabled === false) {
                                              // Adapter deaktiviert -> starten
                                              adapter.common.enabled = true;
                                          }
                                      } else {
                                          if (adapter.common && adapter.common.enabled) {
                                              adapter.common.enabled = !adapter.common.enabled;
                                          } else {
                                              adapter.common.enabled = true;
                                          }
                                      }
                                  
                                      setObject(obj.state.val, adapter);
                                      console.log(`${obj.state.val.replace('system.adapter.', '')} neugestartet`);
                                  });
                                  
                                  
                                  function resetSort() {
                                      let sortMode = myHelper().getStateValueIfExist(dpSortMode, null);
                                  
                                      if (sortResetAfter > 0) {
                                          setTimeout(function () {
                                              if (sortMode !== null && sortMode === myHelper().getStateValueIfExist(dpSortMode, null)) {
                                                  setState(dpSortMode, sortReset);
                                              }
                                          }, sortResetAfter * 1000);
                                      }
                                  }
                                  
                                  function resetFilter() {
                                      let filterMode = myHelper().getStateValueIfExist(dpFilterMode, null);
                                  
                                      if (filterResetAfter > 0) {
                                          setTimeout(function () {
                                              if (filterMode !== null && filterMode === myHelper().getStateValueIfExist(dpFilterMode, null)) {
                                                  setState(dpFilterMode, '');
                                              }
                                          }, filterResetAfter * 1000);
                                      }
                                  }
                                  
                                  function myHelper() {
                                      return {
                                          getStateValueIfExist: function (id, nullValue = undefined, prepand = '', append = '') {
                                              if (existsState(id)) {
                                                  return prepand + getState(id).val + append;
                                              } else {
                                                  return nullValue;
                                              }
                                          },
                                          getCommonPropertyIfExist: function (object, prop, nullValue = undefined, prepand = '', append = '') {
                                              if (myHelper().checkCommonPropertyExist(object, prop)) {
                                                  return prepand + object.common[prop] + append;
                                              } else {
                                                  return nullValue;
                                              }
                                          },
                                          checkCommonPropertyExist: function (object, prop) {
                                              if (object && object.common && object.common[prop]) {
                                                  return true;
                                              } else {
                                                  return false;
                                              }
                                          }
                                      }
                                  }
                                  

                                  Benötigte libraries & Einstellungen im Javascript Adapter:
                                  09332102-f89f-4189-bbd7-ba62e1752f54-grafik.png

                                  Die Idee dazu kommt von @sigi234, seine Version findet ihr hier.
                                  Vielen Dank für die Inspiration :+1:

                                  F Offline
                                  F Offline
                                  Frank579
                                  schrieb am zuletzt editiert von
                                  #114

                                  @scrounger Hallo ich nutze das skript jetzt schon etwas länger, echt klasse gemacht :+1: Habe kürzlich den Weatherunderground Adapter installiert, die Kachel von dem sieht irgendwiw komisch aus, Hast du oder wer anders eine Idee dazu.

                                  adapter.PNG

                                  Gruß Frank

                                  O 1 Antwort Letzte Antwort
                                  0
                                  • F Frank579

                                    @scrounger Hallo ich nutze das skript jetzt schon etwas länger, echt klasse gemacht :+1: Habe kürzlich den Weatherunderground Adapter installiert, die Kachel von dem sieht irgendwiw komisch aus, Hast du oder wer anders eine Idee dazu.

                                    adapter.PNG

                                    Gruß Frank

                                    O Online
                                    O Online
                                    Oli
                                    schrieb am zuletzt editiert von
                                    #115

                                    @frank579
                                    Wenn es dir um die Größe geht, veringere einfach mal die Anzahl, der anzuzeigenten Kacheln in der Vis

                                    Gruß
                                    Oliver

                                    1 Antwort Letzte Antwort
                                    1
                                    • daes10D daes10

                                      @ostseeskipper Vielen Dank, hat bei mir auch gut funktioniert.

                                      Kann mir aber jemand helfen, warum bei mir überall undefined angezeigt wird?
                                      Hab ich eine Einstellung übersehen? Weil alle Daten werden korrekt abgefragt.

                                      f08e32c9-4e43-4d61-8ed1-99bd834d78a2-grafik.png

                                      M Offline
                                      M Offline
                                      mdumbsky
                                      schrieb am zuletzt editiert von
                                      #116

                                      @daes10
                                      hast Du eine Lösung für das undefined-Problem gefunden?
                                      Ich habe das gleiche Problem hier, obwohl die Datenpunkte in Ordnung sind und die Daten korrekt abgefragt werden...

                                      Gruß
                                      Michael

                                      1 Antwort Letzte Antwort
                                      0
                                      • H Offline
                                        H Offline
                                        Hausbaer
                                        schrieb am zuletzt editiert von
                                        #117

                                        Ich nutze die Ansicht über ein Pop-Up-View (vis-invetwo - Universal Switch).

                                        Leider verschwinden die Auswahllisten für die Sortierung und die Filter hier im HIntergrund.
                                        Lade ich die View direkt, funktionieren sie.

                                        Welche Einstellung muss ich verändern?

                                        sigi234S 1 Antwort Letzte Antwort
                                        0
                                        • H Hausbaer

                                          Ich nutze die Ansicht über ein Pop-Up-View (vis-invetwo - Universal Switch).

                                          Leider verschwinden die Auswahllisten für die Sortierung und die Filter hier im HIntergrund.
                                          Lade ich die View direkt, funktionieren sie.

                                          Welche Einstellung muss ich verändern?

                                          sigi234S Online
                                          sigi234S Online
                                          sigi234
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von
                                          #118

                                          @hausbaer

                                          Stell das Widget mal rein, ev. z-index verstellt?

                                          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                          Immer Daten sichern!

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          655

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe