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. Material Design Widgets: Skript Status

NEWS

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

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

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

Material Design Widgets: Skript Status

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
material design widgetsvisiconlistviewview adapteradapterstatusanzeige
56 Beiträge 13 Kommentatoren 12.9k Aufrufe 29 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.
  • Uwe ClementU Uwe Clement

    @D3ltoroxp

    stimmt schon. Problem war beim nach unten scrollen immer, dass die ganze Seite als "Reload" erkannt wird. d.h. das nach unten ziehen wurde als ganze Seite aktualisieren erkannt von meiner "Wallpaper" App....

    D3ltoroxpD Offline
    D3ltoroxpD Offline
    D3ltoroxp
    schrieb am zuletzt editiert von
    #47

    @Uwe-Clement Das Problem hatte ich beim Fully auch, daher hatte ich das erst mal wieder deaktiviert.

    1 Antwort Letzte Antwort
    0
    • D Offline
      D Offline
      derrapf
      schrieb am zuletzt editiert von derrapf
      #48

      Hallo alle
      Habe das Script von Seite 1 importiert, aber bei mir wirft es zig Fehler:
      2021-04-16 00_49_13-Kalender - Ralf.Zaisser@dscsag.com - Outlook.jpg 2021-04-16 00_48_45-javascript - ioBroker.jpg 2021-04-16 00_48_21-javascript - ioBroker.jpg 2021-04-16 00_47_39-javascript - ioBroker.jpg
      usw.
      Was stimmt denn hier nicht?
      Gruss Ralf

      sigi234S NegaleinN 2 Antworten Letzte Antwort
      0
      • D derrapf

        Hallo alle
        Habe das Script von Seite 1 importiert, aber bei mir wirft es zig Fehler:
        2021-04-16 00_49_13-Kalender - Ralf.Zaisser@dscsag.com - Outlook.jpg 2021-04-16 00_48_45-javascript - ioBroker.jpg 2021-04-16 00_48_21-javascript - ioBroker.jpg 2021-04-16 00_47_39-javascript - ioBroker.jpg
        usw.
        Was stimmt denn hier nicht?
        Gruss Ralf

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

        @derrapf

        DP's Richtig angelegt und im JS Adapter alles eingetragen wie auf den Screenshot?

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

        D 1 Antwort Letzte Antwort
        0
        • D derrapf

          Hallo alle
          Habe das Script von Seite 1 importiert, aber bei mir wirft es zig Fehler:
          2021-04-16 00_49_13-Kalender - Ralf.Zaisser@dscsag.com - Outlook.jpg 2021-04-16 00_48_45-javascript - ioBroker.jpg 2021-04-16 00_48_21-javascript - ioBroker.jpg 2021-04-16 00_47_39-javascript - ioBroker.jpg
          usw.
          Was stimmt denn hier nicht?
          Gruss Ralf

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

          @derrapf sagte in Material Design Widgets: Skript Status:

          aber bei mir wirft es zig Fehler:

          du meinst jetzt nur die roten Wellenlinien? Das sind nicht unbedingt Fehler.
          Hast du das Script schon mal gestartet? Läuft es, oder kommen dann echte Fehler?

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

          1 Antwort Letzte Antwort
          0
          • sigi234S sigi234

            @derrapf

            DP's Richtig angelegt und im JS Adapter alles eingetragen wie auf den Screenshot?

            D Offline
            D Offline
            derrapf
            schrieb am zuletzt editiert von
            #51

            @sigi234
            Ich hab's so gemacht (hoffentlich richtig). Stand nirgends wie es geht; ich hab dann einfach den Text "moment" usw. eingetragen:
            a0be6e24-deee-4535-808b-7348d7e7a281-image.png

            DP's Richtig angelegt
            

            Öh.. welche meinst Du?

            Das sind nicht unbedingt Fehler.
            Hast du das Script schon mal gestartet? 
            

            Nee. Normalerweise bin ich es gewöhnt, dass ich das gar nicht erst probieren muss wenn die Entwicklungsumgebung Fehler wirft. Vor allem dann wenn es angeblich eine Methode nicht gibt.
            Aber ich kann's mal probieren.
            Moment...
            Yep. Wie erwartet:
            9f9c0e18-feb3-4fb3-a302-0c80ecdb5eed-image.png

            Gruss Ralf

            sigi234S 1 Antwort Letzte Antwort
            0
            • D derrapf

              @sigi234
              Ich hab's so gemacht (hoffentlich richtig). Stand nirgends wie es geht; ich hab dann einfach den Text "moment" usw. eingetragen:
              a0be6e24-deee-4535-808b-7348d7e7a281-image.png

              DP's Richtig angelegt
              

              Öh.. welche meinst Du?

              Das sind nicht unbedingt Fehler.
              Hast du das Script schon mal gestartet? 
              

              Nee. Normalerweise bin ich es gewöhnt, dass ich das gar nicht erst probieren muss wenn die Entwicklungsumgebung Fehler wirft. Vor allem dann wenn es angeblich eine Methode nicht gibt.
              Aber ich kann's mal probieren.
              Moment...
              Yep. Wie erwartet:
              9f9c0e18-feb3-4fb3-a302-0c80ecdb5eed-image.png

              Gruss Ralf

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

              @derrapf
              Du brauchst 4 DP
              Wie im Skript steht. Zeile 5,6,8,9

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

              D 1 Antwort Letzte Antwort
              0
              • sigi234S sigi234

                @derrapf
                Du brauchst 4 DP
                Wie im Skript steht. Zeile 5,6,8,9

                D Offline
                D Offline
                derrapf
                schrieb am zuletzt editiert von
                #53

                @sigi234 Hab ich angelegt
                30f73271-df25-481a-b2f5-c4dcf0b90d92-image.png
                Aber das ändert nichts.
                Gruss Ralf

                NegaleinN GlasfaserG 2 Antworten Letzte Antwort
                0
                • D derrapf

                  @sigi234 Hab ich angelegt
                  30f73271-df25-481a-b2f5-c4dcf0b90d92-image.png
                  Aber das ändert nichts.
                  Gruss Ralf

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

                  @derrapf sagte in Material Design Widgets: Skript Status:

                  Aber das ändert nichts.

                  stell mal dein Script hier rein.

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

                  1 Antwort Letzte Antwort
                  0
                  • D derrapf

                    @sigi234 Hab ich angelegt
                    30f73271-df25-481a-b2f5-c4dcf0b90d92-image.png
                    Aber das ändert nichts.
                    Gruss Ralf

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

                    @derrapf

                    Das Script wurde nicht richtig runtergeladen , es hat dann Fehler , dadurch die Error Meldung .

                    ... compile   ....
                    

                    Lade es nochmal runter !!

                    Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                    1 Antwort Letzte Antwort
                    0
                    • ScroungerS Scrounger

                      Skript zur Anzeige des Status aller Skripte mit dem Material Design IconList Widget

                      Mit diesem Skript wird ein json string erzeugt mit dem Status aller Skripte. Diese Daten (Datenpunkt) kann dann im Material Design IconList Widget verwendet werden, um den Status der Skripte im VIS anzuzeigen.

                      letzte Aktualierung: 04.03.2020

                      Skript_Status.gif

                      Voraussetzung:

                      • Material Design Widgets v0.2.62

                      Funktionen:

                      • Anzeige des Status aller Skripte (Aktiviert, Deakitivert, Fehler)
                      • Anzeige von Werten der Skripte(Sprache, letzte Änderung, Ordner)
                      • Neustarten / Starten / Stoppen von Skripten
                      • Sortier und Filter Funktion
                      • Einstellungen, siehe im Skript Sektion Einstellungen, Funktion der Einstellungen ist dort als Kommentar beschrieben.

                      Ist auch im Online Beispiel enthalten

                      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,
                              "json_string_oid": "0_userdata.0.vis.SkriptStatus.jsonList",
                              "maxItemsperRow": "6",
                              "iconItemMinWidth": "280",
                              "iconHeight": "35",
                              "buttonHeight": "70",
                              "labelFontSize": "22",
                              "subLabelFontSize": "14",
                              "subLabelFontColor": "#000000",
                              "labelFontFamily": "RobotoCondensed-Regular",
                              "subLabelFontFamily": "RobotoCondensed-Light",
                              "horizontalIconContainerWidth": "70"
                            },
                            "style": {
                              "left": "0px",
                              "top": "50px",
                              "width": "100%",
                              "height": "calc(100% - 50px)",
                              "overflow-x": "",
                              "overflow-y": "auto",
                              "z-index": "1"
                            },
                            "widgetSet": "materialdesign"
                          },
                          "e00002": {
                            "tpl": "tplHtml",
                            "data": {
                              "g_fixed": false,
                              "g_visibility": false,
                              "g_css_font_text": false,
                              "g_css_background": true,
                              "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",
                              "refreshInterval": "0",
                              "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
                            },
                            "style": {
                              "left": "0",
                              "top": "0",
                              "width": "100%",
                              "height": "50px",
                              "background-color": "#44739e"
                            },
                            "widgetSet": "basic"
                          },
                          "e00003": {
                            "tpl": "tplVis-materialdesign-Select",
                            "data": {
                              "oid": "0_userdata.0.vis.SkriptStatus.sortMode",
                              "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",
                              "inputType": "text",
                              "inputLayout": "regular",
                              "showInputMessageAlways": "true",
                              "showInputCounter": false,
                              "clearIconShow": false,
                              "listDataMethod": "jsonStringObject",
                              "countSelectItems": "1",
                              "listPosition": "bottom",
                              "showSelectedIcon": "prepend-inner",
                              "showValue": false,
                              "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,
                              "inputLabelText": "Sortieren nach",
                              "inputLabelColor": "#ffffff",
                              "inputLabelFontFamily": "RobotoCondensed-LightItalic",
                              "collapseIconColor": "#ffffff",
                              "collapseIconSize": "",
                              "jsonStringObject": "[\n\t{\n\t\t\"text\": \"Skriptname\",\n\t\t\"value\": \"name\",\n\t\t\"icon\": \"sort-alphabetical\"\n\t},\n\t{\n\t\t\"text\": \"letzte Änderung\",\n\t\t\"value\": \"lastChange\",\n\t\t\"icon\": \"clock-outline\"\n\t},\n\t{\n\t\t\"text\": \"Status\",\n\t\t\"value\": \"status\",\n\t\t\"icon\": \"information-variant\"\n\t},\n\t{\n\t\t\"text\": \"Ordner\",\n\t\t\"value\": \"folder\",\n\t\t\"icon\": \"folder\"\n\t}\t\n]",
                              "listPositionOffset": true,
                              "inputLayoutBackgroundColor": "transparent",
                              "inputLabelColorSelected": "#ffffff",
                              "inputTranslateX": "-15",
                              "clearIcon": "",
                              "inputLayoutBorderColorHover": "#ffffff",
                              "inputLayoutBorderColorSelected": "#ffffff",
                              "inputLayoutBorderColor": "#a1a1a1",
                              "listItemFontColor": "",
                              "inputTextColor": "#ffffff",
                              "inputTextFontFamily": "RobotoCondensed-LightItalic",
                              "prepandIcon": "",
                              "prepandIconColor": "",
                              "prepandIconSize": "",
                              "prepandInnerIcon": "",
                              "prepandInnerIconColor": "#ffffff",
                              "prepandInnerIconSize": "18",
                              "collapseIcon": "",
                              "inputTranslateY": "-12",
                              "listIconSelectedColor": "#44739e",
                              "listIconColor": "",
                              "appendOuterIcon": "",
                              "appendOuterIconSize": "2",
                              "listItemFont": "RobotoCondensed-Regular",
                              "listItemRippleEffectColor": "",
                              "inputLayoutBackgroundColorSelected": "",
                              "inputLayoutBackgroundColorHover": ""
                            },
                            "style": {
                              "left": "10px",
                              "top": "0px",
                              "z-index": "1",
                              "width": "calc(50% - 20px)",
                              "height": "40px"
                            },
                            "widgetSet": "materialdesign"
                          },
                          "e00004": {
                            "tpl": "tplVis-materialdesign-Select",
                            "data": {
                              "oid": "0_userdata.0.vis.SkriptStatus.filterMode",
                              "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",
                              "inputType": "text",
                              "inputLayout": "regular",
                              "showInputMessageAlways": "true",
                              "showInputCounter": false,
                              "clearIconShow": true,
                              "listDataMethod": "jsonStringObject",
                              "countSelectItems": "1",
                              "listPosition": "bottom",
                              "showSelectedIcon": "prepend-inner",
                              "showValue": false,
                              "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,
                              "inputLabelText": "Filtern nach",
                              "inputLabelColor": "#ffffff",
                              "inputLabelFontFamily": "RobotoCondensed-LightItalic",
                              "collapseIconColor": "#ffffff",
                              "collapseIconSize": "",
                              "jsonStringObject": "[\n\t{\n\t\t\"text\": \"Fehler\",\n\t\t\"value\": \"error\",\n\t\t\"icon\": \"alert-box-outline\"\n\t},\n\t{\n\t\t\"text\": \"deaktiviert\",\n\t\t\"value\": \"deactivated\",\n\t\t\"icon\": \"checkbox-blank-outline\"\n\t},\t\n\t{\n\t\t\"text\": \"aktiviert\",\n\t\t\"value\": \"activated\",\n\t\t\"icon\": \"checkbox-intermediate\"\n\t}\n]",
                              "listPositionOffset": true,
                              "inputLayoutBackgroundColor": "transparent",
                              "inputLabelColorSelected": "#ffffff",
                              "inputTranslateX": "-15",
                              "clearIcon": "",
                              "inputLayoutBorderColorHover": "#ffffff",
                              "inputLayoutBorderColorSelected": "#ffffff",
                              "inputLayoutBorderColor": "#a1a1a1",
                              "listItemFontColor": "",
                              "inputTextColor": "#ffffff",
                              "inputTextFontFamily": "RobotoCondensed-LightItalic",
                              "prepandIcon": "",
                              "prepandIconColor": "",
                              "prepandIconSize": "",
                              "prepandInnerIcon": "",
                              "prepandInnerIconColor": "#ffffff",
                              "prepandInnerIconSize": "18",
                              "collapseIcon": "",
                              "inputTranslateY": "-12",
                              "listIconSelectedColor": "#44739e",
                              "listIconColor": "",
                              "appendOuterIcon": "",
                              "appendOuterIconSize": "2",
                              "listItemFont": "RobotoCondensed-Regular",
                              "listItemRippleEffectColor": "",
                              "inputLayoutBackgroundColorSelected": "",
                              "inputLayoutBackgroundColorHover": "",
                              "clearIconColor": "#ffffff"
                            },
                            "style": {
                              "left": "calc(50% + 10px)",
                              "top": "0px",
                              "z-index": "1",
                              "width": "calc(50% - 20px)",
                              "height": "40px"
                            },
                            "widgetSet": "materialdesign"
                          }
                        },
                        "name": "SkriptStatus",
                        "filterList": []
                      }
                      

                      Hier hab ich beschrieben, wie man das layout am besten einstellt:
                      https://forum.iobroker.net/topic/30661/material-design-widgets-adapter-status/5

                      Skript:

                      const moment = require("moment");
                      
                      // Skript Einstellungen *************************************************************************************************************************************************
                      
                      let dpList = '0_userdata.0.vis.SkriptStatus.jsonList';                      // Datenpunkt für IconList Widget (Typ: Zeichenkette (String))
                      let dpskriptRestart = '0_userdata.0.vis.SkriptStatus.restart';              // Datenpunkt für Skript restart (Typ: Zeichenkette (String))
                      
                      let dpSortMode = '0_userdata.0.vis.SkriptStatus.sortMode';                  // Datenpunkt für Sortieren (Typ: Zeichenkette (String))
                      let dpFilterMode = '0_userdata.0.vis.SkriptStatus.filterMode';              // Datenpunkt für Filter (Typ: Zeichenkette (String))
                      
                      const checkInterval = 30;                                                   // Interval wie oft Status der Skripte aktualisiert werden soll (in Sekunden)
                      
                      let sprache = 'de';                                                         // Sprache für formatierung letzte Änderung
                      let formatierungLastChange = "ddd DD.MM - HH:mm";                           // Formatierung letzte Änderung -> siehe momentjs library
                      
                      let neustarten = true;                                                      // true: Skript wird neugestartet, false: Skript wird gestoppt oder gestartet
                      
                      let farbeSkriptAktiv = 'green';                                             // Status Bar Farbe wenn Skript aktiv ist
                      let farbeSkriptDeaktiviert = 'darkgrey';                                    // Status Bar Farbe wenn Skript deaktiviert ist
                      let farbeSkriptProblem = 'FireBrick';                                       // Status Bar Farbe wenn Skript Problem hat
                      
                      let sortResetAfter = 120;                                                   // Sortierung nach X Sekunden auf sortReset zurücksetzen (0=deaktiviert)
                      let sortReset = 'name'                                                      // Sortierung auf die zurückgesetzt werden soll
                      
                      let filterResetAfter = 120;                                                 // Filter nach X Sekunden zurücksetzen (0=deaktiviert)
                      
                      // **********************************************************************************************************************************************************************
                      
                      // Fomate für moment Lib
                      moment.locale(sprache);
                      
                      // auf Änderungen aktiver Skripts hören
                      let enableSelector = `[id=javascript.*.scriptEnabled.*]`;
                      let skriptEnableList = $(enableSelector);
                      if (skriptEnableList.length === 0) {
                          // Fehlermeldung ausgeben, wenn selector kein result liefert
                          console.error(`no result for selector '${enableSelector}'`)
                      } else {
                          // listener nur für Änderung bei alive
                          skriptEnableList.on(skriptStatus);
                      }
                      
                      // auf Änderungen Skripts mit Problemen hören
                      let problemSelector = `[id=javascript.*.scriptProblem.*]`;
                      let skriptProblemList = $(problemSelector);
                      if (skriptProblemList.length === 0) {
                          // Fehlermeldung ausgeben, wenn selector kein result liefert
                          console.error(`no result for selector '${problemSelector}'`)
                      } else {
                          // listener nur für Änderung bei alive
                          skriptProblemList.on(skriptStatus);
                      }
                      
                      
                      // auf Änderungen der Sortieung hören
                      on({ id: dpSortMode, change: 'any' }, skriptStatus);
                      on({ id: dpSortMode, change: 'any' }, resetSort);
                      
                      // auf Änderungen der Filter hören
                      on({ id: dpFilterMode, change: 'any' }, skriptStatus);
                      on({ id: dpFilterMode, change: 'any' }, resetFilter);
                      
                      
                      // Funktion adapterStatus alle x Sekunden ausführen
                      schedule('*/' + checkInterval + ' * * * * *', skriptStatus);
                      
                      function skriptStatus() {
                          try {
                              skriptList = [];
                      
                              for (var i = 0; i <= skriptEnableList.length - 1; i++) {
                                  let id = skriptEnableList[i];
                                  let obj = getObject(id);
                      
                                  let scriptObj = undefined;
                                  let scriptName = '';
                                  let engineType = '';
                                  let lastChangeText = '';
                                  let lastChange = 0;
                                  let image = 'image-off-outline';
                                  let imageColor = '';
                                  let statusBarColor = farbeSkriptDeaktiviert;
                                  let status = 1;
                      
                      
                                  if (obj && obj !== null && obj.native && obj.native.script) {
                                      scriptObj = getObject(obj.native.script);
                      
                                      if (scriptObj && scriptObj.common) {
                                          if (scriptObj.common.name) {
                                              scriptName = scriptObj.common.name;
                                          }
                      
                                          if (scriptObj.common.engineType) {
                                              engineType = scriptObj.common.engineType.replace('/js', '').replace('/ts', '');
                      
                                              if (engineType.toLowerCase() === 'Javascript'.toLowerCase()) {
                                                  image = 'language-javascript';
                                                  imageColor = '#ffca28';
                                              } else if (engineType.toLowerCase() === 'TypeScript'.toLowerCase()) {
                                                  image = 'language-typescript';
                                                  imageColor = '#007acc';
                                              } else if (engineType.toLowerCase() === 'Blockly'.toLowerCase()) {
                                                  image = 'puzzle';
                                                  imageColor = '#5a80a6';
                                              }
                                          }
                      
                                          if (scriptObj.ts) {
                                              lastChange = scriptObj.ts;
                                              lastChangeText = moment(scriptObj.ts).format(formatierungLastChange);
                                          }
                      
                                          if (scriptObj.common.enabled) {
                                              statusBarColor = farbeSkriptAktiv;
                                              status = 0;
                                          }
                      
                                          if (myHelper().getStateValueIfExist(id) === 'true') {
                                              statusBarColor = farbeSkriptAktiv;
                                              status = 0;
                                          }
                      
                                          if (myHelper().getStateValueIfExist(id.replace('.scriptEnabled.', '.scriptProblem.'), false) === 'true') {
                                              statusBarColor = farbeSkriptProblem;
                                              status = 2;
                                          }
                      
                                          let folder = '-';
                                          let folderList = id.replace('javascript.0.scriptEnabled.').split(".");
                                          if (folderList.length > 1) {
                                              folder = id.replace('javascript.0.scriptEnabled.', '').replace('.' + folderList[folderList.length - 1], '');
                                          }
                      
                                          let text = scriptName;
                                          if (status === 2) {
                                              text = `<span class="mdi mdi-alert-box-outline" style="color: #ec0909;"></span> ${scriptName}`
                                          }
                      
                                          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;">Sprache</div>
                                                              <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic; text-align: right;">${engineType}</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;">letzte Änderung</div>
                                                              <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic; text-align: right;">${lastChangeText}</div>
                                                          </div>
                                                          <div style="display: flex; flex-direction: row; line-height: 1.3; padding-left: 1px; padding-right: 8px;">
                                                              <div style="flex: 1;">Ordner</div>
                                                              <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic; text-overflow: ellipsis; white-space: normal; text-align: right;">${folder}</div>
                                                          </div>`
                      
                                          skriptList.push({
                                              text: text,
                                              subText: subText,
                                              statusBarColor: statusBarColor,
                                              image: image,
                                              imageColor: imageColor,
                                              listType: "buttonState",
                                              objectId: dpskriptRestart,
                                              buttonStateValue: (obj && obj !== null && obj.native && obj.native.script) ? obj.native.script : '',
                                              showValueLabel: false,
                                              name: scriptName,
                                              lastChange: lastChange,
                                              status: status,
                                              folder: folder
                                          });
                                      }
                                  }
                              }
                      
                              let sortMode = myHelper().getStateValueIfExist(dpSortMode, 'name');
                      
                              if (sortMode === 'name') {
                                  skriptList.sort(function (a, b) {
                                      return a[sortMode].toLowerCase() == b[sortMode].toLowerCase() ? 0 : +(a[sortMode].toLowerCase() > b[sortMode].toLowerCase()) || -1;
                                  });
                              } else if (sortMode === 'lastChange' || sortMode === 'status' || sortMode === 'folder') {
                                  skriptList.sort(function (a, b) {
                                      return a[sortMode] == b[sortMode] ? 0 : +(a[sortMode] < b[sortMode]) || -1;
                                  });
                              } else {
                                  // default: nach name sortieren
                                  sortMode = 'name'
                                  skriptList.sort(function (a, b) {
                                      return a[sortMode].toLowerCase() == b[sortMode].toLowerCase() ? 0 : +(a[sortMode].toLowerCase() > b[sortMode].toLowerCase()) || -1;
                                  });
                              }
                      
                      
                              let filterMode = myHelper().getStateValueIfExist(dpFilterMode, null);
                      
                              if (filterMode && filterMode !== null && filterMode !== '') {
                                  if (filterMode === 'error') {
                                      skriptList = skriptList.filter(function (item) {
                                          return item.status === 2;
                                      });
                                  } else if (filterMode === 'deactivated') {
                                      skriptList = skriptList.filter(function (item) {
                                          return item.status === 1;
                                      });
                                  } else if (filterMode === 'activated') {
                                      skriptList = skriptList.filter(function (item) {
                                          return item.status === 0;
                                      });
                                  }
                              }
                      
                      
                              let result = JSON.stringify(skriptList);
                              if (existsState(dpList) && getState(dpList).val !== result) {
                                  setState(dpList, result, true);
                              } else {
                                  setState(dpList, result, true);
                              }
                      
                          } catch (err) {
                              console.error(`[skriptStatus] error: ${err.message}, stack: ${err.stack}`);
                          }
                      }
                      
                      
                      // // Funktion um Skript starten / Stoppen
                      on({ id: dpskriptRestart }, function (obj) {
                          var scriptObj = getObject(obj.state.val.toString());
                      
                          if (neustarten) {
                              scriptObj.common.enabled = true;
                              setObject(obj.state.val.toString(), scriptObj);
                          }
                          else {
                              if (scriptObj && scriptObj.common) {
                      
                                  if (scriptObj.common.enabled) {
                                      scriptObj.common.enabled = false;
                                  } else {
                                      scriptObj.common.enabled = true;
                                  }
                      
                                  setObject(obj.state.val.toString(), scriptObj);
                              }
                          }
                      });
                      
                      function resetSort() {
                          let sortMode = myHelper().getStateValueIfExist(dpSortMode, null);
                      
                          if (sortResetAfter > 0) {
                              setTimeout(function () {
                                  if (sortMode !== null && sortMode === myHelper().getStateValueIfExist(dpSortMode, null)) {
                                      setState(dpSortMode, sortReset);
                                  }
                              }, sortResetAfter * 1000);
                          }
                      }
                      
                      function resetFilter() {
                          let filterMode = myHelper().getStateValueIfExist(dpFilterMode, null);
                      
                          if (filterResetAfter > 0) {
                              setTimeout(function () {
                                  if (filterMode !== null && filterMode === myHelper().getStateValueIfExist(dpFilterMode, null)) {
                                      setState(dpFilterMode, '');
                                  }
                              }, filterResetAfter * 1000);
                          }
                      }
                      
                      // Beim Staren des Skriptes Adapter Status abrufen
                      skriptStatus();
                      
                      function myHelper() {
                          return {
                              getStateValueIfExist: function (id, nullValue = undefined, prepand = '', append = '') {
                                  if (existsState(id)) {
                                      return prepand + getState(id).val + append;
                                  } else {
                                      return nullValue;
                                  }
                              },
                              getCommonPropertyIfExist: function (object, prop, nullValue = undefined, prepand = '', append = '') {
                                  if (myHelper().checkCommonPropertyExist(object, prop)) {
                                      return prepand + object.common[prop] + append;
                                  } else {
                                      return nullValue;
                                  }
                              },
                              checkCommonPropertyExist: function (object, prop) {
                                  if (object && object.common && object.common[prop]) {
                                      return true;
                                  } else {
                                      return false;
                                  }
                              }
                          }
                      }
                      

                      Benötigte libraries & Einstellungen im Javascript Adapter:
                      6222b915-4e9e-4025-98ec-0baedcaed5b1-grafik.png

                      GarganoG Offline
                      GarganoG Offline
                      Gargano
                      schrieb am zuletzt editiert von
                      #56

                      @scrounger Hab Dein Script gerade runtergeladen und ausprobiert. Es gab eine ganze Menge Logs, der Grund ist, das ich einige Scripts disabled habe und diese werden dann als Log ausgeworfen (Object nicht gefunden).
                      Grund ist in der Zeile 86 zu suchen : bei disabled Scripts ist obj.native.script nicht vorhanden.
                      Dies ist die Änderung und damit geht es dann :

                      if (obj && obj !== null && obj.native && obj.native.script && (await existsObjectAsynct(obj.native.script)===true)) {
                      

                      dazu noch die function auf async setzen

                      async function skriptStatus() {
                      
                      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

                      442

                      Online

                      32.5k

                      Benutzer

                      81.6k

                      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