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

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

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

View Adapter Status

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
view adapterview
212 Beiträge 31 Kommentatoren 37.2k Aufrufe 52 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • O Oli

    @Negalein

    ich kann den Adapter starten oder neu starten, aber nicht stoppen.

    Steht auch so im Beitrag von @Scrounger

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

    @Oli sagte in View Adapter Status:

    ich kann den Adapter starten oder neu starten, aber nicht stoppen.
    Steht auch so im Beitrag von @Scrounger

    Ah, stimmt. Habs gerade getestet.
    Sorry, hab ich dann falsch verstanden.

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          843

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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