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

  • 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.
  • O Oli

    @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?
    2. Kann im Script auch das stoppen eines Adapters eingebaut werden?
    3. Kann um die einzelnen Cards ein Rahmen, Schatten und Radius gelegt werde?
    4. Es ist es möglich unter den Adapternamen eine Linie einzufügen?
    ScroungerS Offline
    ScroungerS Offline
    Scrounger
    Developer
    schrieb am zuletzt editiert von
    #100

    @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!

    <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

      @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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          779

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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