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
    15
    1
    2.6k

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.
  • NegaleinN Offline
    NegaleinN Offline
    Negalein
    Global Moderator
    schrieb am zuletzt editiert von
    #97

    @sigi234 @Oli @Scrounger

    Werden bei euch alle Adapter angezeigt?

    Ich hab über 40 installiert, aber es wird nur ein Bruchteil angezeigt.

    vis (29).png

    ° 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

      @sigi234 @Oli @Scrounger

      Werden bei euch alle Adapter angezeigt?

      Ich hab über 40 installiert, aber es wird nur ein Bruchteil angezeigt.

      vis (29).png

      O Offline
      O Offline
      Oli
      schrieb am zuletzt editiert von
      #98

      @Negalein
      bei mir werden alle angezeigt

      Gruß
      Oliver

      NegaleinN 1 Antwort Letzte Antwort
      0
      • O Oli

        @Negalein
        bei mir werden alle angezeigt

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

        @Oli sagte in View Adapter Status:

        bei mir werden alle angezeigt

        Funktioniert wieder.

        Nachdem ich diesen Error beim Scriptstart gesehen habe, hab ich es nochmal pausiert und gestartet.
        Jetzt funktionierts wieder.
        javascript - ioBroker (3).png

        Eventuell hat es damit zusammengehangen, dass ich während das Script lief, ich einige Adapter deinstalliert habe.

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

        1 Antwort Letzte Antwort
        0
        • 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 Offline
              O Offline
              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 Offline
                                    O Offline
                                    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 Offline
                                        O Offline
                                        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 Offline
                                          O Offline
                                          Oli
                                          schrieb am zuletzt editiert von
                                          #116

                                          @Negalein

                                          danke, wer lesen kann ist klar im Vorteil.

                                          Gruß
                                          Oliver

                                          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

                                          305

                                          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