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

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

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

View Adapter Status

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

    @ub-privat sagte in View Adapter Status:

    keine Zustandsdarstellung, leider...

    probier mal dies.
    Ist jetzt nur das Admin-Icon und der Hintergrund.

    Musst die ID noch anpassen.

    [{"tpl":"tplValueListHtml8","data":{"oid":"system.adapter.admin.0.connected","count":"1","value0":"","value1":"","style1":"background-color: #02c908","style0":"background-color: #ff0000","value2":"333","style2":"background-color: orange","test_list":"0","gestures-offsetX":0,"gestures-offsetY":0,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis.0/VIS/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis.0/VIS/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis.0/VIS/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Admin_Hintergrund","g_visibility":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide"},"style":{"left":"30px","top":"97px","color":"white","text-align":"left","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"large","width":"54px","height":"54px","z-index":"10","overflow-x":"","border-radius":"12px","box-shadow":"2px 2px 3px rgba(20, 20, 20, 50)"},"widgetSet":"basic"},{"tpl":"tplImage","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"refreshInterval":"0","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"src":"/vis.0/VIS/Meine_Icons/Adapter_Icons/admin.png","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"name":"Admin_Bild","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide"},"style":{"left":"32px","top":"99px","width":"46px","height":"46px","background":"#424242","border-radius":"10px","background-color":"#424242","border-style":"solid","border-width":"2px","z-index":"10","border-color":"#424242"},"widgetSet":"basic"}]
    
    ub.privatU Offline
    ub.privatU Offline
    ub.privat
    schrieb am zuletzt editiert von
    #62

    @Negalein & @sigi234

    perfekt! Jetzt klappt's!!!! Jippi... GROSSES DANKESCHÖN:+1: :+1:
    311e2fad-b7ce-43d6-a151-2e4e00650b9e-grafik.png

    Aber nun interessiert mich brennend, wo der Fehler steckt...
    Wenn ich die Einstellungen durchschaue, kann ich nicht wirklich einen Fehler entdecken!?

    sigi234S 1 Antwort Letzte Antwort
    0
    • ub.privatU ub.privat

      @Negalein & @sigi234

      perfekt! Jetzt klappt's!!!! Jippi... GROSSES DANKESCHÖN:+1: :+1:
      311e2fad-b7ce-43d6-a151-2e4e00650b9e-grafik.png

      Aber nun interessiert mich brennend, wo der Fehler steckt...
      Wenn ich die Einstellungen durchschaue, kann ich nicht wirklich einen Fehler entdecken!?

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

      @ub-privat sagte in View Adapter Status:

      Aber nun interessiert mich brennend, wo der Fehler steckt...
      Wenn ich die Einstellungen durchschaue, kann ich nicht wirklich einen Fehler entdecken!?

      Entscheidend ist der z-index und die Größe vom Bild und es darf der Border Rahmen nicht aktiviert werden.

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

      ub.privatU 1 Antwort Letzte Antwort
      1
      • sigi234S sigi234

        @ub-privat sagte in View Adapter Status:

        Aber nun interessiert mich brennend, wo der Fehler steckt...
        Wenn ich die Einstellungen durchschaue, kann ich nicht wirklich einen Fehler entdecken!?

        Entscheidend ist der z-index und die Größe vom Bild und es darf der Border Rahmen nicht aktiviert werden.

        ub.privatU Offline
        ub.privatU Offline
        ub.privat
        schrieb am zuletzt editiert von
        #64

        @sigi234

        ok, werde demnoch mal die gesamt VIS durchforsten... Das beste daran, wieder etwas gelernt! DANKE

        1 Antwort Letzte Antwort
        0
        • K Kuddel

          @Oli ich habe mir deinen View kopiert und passe den gerade an.

          Leider wird das Bild nicht korrekt angezeigt.

          Im Datenobjekt selber, sind die Werte aber korrekt eingetragen:

          546e6a0a-8941-4dba-83dc-4b7bbcab3101-grafik.png

          EDIT: Das Bild wird doch korrekt angezeigt.

          Kann ich es auch unter "Signalbilder" verwenen, damit das Bild blinkt, wenn der Adapter nicht connected ist ?

          EDIT2: Funktioniert. Im VIS Editor werden die BIlder nur nicht angezeigt, in der letzlichen VIS schon

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

          @Kuddel

          freut mich, dass es funktioniert und ich dir auch mal was zur Verfügung stellen konnte :-)

          Verbesserungsvorschläge nehme ich immer gerne entgegen.

          Gruß
          Oliver

          K 1 Antwort Letzte Antwort
          0
          • G Offline
            G Offline
            G4l4h4d
            schrieb am zuletzt editiert von G4l4h4d
            #66

            Ich habe auch das Problem das der Status sich nicht ändert, allerdings ändert sich der Zustand in den Objekten auch nicht.
            Habe meine hue und meine NAS mal Stromlos geschaltet aber in den Objekten ändert sich der Status nicht. Er zeigt immer noch true an und auch die restlichen DP aktualiseren sich nicht.

            hue_1.png

            Woran könnte das liegen?

            1 Antwort Letzte Antwort
            0
            • O Oli

              @Kuddel

              freut mich, dass es funktioniert und ich dir auch mal was zur Verfügung stellen konnte :-)

              Verbesserungsvorschläge nehme ich immer gerne entgegen.

              K Offline
              K Offline
              Kuddel
              schrieb am zuletzt editiert von Kuddel
              #67

              @Oli ich habe meine Übersicht jetzt soweit auf dein Skript angepasst.

              Ich habe einen zusätzliche DP (Alive) erstellt, um den Adapter per VIS zu deaktivieren.

              Leider setzt der Schalter in der VIS die jweilige Instanz nicht auf false.

              Hast du eine Idee dazu ?

              31ad5f4e-c3f4-49ab-ba18-221467511dfa-grafik.png

              Schalter für den Adapter Alexa2

              [{"tpl":"tplHqButton","data":{"oid":"javascript.0.Adapter.Adapter2.Alive","min":"false","max":"true","timeAsInterval":"true","infoLeftFontSize":"12","infoFontRightSize":"12","gestures-offsetX":0,"gestures-offsetY":0,"signals-cond-0":"==","signals-val-0":"0","signals-icon-0":"{javascript.0.Adapter.Adapter2.Bild}","signals-icon-size-0":"40","signals-blink-0":true,"signals-horz-0":"10","signals-vert-0":"10","signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":"1","signals-icon-1":"{javascript.0.Adapter.Adapter2.Bild}","signals-icon-size-1":"40","signals-blink-1":false,"signals-horz-1":"10","signals-vert-1":"10","signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":"2","signals-icon-2":"{javascript.0.Adapter.Adapter2.Bild}","signals-icon-size-2":"40","signals-blink-2":true,"signals-horz-2":"10","signals-vert-2":"10","signals-hide-edit-2":false,"pushButton":false,"usejQueryStyle":false,"g_visibility":false,"styleActive":"hq-button-no-background","name":"Bild","infoLeftPaddingLeft":"15","infoLeftPaddingRight":"50","infoRightPaddingRight":"15","gestures-swipeLeft-limit":"-1","gestures-rotateLeft-limit":"2","styleNormal":"hq-button-no-background","testActive":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"descriptionLeft":"Side brush lifetime reset","descriptionLeftDisabled":true,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-oid-0":"javascript.0.Adapter.Adapter2.Connected","signals-oid-1":"javascript.0.Adapter.Adapter2.Connected","g_center":true,"iconName":"","btIconWidth":"56","offsetAuto":"true","leftOffset":"15","topOffset":"55","signals-oid-2":"javascript.0.Adapter.Adapter2.Connected"},"style":{"left":"25px","top":"5px","width":"50px","height":"50px","border-width":"","border-style":"","border-color":"","border-radius":"10px","z-index":"20","text-align":"center","font-size":"small","box-shadow":"","background":"#212121","background-color":"#212121"},"widgetSet":"hqwidgets"}]
              

              O 1 Antwort Letzte Antwort
              0
              • K Kuddel

                @Oli ich habe meine Übersicht jetzt soweit auf dein Skript angepasst.

                Ich habe einen zusätzliche DP (Alive) erstellt, um den Adapter per VIS zu deaktivieren.

                Leider setzt der Schalter in der VIS die jweilige Instanz nicht auf false.

                Hast du eine Idee dazu ?

                31ad5f4e-c3f4-49ab-ba18-221467511dfa-grafik.png

                Schalter für den Adapter Alexa2

                [{"tpl":"tplHqButton","data":{"oid":"javascript.0.Adapter.Adapter2.Alive","min":"false","max":"true","timeAsInterval":"true","infoLeftFontSize":"12","infoFontRightSize":"12","gestures-offsetX":0,"gestures-offsetY":0,"signals-cond-0":"==","signals-val-0":"0","signals-icon-0":"{javascript.0.Adapter.Adapter2.Bild}","signals-icon-size-0":"40","signals-blink-0":true,"signals-horz-0":"10","signals-vert-0":"10","signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":"1","signals-icon-1":"{javascript.0.Adapter.Adapter2.Bild}","signals-icon-size-1":"40","signals-blink-1":false,"signals-horz-1":"10","signals-vert-1":"10","signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":"2","signals-icon-2":"{javascript.0.Adapter.Adapter2.Bild}","signals-icon-size-2":"40","signals-blink-2":true,"signals-horz-2":"10","signals-vert-2":"10","signals-hide-edit-2":false,"pushButton":false,"usejQueryStyle":false,"g_visibility":false,"styleActive":"hq-button-no-background","name":"Bild","infoLeftPaddingLeft":"15","infoLeftPaddingRight":"50","infoRightPaddingRight":"15","gestures-swipeLeft-limit":"-1","gestures-rotateLeft-limit":"2","styleNormal":"hq-button-no-background","testActive":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"descriptionLeft":"Side brush lifetime reset","descriptionLeftDisabled":true,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-oid-0":"javascript.0.Adapter.Adapter2.Connected","signals-oid-1":"javascript.0.Adapter.Adapter2.Connected","g_center":true,"iconName":"","btIconWidth":"56","offsetAuto":"true","leftOffset":"15","topOffset":"55","signals-oid-2":"javascript.0.Adapter.Adapter2.Connected"},"style":{"left":"25px","top":"5px","width":"50px","height":"50px","border-width":"","border-style":"","border-color":"","border-radius":"10px","z-index":"20","text-align":"center","font-size":"small","box-shadow":"","background":"#212121","background-color":"#212121"},"widgetSet":"hqwidgets"}]
                

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

                @Kuddel

                das wollte ich eigentlich mit dem Connected Datenpunkt so machen, hat auch nicht funktioniert.

                Hast du schon mal versucht mit dem Schalter ein zusätzliches Script auszuführen?

                Ich würde mir noch einen Datenpunkt anlegen, nur für den Schalter, sobald sich dieser ändert, dass zusätzliche Script starten.

                Kann ich aber erst heute Abend testen, wenn ich zu Hause bin.

                Gruß
                Oliver

                K 1 Antwort Letzte Antwort
                0
                • O Oli

                  @Kuddel

                  das wollte ich eigentlich mit dem Connected Datenpunkt so machen, hat auch nicht funktioniert.

                  Hast du schon mal versucht mit dem Schalter ein zusätzliches Script auszuführen?

                  Ich würde mir noch einen Datenpunkt anlegen, nur für den Schalter, sobald sich dieser ändert, dass zusätzliche Script starten.

                  Kann ich aber erst heute Abend testen, wenn ich zu Hause bin.

                  K Offline
                  K Offline
                  Kuddel
                  schrieb am zuletzt editiert von
                  #69

                  @Oli den Schalter sleber habe ich mir aus meiner VIS kopiert, wo der Alive DP fest hinterlegt war.

                  In der Konfiguration kann man die Instanz dann auch deaktivieren.

                  O 1 Antwort Letzte Antwort
                  0
                  • K Kuddel

                    @Oli den Schalter sleber habe ich mir aus meiner VIS kopiert, wo der Alive DP fest hinterlegt war.

                    In der Konfiguration kann man die Instanz dann auch deaktivieren.

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

                    @Kuddel

                    versuche mal im Wiget die oid in Schweifklammern zu setzen

                    Edit:
                    Habe es getestet funktioniert bei mir mit den Klammern.

                    Gruß
                    Oliver

                    K 1 Antwort Letzte Antwort
                    0
                    • O Oli

                      @Kuddel

                      versuche mal im Wiget die oid in Schweifklammern zu setzen

                      Edit:
                      Habe es getestet funktioniert bei mir mit den Klammern.

                      K Offline
                      K Offline
                      Kuddel
                      schrieb am zuletzt editiert von
                      #71

                      @Oli echt ? Bei mir geht es nicht.

                      Magst du vllt. deinen Schalter exportieren und zur Verfügung stellen?

                      O 1 Antwort Letzte Antwort
                      0
                      • K Kuddel

                        @Oli echt ? Bei mir geht es nicht.

                        Magst du vllt. deinen Schalter exportieren und zur Verfügung stellen?

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

                        @Kuddel

                        ich hab den von dir genommen :-)

                        ich habe das beim Bing Adapter ausprobiert, dieser ging allerdings nach kurzer Zeit von sich aus wieder auf true, woran das liegt kann ich dir nicht sagen.

                        Habe noch einen kleinen Fehler im Script gefunden

                        if(connect == false){
                                        var con = 0;    
                                    } else {                
                                        var con = 1;
                                        var strStatePath = devicenameName + ".info.connection";
                                        if (isState(strStatePath, true)) {
                                            var connectS = getState(devicenameName + ".info.connection").val;
                                            if (connectS == false) {
                                                con = 2;
                                            }                                                                        
                                        } 
                                    }
                                                          
                                }
                        

                        Steht bei mir im Script ab Zeile 33.

                        Gruß
                        Oliver

                        1 Antwort Letzte Antwort
                        0
                        • sigi234S sigi234

                          @Bachmann77 sagte in View Adapter Status:

                          @sigi234
                          hät ja gern mal gesehen wie deine komplette vis aussieht :)

                          Ja ist nur ein Ausschnitt davon.

                          Ich baue gerade meine komplette Vis auf vis-materialdesign von @Scrounger um. Hier einige Beispiele:

                          Screenshot (542).png

                          Screenshot (540).png

                          Screenshot (538).png

                          Screenshot (536).png

                          Screenshot (534).png

                          Screenshot (532).png

                          Screenshot (530).png

                          Screenshot (528).png

                          Das Menü lässt sich natürlich ausblenden.

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

                          @sigi234 sagte in View Adapter Status:

                          @Bachmann77 sagte in View Adapter Status:

                          @sigi234
                          hät ja gern mal gesehen wie deine komplette vis aussieht :)

                          Ja ist nur ein Ausschnitt davon.

                          Ich baue gerade meine komplette Vis auf vis-materialdesign von @Scrounger um. Hier einige Beispiele:

                          Screenshot (540).png

                          Würdest du mir die widgets mit denen du den Füllstand des Toners anzeigen lässt zu Verfügung stellen?

                          sigi234S 1 Antwort Letzte Antwort
                          0
                          • S saeft_2003

                            @sigi234 sagte in View Adapter Status:

                            @Bachmann77 sagte in View Adapter Status:

                            @sigi234
                            hät ja gern mal gesehen wie deine komplette vis aussieht :)

                            Ja ist nur ein Ausschnitt davon.

                            Ich baue gerade meine komplette Vis auf vis-materialdesign von @Scrounger um. Hier einige Beispiele:

                            Screenshot (540).png

                            Würdest du mir die widgets mit denen du den Füllstand des Toners anzeigen lässt zu Verfügung stellen?

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

                            @saeft_2003 sagte in View Adapter Status:

                            Würdest du mir die widgets mit denen du den Füllstand des Toners anzeigen lässt zu Verfügung stellen?

                            Widget_Toner.txt

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

                            M 1 Antwort Letzte Antwort
                            1
                            • S Offline
                              S Offline
                              saeft_2003
                              Most Active
                              schrieb am zuletzt editiert von
                              #75

                              Danke :-) :+1:

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

                                @sigi234 vielen Dank für die Inspiration für den Adapter Status.

                                Da ich aber ein fauler Mensch bin ;) und keine Lust habe jedes Mal das Widget anpassen zu müssen, wenn ich einen neuen Adapter hinzufüge oder entferne, habe ich das ganze mit nem Skript und meinem IconList Widget dynamisch erzeugt. (Adapter Version v0.2.59 - demnächst im latest !!!)
                                Vorteil des Widget ist, dass es responsiv ist (ein layout für Handy, Tablet, Desktop) und man auch noch die Adapter starten bzw. neustarten kann :sunglasses:

                                iconList_adapterStatus.gif

                                View zum importieren

                                {
                                  "settings": {
                                    "style": {
                                      "background_class": ""
                                    },
                                    "theme": "redmond",
                                    "sizex": "",
                                    "sizey": "",
                                    "gridSize": "",
                                    "snapType": null
                                  },
                                  "widgets": {
                                    "e00001": {
                                      "tpl": "tplVis-materialdesign-Icon-List",
                                      "data": {
                                        "g_fixed": false,
                                        "g_visibility": false,
                                        "g_css_font_text": false,
                                        "g_css_background": false,
                                        "g_css_shadow_padding": false,
                                        "g_css_border": false,
                                        "g_gestures": false,
                                        "g_signals": false,
                                        "g_last_change": false,
                                        "visibility-cond": "==",
                                        "visibility-val": 1,
                                        "visibility-groups-action": "hide",
                                        "wrapItems": "true",
                                        "listItemDataMethod": "jsonStringObject",
                                        "countListItems": "1",
                                        "vibrateOnMobilDevices": "50",
                                        "listLayout": "card",
                                        "itemLayout": "horizontal",
                                        "listType0": "text",
                                        "showValueLabel0": "true",
                                        "listType1": "text",
                                        "showValueLabel1": "true",
                                        "signals-cond-0": "==",
                                        "signals-val-0": true,
                                        "signals-icon-0": "/vis/signals/lowbattery.png",
                                        "signals-icon-size-0": 0,
                                        "signals-blink-0": false,
                                        "signals-horz-0": 0,
                                        "signals-vert-0": 0,
                                        "signals-hide-edit-0": false,
                                        "signals-cond-1": "==",
                                        "signals-val-1": true,
                                        "signals-icon-1": "/vis/signals/lowbattery.png",
                                        "signals-icon-size-1": 0,
                                        "signals-blink-1": false,
                                        "signals-horz-1": 0,
                                        "signals-vert-1": 0,
                                        "signals-hide-edit-1": false,
                                        "signals-cond-2": "==",
                                        "signals-val-2": true,
                                        "signals-icon-2": "/vis/signals/lowbattery.png",
                                        "signals-icon-size-2": 0,
                                        "signals-blink-2": false,
                                        "signals-horz-2": 0,
                                        "signals-vert-2": 0,
                                        "signals-hide-edit-2": false,
                                        "lc-type": "last-change",
                                        "lc-is-interval": true,
                                        "lc-is-moment": false,
                                        "lc-format": "",
                                        "lc-position-vert": "top",
                                        "lc-position-horz": "right",
                                        "lc-offset-vert": 0,
                                        "lc-offset-horz": 0,
                                        "lc-font-size": "12px",
                                        "lc-font-family": "",
                                        "lc-font-style": "",
                                        "lc-bkg-color": "",
                                        "lc-color": "",
                                        "lc-border-width": "0",
                                        "lc-border-style": "",
                                        "lc-border-color": "",
                                        "lc-border-radius": 10,
                                        "lc-zindex": 0,
                                        "jsonStringObject": "{0_userdata.0.vis.AdapterStatus.jsonList}",
                                        "maxItemsperRow": "6",
                                        "iconHeight": "60",
                                        "verticalIconContainerWidth": "100",
                                        "labelFontSize": "20",
                                        "labelFontFamily": "RobotoCondensed-Regular",
                                        "iconItemMinWidth": "290",
                                        "labelFontColor": "",
                                        "valueFontFamily": "",
                                        "subLabelFontFamily": "RobotoCondensed-Regular",
                                        "subLabelFontSize": "14",
                                        "subLabelFontColor": "#000000",
                                        "oid": "0_userdata.0.AdapterStatus.jsonList",
                                        "label0": ""
                                      },
                                      "style": {
                                        "left": "0px",
                                        "top": "0px",
                                        "width": "100%",
                                        "height": "100%",
                                        "overflow-y": "auto"
                                      },
                                      "widgetSet": "materialdesign"
                                    }
                                  },
                                  "name": "AdapterStatus",
                                  "filterList": []
                                }
                                

                                Skript, Datenpunkte müsst ihr entsprechend erstellen und anpassen - siehe Kommentare im skript!
                                Achtung wenn ich Bindings verwende geht meine vis in die Knie, deshalb wird das skript zyklisch aufgerufen.

                                // Imports
                                const moment = require("moment");
                                const momentDurationFormatSetup = require("moment-duration-format");
                                moment.locale("de");
                                
                                // Fomate für moment Lib
                                let durationFormat = "dd[T] hh[h] mm[m]";
                                
                                let adapterSelector = `[id=system.adapter.*.alive]`;
                                let adapterAliveList = $(adapterSelector);
                                
                                // Datenpunkt für IconList Widget
                                let dpList = '0_userdata.0.vis.AdapterStatus.jsonList';
                                
                                // Datenpunkt für Adapter restart
                                let dpAdapterRestart = '0_userdata.0.vis.AdapterStatus.restartTrigger';
                                
                                // interval die adapterStatus Funktion augerufen wird (in Sekunden)
                                const checkInterval = 30;
                                
                                // Fehlermeldung ausgeben, wenn selector kein result liefert
                                if (adapterAliveList.length === 0) {
                                    console.error(`no result for selector '${adapterSelector}'`)
                                }
                                
                                adapterAliveList.on(adapterStatus);                                             // listener nur für Änderung bei alive
                                
                                // Funktion adapterStatus alle x Sekunden ausführen
                                schedule('*/'+ checkInterval + ' * * * * *', adapterStatus);
                                
                                function adapterStatus() {
                                    let adapterList = [];
                                
                                    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 (adapterInstance > 0) {
                                                nameWithInstance = name + '.' + adapterInstance;
                                            }
                                
                                            let uptime = `{d:${id + '.uptime'};Math.floor( ((d)/60/60/24) )}T {h:${id + '.uptime'};Math.floor( ((h)/60/60) % 24 )}h 
                                            {m:${id + '.uptime'};Math.floor( ((m)/60) % 60 )}m`
                                
                                            let text = `<div style="display: flex; flex-direction: row; line-height: 1.5; padding-right: 8px; align-items: center;">
                                                            <div style="flex: 1">${nameWithInstance}</div>
                                                            <div style="color: grey; font-size: 12px; font-family: RobotoCondensed-LightItalic;">v${obj.common.version}</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;">${getState(id + '.cpu').val} % %</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;">${getState(id + '.memHeapTotal').val} 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;">${getState(id + '.memHeapUsed').val} 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;">${getState(id + '.memRss').val} 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;">${moment.duration(getState(id + '.uptime').val, 'seconds').format(durationFormat, 0)}</div>
                                                            </div>`
                                
                                            adapterList.push({
                                                text: text,
                                                subText: subText,
                                                image: `/${nameArray[0]}.admin/${obj.common.icon}`,
                                                listType: "buttonState",
                                                objectId: dpAdapterRestart,
                                                buttonStateValue: id,
                                                statusBarColor: getStatusColor(),
                                                showValueLabel: false
                                            })
                                
                                            function getStatusColor() {
                                                let statusBarColor = 'FireBrick';
                                                if (getState(adapterAliveList[i]).val === true) {
                                                    statusBarColor = 'green';
                                                }
                                    
                                                if (obj.common.enabled === false) {
                                                    // Adapter ist deaktiviert
                                                    statusBarColor = 'darkgrey';
                                                }
                                    
                                                if (obj.common.mode === 'schedule') {
                                                    // Adapter ist zeitgesteuert
                                                    statusBarColor = 'orange';
                                                }
                                    
                                                return statusBarColor;
                                            }
                                        }
                                
                                    } catch (err) {
                                        console.error(`[adapterStatus] error: ${err.message}, stack: ${err.stack}`);
                                    }
                                
                                    let result = JSON.stringify(adapterList);
                                    if (getState(dpList) !== result) {
                                        setState(dpList, result, true);
                                    }
                                }
                                
                                adapterStatus();
                                
                                // Funktion um Adapter zu starten / neu starten
                                on({ id: dpAdapterRestart }, function (obj) {
                                    var adapter = getObject(obj.state.val.toString());
                                
                                    if (adapter.common.enabled === false) {
                                        // Adapter deaktiviert -> starten
                                        adapter.common.enabled = true;
                                    }
                                
                                    setObject(obj.state.val, adapter);
                                    console.log(`${obj.state.val.replace('system.adapter.', '')} neugestartet`);
                                });
                                

                                Javascript Adapter muss folgende libraries importieren und setObject aktiviert sein!
                                c5bd712d-c6a9-4d5a-8245-b1e405a229be-grafik.png

                                Weiß jemand noch wie wo man den Status abgreifen kann das ein Update für den Adapter zur Verfügung steht? Dann könnte ich noch ein Badget einfügen.

                                <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 sigi234S 3 Antworten Letzte Antwort
                                2
                                • ScroungerS Scrounger

                                  @sigi234 vielen Dank für die Inspiration für den Adapter Status.

                                  Da ich aber ein fauler Mensch bin ;) und keine Lust habe jedes Mal das Widget anpassen zu müssen, wenn ich einen neuen Adapter hinzufüge oder entferne, habe ich das ganze mit nem Skript und meinem IconList Widget dynamisch erzeugt. (Adapter Version v0.2.59 - demnächst im latest !!!)
                                  Vorteil des Widget ist, dass es responsiv ist (ein layout für Handy, Tablet, Desktop) und man auch noch die Adapter starten bzw. neustarten kann :sunglasses:

                                  iconList_adapterStatus.gif

                                  View zum importieren

                                  {
                                    "settings": {
                                      "style": {
                                        "background_class": ""
                                      },
                                      "theme": "redmond",
                                      "sizex": "",
                                      "sizey": "",
                                      "gridSize": "",
                                      "snapType": null
                                    },
                                    "widgets": {
                                      "e00001": {
                                        "tpl": "tplVis-materialdesign-Icon-List",
                                        "data": {
                                          "g_fixed": false,
                                          "g_visibility": false,
                                          "g_css_font_text": false,
                                          "g_css_background": false,
                                          "g_css_shadow_padding": false,
                                          "g_css_border": false,
                                          "g_gestures": false,
                                          "g_signals": false,
                                          "g_last_change": false,
                                          "visibility-cond": "==",
                                          "visibility-val": 1,
                                          "visibility-groups-action": "hide",
                                          "wrapItems": "true",
                                          "listItemDataMethod": "jsonStringObject",
                                          "countListItems": "1",
                                          "vibrateOnMobilDevices": "50",
                                          "listLayout": "card",
                                          "itemLayout": "horizontal",
                                          "listType0": "text",
                                          "showValueLabel0": "true",
                                          "listType1": "text",
                                          "showValueLabel1": "true",
                                          "signals-cond-0": "==",
                                          "signals-val-0": true,
                                          "signals-icon-0": "/vis/signals/lowbattery.png",
                                          "signals-icon-size-0": 0,
                                          "signals-blink-0": false,
                                          "signals-horz-0": 0,
                                          "signals-vert-0": 0,
                                          "signals-hide-edit-0": false,
                                          "signals-cond-1": "==",
                                          "signals-val-1": true,
                                          "signals-icon-1": "/vis/signals/lowbattery.png",
                                          "signals-icon-size-1": 0,
                                          "signals-blink-1": false,
                                          "signals-horz-1": 0,
                                          "signals-vert-1": 0,
                                          "signals-hide-edit-1": false,
                                          "signals-cond-2": "==",
                                          "signals-val-2": true,
                                          "signals-icon-2": "/vis/signals/lowbattery.png",
                                          "signals-icon-size-2": 0,
                                          "signals-blink-2": false,
                                          "signals-horz-2": 0,
                                          "signals-vert-2": 0,
                                          "signals-hide-edit-2": false,
                                          "lc-type": "last-change",
                                          "lc-is-interval": true,
                                          "lc-is-moment": false,
                                          "lc-format": "",
                                          "lc-position-vert": "top",
                                          "lc-position-horz": "right",
                                          "lc-offset-vert": 0,
                                          "lc-offset-horz": 0,
                                          "lc-font-size": "12px",
                                          "lc-font-family": "",
                                          "lc-font-style": "",
                                          "lc-bkg-color": "",
                                          "lc-color": "",
                                          "lc-border-width": "0",
                                          "lc-border-style": "",
                                          "lc-border-color": "",
                                          "lc-border-radius": 10,
                                          "lc-zindex": 0,
                                          "jsonStringObject": "{0_userdata.0.vis.AdapterStatus.jsonList}",
                                          "maxItemsperRow": "6",
                                          "iconHeight": "60",
                                          "verticalIconContainerWidth": "100",
                                          "labelFontSize": "20",
                                          "labelFontFamily": "RobotoCondensed-Regular",
                                          "iconItemMinWidth": "290",
                                          "labelFontColor": "",
                                          "valueFontFamily": "",
                                          "subLabelFontFamily": "RobotoCondensed-Regular",
                                          "subLabelFontSize": "14",
                                          "subLabelFontColor": "#000000",
                                          "oid": "0_userdata.0.AdapterStatus.jsonList",
                                          "label0": ""
                                        },
                                        "style": {
                                          "left": "0px",
                                          "top": "0px",
                                          "width": "100%",
                                          "height": "100%",
                                          "overflow-y": "auto"
                                        },
                                        "widgetSet": "materialdesign"
                                      }
                                    },
                                    "name": "AdapterStatus",
                                    "filterList": []
                                  }
                                  

                                  Skript, Datenpunkte müsst ihr entsprechend erstellen und anpassen - siehe Kommentare im skript!
                                  Achtung wenn ich Bindings verwende geht meine vis in die Knie, deshalb wird das skript zyklisch aufgerufen.

                                  // Imports
                                  const moment = require("moment");
                                  const momentDurationFormatSetup = require("moment-duration-format");
                                  moment.locale("de");
                                  
                                  // Fomate für moment Lib
                                  let durationFormat = "dd[T] hh[h] mm[m]";
                                  
                                  let adapterSelector = `[id=system.adapter.*.alive]`;
                                  let adapterAliveList = $(adapterSelector);
                                  
                                  // Datenpunkt für IconList Widget
                                  let dpList = '0_userdata.0.vis.AdapterStatus.jsonList';
                                  
                                  // Datenpunkt für Adapter restart
                                  let dpAdapterRestart = '0_userdata.0.vis.AdapterStatus.restartTrigger';
                                  
                                  // interval die adapterStatus Funktion augerufen wird (in Sekunden)
                                  const checkInterval = 30;
                                  
                                  // Fehlermeldung ausgeben, wenn selector kein result liefert
                                  if (adapterAliveList.length === 0) {
                                      console.error(`no result for selector '${adapterSelector}'`)
                                  }
                                  
                                  adapterAliveList.on(adapterStatus);                                             // listener nur für Änderung bei alive
                                  
                                  // Funktion adapterStatus alle x Sekunden ausführen
                                  schedule('*/'+ checkInterval + ' * * * * *', adapterStatus);
                                  
                                  function adapterStatus() {
                                      let adapterList = [];
                                  
                                      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 (adapterInstance > 0) {
                                                  nameWithInstance = name + '.' + adapterInstance;
                                              }
                                  
                                              let uptime = `{d:${id + '.uptime'};Math.floor( ((d)/60/60/24) )}T {h:${id + '.uptime'};Math.floor( ((h)/60/60) % 24 )}h 
                                              {m:${id + '.uptime'};Math.floor( ((m)/60) % 60 )}m`
                                  
                                              let text = `<div style="display: flex; flex-direction: row; line-height: 1.5; padding-right: 8px; align-items: center;">
                                                              <div style="flex: 1">${nameWithInstance}</div>
                                                              <div style="color: grey; font-size: 12px; font-family: RobotoCondensed-LightItalic;">v${obj.common.version}</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;">${getState(id + '.cpu').val} % %</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;">${getState(id + '.memHeapTotal').val} 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;">${getState(id + '.memHeapUsed').val} 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;">${getState(id + '.memRss').val} 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;">${moment.duration(getState(id + '.uptime').val, 'seconds').format(durationFormat, 0)}</div>
                                                              </div>`
                                  
                                              adapterList.push({
                                                  text: text,
                                                  subText: subText,
                                                  image: `/${nameArray[0]}.admin/${obj.common.icon}`,
                                                  listType: "buttonState",
                                                  objectId: dpAdapterRestart,
                                                  buttonStateValue: id,
                                                  statusBarColor: getStatusColor(),
                                                  showValueLabel: false
                                              })
                                  
                                              function getStatusColor() {
                                                  let statusBarColor = 'FireBrick';
                                                  if (getState(adapterAliveList[i]).val === true) {
                                                      statusBarColor = 'green';
                                                  }
                                      
                                                  if (obj.common.enabled === false) {
                                                      // Adapter ist deaktiviert
                                                      statusBarColor = 'darkgrey';
                                                  }
                                      
                                                  if (obj.common.mode === 'schedule') {
                                                      // Adapter ist zeitgesteuert
                                                      statusBarColor = 'orange';
                                                  }
                                      
                                                  return statusBarColor;
                                              }
                                          }
                                  
                                      } catch (err) {
                                          console.error(`[adapterStatus] error: ${err.message}, stack: ${err.stack}`);
                                      }
                                  
                                      let result = JSON.stringify(adapterList);
                                      if (getState(dpList) !== result) {
                                          setState(dpList, result, true);
                                      }
                                  }
                                  
                                  adapterStatus();
                                  
                                  // Funktion um Adapter zu starten / neu starten
                                  on({ id: dpAdapterRestart }, function (obj) {
                                      var adapter = getObject(obj.state.val.toString());
                                  
                                      if (adapter.common.enabled === false) {
                                          // Adapter deaktiviert -> starten
                                          adapter.common.enabled = true;
                                      }
                                  
                                      setObject(obj.state.val, adapter);
                                      console.log(`${obj.state.val.replace('system.adapter.', '')} neugestartet`);
                                  });
                                  

                                  Javascript Adapter muss folgende libraries importieren und setObject aktiviert sein!
                                  c5bd712d-c6a9-4d5a-8245-b1e405a229be-grafik.png

                                  Weiß jemand noch wie wo man den Status abgreifen kann das ein Update für den Adapter zur Verfügung steht? Dann könnte ich noch ein Badget einfügen.

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

                                  @Scrounger sagte in View Adapter Status:

                                  Datenpunkte müsst ihr entsprechend erstellen und anpassen

                                  Als was müssen die DP angelegt werden (Zeichenkette, Werteliste, ...)

                                  Danke

                                  ° 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:

                                    Datenpunkte müsst ihr entsprechend erstellen und anpassen

                                    Als was müssen die DP angelegt werden (Zeichenkette, Werteliste, ...)

                                    Danke

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

                                    @Negalein
                                    Zeichenkette

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

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

                                    1 Antwort Letzte Antwort
                                    1
                                    • ScroungerS Scrounger

                                      @sigi234 vielen Dank für die Inspiration für den Adapter Status.

                                      Da ich aber ein fauler Mensch bin ;) und keine Lust habe jedes Mal das Widget anpassen zu müssen, wenn ich einen neuen Adapter hinzufüge oder entferne, habe ich das ganze mit nem Skript und meinem IconList Widget dynamisch erzeugt. (Adapter Version v0.2.59 - demnächst im latest !!!)
                                      Vorteil des Widget ist, dass es responsiv ist (ein layout für Handy, Tablet, Desktop) und man auch noch die Adapter starten bzw. neustarten kann :sunglasses:

                                      iconList_adapterStatus.gif

                                      View zum importieren

                                      {
                                        "settings": {
                                          "style": {
                                            "background_class": ""
                                          },
                                          "theme": "redmond",
                                          "sizex": "",
                                          "sizey": "",
                                          "gridSize": "",
                                          "snapType": null
                                        },
                                        "widgets": {
                                          "e00001": {
                                            "tpl": "tplVis-materialdesign-Icon-List",
                                            "data": {
                                              "g_fixed": false,
                                              "g_visibility": false,
                                              "g_css_font_text": false,
                                              "g_css_background": false,
                                              "g_css_shadow_padding": false,
                                              "g_css_border": false,
                                              "g_gestures": false,
                                              "g_signals": false,
                                              "g_last_change": false,
                                              "visibility-cond": "==",
                                              "visibility-val": 1,
                                              "visibility-groups-action": "hide",
                                              "wrapItems": "true",
                                              "listItemDataMethod": "jsonStringObject",
                                              "countListItems": "1",
                                              "vibrateOnMobilDevices": "50",
                                              "listLayout": "card",
                                              "itemLayout": "horizontal",
                                              "listType0": "text",
                                              "showValueLabel0": "true",
                                              "listType1": "text",
                                              "showValueLabel1": "true",
                                              "signals-cond-0": "==",
                                              "signals-val-0": true,
                                              "signals-icon-0": "/vis/signals/lowbattery.png",
                                              "signals-icon-size-0": 0,
                                              "signals-blink-0": false,
                                              "signals-horz-0": 0,
                                              "signals-vert-0": 0,
                                              "signals-hide-edit-0": false,
                                              "signals-cond-1": "==",
                                              "signals-val-1": true,
                                              "signals-icon-1": "/vis/signals/lowbattery.png",
                                              "signals-icon-size-1": 0,
                                              "signals-blink-1": false,
                                              "signals-horz-1": 0,
                                              "signals-vert-1": 0,
                                              "signals-hide-edit-1": false,
                                              "signals-cond-2": "==",
                                              "signals-val-2": true,
                                              "signals-icon-2": "/vis/signals/lowbattery.png",
                                              "signals-icon-size-2": 0,
                                              "signals-blink-2": false,
                                              "signals-horz-2": 0,
                                              "signals-vert-2": 0,
                                              "signals-hide-edit-2": false,
                                              "lc-type": "last-change",
                                              "lc-is-interval": true,
                                              "lc-is-moment": false,
                                              "lc-format": "",
                                              "lc-position-vert": "top",
                                              "lc-position-horz": "right",
                                              "lc-offset-vert": 0,
                                              "lc-offset-horz": 0,
                                              "lc-font-size": "12px",
                                              "lc-font-family": "",
                                              "lc-font-style": "",
                                              "lc-bkg-color": "",
                                              "lc-color": "",
                                              "lc-border-width": "0",
                                              "lc-border-style": "",
                                              "lc-border-color": "",
                                              "lc-border-radius": 10,
                                              "lc-zindex": 0,
                                              "jsonStringObject": "{0_userdata.0.vis.AdapterStatus.jsonList}",
                                              "maxItemsperRow": "6",
                                              "iconHeight": "60",
                                              "verticalIconContainerWidth": "100",
                                              "labelFontSize": "20",
                                              "labelFontFamily": "RobotoCondensed-Regular",
                                              "iconItemMinWidth": "290",
                                              "labelFontColor": "",
                                              "valueFontFamily": "",
                                              "subLabelFontFamily": "RobotoCondensed-Regular",
                                              "subLabelFontSize": "14",
                                              "subLabelFontColor": "#000000",
                                              "oid": "0_userdata.0.AdapterStatus.jsonList",
                                              "label0": ""
                                            },
                                            "style": {
                                              "left": "0px",
                                              "top": "0px",
                                              "width": "100%",
                                              "height": "100%",
                                              "overflow-y": "auto"
                                            },
                                            "widgetSet": "materialdesign"
                                          }
                                        },
                                        "name": "AdapterStatus",
                                        "filterList": []
                                      }
                                      

                                      Skript, Datenpunkte müsst ihr entsprechend erstellen und anpassen - siehe Kommentare im skript!
                                      Achtung wenn ich Bindings verwende geht meine vis in die Knie, deshalb wird das skript zyklisch aufgerufen.

                                      // Imports
                                      const moment = require("moment");
                                      const momentDurationFormatSetup = require("moment-duration-format");
                                      moment.locale("de");
                                      
                                      // Fomate für moment Lib
                                      let durationFormat = "dd[T] hh[h] mm[m]";
                                      
                                      let adapterSelector = `[id=system.adapter.*.alive]`;
                                      let adapterAliveList = $(adapterSelector);
                                      
                                      // Datenpunkt für IconList Widget
                                      let dpList = '0_userdata.0.vis.AdapterStatus.jsonList';
                                      
                                      // Datenpunkt für Adapter restart
                                      let dpAdapterRestart = '0_userdata.0.vis.AdapterStatus.restartTrigger';
                                      
                                      // interval die adapterStatus Funktion augerufen wird (in Sekunden)
                                      const checkInterval = 30;
                                      
                                      // Fehlermeldung ausgeben, wenn selector kein result liefert
                                      if (adapterAliveList.length === 0) {
                                          console.error(`no result for selector '${adapterSelector}'`)
                                      }
                                      
                                      adapterAliveList.on(adapterStatus);                                             // listener nur für Änderung bei alive
                                      
                                      // Funktion adapterStatus alle x Sekunden ausführen
                                      schedule('*/'+ checkInterval + ' * * * * *', adapterStatus);
                                      
                                      function adapterStatus() {
                                          let adapterList = [];
                                      
                                          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 (adapterInstance > 0) {
                                                      nameWithInstance = name + '.' + adapterInstance;
                                                  }
                                      
                                                  let uptime = `{d:${id + '.uptime'};Math.floor( ((d)/60/60/24) )}T {h:${id + '.uptime'};Math.floor( ((h)/60/60) % 24 )}h 
                                                  {m:${id + '.uptime'};Math.floor( ((m)/60) % 60 )}m`
                                      
                                                  let text = `<div style="display: flex; flex-direction: row; line-height: 1.5; padding-right: 8px; align-items: center;">
                                                                  <div style="flex: 1">${nameWithInstance}</div>
                                                                  <div style="color: grey; font-size: 12px; font-family: RobotoCondensed-LightItalic;">v${obj.common.version}</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;">${getState(id + '.cpu').val} % %</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;">${getState(id + '.memHeapTotal').val} 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;">${getState(id + '.memHeapUsed').val} 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;">${getState(id + '.memRss').val} 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;">${moment.duration(getState(id + '.uptime').val, 'seconds').format(durationFormat, 0)}</div>
                                                                  </div>`
                                      
                                                  adapterList.push({
                                                      text: text,
                                                      subText: subText,
                                                      image: `/${nameArray[0]}.admin/${obj.common.icon}`,
                                                      listType: "buttonState",
                                                      objectId: dpAdapterRestart,
                                                      buttonStateValue: id,
                                                      statusBarColor: getStatusColor(),
                                                      showValueLabel: false
                                                  })
                                      
                                                  function getStatusColor() {
                                                      let statusBarColor = 'FireBrick';
                                                      if (getState(adapterAliveList[i]).val === true) {
                                                          statusBarColor = 'green';
                                                      }
                                          
                                                      if (obj.common.enabled === false) {
                                                          // Adapter ist deaktiviert
                                                          statusBarColor = 'darkgrey';
                                                      }
                                          
                                                      if (obj.common.mode === 'schedule') {
                                                          // Adapter ist zeitgesteuert
                                                          statusBarColor = 'orange';
                                                      }
                                          
                                                      return statusBarColor;
                                                  }
                                              }
                                      
                                          } catch (err) {
                                              console.error(`[adapterStatus] error: ${err.message}, stack: ${err.stack}`);
                                          }
                                      
                                          let result = JSON.stringify(adapterList);
                                          if (getState(dpList) !== result) {
                                              setState(dpList, result, true);
                                          }
                                      }
                                      
                                      adapterStatus();
                                      
                                      // Funktion um Adapter zu starten / neu starten
                                      on({ id: dpAdapterRestart }, function (obj) {
                                          var adapter = getObject(obj.state.val.toString());
                                      
                                          if (adapter.common.enabled === false) {
                                              // Adapter deaktiviert -> starten
                                              adapter.common.enabled = true;
                                          }
                                      
                                          setObject(obj.state.val, adapter);
                                          console.log(`${obj.state.val.replace('system.adapter.', '')} neugestartet`);
                                      });
                                      

                                      Javascript Adapter muss folgende libraries importieren und setObject aktiviert sein!
                                      c5bd712d-c6a9-4d5a-8245-b1e405a229be-grafik.png

                                      Weiß jemand noch wie wo man den Status abgreifen kann das ein Update für den Adapter zur Verfügung steht? Dann könnte ich noch ein Badget einfügen.

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

                                      @Scrounger sagte in View Adapter Status:

                                      Weiß jemand noch wie wo man den Status abgreifen kann das ein Update für den Adapter zur Verfügung steht? Dann könnte ich noch ein Badget einfügen.

                                      //  Adapter Update Notification Script
                                      /*
                                      *   @author Moritz Heusinger <moritz.heusinger@gmail.com>
                                      *   The scripts checks for adapter upgrades, everyday at 06:00 p.m., if there 
                                      *   are upgrades available it will send an E-Mail to the configured receiverMail.
                                      *
                                      *   Requirement: Running instance of the E-Mail adapter; Admin >= 3.6
                                      *
                                      *   logging:        if true, information will be logged
                                      *   senderMail:     mail address of the sender
                                      *   receiverMail:   target mail address
                                      */
                                      
                                      const logging = true;
                                      
                                      const senderMail = 'xxxxxxxxxxt';
                                      const receiverMail = 'xxxxxxxxxxxt';
                                      
                                      on({id: 'admin.0.info.updatesJson', ack: true, change: 'ne'}, (obj) => {
                                          if(!getState('admin.0.info.newUpdates').val) return;
                                          if (logging) log('New adapter updates are available', 'info');
                                          let upgradeable = JSON.parse(obj.state.val);
                                          let text = 'Die folgenden Adapter sind aktualisierbar:\n';
                                          for (let adapter in upgradeable) {
                                              text += 'Adapter ' + JSON.stringify(adapter) + ' kann von ' + 
                                                  upgradeable[adapter].installedVersion + ' auf ' + 
                                                  upgradeable[adapter].availableVersion + ' aktualisiert werden.\n';
                                          } // endFor
                                          sendTo('email', {
                                                  from:    senderMail,
                                                  to:      receiverMail,
                                                  subject: 'Es sind neue Adapter Updates für deinen ioBroker verfügbar',
                                                  text:    text
                                          });
                                      });
                                      

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

                                      ScroungerS 1 Antwort Letzte Antwort
                                      1
                                      • ScroungerS Scrounger

                                        @sigi234 vielen Dank für die Inspiration für den Adapter Status.

                                        Da ich aber ein fauler Mensch bin ;) und keine Lust habe jedes Mal das Widget anpassen zu müssen, wenn ich einen neuen Adapter hinzufüge oder entferne, habe ich das ganze mit nem Skript und meinem IconList Widget dynamisch erzeugt. (Adapter Version v0.2.59 - demnächst im latest !!!)
                                        Vorteil des Widget ist, dass es responsiv ist (ein layout für Handy, Tablet, Desktop) und man auch noch die Adapter starten bzw. neustarten kann :sunglasses:

                                        iconList_adapterStatus.gif

                                        View zum importieren

                                        {
                                          "settings": {
                                            "style": {
                                              "background_class": ""
                                            },
                                            "theme": "redmond",
                                            "sizex": "",
                                            "sizey": "",
                                            "gridSize": "",
                                            "snapType": null
                                          },
                                          "widgets": {
                                            "e00001": {
                                              "tpl": "tplVis-materialdesign-Icon-List",
                                              "data": {
                                                "g_fixed": false,
                                                "g_visibility": false,
                                                "g_css_font_text": false,
                                                "g_css_background": false,
                                                "g_css_shadow_padding": false,
                                                "g_css_border": false,
                                                "g_gestures": false,
                                                "g_signals": false,
                                                "g_last_change": false,
                                                "visibility-cond": "==",
                                                "visibility-val": 1,
                                                "visibility-groups-action": "hide",
                                                "wrapItems": "true",
                                                "listItemDataMethod": "jsonStringObject",
                                                "countListItems": "1",
                                                "vibrateOnMobilDevices": "50",
                                                "listLayout": "card",
                                                "itemLayout": "horizontal",
                                                "listType0": "text",
                                                "showValueLabel0": "true",
                                                "listType1": "text",
                                                "showValueLabel1": "true",
                                                "signals-cond-0": "==",
                                                "signals-val-0": true,
                                                "signals-icon-0": "/vis/signals/lowbattery.png",
                                                "signals-icon-size-0": 0,
                                                "signals-blink-0": false,
                                                "signals-horz-0": 0,
                                                "signals-vert-0": 0,
                                                "signals-hide-edit-0": false,
                                                "signals-cond-1": "==",
                                                "signals-val-1": true,
                                                "signals-icon-1": "/vis/signals/lowbattery.png",
                                                "signals-icon-size-1": 0,
                                                "signals-blink-1": false,
                                                "signals-horz-1": 0,
                                                "signals-vert-1": 0,
                                                "signals-hide-edit-1": false,
                                                "signals-cond-2": "==",
                                                "signals-val-2": true,
                                                "signals-icon-2": "/vis/signals/lowbattery.png",
                                                "signals-icon-size-2": 0,
                                                "signals-blink-2": false,
                                                "signals-horz-2": 0,
                                                "signals-vert-2": 0,
                                                "signals-hide-edit-2": false,
                                                "lc-type": "last-change",
                                                "lc-is-interval": true,
                                                "lc-is-moment": false,
                                                "lc-format": "",
                                                "lc-position-vert": "top",
                                                "lc-position-horz": "right",
                                                "lc-offset-vert": 0,
                                                "lc-offset-horz": 0,
                                                "lc-font-size": "12px",
                                                "lc-font-family": "",
                                                "lc-font-style": "",
                                                "lc-bkg-color": "",
                                                "lc-color": "",
                                                "lc-border-width": "0",
                                                "lc-border-style": "",
                                                "lc-border-color": "",
                                                "lc-border-radius": 10,
                                                "lc-zindex": 0,
                                                "jsonStringObject": "{0_userdata.0.vis.AdapterStatus.jsonList}",
                                                "maxItemsperRow": "6",
                                                "iconHeight": "60",
                                                "verticalIconContainerWidth": "100",
                                                "labelFontSize": "20",
                                                "labelFontFamily": "RobotoCondensed-Regular",
                                                "iconItemMinWidth": "290",
                                                "labelFontColor": "",
                                                "valueFontFamily": "",
                                                "subLabelFontFamily": "RobotoCondensed-Regular",
                                                "subLabelFontSize": "14",
                                                "subLabelFontColor": "#000000",
                                                "oid": "0_userdata.0.AdapterStatus.jsonList",
                                                "label0": ""
                                              },
                                              "style": {
                                                "left": "0px",
                                                "top": "0px",
                                                "width": "100%",
                                                "height": "100%",
                                                "overflow-y": "auto"
                                              },
                                              "widgetSet": "materialdesign"
                                            }
                                          },
                                          "name": "AdapterStatus",
                                          "filterList": []
                                        }
                                        

                                        Skript, Datenpunkte müsst ihr entsprechend erstellen und anpassen - siehe Kommentare im skript!
                                        Achtung wenn ich Bindings verwende geht meine vis in die Knie, deshalb wird das skript zyklisch aufgerufen.

                                        // Imports
                                        const moment = require("moment");
                                        const momentDurationFormatSetup = require("moment-duration-format");
                                        moment.locale("de");
                                        
                                        // Fomate für moment Lib
                                        let durationFormat = "dd[T] hh[h] mm[m]";
                                        
                                        let adapterSelector = `[id=system.adapter.*.alive]`;
                                        let adapterAliveList = $(adapterSelector);
                                        
                                        // Datenpunkt für IconList Widget
                                        let dpList = '0_userdata.0.vis.AdapterStatus.jsonList';
                                        
                                        // Datenpunkt für Adapter restart
                                        let dpAdapterRestart = '0_userdata.0.vis.AdapterStatus.restartTrigger';
                                        
                                        // interval die adapterStatus Funktion augerufen wird (in Sekunden)
                                        const checkInterval = 30;
                                        
                                        // Fehlermeldung ausgeben, wenn selector kein result liefert
                                        if (adapterAliveList.length === 0) {
                                            console.error(`no result for selector '${adapterSelector}'`)
                                        }
                                        
                                        adapterAliveList.on(adapterStatus);                                             // listener nur für Änderung bei alive
                                        
                                        // Funktion adapterStatus alle x Sekunden ausführen
                                        schedule('*/'+ checkInterval + ' * * * * *', adapterStatus);
                                        
                                        function adapterStatus() {
                                            let adapterList = [];
                                        
                                            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 (adapterInstance > 0) {
                                                        nameWithInstance = name + '.' + adapterInstance;
                                                    }
                                        
                                                    let uptime = `{d:${id + '.uptime'};Math.floor( ((d)/60/60/24) )}T {h:${id + '.uptime'};Math.floor( ((h)/60/60) % 24 )}h 
                                                    {m:${id + '.uptime'};Math.floor( ((m)/60) % 60 )}m`
                                        
                                                    let text = `<div style="display: flex; flex-direction: row; line-height: 1.5; padding-right: 8px; align-items: center;">
                                                                    <div style="flex: 1">${nameWithInstance}</div>
                                                                    <div style="color: grey; font-size: 12px; font-family: RobotoCondensed-LightItalic;">v${obj.common.version}</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;">${getState(id + '.cpu').val} % %</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;">${getState(id + '.memHeapTotal').val} 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;">${getState(id + '.memHeapUsed').val} 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;">${getState(id + '.memRss').val} 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;">${moment.duration(getState(id + '.uptime').val, 'seconds').format(durationFormat, 0)}</div>
                                                                    </div>`
                                        
                                                    adapterList.push({
                                                        text: text,
                                                        subText: subText,
                                                        image: `/${nameArray[0]}.admin/${obj.common.icon}`,
                                                        listType: "buttonState",
                                                        objectId: dpAdapterRestart,
                                                        buttonStateValue: id,
                                                        statusBarColor: getStatusColor(),
                                                        showValueLabel: false
                                                    })
                                        
                                                    function getStatusColor() {
                                                        let statusBarColor = 'FireBrick';
                                                        if (getState(adapterAliveList[i]).val === true) {
                                                            statusBarColor = 'green';
                                                        }
                                            
                                                        if (obj.common.enabled === false) {
                                                            // Adapter ist deaktiviert
                                                            statusBarColor = 'darkgrey';
                                                        }
                                            
                                                        if (obj.common.mode === 'schedule') {
                                                            // Adapter ist zeitgesteuert
                                                            statusBarColor = 'orange';
                                                        }
                                            
                                                        return statusBarColor;
                                                    }
                                                }
                                        
                                            } catch (err) {
                                                console.error(`[adapterStatus] error: ${err.message}, stack: ${err.stack}`);
                                            }
                                        
                                            let result = JSON.stringify(adapterList);
                                            if (getState(dpList) !== result) {
                                                setState(dpList, result, true);
                                            }
                                        }
                                        
                                        adapterStatus();
                                        
                                        // Funktion um Adapter zu starten / neu starten
                                        on({ id: dpAdapterRestart }, function (obj) {
                                            var adapter = getObject(obj.state.val.toString());
                                        
                                            if (adapter.common.enabled === false) {
                                                // Adapter deaktiviert -> starten
                                                adapter.common.enabled = true;
                                            }
                                        
                                            setObject(obj.state.val, adapter);
                                            console.log(`${obj.state.val.replace('system.adapter.', '')} neugestartet`);
                                        });
                                        

                                        Javascript Adapter muss folgende libraries importieren und setObject aktiviert sein!
                                        c5bd712d-c6a9-4d5a-8245-b1e405a229be-grafik.png

                                        Weiß jemand noch wie wo man den Status abgreifen kann das ein Update für den Adapter zur Verfügung steht? Dann könnte ich noch ein Badget einfügen.

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

                                        @Scrounger

                                        13:02:30.106	warn	javascript.0 (8000) at getStatusColor (script.js.Sigi.Adapter_Abfrage:93:21)
                                        13:02:30.106	warn	javascript.0 (8000) at Object.adapterStatus (script.js.Sigi.Adapter_Abfrage:87:33)
                                        

                                        Screenshot (1768).png

                                        Screenshot (1770).png

                                        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
                                          #81

                                          @Scrounger

                                          hab auch jetzt alle 30 Sekunden Warn-Meldungen

                                          javascript.0	2020-02-22 14:16:30.167	warn	(5214) at Timer.processTimers (timers.js:223:10)
                                          javascript.0	2020-02-22 14:16:30.167	warn	(5214) at listOnTimeout (timers.js:263:5)
                                          javascript.0	2020-02-22 14:16:30.167	warn	(5214) at tryOnTimeout (timers.js:300:5)
                                          javascript.0	2020-02-22 14:16:30.167	warn	(5214) at ontimeout (timers.js:436:11)
                                          javascript.0	2020-02-22 14:16:30.167	warn	(5214) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                          javascript.0	2020-02-22 14:16:30.167	warn	(5214) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                          javascript.0	2020-02-22 14:16:30.167	warn	(5214) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                          javascript.0	2020-02-22 14:16:30.167	warn	(5214) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                                          javascript.0	2020-02-22 14:16:30.167	warn	(5214) at Object.adapterStatus (script.js.System.Adapterliste:86:33)
                                          javascript.0	2020-02-22 14:16:30.166	warn	(5214) at getStatusColor (script.js.System.Adapterliste:92:21)
                                          javascript.0	2020-02-22 14:16:30.166	warn	(5214) getState "system.adapter.devices.0.alive" not found (3) states[id]=null
                                          javascript.0	2020-02-22 14:16:30.164	warn	(5214) at Timer.processTimers (timers.js:223:10)
                                          javascript.0	2020-02-22 14:16:30.164	warn	(5214) at listOnTimeout (timers.js:263:5)
                                          javascript.0	2020-02-22 14:16:30.164	warn	(5214) at tryOnTimeout (timers.js:300:5)
                                          javascript.0	2020-02-22 14:16:30.164	warn	(5214) at ontimeout (timers.js:436:11)
                                          javascript.0	2020-02-22 14:16:30.164	warn	(5214) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                          javascript.0	2020-02-22 14:16:30.164	warn	(5214) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                          javascript.0	2020-02-22 14:16:30.164	warn	(5214) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                          javascript.0	2020-02-22 14:16:30.163	warn	(5214) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                                          javascript.0	2020-02-22 14:16:30.163	warn	(5214) at Object.adapterStatus (script.js.System.Adapterliste:76:136)
                                          javascript.0	2020-02-22 14:16:30.163	warn	(5214) getState "system.adapter.devices.0.uptime" not found (3) states[id]=null
                                          javascript.0	2020-02-22 14:16:30.163	warn	(5214) at Timer.processTimers (timers.js:223:10)
                                          javascript.0	2020-02-22 14:16:30.163	warn	(5214) at listOnTimeout (timers.js:263:5)
                                          javascript.0	2020-02-22 14:16:30.163	warn	(5214) at tryOnTimeout (timers.js:300:5)
                                          javascript.0	2020-02-22 14:16:30.163	warn	(5214) at ontimeout (timers.js:436:11)
                                          javascript.0	2020-02-22 14:16:30.162	warn	(5214) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                          javascript.0	2020-02-22 14:16:30.162	warn	(5214) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                          javascript.0	2020-02-22 14:16:30.162	warn	(5214) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                          javascript.0	2020-02-22 14:16:30.162	warn	(5214) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                                          javascript.0	2020-02-22 14:16:30.162	warn	(5214) at Object.adapterStatus (script.js.System.Adapterliste:72:120)
                                          javascript.0	2020-02-22 14:16:30.161	warn	(5214) getState "system.adapter.devices.0.memRss" not found (3) states[id]=null
                                          javascript.0	2020-02-22 14:16:30.160	warn	(5214) at Timer.processTimers (timers.js:223:10)
                                          javascript.0	2020-02-22 14:16:30.160	warn	(5214) at listOnTimeout (timers.js:263:5)
                                          javascript.0	2020-02-22 14:16:30.160	warn	(5214) at tryOnTimeout (timers.js:300:5)
                                          javascript.0	2020-02-22 14:16:30.160	warn	(5214) at ontimeout (timers.js:436:11)
                                          javascript.0	2020-02-22 14:16:30.160	warn	(5214) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                          javascript.0	2020-02-22 14:16:30.160	warn	(5214) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                          javascript.0	2020-02-22 14:16:30.160	warn	(5214) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                          javascript.0	2020-02-22 14:16:30.160	warn	(5214) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                                          javascript.0	2020-02-22 14:16:30.160	warn	(5214) at Object.adapterStatus (script.js.System.Adapterliste:68:120)
                                          javascript.0	2020-02-22 14:16:30.159	warn	(5214) getState "system.adapter.devices.0.memHeapUsed" not found (3) states[id]=null
                                          javascript.0	2020-02-22 14:16:30.159	warn	(5214) at Timer.processTimers (timers.js:223:10)
                                          javascript.0	2020-02-22 14:16:30.159	warn	(5214) at listOnTimeout (timers.js:263:5)
                                          javascript.0	2020-02-22 14:16:30.159	warn	(5214) at tryOnTimeout (timers.js:300:5)
                                          javascript.0	2020-02-22 14:16:30.159	warn	(5214) at ontimeout (timers.js:436:11)
                                          javascript.0	2020-02-22 14:16:30.159	warn	(5214) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                          javascript.0	2020-02-22 14:16:30.159	warn	(5214) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                          javascript.0	2020-02-22 14:16:30.157	warn	(5214) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                          javascript.0	2020-02-22 14:16:30.157	warn	(5214) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                                          javascript.0	2020-02-22 14:16:30.157	warn	(5214) at Object.adapterStatus (script.js.System.Adapterliste:64:120)
                                          javascript.0	2020-02-22 14:16:30.157	warn	(5214) getState "system.adapter.devices.0.memHeapTotal" not found (3) states[id]=null
                                          javascript.0	2020-02-22 14:16:30.157	warn	(5214) at Timer.processTimers (timers.js:223:10)
                                          javascript.0	2020-02-22 14:16:30.157	warn	(5214) at listOnTimeout (timers.js:263:5)
                                          javascript.0	2020-02-22 14:16:30.156	warn	(5214) at tryOnTimeout (timers.js:300:5)
                                          javascript.0	2020-02-22 14:16:30.156	warn	(5214) at ontimeout (timers.js:436:11)
                                          javascript.0	2020-02-22 14:16:30.156	warn	(5214) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                          javascript.0	2020-02-22 14:16:30.156	warn	(5214) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                          javascript.0	2020-02-22 14:16:30.156	warn	(5214) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                          javascript.0	2020-02-22 14:16:30.156	warn	(5214) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                                          javascript.0	2020-02-22 14:16:30.156	warn	(5214) at Object.adapterStatus (script.js.System.Adapterliste:60:120)
                                          javascript.0	2020-02-22 14:16:30.155	warn	(5214) getState "system.adapter.devices.0.cpu" not found (3) states[id]=null
                                          javascript.0	2020-02-22 14:16:30.149	warn	(5214) at Timer.processTimers (timers.js:223:10)
                                          javascript.0	2020-02-22 14:16:30.149	warn	(5214) at listOnTimeout (timers.js:263:5)
                                          javascript.0	2020-02-22 14:16:30.149	warn	(5214) at tryOnTimeout (timers.js:300:5)
                                          javascript.0	2020-02-22 14:16:30.149	warn	(5214) at ontimeout (timers.js:436:11)
                                          javascript.0	2020-02-22 14:16:30.149	warn	(5214) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                          javascript.0	2020-02-22 14:16:30.149	warn	(5214) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                          javascript.0	2020-02-22 14:16:30.149	warn	(5214) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                          javascript.0	2020-02-22 14:16:30.148	warn	(5214) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                                          javascript.0	2020-02-22 14:16:30.148	warn	(5214) at Object.adapterStatus (script.js.System.Adapterliste:86:33)
                                          javascript.0	2020-02-22 14:16:30.148	warn	(5214) at getStatusColor (script.js.System.Adapterliste:92:21)
                                          javascript.0	2020-02-22 14:16:30.148	warn	(5214) getState "system.adapter.fontui.0.alive" not found (3) states[id]=null
                                          javascript.0	2020-02-22 14:16:30.146	warn	(5214) at Timer.processTimers (timers.js:223:10)
                                          javascript.0	2020-02-22 14:16:30.146	warn	(5214) at listOnTimeout (timers.js:263:5)
                                          javascript.0	2020-02-22 14:16:30.146	warn	(5214) at tryOnTimeout (timers.js:300:5)
                                          javascript.0	2020-02-22 14:16:30.146	warn	(5214) at ontimeout (timers.js:436:11)
                                          javascript.0	2020-02-22 14:16:30.146	warn	(5214) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                          javascript.0	2020-02-22 14:16:30.146	warn	(5214) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                          javascript.0	2020-02-22 14:16:30.146	warn	(5214) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                          javascript.0	2020-02-22 14:16:30.145	warn	(5214) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                                          javascript.0	2020-02-22 14:16:30.145	warn	(5214) at Object.adapterStatus (script.js.System.Adapterliste:76:136)
                                          javascript.0	2020-02-22 14:16:30.145	warn	(5214) getState "system.adapter.fontui.0.uptime" not found (3) states[id]=null
                                          javascript.0	2020-02-22 14:16:30.145	warn	(5214) at Timer.processTimers (timers.js:223:10)
                                          javascript.0	2020-02-22 14:16:30.145	warn	(5214) at listOnTimeout (timers.js:263:5)
                                          javascript.0	2020-02-22 14:16:30.145	warn	(5214) at tryOnTimeout (timers.js:300:5)
                                          javascript.0	2020-02-22 14:16:30.145	warn	(5214) at ontimeout (timers.js:436:11)
                                          javascript.0	2020-02-22 14:16:30.145	warn	(5214) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                          javascript.0	2020-02-22 14:16:30.144	warn	(5214) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                          javascript.0	2020-02-22 14:16:30.144	warn	(5214) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                          javascript.0	2020-02-22 14:16:30.144	warn	(5214) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                                          javascript.0	2020-02-22 14:16:30.144	warn	(5214) at Object.adapterStatus (script.js.System.Adapterliste:72:120)
                                          javascript.0	2020-02-22 14:16:30.144	warn	(5214) getState "system.adapter.fontui.0.memRss" not found (3) states[id]=null
                                          javascript.0	2020-02-22 14:16:30.144	warn	(5214) at Timer.processTimers (timers.js:223:10)
                                          javascript.0	2020-02-22 14:16:30.144	warn	(5214) at listOnTimeout (timers.js:263:5)
                                          javascript.0	2020-02-22 14:16:30.144	warn	(5214) at tryOnTimeout (timers.js:300:5)
                                          javascript.0	2020-02-22 14:16:30.144	warn	(5214) at ontimeout (timers.js:436:11)
                                          javascript.0	2020-02-22 14:16:30.143	warn	(5214) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                          javascript.0	2020-02-22 14:16:30.143	warn	(5214) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                          javascript.0	2020-02-22 14:16:30.143	warn	(5214) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                          javascript.0	2020-02-22 14:16:30.143	warn	(5214) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                                          javascript.0	2020-02-22 14:16:30.143	warn	(5214) at Object.adapterStatus (script.js.System.Adapterliste:68:120)
                                          javascript.0	2020-02-22 14:16:30.143	warn	(5214) getState "system.adapter.fontui.0.memHeapUsed" not found (3) states[id]=null
                                          javascript.0	2020-02-22 14:16:30.143	warn	(5214) at Timer.processTimers (timers.js:223:10)
                                          javascript.0	2020-02-22 14:16:30.142	warn	(5214) at listOnTimeout (timers.js:263:5)
                                          javascript.0	2020-02-22 14:16:30.142	warn	(5214) at tryOnTimeout (timers.js:300:5)
                                          javascript.0	2020-02-22 14:16:30.142	warn	(5214) at ontimeout (timers.js:436:11)
                                          javascript.0	2020-02-22 14:16:30.142	warn	(5214) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                          javascript.0	2020-02-22 14:16:30.142	warn	(5214) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                          javascript.0	2020-02-22 14:16:30.142	warn	(5214) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                          javascript.0	2020-02-22 14:16:30.142	warn	(5214) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                                          javascript.0	2020-02-22 14:16:30.142	warn	(5214) at Object.adapterStatus (script.js.System.Adapterliste:64:120)
                                          javascript.0	2020-02-22 14:16:30.140	warn	(5214) getState "system.adapter.fontui.0.memHeapTotal" not found (3) states[id]=null
                                          javascript.0	2020-02-22 14:16:30.140	warn	(5214) at Timer.processTimers (timers.js:223:10)
                                          javascript.0	2020-02-22 14:16:30.140	warn	(5214) at listOnTimeout (timers.js:263:5)
                                          javascript.0	2020-02-22 14:16:30.140	warn	(5214) at tryOnTimeout (timers.js:300:5)
                                          javascript.0	2020-02-22 14:16:30.140	warn	(5214) at ontimeout (timers.js:436:11)
                                          javascript.0	2020-02-22 14:16:30.140	warn	(5214) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                          javascript.0	2020-02-22 14:16:30.140	warn	(5214) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                          javascript.0	2020-02-22 14:16:30.140	warn	(5214) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                          javascript.0	2020-02-22 14:16:30.139	warn	(5214) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                                          javascript.0	2020-02-22 14:16:30.139	warn	(5214) at Object.adapterStatus (script.js.System.Adapterliste:60:120)
                                          javascript.0	2020-02-22 14:16:30.139	warn	(5214) getState "system.adapter.fontui.0.cpu" not found (3) states[id]=null
                                          javascript.0	2020-02-22 14:16:30.096	warn	(5214) at Timer.processTimers (timers.js:223:10)
                                          javascript.0	2020-02-22 14:16:30.096	warn	(5214) at listOnTimeout (timers.js:263:5)
                                          javascript.0	2020-02-22 14:16:30.096	warn	(5214) at tryOnTimeout (timers.js:300:5)
                                          javascript.0	2020-02-22 14:16:30.096	warn	(5214) at ontimeout (timers.js:436:11)
                                          javascript.0	2020-02-22 14:16:30.096	warn	(5214) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                          javascript.0	2020-02-22 14:16:30.095	warn	(5214) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                          javascript.0	2020-02-22 14:16:30.095	warn	(5214) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                          javascript.0	2020-02-22 14:16:30.095	warn	(5214) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                                          javascript.0	2020-02-22 14:16:30.095	warn	(5214) at Object.adapterStatus (script.js.System.Adapterliste:60:120)
                                          javascript.0	2020-02-22 14:16:30.094	warn	(5214) getState "system.adapter.places.0.cpu" not found (3)
                                          javascript.0	2020-02-22 14:16:30.066	warn	(5214) at Timer.processTimers (timers.js:223:10)
                                          javascript.0	2020-02-22 14:16:30.066	warn	(5214) at listOnTimeout (timers.js:263:5)
                                          javascript.0	2020-02-22 14:16:30.066	warn	(5214) at tryOnTimeout (timers.js:300:5)
                                          javascript.0	2020-02-22 14:16:30.066	warn	(5214) at ontimeout (timers.js:436:11)
                                          javascript.0	2020-02-22 14:16:30.066	warn	(5214) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                          javascript.0	2020-02-22 14:16:30.066	warn	(5214) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                          javascript.0	2020-02-22 14:16:30.066	warn	(5214) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                          javascript.0	2020-02-22 14:16:30.065	warn	(5214) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                                          javascript.0	2020-02-22 14:16:30.065	warn	(5214) at Object.adapterStatus (script.js.System.Adapterliste:86:33)
                                          javascript.0	2020-02-22 14:16:30.065	warn	(5214) at getStatusColor (script.js.System.Adapterliste:92:21)
                                          javascript.0	2020-02-22 14:16:30.064	warn	(5214) getState "system.adapter.proxy.0.alive" not found (3) states[id]=null
                                          javascript.0	2020-02-22 14:16:30.062	warn	(5214) at Timer.processTimers (timers.js:223:10)
                                          javascript.0	2020-02-22 14:16:30.062	warn	(5214) at listOnTimeout (timers.js:263:5)
                                          javascript.0	2020-02-22 14:16:30.062	warn	(5214) at tryOnTimeout (timers.js:300:5)
                                          javascript.0	2020-02-22 14:16:30.062	warn	(5214) at ontimeout (timers.js:436:11)
                                          javascript.0	2020-02-22 14:16:30.062	warn	(5214) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                          javascript.0	2020-02-22 14:16:30.062	warn	(5214) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                          javascript.0	2020-02-22 14:16:30.062	warn	(5214) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                          javascript.0	2020-02-22 14:16:30.062	warn	(5214) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                                          javascript.0	2020-02-22 14:16:30.062	warn	(5214) at Object.adapterStatus (script.js.System.Adapterliste:76:136)
                                          javascript.0	2020-02-22 14:16:30.061	warn	(5214) getState "system.adapter.proxy.0.uptime" not found (3) states[id]=null
                                          javascript.0	2020-02-22 14:16:30.061	warn	(5214) at Timer.processTimers (timers.js:223:10)
                                          javascript.0	2020-02-22 14:16:30.061	warn	(5214) at listOnTimeout (timers.js:263:5)
                                          javascript.0	2020-02-22 14:16:30.061	warn	(5214) at tryOnTimeout (timers.js:300:5)
                                          javascript.0	2020-02-22 14:16:30.061	warn	(5214) at ontimeout (timers.js:436:11)
                                          javascript.0	2020-02-22 14:16:30.061	warn	(5214) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                          javascript.0	2020-02-22 14:16:30.061	warn	(5214) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                          javascript.0	2020-02-22 14:16:30.061	warn	(5214) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                          javascript.0	2020-02-22 14:16:30.061	warn	(5214) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                                          javascript.0	2020-02-22 14:16:30.060	warn	(5214) at Object.adapterStatus (script.js.System.Adapterliste:72:120)
                                          javascript.0	2020-02-22 14:16:30.060	warn	(5214) getState "system.adapter.proxy.0.memRss" not found (3) states[id]=null
                                          javascript.0	2020-02-22 14:16:30.060	warn	(5214) at Timer.processTimers (timers.js:223:10)
                                          javascript.0	2020-02-22 14:16:30.060	warn	(5214) at listOnTimeout (timers.js:263:5)
                                          javascript.0	2020-02-22 14:16:30.060	warn	(5214) at tryOnTimeout (timers.js:300:5)
                                          javascript.0	2020-02-22 14:16:30.060	warn	(5214) at ontimeout (timers.js:436:11)
                                          javascript.0	2020-02-22 14:16:30.060	warn	(5214) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                          javascript.0	2020-02-22 14:16:30.059	warn	(5214) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                          javascript.0	2020-02-22 14:16:30.059	warn	(5214) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                          javascript.0	2020-02-22 14:16:30.059	warn	(5214) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                                          javascript.0	2020-02-22 14:16:30.059	warn	(5214) at Object.adapterStatus (script.js.System.Adapterliste:68:120)
                                          javascript.0	2020-02-22 14:16:30.059	warn	(5214) getState "system.adapter.proxy.0.memHeapUsed" not found (3) states[id]=null
                                          javascript.0	2020-02-22 14:16:30.058	warn	(5214) at Timer.processTimers (timers.js:223:10)
                                          javascript.0	2020-02-22 14:16:30.058	warn	(5214) at listOnTimeout (timers.js:263:5)
                                          javascript.0	2020-02-22 14:16:30.058	warn	(5214) at tryOnTimeout (timers.js:300:5)
                                          javascript.0	2020-02-22 14:16:30.058	warn	(5214) at ontimeout (timers.js:436:11)
                                          javascript.0	2020-02-22 14:16:30.058	warn	(5214) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                          javascript.0	2020-02-22 14:16:30.058	warn	(5214) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                          javascript.0	2020-02-22 14:16:30.058	warn	(5214) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                          javascript.0	2020-02-22 14:16:30.058	warn	(5214) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                                          javascript.0	2020-02-22 14:16:30.058	warn	(5214) at Object.adapterStatus (script.js.System.Adapterliste:64:120)
                                          javascript.0	2020-02-22 14:16:30.057	warn	(5214) getState "system.adapter.proxy.0.memHeapTotal" not found (3) states[id]=null
                                          javascript.0	2020-02-22 14:16:30.057	warn	(5214) at Timer.processTimers (timers.js:223:10)
                                          javascript.0	2020-02-22 14:16:30.057	warn	(5214) at listOnTimeout (timers.js:263:5)
                                          javascript.0	2020-02-22 14:16:30.057	warn	(5214) at tryOnTimeout (timers.js:300:5)
                                          javascript.0	2020-02-22 14:16:30.057	warn	(5214) at ontimeout (timers.js:436:11)
                                          javascript.0	2020-02-22 14:16:30.057	warn	(5214) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                          javascript.0	2020-02-22 14:16:30.057	warn	(5214) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                          javascript.0	2020-02-22 14:16:30.057	warn	(5214) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                          javascript.0	2020-02-22 14:16:30.056	warn	(5214) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                                          javascript.0	2020-02-22 14:16:30.056	warn	(5214) at Object.adapterStatus (script.js.System.Adapterliste:60:120)
                                          javascript.0	2020-02-22 14:16:30.056	warn	(5214) getState "system.adapter.proxy.0.cpu" not found (3)
                                          javascript.0	2020-02-22 14:16:30.050	warn	(5214) at Timer.processTimers (timers.js:223:10)
                                          javascript.0	2020-02-22 14:16:30.050	warn	(5214) at listOnTimeout (timers.js:263:5)
                                          javascript.0	2020-02-22 14:16:30.050	warn	(5214) at tryOnTimeout (timers.js:300:5)
                                          javascript.0	2020-02-22 14:16:30.050	warn	(5214) at ontimeout (timers.js:436:11)
                                          javascript.0	2020-02-22 14:16:30.049	warn	(5214) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                          javascript.0	2020-02-22 14:16:30.049	warn	(5214) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                          javascript.0	2020-02-22 14:16:30.049	warn	(5214) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                          javascript.0	2020-02-22 14:16:30.049	warn	(5214) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1340:34)
                                          javascript.0	2020-02-22 14:16:30.049	warn	(5214) at Object.adapterStatus (script.js.System.Adapterliste:60:120)
                                          javascript.0	2020-02-22 14:16:30.048	warn	(5214) getState "system.adapter.systeminfo.0.cpu" not found (3)
                                          

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

                                          sigi234S 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

                                          827

                                          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