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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. View Adapter Status

NEWS

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

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

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

View Adapter Status

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
view adapterview
212 Beiträge 31 Kommentatoren 37.1k Aufrufe 52 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.
  • ScroungerS Scrounger

    @Oli sagte in View Adapter Status:

    @Scrounger

    echt cool, da kann ich mir viele Seiten in meiner Vis sparen,

    Ein paar Fragen, oder Wünsche hätte ich noch.

    1. Kann im Script dargestellt werden, wenn ein Adapter auf gelb geht?

    Dachte das das der Datenpunkt connect ist, aber der ist immer true wenn der Adapter gelb ist? Wenn jemand weiß warum bzw. wie man die Info abgreifen kann dann Bau ich das noch ein.

    1. Kann im Script auch das stoppen eines Adapters eingebaut werden?

    Dann bräuchte man beim Widget einen weiteren Button und das wäre dann zu speziell. Was gehen würde wären 1. Click stoppen, 2. Click starten usw.

    1. Kann um die einzelnen Cards ein Rahmen, Schatten und Radius gelegt werde?

    Ja per CSS Klasse überschreiben.

    1. Es ist es möglich unter den Adapternamen eine Linie einzufügen?

    Ja mit HTML Tag, das musst dann im Skript um den Namen bauen

    @Negalein
    Hab das Skript in 5min kurz runter gekloppt, da fehlen noch paar abfragen un genau solche Fehler abzufangen.
    Aber ich mach das wie Microsoft, teste es am User ;-)
    Werd ich einbauen was euch so alles auffällt!

    NegaleinN Offline
    NegaleinN Offline
    Negalein
    Global Moderator
    schrieb am zuletzt editiert von
    #101

    @Scrounger sagte in View Adapter Status:

    Was gehen würde wären 1. Click stoppen, 2. Click starten usw.

    Das wäre cool

    Hab das Skript in 5min kurz runter gekloppt, da fehlen noch paar abfragen un genau solche Fehler abzufangen.

    für 5 min. hast es schon sehr gut geschafft

    ° Node.js: 20.17.0 NPM: 10.8.2
    ° Proxmox, Ubuntu 22.04.3 LTS
    ° Fixer ---> iob fix

    1 Antwort Letzte Antwort
    0
    • ScroungerS Scrounger

      @Oli sagte in View Adapter Status:

      @Scrounger

      echt cool, da kann ich mir viele Seiten in meiner Vis sparen,

      Ein paar Fragen, oder Wünsche hätte ich noch.

      1. Kann im Script dargestellt werden, wenn ein Adapter auf gelb geht?

      Dachte das das der Datenpunkt connect ist, aber der ist immer true wenn der Adapter gelb ist? Wenn jemand weiß warum bzw. wie man die Info abgreifen kann dann Bau ich das noch ein.

      1. Kann im Script auch das stoppen eines Adapters eingebaut werden?

      Dann bräuchte man beim Widget einen weiteren Button und das wäre dann zu speziell. Was gehen würde wären 1. Click stoppen, 2. Click starten usw.

      1. Kann um die einzelnen Cards ein Rahmen, Schatten und Radius gelegt werde?

      Ja per CSS Klasse überschreiben.

      1. Es ist es möglich unter den Adapternamen eine Linie einzufügen?

      Ja mit HTML Tag, das musst dann im Skript um den Namen bauen

      @Negalein
      Hab das Skript in 5min kurz runter gekloppt, da fehlen noch paar abfragen un genau solche Fehler abzufangen.
      Aber ich mach das wie Microsoft, teste es am User ;-)
      Werd ich einbauen was euch so alles auffällt!

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

      @Scrounger said in View Adapter Status:

      Dachte das das der Datenpunkt connect ist, aber der ist immer true wenn der Adapter gelb ist? Wenn jemand weiß warum bzw. wie man die Info abgreifen kann dann Bau ich das noch ein.

      Die Info wenn ein Adapter gelb ist steht unter:
      "system.adapter.backitup.0.connected"

      Gruß
      Oliver

      1 Antwort Letzte Antwort
      0
      • NashraN Offline
        NashraN Offline
        Nashra
        Most Active Forum Testing
        schrieb am zuletzt editiert von
        #103

        Moin, bei mir kommen wegen 2 Adaptern Warnmeldungen die da wären:
        Font UI da wird unter System auch nichts angelegt soweit und bei
        Text2Command sucht er ne CPU

        javascript.0	2020-02-23 09:41:00.110	warn	(3356) at Timer.processTimers (timers.js:223:10)
        javascript.0	2020-02-23 09:41:00.110	warn	(3356) at listOnTimeout (timers.js:263:5)
        javascript.0	2020-02-23 09:41:00.110	warn	(3356) at tryOnTimeout (timers.js:300:5)
        javascript.0	2020-02-23 09:41:00.110	warn	(3356) at ontimeout (timers.js:436:11)
        javascript.0	2020-02-23 09:41:00.110	warn	(3356) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
        javascript.0	2020-02-23 09:41:00.109	warn	(3356) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
        javascript.0	2020-02-23 09:41:00.109	warn	(3356) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
        javascript.0	2020-02-23 09:41:00.109	warn	(3356) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
        javascript.0	2020-02-23 09:41:00.109	warn	(3356) at Object.adapterStatus (script.js.Meine_Geräte.Adapter-auto:121:120)
        javascript.0	2020-02-23 09:41:00.108	warn	(3356) getState "system.adapter.text2command.0.cpu" not found (3)
        javascript.0	2020-02-23 09:41:00.044	warn	(3356) at Timer.processTimers (timers.js:223:10)
        javascript.0	2020-02-23 09:41:00.044	warn	(3356) at listOnTimeout (timers.js:263:5)
        javascript.0	2020-02-23 09:41:00.044	warn	(3356) at tryOnTimeout (timers.js:300:5)
        javascript.0	2020-02-23 09:41:00.043	warn	(3356) at ontimeout (timers.js:436:11)
        javascript.0	2020-02-23 09:41:00.043	warn	(3356) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
        javascript.0	2020-02-23 09:41:00.043	warn	(3356) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
        javascript.0	2020-02-23 09:41:00.043	warn	(3356) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
        javascript.0	2020-02-23 09:41:00.043	warn	(3356) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
        javascript.0	2020-02-23 09:41:00.043	warn	(3356) at Object.adapterStatus (script.js.Meine_Geräte.Adapter-auto:173:33)
        javascript.0	2020-02-23 09:41:00.043	warn	(3356) at getStatusColor (script.js.Meine_Geräte.Adapter-auto:185:21)
        javascript.0	2020-02-23 09:41:00.042	warn	(3356) getState "system.adapter.fontui.0.alive" not found (3) states[id]=null
        javascript.0	2020-02-23 09:41:00.041	warn	(3356) at Timer.processTimers (timers.js:223:10)
        javascript.0	2020-02-23 09:41:00.041	warn	(3356) at listOnTimeout (timers.js:263:5)
        javascript.0	2020-02-23 09:41:00.040	warn	(3356) at tryOnTimeout (timers.js:300:5)
        javascript.0	2020-02-23 09:41:00.040	warn	(3356) at ontimeout (timers.js:436:11)
        

        Gruß Ralf
        Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        S 1 Antwort Letzte Antwort
        0
        • NashraN Nashra

          Moin, bei mir kommen wegen 2 Adaptern Warnmeldungen die da wären:
          Font UI da wird unter System auch nichts angelegt soweit und bei
          Text2Command sucht er ne CPU

          javascript.0	2020-02-23 09:41:00.110	warn	(3356) at Timer.processTimers (timers.js:223:10)
          javascript.0	2020-02-23 09:41:00.110	warn	(3356) at listOnTimeout (timers.js:263:5)
          javascript.0	2020-02-23 09:41:00.110	warn	(3356) at tryOnTimeout (timers.js:300:5)
          javascript.0	2020-02-23 09:41:00.110	warn	(3356) at ontimeout (timers.js:436:11)
          javascript.0	2020-02-23 09:41:00.110	warn	(3356) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.0	2020-02-23 09:41:00.109	warn	(3356) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.0	2020-02-23 09:41:00.109	warn	(3356) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.0	2020-02-23 09:41:00.109	warn	(3356) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
          javascript.0	2020-02-23 09:41:00.109	warn	(3356) at Object.adapterStatus (script.js.Meine_Geräte.Adapter-auto:121:120)
          javascript.0	2020-02-23 09:41:00.108	warn	(3356) getState "system.adapter.text2command.0.cpu" not found (3)
          javascript.0	2020-02-23 09:41:00.044	warn	(3356) at Timer.processTimers (timers.js:223:10)
          javascript.0	2020-02-23 09:41:00.044	warn	(3356) at listOnTimeout (timers.js:263:5)
          javascript.0	2020-02-23 09:41:00.044	warn	(3356) at tryOnTimeout (timers.js:300:5)
          javascript.0	2020-02-23 09:41:00.043	warn	(3356) at ontimeout (timers.js:436:11)
          javascript.0	2020-02-23 09:41:00.043	warn	(3356) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.0	2020-02-23 09:41:00.043	warn	(3356) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.0	2020-02-23 09:41:00.043	warn	(3356) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.0	2020-02-23 09:41:00.043	warn	(3356) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
          javascript.0	2020-02-23 09:41:00.043	warn	(3356) at Object.adapterStatus (script.js.Meine_Geräte.Adapter-auto:173:33)
          javascript.0	2020-02-23 09:41:00.043	warn	(3356) at getStatusColor (script.js.Meine_Geräte.Adapter-auto:185:21)
          javascript.0	2020-02-23 09:41:00.042	warn	(3356) getState "system.adapter.fontui.0.alive" not found (3) states[id]=null
          javascript.0	2020-02-23 09:41:00.041	warn	(3356) at Timer.processTimers (timers.js:223:10)
          javascript.0	2020-02-23 09:41:00.041	warn	(3356) at listOnTimeout (timers.js:263:5)
          javascript.0	2020-02-23 09:41:00.040	warn	(3356) at tryOnTimeout (timers.js:300:5)
          javascript.0	2020-02-23 09:41:00.040	warn	(3356) at ontimeout (timers.js:436:11)
          

          S Offline
          S Offline
          saeft_2003
          Most Active
          schrieb am zuletzt editiert von saeft_2003
          #104

          Hallo zusammen,

          ich versuche im Moment das ganze auch umzusetzen soweit sieht es auch nicht schlecht aus, aber ich bekomme alle 60 Sekunden (habe ich erhöht von 30) eine unmenge an Warnung im log. Habt ihr das auch? Ich sehe grad dieses cpu not found ist nur bei Adapter die nicht laufen. Aber muss dann diese unzahl an warnung sein? Da habe ich ja am ende vom Tag ein log von 100MB ;-)

          @Scrounger ist das "normal" diese vielen Warnungen?

          javascript.1	2020-02-23 22:17:00.438	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.437	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.437	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.437	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.437	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.437	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.436	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.436	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.436	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:121:120)
          javascript.1	2020-02-23 22:17:00.435	warn	(20023) getState "system.adapter.pi-hole.0.cpu" not found (3)
          javascript.1	2020-02-23 22:17:00.411	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.411	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.411	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.410	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.410	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.410	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.409	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.409	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.408	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:121:120)
          javascript.1	2020-02-23 22:17:00.407	warn	(20023) getState "system.adapter.yahka.0.cpu" not found (3)
          javascript.1	2020-02-23 22:17:00.399	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.398	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.398	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.397	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.396	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.396	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.395	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.395	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.394	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:121:120)
          javascript.1	2020-02-23 22:17:00.393	warn	(20023) getState "system.adapter.unifi.0.cpu" not found (3)
          javascript.1	2020-02-23 22:17:00.387	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.386	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.385	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.385	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.384	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.384	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.383	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.383	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.382	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:173:33)
          javascript.1	2020-02-23 22:17:00.382	warn	(20023) at getStatusColor (script.js.funktioniert.Adapterstatus:185:21)
          javascript.1	2020-02-23 22:17:00.379	warn	(20023) getState "system.adapter.daikin.0.alive" not found (3) states[id]=null
          javascript.1	2020-02-23 22:17:00.373	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.372	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.371	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.370	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.370	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.369	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.369	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.368	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.367	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:153:136)
          javascript.1	2020-02-23 22:17:00.366	warn	(20023) getState "system.adapter.daikin.0.uptime" not found (3) states[id]=null
          javascript.1	2020-02-23 22:17:00.366	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.365	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.365	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.364	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.364	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.363	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.363	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.362	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.362	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:145:120)
          javascript.1	2020-02-23 22:17:00.360	warn	(20023) getState "system.adapter.daikin.0.memRss" not found (3) states[id]=null
          javascript.1	2020-02-23 22:17:00.360	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.359	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.359	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.358	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.358	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.357	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.357	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.356	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.356	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:137:120)
          javascript.1	2020-02-23 22:17:00.355	warn	(20023) getState "system.adapter.daikin.0.memHeapUsed" not found (3) states[id]=null
          javascript.1	2020-02-23 22:17:00.354	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.354	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.353	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.353	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.352	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.352	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.351	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.351	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.350	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:129:120)
          javascript.1	2020-02-23 22:17:00.349	warn	(20023) getState "system.adapter.daikin.0.memHeapTotal" not found (3) states[id]=null
          javascript.1	2020-02-23 22:17:00.349	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.348	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.348	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.347	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.347	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.346	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.346	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.345	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.345	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:121:120)
          javascript.1	2020-02-23 22:17:00.344	warn	(20023) getState "system.adapter.daikin.0.cpu" not found (3)
          javascript.1	2020-02-23 22:17:00.339	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.338	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.338	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.337	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.336	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.336	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.335	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.335	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.334	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:121:120)
          javascript.1	2020-02-23 22:17:00.333	warn	(20023) getState "system.adapter.volumio.0.cpu" not found (3)
          javascript.1	2020-02-23 22:17:00.332	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.331	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.331	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.330	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.330	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.329	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.328	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.327	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.326	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:173:33)
          javascript.1	2020-02-23 22:17:00.324	warn	(20023) at getStatusColor (script.js.funktioniert.Adapterstatus:185:21)
          javascript.1	2020-02-23 22:17:00.321	warn	(20023) getState "system.adapter.iqontrol.0.alive" not found (3) states[id]=null
          javascript.1	2020-02-23 22:17:00.314	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.314	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.313	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.312	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.310	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.296	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.294	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.293	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.292	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:153:136)
          javascript.1	2020-02-23 22:17:00.291	warn	(20023) getState "system.adapter.iqontrol.0.uptime" not found (3) states[id]=null
          javascript.1	2020-02-23 22:17:00.291	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.290	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.288	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.287	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.287	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.286	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.286	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.285	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.273	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:145:120)
          javascript.1	2020-02-23 22:17:00.271	warn	(20023) getState "system.adapter.iqontrol.0.memRss" not found (3) states[id]=null
          javascript.1	2020-02-23 22:17:00.270	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.270	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.269	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.269	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.268	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.267	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.267	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.266	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.266	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:137:120)
          javascript.1	2020-02-23 22:17:00.265	warn	(20023) getState "system.adapter.iqontrol.0.memHeapUsed" not found (3) states[id]=null
          javascript.1	2020-02-23 22:17:00.264	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.264	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.264	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.263	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.263	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.262	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.262	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.262	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.261	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:129:120)
          javascript.1	2020-02-23 22:17:00.260	warn	(20023) getState "system.adapter.iqontrol.0.memHeapTotal" not found (3) states[id]=null
          javascript.1	2020-02-23 22:17:00.260	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.259	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.259	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.259	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.258	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.257	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.257	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.256	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.256	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:121:120)
          javascript.1	2020-02-23 22:17:00.255	warn	(20023) getState "system.adapter.iqontrol.0.cpu" not found (3)
          javascript.1	2020-02-23 22:17:00.239	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.239	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.238	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.238	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.238	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.237	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.237	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.236	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.236	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:121:120)
          javascript.1	2020-02-23 22:17:00.235	warn	(20023) getState "system.adapter.proxmox.1.cpu" not found (3)
          javascript.1	2020-02-23 22:17:00.228	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.228	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.228	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.228	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.227	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.227	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.227	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.226	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.226	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:121:120)
          javascript.1	2020-02-23 22:17:00.225	warn	(20023) getState "system.adapter.synology.0.cpu" not found (3) states[id]=null
          javascript.1	2020-02-23 22:17:00.221	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.220	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.220	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.220	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.220	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.219	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.219	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.219	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.218	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:121:120)
          javascript.1	2020-02-23 22:17:00.218	warn	(20023) getState "system.adapter.weatherunderground.0.cpu" not found (3)
          javascript.1	2020-02-23 22:17:00.214	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.213	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.213	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.213	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.212	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.212	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.212	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.212	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.211	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:121:120)
          javascript.1	2020-02-23 22:17:00.210	warn	(20023) getState "system.adapter.dwd.0.cpu" not found (3)
          javascript.1	2020-02-23 22:17:00.198	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.197	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.197	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.197	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.197	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.196	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.196	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.196	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.195	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:121:120)
          javascript.1	2020-02-23 22:17:00.195	warn	(20023) getState "system.adapter.rpi2.0.cpu" not found (3)
          javascript.1	2020-02-23 22:17:00.189	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.189	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.188	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.188	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.187	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.187	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.186	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.186	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.185	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:121:120)
          javascript.1	2020-02-23 22:17:00.184	warn	(20023) getState "system.adapter.history.0.cpu" not found (3)
          javascript.1	2020-02-23 22:17:00.177	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.177	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.176	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.176	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.176	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.175	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.175	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.171	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.171	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:121:120)
          javascript.1	2020-02-23 22:17:00.170	warn	(20023) getState "system.adapter.tr-064.2.cpu" not found (3)
          javascript.1	2020-02-23 22:17:00.155	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.154	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.154	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.153	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.153	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.152	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.152	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.151	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.151	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:121:120)
          javascript.1	2020-02-23 22:17:00.150	warn	(20023) getState "system.adapter.node-red.0.cpu" not found (3)
          javascript.1	2020-02-23 22:17:00.142	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.141	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.141	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.141	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.141	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.140	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.140	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.140	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.139	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:121:120)
          javascript.1	2020-02-23 22:17:00.139	warn	(20023) getState "system.adapter.yeelight-2.0.cpu" not found (3)
          javascript.1	2020-02-23 22:17:00.135	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.135	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.135	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.135	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.134	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.134	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.134	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.134	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.133	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:121:120)
          javascript.1	2020-02-23 22:17:00.132	warn	(20023) getState "system.adapter.mihome.1.cpu" not found (3)
          javascript.1	2020-02-23 22:17:00.115	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.114	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.114	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.114	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.113	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.113	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.112	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.112	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.111	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:121:120)
          javascript.1	2020-02-23 22:17:00.110	warn	(20023) getState "system.adapter.samsung.0.cpu" not found (3)
          javascript.1	2020-02-23 22:17:00.090	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.090	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.090	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.089	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.089	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.089	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.088	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.088	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.088	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:121:120)
          javascript.1	2020-02-23 22:17:00.087	warn	(20023) getState "system.adapter.cloud.0.cpu" not found (3)
          javascript.1	2020-02-23 22:17:00.077	warn	(20023) at Timer.processTimers (timers.js:223:10)
          javascript.1	2020-02-23 22:17:00.076	warn	(20023) at listOnTimeout (timers.js:263:5)
          javascript.1	2020-02-23 22:17:00.076	warn	(20023) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-02-23 22:17:00.076	warn	(20023) at ontimeout (timers.js:436:11)
          javascript.1	2020-02-23 22:17:00.076	warn	(20023) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-02-23 22:17:00.075	warn	(20023) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-02-23 22:17:00.075	warn	(20023) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-02-23 22:17:00.075	warn	(20023) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1319:34)
          javascript.1	2020-02-23 22:17:00.074	warn	(20023) at Object.adapterStatus (script.js.funktioniert.Adapterstatus:121:120)
          javascript.1	2020-02-23 22:17:00.072	warn	(20023) getState "system.adapter.terminal.0.cpu" not found (3)
          
          1 Antwort Letzte Antwort
          0
          • ScroungerS Offline
            ScroungerS Offline
            Scrounger
            Developer
            schrieb am zuletzt editiert von Scrounger
            #105

            So hier ist die verbesserte Variante des Skriptes, die auch die ganzen Warn Meldungen abfangen sollte

            3c38829c-b368-4c0c-b312-7531dc59bff5-grafik.png

            // 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 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 = 'darkgreen';                                // Status Bar Farbe wenn Adapter zeitgesteuert ist
            
            // **********************************************************************************************************************************************************************
            
            
            
            // 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 .connected Änderungen hören
            let connectedSelector = `[id=*.info.connection]`;
            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);
            }
            
            // 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
                let adapterList = [];
                let updateList = myHelper().getStateValueIfExist(adminUpdatesList);
            
                try {
                    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 newVersion = (updateList && updateList.includes(nameArray[0])) ? '<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;">${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;">${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;">${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;">${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;">${uptime}</div>
                                        </div>`
            
                        adapterList.push({
                            text: text,
                            subText: subText,
                            image: image,
                            listType: "buttonState",
                            objectId: dpAdapterRestart,
                            buttonStateValue: id,
                            statusBarColor: getStatusColor(),
                            showValueLabel: false,
                            name: name
                        })
            
                        function getStatusColor() {
                            let statusBarColor = farbeAdapterNichtAktiv;
            
                            if (myHelper().getStateValueIfExist(adapterAliveList[i]) === 'true') {
                                statusBarColor = farbeAdapterAktiv;
            
                                if (existsState(id.replace('system.adapter.', '') + '.info.connection')) {
                                    if (!getState(id.replace('system.adapter.', '') + '.info.connection').val) {
                                        statusBarColor = farbeAdapterNichtVerbunden;
                                    }
                                } else {
                                    if (myHelper().getStateValueIfExist(adapterAliveList[i].replace('.alive', '.connected')) === 'false') {
                                        statusBarColor = farbeAdapterNichtVerbunden;
                                    }
                                }
                            }
                    
                            if (myHelper().getCommonPropertyIfExist(obj, 'enabled', false).toString() === 'false') {
                                // Adapter ist deaktiviert
                                statusBarColor = farbeAdapterDeaktiviert;
                            }
            
                            if (myHelper().getCommonPropertyIfExist(obj, 'mode') === 'schedule') {
                                // Adapter ist zeitgesteuert
                                statusBarColor = farbeAdapterZeitgesteuert;
                            }
            
                            return statusBarColor;
                        }
                    }
            
                } catch (err) {
                    console.error(`[adapterStatus] error: ${err.message}, stack: ${err.stack}`);
                }
            
                adapterList.sort(function (a, b) {
                    return a.name == b.name ? 0 : +(a.name > b.name) || -1;
                });
            
                let result = JSON.stringify(adapterList);
                if (getState(dpList) !== result) {
                    setState(dpList, result, true);
                }
            }
            
            // 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 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;
                        }
                    }
                }
            }
            

            Ihr könnt jetzt Einstellungen vornehmen, erklärung steht im kommentar

            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 adminUpdatesList = 'admin.0.info.updatesList'                           // Datenpunkt Admin Adapter für verfübare Updates der Adapter
            
            const checkInterval = 10;                                                   // 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 = 'darkgreen';                                // Status Bar Farbe wenn Adapter zeitgesteuert ist
            

            @Oli sagte in View Adapter Status:

            Die Info wenn ein Adapter gelb ist steht unter:
            "system.adapter.backitup.0.connected"

            Das ist aber nicht der Status für connection, dieser steht unter adapter.x.info.connection. Hab es gleich mal mit eingebaut ;-)

            <a href="https://github.com/Scrounger/ioBroker.linkeddevices">LinkedDevices Adapter</a>

            <a href="https://github.com/Scrounger/ioBroker.vis-materialdesign">Material Design Widgets</a>

            sigi234S 2 Antworten Letzte Antwort
            0
            • ScroungerS Scrounger

              So hier ist die verbesserte Variante des Skriptes, die auch die ganzen Warn Meldungen abfangen sollte

              3c38829c-b368-4c0c-b312-7531dc59bff5-grafik.png

              // 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 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 = 'darkgreen';                                // Status Bar Farbe wenn Adapter zeitgesteuert ist
              
              // **********************************************************************************************************************************************************************
              
              
              
              // 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 .connected Änderungen hören
              let connectedSelector = `[id=*.info.connection]`;
              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);
              }
              
              // 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
                  let adapterList = [];
                  let updateList = myHelper().getStateValueIfExist(adminUpdatesList);
              
                  try {
                      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 newVersion = (updateList && updateList.includes(nameArray[0])) ? '<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;">${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;">${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;">${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;">${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;">${uptime}</div>
                                          </div>`
              
                          adapterList.push({
                              text: text,
                              subText: subText,
                              image: image,
                              listType: "buttonState",
                              objectId: dpAdapterRestart,
                              buttonStateValue: id,
                              statusBarColor: getStatusColor(),
                              showValueLabel: false,
                              name: name
                          })
              
                          function getStatusColor() {
                              let statusBarColor = farbeAdapterNichtAktiv;
              
                              if (myHelper().getStateValueIfExist(adapterAliveList[i]) === 'true') {
                                  statusBarColor = farbeAdapterAktiv;
              
                                  if (existsState(id.replace('system.adapter.', '') + '.info.connection')) {
                                      if (!getState(id.replace('system.adapter.', '') + '.info.connection').val) {
                                          statusBarColor = farbeAdapterNichtVerbunden;
                                      }
                                  } else {
                                      if (myHelper().getStateValueIfExist(adapterAliveList[i].replace('.alive', '.connected')) === 'false') {
                                          statusBarColor = farbeAdapterNichtVerbunden;
                                      }
                                  }
                              }
                      
                              if (myHelper().getCommonPropertyIfExist(obj, 'enabled', false).toString() === 'false') {
                                  // Adapter ist deaktiviert
                                  statusBarColor = farbeAdapterDeaktiviert;
                              }
              
                              if (myHelper().getCommonPropertyIfExist(obj, 'mode') === 'schedule') {
                                  // Adapter ist zeitgesteuert
                                  statusBarColor = farbeAdapterZeitgesteuert;
                              }
              
                              return statusBarColor;
                          }
                      }
              
                  } catch (err) {
                      console.error(`[adapterStatus] error: ${err.message}, stack: ${err.stack}`);
                  }
              
                  adapterList.sort(function (a, b) {
                      return a.name == b.name ? 0 : +(a.name > b.name) || -1;
                  });
              
                  let result = JSON.stringify(adapterList);
                  if (getState(dpList) !== result) {
                      setState(dpList, result, true);
                  }
              }
              
              // 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 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;
                          }
                      }
                  }
              }
              

              Ihr könnt jetzt Einstellungen vornehmen, erklärung steht im kommentar

              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 adminUpdatesList = 'admin.0.info.updatesList'                           // Datenpunkt Admin Adapter für verfübare Updates der Adapter
              
              const checkInterval = 10;                                                   // 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 = 'darkgreen';                                // Status Bar Farbe wenn Adapter zeitgesteuert ist
              

              @Oli sagte in View Adapter Status:

              Die Info wenn ein Adapter gelb ist steht unter:
              "system.adapter.backitup.0.connected"

              Das ist aber nicht der Status für connection, dieser steht unter adapter.x.info.connection. Hab es gleich mal mit eingebaut ;-)

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

              @Scrounger

              100 Warnmeldungen, Skript hängt sich auf.

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

              1 Antwort Letzte Antwort
              0
              • NegaleinN Offline
                NegaleinN Offline
                Negalein
                Global Moderator
                schrieb am zuletzt editiert von
                #107

                @Scrounger

                Warn-Meldungen kommen bei mir auch sehr viele.
                Aber Script läuft sonst super.

                Adapter stoppen funktioniert
                Danke

                javascript.0	2020-02-24 18:46:00.828	warn	(592) at Timer.processTimers (timers.js:223:10)
                javascript.0	2020-02-24 18:46:00.828	warn	(592) at listOnTimeout (timers.js:263:5)
                javascript.0	2020-02-24 18:46:00.827	warn	(592) at tryOnTimeout (timers.js:300:5)
                javascript.0	2020-02-24 18:46:00.827	warn	(592) at ontimeout (timers.js:436:11)
                javascript.0	2020-02-24 18:46:00.827	warn	(592) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                javascript.0	2020-02-24 18:46:00.827	warn	(592) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                javascript.0	2020-02-24 18:46:00.827	warn	(592) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                javascript.0	2020-02-24 18:46:00.827	warn	(592) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                javascript.0	2020-02-24 18:46:00.827	warn	(592) at Object.adapterStatus (script.js.System.Adapterliste:115:33)
                javascript.0	2020-02-24 18:46:00.827	warn	(592) at getStatusColor (script.js.System.Adapterliste:123:32)
                javascript.0	2020-02-24 18:46:00.827	warn	(592) at Object.getStateValueIfExist (script.js.System.Adapterliste:195:34)
                javascript.0	2020-02-24 18:46:00.826	warn	(592) getState "system.adapter.proxy.0.alive" not found (3) states[id]=null
                javascript.0	2020-02-24 18:46:00.824	warn	(592) at Timer.processTimers (timers.js:223:10)
                javascript.0	2020-02-24 18:46:00.823	warn	(592) at listOnTimeout (timers.js:263:5)
                javascript.0	2020-02-24 18:46:00.823	warn	(592) at tryOnTimeout (timers.js:300:5)
                javascript.0	2020-02-24 18:46:00.823	warn	(592) at ontimeout (timers.js:436:11)
                javascript.0	2020-02-24 18:46:00.823	warn	(592) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                javascript.0	2020-02-24 18:46:00.823	warn	(592) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                javascript.0	2020-02-24 18:46:00.823	warn	(592) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                javascript.0	2020-02-24 18:46:00.823	warn	(592) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                javascript.0	2020-02-24 18:46:00.823	warn	(592) at Object.adapterStatus (script.js.System.Adapterliste:101:132)
                javascript.0	2020-02-24 18:46:00.823	warn	(592) at Object.getStateValueIfExist (script.js.System.Adapterliste:195:34)
                javascript.0	2020-02-24 18:46:00.822	warn	(592) getState "system.adapter.proxy.0.memRss" not found (3) states[id]=null
                javascript.0	2020-02-24 18:46:00.819	warn	(592) at Timer.processTimers (timers.js:223:10)
                javascript.0	2020-02-24 18:46:00.819	warn	(592) at listOnTimeout (timers.js:263:5)
                javascript.0	2020-02-24 18:46:00.819	warn	(592) at tryOnTimeout (timers.js:300:5)
                javascript.0	2020-02-24 18:46:00.819	warn	(592) at ontimeout (timers.js:436:11)
                javascript.0	2020-02-24 18:46:00.819	warn	(592) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                javascript.0	2020-02-24 18:46:00.819	warn	(592) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                javascript.0	2020-02-24 18:46:00.819	warn	(592) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                javascript.0	2020-02-24 18:46:00.819	warn	(592) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                javascript.0	2020-02-24 18:46:00.819	warn	(592) at Object.adapterStatus (script.js.System.Adapterliste:97:132)
                javascript.0	2020-02-24 18:46:00.818	warn	(592) at Object.getStateValueIfExist (script.js.System.Adapterliste:195:34)
                javascript.0	2020-02-24 18:46:00.818	warn	(592) getState "system.adapter.proxy.0.memHeapUsed" not found (3) states[id]=null
                javascript.0	2020-02-24 18:46:00.815	warn	(592) at Timer.processTimers (timers.js:223:10)
                javascript.0	2020-02-24 18:46:00.815	warn	(592) at listOnTimeout (timers.js:263:5)
                javascript.0	2020-02-24 18:46:00.815	warn	(592) at tryOnTimeout (timers.js:300:5)
                javascript.0	2020-02-24 18:46:00.815	warn	(592) at ontimeout (timers.js:436:11)
                javascript.0	2020-02-24 18:46:00.815	warn	(592) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                javascript.0	2020-02-24 18:46:00.814	warn	(592) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                javascript.0	2020-02-24 18:46:00.814	warn	(592) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                javascript.0	2020-02-24 18:46:00.814	warn	(592) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                javascript.0	2020-02-24 18:46:00.814	warn	(592) at Object.adapterStatus (script.js.System.Adapterliste:93:132)
                javascript.0	2020-02-24 18:46:00.814	warn	(592) at Object.getStateValueIfExist (script.js.System.Adapterliste:195:34)
                javascript.0	2020-02-24 18:46:00.813	warn	(592) getState "system.adapter.proxy.0.memHeapTotal" not found (3) states[id]=null
                javascript.0	2020-02-24 18:46:00.807	warn	(592) at Timer.processTimers (timers.js:223:10)
                javascript.0	2020-02-24 18:46:00.806	warn	(592) at listOnTimeout (timers.js:263:5)
                javascript.0	2020-02-24 18:46:00.806	warn	(592) at tryOnTimeout (timers.js:300:5)
                javascript.0	2020-02-24 18:46:00.806	warn	(592) at ontimeout (timers.js:436:11)
                javascript.0	2020-02-24 18:46:00.806	warn	(592) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                javascript.0	2020-02-24 18:46:00.806	warn	(592) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                javascript.0	2020-02-24 18:46:00.806	warn	(592) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                javascript.0	2020-02-24 18:46:00.806	warn	(592) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                javascript.0	2020-02-24 18:46:00.806	warn	(592) at Object.adapterStatus (script.js.System.Adapterliste:78:89)
                javascript.0	2020-02-24 18:46:00.805	warn	(592) getState "system.adapter.proxy.0.uptime" not found (3) states[id]=null
                javascript.0	2020-02-24 18:46:00.379	warn	(592) at Timer.processTimers (timers.js:223:10)
                javascript.0	2020-02-24 18:46:00.379	warn	(592) at listOnTimeout (timers.js:263:5)
                javascript.0	2020-02-24 18:46:00.379	warn	(592) at tryOnTimeout (timers.js:300:5)
                javascript.0	2020-02-24 18:46:00.379	warn	(592) at ontimeout (timers.js:436:11)
                javascript.0	2020-02-24 18:46:00.378	warn	(592) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                javascript.0	2020-02-24 18:46:00.378	warn	(592) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                javascript.0	2020-02-24 18:46:00.378	warn	(592) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                javascript.0	2020-02-24 18:46:00.378	warn	(592) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                javascript.0	2020-02-24 18:46:00.378	warn	(592) at Object.adapterStatus (script.js.System.Adapterliste:115:33)
                javascript.0	2020-02-24 18:46:00.378	warn	(592) at getStatusColor (script.js.System.Adapterliste:123:32)
                javascript.0	2020-02-24 18:46:00.378	warn	(592) at Object.getStateValueIfExist (script.js.System.Adapterliste:195:34)
                javascript.0	2020-02-24 18:46:00.377	warn	(592) getState "system.adapter.fontui.0.alive" not found (3) states[id]=null
                javascript.0	2020-02-24 18:46:00.375	warn	(592) at Timer.processTimers (timers.js:223:10)
                javascript.0	2020-02-24 18:46:00.374	warn	(592) at listOnTimeout (timers.js:263:5)
                javascript.0	2020-02-24 18:46:00.374	warn	(592) at tryOnTimeout (timers.js:300:5)
                javascript.0	2020-02-24 18:46:00.374	warn	(592) at ontimeout (timers.js:436:11)
                javascript.0	2020-02-24 18:46:00.374	warn	(592) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                javascript.0	2020-02-24 18:46:00.374	warn	(592) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                javascript.0	2020-02-24 18:46:00.374	warn	(592) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                javascript.0	2020-02-24 18:46:00.374	warn	(592) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                javascript.0	2020-02-24 18:46:00.374	warn	(592) at Object.adapterStatus (script.js.System.Adapterliste:101:132)
                javascript.0	2020-02-24 18:46:00.374	warn	(592) at Object.getStateValueIfExist (script.js.System.Adapterliste:195:34)
                javascript.0	2020-02-24 18:46:00.373	warn	(592) getState "system.adapter.fontui.0.memRss" not found (3) states[id]=null
                javascript.0	2020-02-24 18:46:00.370	warn	(592) at Timer.processTimers (timers.js:223:10)
                javascript.0	2020-02-24 18:46:00.370	warn	(592) at listOnTimeout (timers.js:263:5)
                javascript.0	2020-02-24 18:46:00.370	warn	(592) at tryOnTimeout (timers.js:300:5)
                javascript.0	2020-02-24 18:46:00.370	warn	(592) at ontimeout (timers.js:436:11)
                javascript.0	2020-02-24 18:46:00.370	warn	(592) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                javascript.0	2020-02-24 18:46:00.370	warn	(592) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                javascript.0	2020-02-24 18:46:00.370	warn	(592) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                javascript.0	2020-02-24 18:46:00.369	warn	(592) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                javascript.0	2020-02-24 18:46:00.369	warn	(592) at Object.adapterStatus (script.js.System.Adapterliste:97:132)
                javascript.0	2020-02-24 18:46:00.369	warn	(592) at Object.getStateValueIfExist (script.js.System.Adapterliste:195:34)
                javascript.0	2020-02-24 18:46:00.368	warn	(592) getState "system.adapter.fontui.0.memHeapUsed" not found (3) states[id]=null
                javascript.0	2020-02-24 18:46:00.366	warn	(592) at Timer.processTimers (timers.js:223:10)
                javascript.0	2020-02-24 18:46:00.366	warn	(592) at listOnTimeout (timers.js:263:5)
                javascript.0	2020-02-24 18:46:00.365	warn	(592) at tryOnTimeout (timers.js:300:5)
                javascript.0	2020-02-24 18:46:00.365	warn	(592) at ontimeout (timers.js:436:11)
                javascript.0	2020-02-24 18:46:00.365	warn	(592) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                javascript.0	2020-02-24 18:46:00.365	warn	(592) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                javascript.0	2020-02-24 18:46:00.365	warn	(592) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                javascript.0	2020-02-24 18:46:00.365	warn	(592) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                javascript.0	2020-02-24 18:46:00.365	warn	(592) at Object.adapterStatus (script.js.System.Adapterliste:93:132)
                javascript.0	2020-02-24 18:46:00.365	warn	(592) at Object.getStateValueIfExist (script.js.System.Adapterliste:195:34)
                javascript.0	2020-02-24 18:46:00.364	warn	(592) getState "system.adapter.fontui.0.memHeapTotal" not found (3) states[id]=null
                javascript.0	2020-02-24 18:46:00.361	warn	(592) at Timer.processTimers (timers.js:223:10)
                javascript.0	2020-02-24 18:46:00.361	warn	(592) at listOnTimeout (timers.js:263:5)
                javascript.0	2020-02-24 18:46:00.361	warn	(592) at tryOnTimeout (timers.js:300:5)
                javascript.0	2020-02-24 18:46:00.361	warn	(592) at ontimeout (timers.js:436:11)
                javascript.0	2020-02-24 18:46:00.361	warn	(592) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                javascript.0	2020-02-24 18:46:00.361	warn	(592) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                javascript.0	2020-02-24 18:46:00.361	warn	(592) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                javascript.0	2020-02-24 18:46:00.361	warn	(592) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                javascript.0	2020-02-24 18:46:00.360	warn	(592) at Object.adapterStatus (script.js.System.Adapterliste:89:132)
                javascript.0	2020-02-24 18:46:00.360	warn	(592) at Object.getStateValueIfExist (script.js.System.Adapterliste:195:34)
                javascript.0	2020-02-24 18:46:00.359	warn	(592) getState "system.adapter.fontui.0.cpu" not found (3) states[id]=null
                javascript.0	2020-02-24 18:46:00.355	warn	(592) at Timer.processTimers (timers.js:223:10)
                javascript.0	2020-02-24 18:46:00.355	warn	(592) at listOnTimeout (timers.js:263:5)
                javascript.0	2020-02-24 18:46:00.355	warn	(592) at tryOnTimeout (timers.js:300:5)
                javascript.0	2020-02-24 18:46:00.354	warn	(592) at ontimeout (timers.js:436:11)
                javascript.0	2020-02-24 18:46:00.354	warn	(592) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                javascript.0	2020-02-24 18:46:00.354	warn	(592) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                javascript.0	2020-02-24 18:46:00.354	warn	(592) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                javascript.0	2020-02-24 18:46:00.354	warn	(592) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                javascript.0	2020-02-24 18:46:00.354	warn	(592) at Object.adapterStatus (script.js.System.Adapterliste:78:89)
                javascript.0	2020-02-24 18:46:00.353	warn	(592) getState "system.adapter.fontui.0.uptime" not found (3) states[id]=null
                javascript.0	2020-02-24 18:46:00.210	warn	(592) at Timer.processTimers (timers.js:223:10)
                javascript.0	2020-02-24 18:46:00.210	warn	(592) at listOnTimeout (timers.js:263:5)
                javascript.0	2020-02-24 18:46:00.210	warn	(592) at tryOnTimeout (timers.js:300:5)
                javascript.0	2020-02-24 18:46:00.210	warn	(592) at ontimeout (timers.js:436:11)
                javascript.0	2020-02-24 18:46:00.209	warn	(592) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                javascript.0	2020-02-24 18:46:00.209	warn	(592) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                javascript.0	2020-02-24 18:46:00.209	warn	(592) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                javascript.0	2020-02-24 18:46:00.209	warn	(592) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                javascript.0	2020-02-24 18:46:00.209	warn	(592) at Object.adapterStatus (script.js.System.Adapterliste:115:33)
                javascript.0	2020-02-24 18:46:00.209	warn	(592) at getStatusColor (script.js.System.Adapterliste:123:32)
                javascript.0	2020-02-24 18:46:00.208	warn	(592) at Object.getStateValueIfExist (script.js.System.Adapterliste:195:34)
                javascript.0	2020-02-24 18:46:00.207	warn	(592) getState "system.adapter.devices.0.alive" not found (3) states[id]=null
                javascript.0	2020-02-24 18:46:00.205	warn	(592) at Timer.processTimers (timers.js:223:10)
                javascript.0	2020-02-24 18:46:00.205	warn	(592) at listOnTimeout (timers.js:263:5)
                javascript.0	2020-02-24 18:46:00.205	warn	(592) at tryOnTimeout (timers.js:300:5)
                javascript.0	2020-02-24 18:46:00.205	warn	(592) at ontimeout (timers.js:436:11)
                javascript.0	2020-02-24 18:46:00.204	warn	(592) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                javascript.0	2020-02-24 18:46:00.204	warn	(592) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                javascript.0	2020-02-24 18:46:00.204	warn	(592) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                javascript.0	2020-02-24 18:46:00.204	warn	(592) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                javascript.0	2020-02-24 18:46:00.204	warn	(592) at Object.adapterStatus (script.js.System.Adapterliste:101:132)
                javascript.0	2020-02-24 18:46:00.204	warn	(592) at Object.getStateValueIfExist (script.js.System.Adapterliste:195:34)
                javascript.0	2020-02-24 18:46:00.203	warn	(592) getState "system.adapter.devices.0.memRss" not found (3) states[id]=null
                javascript.0	2020-02-24 18:46:00.201	warn	(592) at Timer.processTimers (timers.js:223:10)
                javascript.0	2020-02-24 18:46:00.200	warn	(592) at listOnTimeout (timers.js:263:5)
                javascript.0	2020-02-24 18:46:00.200	warn	(592) at tryOnTimeout (timers.js:300:5)
                javascript.0	2020-02-24 18:46:00.200	warn	(592) at ontimeout (timers.js:436:11)
                javascript.0	2020-02-24 18:46:00.200	warn	(592) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                javascript.0	2020-02-24 18:46:00.200	warn	(592) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                javascript.0	2020-02-24 18:46:00.200	warn	(592) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                javascript.0	2020-02-24 18:46:00.200	warn	(592) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                javascript.0	2020-02-24 18:46:00.200	warn	(592) at Object.adapterStatus (script.js.System.Adapterliste:97:132)
                javascript.0	2020-02-24 18:46:00.200	warn	(592) at Object.getStateValueIfExist (script.js.System.Adapterliste:195:34)
                javascript.0	2020-02-24 18:46:00.199	warn	(592) getState "system.adapter.devices.0.memHeapUsed" not found (3) states[id]=null
                javascript.0	2020-02-24 18:46:00.196	warn	(592) at Timer.processTimers (timers.js:223:10)
                javascript.0	2020-02-24 18:46:00.196	warn	(592) at listOnTimeout (timers.js:263:5)
                javascript.0	2020-02-24 18:46:00.196	warn	(592) at tryOnTimeout (timers.js:300:5)
                javascript.0	2020-02-24 18:46:00.196	warn	(592) at ontimeout (timers.js:436:11)
                javascript.0	2020-02-24 18:46:00.196	warn	(592) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                javascript.0	2020-02-24 18:46:00.196	warn	(592) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                javascript.0	2020-02-24 18:46:00.196	warn	(592) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                javascript.0	2020-02-24 18:46:00.195	warn	(592) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                javascript.0	2020-02-24 18:46:00.195	warn	(592) at Object.adapterStatus (script.js.System.Adapterliste:93:132)
                javascript.0	2020-02-24 18:46:00.195	warn	(592) at Object.getStateValueIfExist (script.js.System.Adapterliste:195:34)
                javascript.0	2020-02-24 18:46:00.194	warn	(592) getState "system.adapter.devices.0.memHeapTotal" not found (3) states[id]=null
                javascript.0	2020-02-24 18:46:00.192	warn	(592) at Timer.processTimers (timers.js:223:10)
                javascript.0	2020-02-24 18:46:00.192	warn	(592) at listOnTimeout (timers.js:263:5)
                javascript.0	2020-02-24 18:46:00.192	warn	(592) at tryOnTimeout (timers.js:300:5)
                javascript.0	2020-02-24 18:46:00.191	warn	(592) at ontimeout (timers.js:436:11)
                javascript.0	2020-02-24 18:46:00.191	warn	(592) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                javascript.0	2020-02-24 18:46:00.191	warn	(592) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                javascript.0	2020-02-24 18:46:00.191	warn	(592) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                javascript.0	2020-02-24 18:46:00.191	warn	(592) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                javascript.0	2020-02-24 18:46:00.191	warn	(592) at Object.adapterStatus (script.js.System.Adapterliste:89:132)
                javascript.0	2020-02-24 18:46:00.191	warn	(592) at Object.getStateValueIfExist (script.js.System.Adapterliste:195:34)
                javascript.0	2020-02-24 18:46:00.190	warn	(592) getState "system.adapter.devices.0.cpu" not found (3) states[id]=null
                javascript.0	2020-02-24 18:46:00.185	warn	(592) at Timer.processTimers (timers.js:223:10)
                javascript.0	2020-02-24 18:46:00.185	warn	(592) at listOnTimeout (timers.js:263:5)
                javascript.0	2020-02-24 18:46:00.185	warn	(592) at tryOnTimeout (timers.js:300:5)
                javascript.0	2020-02-24 18:46:00.185	warn	(592) at ontimeout (timers.js:436:11)
                javascript.0	2020-02-24 18:46:00.184	warn	(592) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                javascript.0	2020-02-24 18:46:00.184	warn	(592) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                javascript.0	2020-02-24 18:46:00.184	warn	(592) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                javascript.0	2020-02-24 18:46:00.184	warn	(592) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                javascript.0	2020-02-24 18:46:00.184	warn	(592) at Object.adapterStatus (script.js.System.Adapterliste:78:89)
                javascript.0	2020-02-24 18:46:00.183	warn	(592) getState "system.adapter.devices.0.uptime" not found (3) states[id]=null
                javascript.0	2020-02-24 18:45:57.842	warn	(592) at Timer.processTimers (timers.js:223:10)
                javascript.0	2020-02-24 18:45:57.842	warn	(592) at listOnTimeout (timers.js:263:5)
                javascript.0	2020-02-24 18:45:57.841	warn	(592) at tryOnTimeout (timers.js:300:5)
                javascript.0	2020-02-24 18:45:57.841	warn	(592) at ontimeout (timers.js:436:11)
                javascript.0	2020-02-24 18:45:57.841	warn	(592) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                javascript.0	2020-02-24 18:45:57.841	warn	(592) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                javascript.0	2020-02-24 18:45:57.841	warn	(592) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                javascript.0	2020-02-24 18:45:57.841	warn	(592) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                javascript.0	2020-02-24 18:45:57.841	warn	(592) at Object.adapterStatus (script.js.System.Adapterliste:115:33)
                javascript.0	2020-02-24 18:45:57.841	warn	(592) at getStatusColor (script.js.System.Adapterliste:123:32)
                javascript.0	2020-02-24 18:45:57.841	warn	(592) at Object.getStateValueIfExist (script.js.System.Adapterliste:195:34)
                javascript.0	2020-02-24 18:45:57.840	warn	(592) getState "system.adapter.proxy.0.alive" not found (3) states[id]=null
                javascript.0	2020-02-24 18:45:57.837	warn	(592) at Timer.processTimers (timers.js:223:10)
                javascript.0	2020-02-24 18:45:57.837	warn	(592) at listOnTimeout (timers.js:263:5)
                javascript.0	2020-02-24 18:45:57.837	warn	(592) at tryOnTimeout (timers.js:300:5)
                

                ° Node.js: 20.17.0 NPM: 10.8.2
                ° Proxmox, Ubuntu 22.04.3 LTS
                ° Fixer ---> iob fix

                1 Antwort Letzte Antwort
                0
                • NegaleinN Offline
                  NegaleinN Offline
                  Negalein
                  Global Moderator
                  schrieb am zuletzt editiert von
                  #108

                  @Scrounger

                  Hab noch eine Frage, ob der Wunsch möglich ist.

                  Derzeit wird nach senkrechten Spalten sortiert.
                  Also zB

                  aaa ggg
                  bbb hhh
                  ccc iii
                  ddd jjj
                  eee kkk
                  fff lll

                  Ist es möglich, die Sortierung waagrecht zu machen?
                  Also zB

                  aaa bbb
                  ccc ddd
                  eee fff
                  ggg hhh
                  iii jjj
                  kkk lll

                  ° Node.js: 20.17.0 NPM: 10.8.2
                  ° Proxmox, Ubuntu 22.04.3 LTS
                  ° Fixer ---> iob fix

                  1 Antwort Letzte Antwort
                  0
                  • ScroungerS Offline
                    ScroungerS Offline
                    Scrounger
                    Developer
                    schrieb am zuletzt editiert von Scrounger
                    #109

                    Musst mir jetzt erstmal den proxy adapter installieren, damit ich auch mal eure fehlermeldungen sehe.

                    // 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 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 = 'darkgreen';                                // Status Bar Farbe wenn Adapter zeitgesteuert ist
                    
                    // **********************************************************************************************************************************************************************
                    
                    
                    
                    // 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 .connected Änderungen hören
                    let connectedSelector = `[id=*.info.connection]`;
                    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);
                    }
                    
                    // 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
                        let adapterList = [];
                        let updateList = myHelper().getStateValueIfExist(adminUpdatesList);
                    
                        try {
                            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 newVersion = (updateList && updateList.includes(nameArray[0])) ? '<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;">${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;">${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;">${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;">${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;">${uptime}</div>
                                                </div>`
                    
                                adapterList.push({
                                    text: text,
                                    subText: subText,
                                    image: image,
                                    listType: "buttonState",
                                    objectId: dpAdapterRestart,
                                    buttonStateValue: id,
                                    statusBarColor: getStatusColor(),
                                    showValueLabel: false,
                                    name: name
                                })
                    
                                function getStatusColor() {
                                    let statusBarColor = farbeAdapterNichtAktiv;
                    
                                    if (myHelper().getStateValueIfExist(adapterAliveList[i]) === 'true') {
                                        statusBarColor = farbeAdapterAktiv;
                    
                                        if (existsState(id.replace('system.adapter.', '') + '.info.connection')) {
                                            if (!getState(id.replace('system.adapter.', '') + '.info.connection').val) {
                                                statusBarColor = farbeAdapterNichtVerbunden;
                                            }
                                        } else {
                                            if (myHelper().getStateValueIfExist(adapterAliveList[i].replace('.alive', '.connected')) === 'false') {
                                                statusBarColor = farbeAdapterNichtVerbunden;
                                            }
                                        }
                                    }
                            
                                    if (myHelper().getCommonPropertyIfExist(obj, 'enabled', false).toString() === 'false') {
                                        // Adapter ist deaktiviert
                                        statusBarColor = farbeAdapterDeaktiviert;
                                    }
                    
                                    if (myHelper().getCommonPropertyIfExist(obj, 'mode') === 'schedule') {
                                        // Adapter ist zeitgesteuert
                                        statusBarColor = farbeAdapterZeitgesteuert;
                                    }
                    
                                    return statusBarColor;
                                }
                            }
                    
                        } catch (err) {
                            console.error(`[adapterStatus] error: ${err.message}, stack: ${err.stack}`);
                        }
                    
                        adapterList.sort(function (a, b) {
                            return a.name == b.name ? 0 : +(a.name > b.name) || -1;
                        });
                    
                        let result = JSON.stringify(adapterList);
                        if (getState(dpList) !== result) {
                            setState(dpList, result, true);
                        }
                    }
                    
                    // 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 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;
                                }
                            }
                        }
                    }
                    

                    @Negalein sagte in View Adapter Status:

                    Derzeit wird nach senkrechten Spalten sortiert.

                    Das wird doch genau so sortiert?

                    <a href="https://github.com/Scrounger/ioBroker.linkeddevices">LinkedDevices Adapter</a>

                    <a href="https://github.com/Scrounger/ioBroker.vis-materialdesign">Material Design Widgets</a>

                    NegaleinN O 2 Antworten Letzte Antwort
                    0
                    • ScroungerS Scrounger

                      Musst mir jetzt erstmal den proxy adapter installieren, damit ich auch mal eure fehlermeldungen sehe.

                      // 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 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 = 'darkgreen';                                // Status Bar Farbe wenn Adapter zeitgesteuert ist
                      
                      // **********************************************************************************************************************************************************************
                      
                      
                      
                      // 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 .connected Änderungen hören
                      let connectedSelector = `[id=*.info.connection]`;
                      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);
                      }
                      
                      // 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
                          let adapterList = [];
                          let updateList = myHelper().getStateValueIfExist(adminUpdatesList);
                      
                          try {
                              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 newVersion = (updateList && updateList.includes(nameArray[0])) ? '<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;">${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;">${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;">${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;">${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;">${uptime}</div>
                                                  </div>`
                      
                                  adapterList.push({
                                      text: text,
                                      subText: subText,
                                      image: image,
                                      listType: "buttonState",
                                      objectId: dpAdapterRestart,
                                      buttonStateValue: id,
                                      statusBarColor: getStatusColor(),
                                      showValueLabel: false,
                                      name: name
                                  })
                      
                                  function getStatusColor() {
                                      let statusBarColor = farbeAdapterNichtAktiv;
                      
                                      if (myHelper().getStateValueIfExist(adapterAliveList[i]) === 'true') {
                                          statusBarColor = farbeAdapterAktiv;
                      
                                          if (existsState(id.replace('system.adapter.', '') + '.info.connection')) {
                                              if (!getState(id.replace('system.adapter.', '') + '.info.connection').val) {
                                                  statusBarColor = farbeAdapterNichtVerbunden;
                                              }
                                          } else {
                                              if (myHelper().getStateValueIfExist(adapterAliveList[i].replace('.alive', '.connected')) === 'false') {
                                                  statusBarColor = farbeAdapterNichtVerbunden;
                                              }
                                          }
                                      }
                              
                                      if (myHelper().getCommonPropertyIfExist(obj, 'enabled', false).toString() === 'false') {
                                          // Adapter ist deaktiviert
                                          statusBarColor = farbeAdapterDeaktiviert;
                                      }
                      
                                      if (myHelper().getCommonPropertyIfExist(obj, 'mode') === 'schedule') {
                                          // Adapter ist zeitgesteuert
                                          statusBarColor = farbeAdapterZeitgesteuert;
                                      }
                      
                                      return statusBarColor;
                                  }
                              }
                      
                          } catch (err) {
                              console.error(`[adapterStatus] error: ${err.message}, stack: ${err.stack}`);
                          }
                      
                          adapterList.sort(function (a, b) {
                              return a.name == b.name ? 0 : +(a.name > b.name) || -1;
                          });
                      
                          let result = JSON.stringify(adapterList);
                          if (getState(dpList) !== result) {
                              setState(dpList, result, true);
                          }
                      }
                      
                      // 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 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;
                                  }
                              }
                          }
                      }
                      

                      @Negalein sagte in View Adapter Status:

                      Derzeit wird nach senkrechten Spalten sortiert.

                      Das wird doch genau so sortiert?

                      NegaleinN Offline
                      NegaleinN Offline
                      Negalein
                      Global Moderator
                      schrieb am zuletzt editiert von Negalein
                      #110

                      @Scrounger sagte in View Adapter Status:

                      Das wird doch genau so sortiert?

                      nicht immer


                      vis (28).png


                      vis (31).png

                      Musst mir jetzt erstmal den proxy adapter installieren, damit ich auch mal eure fehlermeldungen sehe.

                      Ist das Script eine neue Version?

                      ° Node.js: 20.17.0 NPM: 10.8.2
                      ° Proxmox, Ubuntu 22.04.3 LTS
                      ° Fixer ---> iob fix

                      ScroungerS 1 Antwort Letzte Antwort
                      0
                      • NegaleinN Negalein

                        @Scrounger sagte in View Adapter Status:

                        Das wird doch genau so sortiert?

                        nicht immer


                        vis (28).png


                        vis (31).png

                        Musst mir jetzt erstmal den proxy adapter installieren, damit ich auch mal eure fehlermeldungen sehe.

                        Ist das Script eine neue Version?

                        ScroungerS Offline
                        ScroungerS Offline
                        Scrounger
                        Developer
                        schrieb am zuletzt editiert von
                        #111

                        @Negalein sagte in View Adapter Status:

                        Ist das Script eine neue Version?

                        ja

                        <a href="https://github.com/Scrounger/ioBroker.linkeddevices">LinkedDevices Adapter</a>

                        <a href="https://github.com/Scrounger/ioBroker.vis-materialdesign">Material Design Widgets</a>

                        NegaleinN 1 Antwort Letzte Antwort
                        0
                        • ScroungerS Scrounger

                          @Negalein sagte in View Adapter Status:

                          Ist das Script eine neue Version?

                          ja

                          NegaleinN Offline
                          NegaleinN Offline
                          Negalein
                          Global Moderator
                          schrieb am zuletzt editiert von
                          #112

                          @Scrounger sagte in View Adapter Status:

                          ja

                          perfekt

                          Sortierung funktioniert wieder

                          Und das beste ..... Ich bekomme keine Fehlermeldungen mehr

                          ° Node.js: 20.17.0 NPM: 10.8.2
                          ° Proxmox, Ubuntu 22.04.3 LTS
                          ° Fixer ---> iob fix

                          O 1 Antwort Letzte Antwort
                          0
                          • NegaleinN Negalein

                            @Scrounger sagte in View Adapter Status:

                            ja

                            perfekt

                            Sortierung funktioniert wieder

                            Und das beste ..... Ich bekomme keine Fehlermeldungen mehr

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

                            @Negalein

                            wie machst du das mit dem stoppen?

                            bei mir starten die Adapter nur neu?

                            Gruß
                            Oliver

                            NegaleinN 1 Antwort Letzte Antwort
                            0
                            • O Oli

                              @Negalein

                              wie machst du das mit dem stoppen?

                              bei mir starten die Adapter nur neu?

                              NegaleinN Offline
                              NegaleinN Offline
                              Negalein
                              Global Moderator
                              schrieb am zuletzt editiert von
                              #114

                              @Oli sagte in View Adapter Status:

                              wie machst du das mit dem stoppen?

                              Zeile 18
                              let neustarten = true;auf falseändern

                              ° Node.js: 20.17.0 NPM: 10.8.2
                              ° Proxmox, Ubuntu 22.04.3 LTS
                              ° Fixer ---> iob fix

                              O 1 Antwort Letzte Antwort
                              0
                              • ScroungerS Scrounger

                                Musst mir jetzt erstmal den proxy adapter installieren, damit ich auch mal eure fehlermeldungen sehe.

                                // 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 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 = 'darkgreen';                                // Status Bar Farbe wenn Adapter zeitgesteuert ist
                                
                                // **********************************************************************************************************************************************************************
                                
                                
                                
                                // 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 .connected Änderungen hören
                                let connectedSelector = `[id=*.info.connection]`;
                                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);
                                }
                                
                                // 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
                                    let adapterList = [];
                                    let updateList = myHelper().getStateValueIfExist(adminUpdatesList);
                                
                                    try {
                                        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 newVersion = (updateList && updateList.includes(nameArray[0])) ? '<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;">${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;">${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;">${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;">${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;">${uptime}</div>
                                                            </div>`
                                
                                            adapterList.push({
                                                text: text,
                                                subText: subText,
                                                image: image,
                                                listType: "buttonState",
                                                objectId: dpAdapterRestart,
                                                buttonStateValue: id,
                                                statusBarColor: getStatusColor(),
                                                showValueLabel: false,
                                                name: name
                                            })
                                
                                            function getStatusColor() {
                                                let statusBarColor = farbeAdapterNichtAktiv;
                                
                                                if (myHelper().getStateValueIfExist(adapterAliveList[i]) === 'true') {
                                                    statusBarColor = farbeAdapterAktiv;
                                
                                                    if (existsState(id.replace('system.adapter.', '') + '.info.connection')) {
                                                        if (!getState(id.replace('system.adapter.', '') + '.info.connection').val) {
                                                            statusBarColor = farbeAdapterNichtVerbunden;
                                                        }
                                                    } else {
                                                        if (myHelper().getStateValueIfExist(adapterAliveList[i].replace('.alive', '.connected')) === 'false') {
                                                            statusBarColor = farbeAdapterNichtVerbunden;
                                                        }
                                                    }
                                                }
                                        
                                                if (myHelper().getCommonPropertyIfExist(obj, 'enabled', false).toString() === 'false') {
                                                    // Adapter ist deaktiviert
                                                    statusBarColor = farbeAdapterDeaktiviert;
                                                }
                                
                                                if (myHelper().getCommonPropertyIfExist(obj, 'mode') === 'schedule') {
                                                    // Adapter ist zeitgesteuert
                                                    statusBarColor = farbeAdapterZeitgesteuert;
                                                }
                                
                                                return statusBarColor;
                                            }
                                        }
                                
                                    } catch (err) {
                                        console.error(`[adapterStatus] error: ${err.message}, stack: ${err.stack}`);
                                    }
                                
                                    adapterList.sort(function (a, b) {
                                        return a.name == b.name ? 0 : +(a.name > b.name) || -1;
                                    });
                                
                                    let result = JSON.stringify(adapterList);
                                    if (getState(dpList) !== result) {
                                        setState(dpList, result, true);
                                    }
                                }
                                
                                // 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 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;
                                            }
                                        }
                                    }
                                }
                                

                                @Negalein sagte in View Adapter Status:

                                Derzeit wird nach senkrechten Spalten sortiert.

                                Das wird doch genau so sortiert?

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

                                @Scrounger

                                danke für das tolle Script, funktioniert super.

                                Könntest du mich vielleicht bei CSS etwas unterstützen?
                                Egal was ich bereits versucht habe, ich bekomme Rahmen und Schatten nur um das gesamte Widget aber leider nicht um die einzelnen Cards.

                                Eine Frage hätte ich noch, wie bekomme ich eine Linie mittels html unter den Adapternamen?

                                Gruß
                                Oliver

                                1 Antwort Letzte Antwort
                                0
                                • NegaleinN Negalein

                                  @Oli sagte in View Adapter Status:

                                  wie machst du das mit dem stoppen?

                                  Zeile 18
                                  let neustarten = true;auf falseändern

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

                                  @Negalein

                                  danke, wer lesen kann ist klar im Vorteil.

                                  Gruß
                                  Oliver

                                  1 Antwort Letzte Antwort
                                  0
                                  • NegaleinN Negalein

                                    @sigi234 sagte in View Adapter Status:

                                    Ich denke das geht im Skript ab Zeile 54

                                    Bingo, das wars :)
                                    vis (26).png

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

                                    @Negalein sagte in View Adapter Status:

                                    vis (26).png

                                    Ich finde die Zeile nicht , zum verändern der Card Farbe .
                                    Bei mir unter 54 steht nichts .
                                    Könntest du vielleicht ein Screenshot machen ?
                                    Danke !

                                    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 ..

                                    NegaleinN 1 Antwort Letzte Antwort
                                    0
                                    • GlasfaserG Glasfaser

                                      @Negalein sagte in View Adapter Status:

                                      vis (26).png

                                      Ich finde die Zeile nicht , zum verändern der Card Farbe .
                                      Bei mir unter 54 steht nichts .
                                      Könntest du vielleicht ein Screenshot machen ?
                                      Danke !

                                      NegaleinN Offline
                                      NegaleinN Offline
                                      Negalein
                                      Global Moderator
                                      schrieb am zuletzt editiert von
                                      #118

                                      @Glasfaser sagte in View Adapter Status:

                                      Ich finde die Zeile nicht , zum verändern der Card Farbe .

                                      du meinst den schwarzen Hintergrund?
                                      Wird direkt im Widget eingestellt
                                      Edit vis (2).png

                                      ° Node.js: 20.17.0 NPM: 10.8.2
                                      ° Proxmox, Ubuntu 22.04.3 LTS
                                      ° Fixer ---> iob fix

                                      GlasfaserG 1 Antwort Letzte Antwort
                                      1
                                      • NegaleinN Negalein

                                        @Glasfaser sagte in View Adapter Status:

                                        Ich finde die Zeile nicht , zum verändern der Card Farbe .

                                        du meinst den schwarzen Hintergrund?
                                        Wird direkt im Widget eingestellt
                                        Edit vis (2).png

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

                                        @Negalein

                                        Ahh ..dachte im Script, , Danke .
                                        Sieht schon besser aus :+1:

                                        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 ..

                                        NegaleinN 1 Antwort Letzte Antwort
                                        0
                                        • GlasfaserG Glasfaser

                                          @Negalein

                                          Ahh ..dachte im Script, , Danke .
                                          Sieht schon besser aus :+1:

                                          NegaleinN Offline
                                          NegaleinN Offline
                                          Negalein
                                          Global Moderator
                                          schrieb am zuletzt editiert von
                                          #120

                                          @Glasfaser sagte in View Adapter Status:

                                          Ahh ..dachte im Script, , Danke .

                                          Und mir ist mit der Schriftfarbe so gegangen. Hab im Widget danach gesucht. :grin:

                                          ° Node.js: 20.17.0 NPM: 10.8.2
                                          ° Proxmox, Ubuntu 22.04.3 LTS
                                          ° Fixer ---> iob fix

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          773

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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