Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. Material Design Widets: Netzwerk Status

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    909

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Material Design Widets: Netzwerk Status

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
280 Posts 50 Posters 55.5k Views 65 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B bergi_37

    @glasfaser

    Sieht jetzt besser aus und klappt anscheinend auch. Habe aber immer noch nicht die beiden anderen Einträge: sortMode und filterMode...

    6.png

    GlasfaserG Offline
    GlasfaserG Offline
    Glasfaser
    wrote on last edited by
    #175

    @bergi_37

    Die mußt du doch auch anlegen , habe ich dir schon mehrmals gesagt !

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

    B 1 Reply Last reply
    0
    • GlasfaserG Glasfaser

      @bergi_37

      Die mußt du doch auch anlegen , habe ich dir schon mehrmals gesagt !

      B Offline
      B Offline
      bergi_37
      wrote on last edited by
      #176

      @glasfaser

      Ok, das habe ich so nicht verstanden. Sorry. Jetzt wird alles angezeigt. Danke für deine Hilfe!!

      GlasfaserG 1 Reply Last reply
      0
      • B bergi_37

        @glasfaser

        Ok, das habe ich so nicht verstanden. Sorry. Jetzt wird alles angezeigt. Danke für deine Hilfe!!

        GlasfaserG Offline
        GlasfaserG Offline
        Glasfaser
        wrote on last edited by
        #177

        @bergi_37 sagte in Material Design Widets: Netzwerk Status:

        Jetzt wird alles angezeigt. Danke für deine Hilfe!!

        Dann ist ja gut .... ;)

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

        Stephan SchleichS 1 Reply Last reply
        0
        • GlasfaserG Glasfaser

          @bergi_37 sagte in Material Design Widets: Netzwerk Status:

          Jetzt wird alles angezeigt. Danke für deine Hilfe!!

          Dann ist ja gut .... ;)

          Stephan SchleichS Offline
          Stephan SchleichS Offline
          Stephan Schleich
          wrote on last edited by
          #178

          @all hat das schon jemand geschafft auf fb-checkpresence umzubauen und würde sein Script teilen?

          1 Reply Last reply
          0
          • M Machinima

            In Anlehnung an die Views Skript Status und Adapter Status mit den Material Design Widgets habe ich mir eine View mit den Geräten aus dem TR064-Adapter erstellt, siehe nachfolgender Screenshot.

            Netzwerkgeräte VIS.png

            Github: Link

            Voraussetzung:

            • Material Design Widgets v0.2.66

            Funktionen:

            • Anzeige des Netzwerkstatus euer Geräte aus dem TR064-Adapter (online, offline)
            • Anzeige von Werten des Adapters (IP-Adresse, letzte An- und Abmeldung)
            • Einträge, die mit einem Link hinterlegt wurden, können per Klick auf das Symbol in einem neuen Browser-Tab geöffnet werden
            • Sortier und Filter Funktion
            • Einstellungen, siehe im Skript Sektion Einstellungen, Funktion der Einstellungen ist dort als Kommentar beschrieben.

            View zum Importieren (für Material Design Icons):

            {
              "settings": {
                "style": {
                  "background_class": ""
                },
                "theme": "redmond",
                "sizex": "",
                "sizey": "",
                "gridSize": "",
                "useBackground": false,
                "snapType": null
              },
              "widgets": {
                "e00001": {
                  "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%",
                    "background-color": "#44739e",
                    "height": "50px",
                    "z-index": "0"
                  },
                  "widgetSet": "basic"
                },
                "e00002": {
                  "tpl": "tplVis-materialdesign-Select",
                  "data": {
                    "oid": "0_userdata.0.vis.NetzwerkStatus.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\": \"Gerätename\",\n\t\t\"value\": \"name\",\n\t\t\"icon\": \"sort-alphabetical\"\n\t},\n\t{\n\t\t\"text\": \"IP Adresse\",\n\t\t\"value\": \"ipAddress\",\n\t\t\"icon\": \"ip\"\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": ""
                  },
                  "style": {
                    "left": "10px",
                    "top": "0px",
                    "z-index": "1",
                    "width": "calc(50% - 20px)",
                    "height": "40px"
                  },
                  "widgetSet": "materialdesign"
                },
                "e00003": {
                  "tpl": "tplVis-materialdesign-Select",
                  "data": {
                    "oid": "0_userdata.0.vis.NetzwerkStatus.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\": \"online\",\n\t\t\"value\": \"online\",\n\t\t\"icon\": \"network\"\n\t},\n\t{\n\t\t\"text\": \"offline\",\n\t\t\"value\": \"offline\",\n\t\t\"icon\": \"network-off-outline\"\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"
                },
                "e00004": {
                  "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,
                    "maxItemsperRow": "8",
                    "json_string_oid": "0_userdata.0.vis.NetzwerkStatus.jsonList",
                    "labelFontSize": "22",
                    "subLabelFontSize": "14",
                    "labelFontFamily": "RobotoCondensed-Regular",
                    "horizontalIconContainerWidth": "70",
                    "buttonHeight": "",
                    "iconHeight": "35",
                    "iconItemMinWidth": "300",
                    "buttonLayout": "round",
                    "autoLockAfter": "10",
                    "lockIconTop": "5",
                    "lockIconLeft": "5",
                    "lockFilterGrayscale": "30",
                    "lockApplyOnlyOnImage": "true",
                    "subLabelFontFamily": "RobotoCondensed-BoldItalic",
                    "subLabelFontColor": "black",
                    "verticalIconContainerHeight": "70"
                  },
                  "style": {
                    "left": "",
                    "top": "50px",
                    "width": "100%",
                    "height": "calc(100% - 50px)",
                    "overflow-y": "auto"
                  },
                  "widgetSet": "materialdesign"
                }
              },
              "name": "330_System_NetzwerkStatus",
              "filterList": []
            }
            

            Skript (mit Material Design Icons):

            /* Versionshistorie:
             * 
             * 1.0.2:
             * - neu: Anzeige der letzten An- und Abmeldung
             * - neu: Verwendung eigener Bilder möglich
             * 
             * 1.0.1:
             * - neu: In dem Mapping der IP-Adressen kann jetzt eine URL vergeben werden ('http' oder direkt eine spezifische URL)
             * - geändert: Styling der Details
             * - entfernt: MAC-Adresse
             * 
             * 1.0.0:
             * - Initial Release
             */
            
            const moment = require("moment");
             
            // Skript Einstellungen *************************************************************************************************************************************************
             
            let dpList = '0_userdata.0.vis.NetzwerkStatus.jsonList';          // Datenpunkt für IconList Widget (Typ: Zeichenkette (String))
             
            let dpSortMode = '0_userdata.0.vis.NetzwerkStatus.sortMode';      // Datenpunkt für Sortieren (Typ: Zeichenkette (String))
            let dpFilterMode = '0_userdata.0.vis.NetzwerkStatus.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 imagePath = '/vis.0/myImages/networkDevices/'                 // Pfad zu den verwendeten Bildern (bitte über den VIS Dateimanager hochladen)
                                                                              // nach Variable imagePath suchen und die entsprechenden Zeilen aus- bzw. einkommentieren
                                                                              // Das Bild (Dateiformat png) in der Mapping-Liste hinterlegen
            let defaultImage = 'ip-network-outline';                          // Standardbild, falls kein Bild angegeben wurde (Material Design Icons)
            //let defaultImage = `${imagePath}default.png`;                   // Standardbild, falls kein Bild angegeben wurde (eigenes Bild)
             
            let farbeGeraetOnline = 'green';                                  // Status Bar Farbe wenn Geräte online ist
            let farbeGeraetOffline = 'FireBrick';                             // Status Bar Farbe wenn Geräte offline ist
             
            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)
            
            const deviceNames = 
            [{ ip: "192.168.178.20", alias: "NAS",                           image: "nas",                   link: "http://diskstation:5000" },
             { ip: "192.168.178.37", alias: "Gosund Küchenlicht",            image: "toggle-switch-outline", link: "http" },
             { ip: "192.168.178.45", alias: "Homematic Raspi",               image: "server",                link: "http" },
             { ip: "192.168.178.32", alias: "OnePlus 3T",                    image: "cellphone" }
            ];
             
            // **********************************************************************************************************************************************************************
             
            // Fomate für moment Lib
            moment.locale(sprache);
            
            // auf Änderungen aktiver Skripts hören
            let activeSelector = `[id=tr-064.*.devices.*.active]`;
            let deviceActiveList = $(activeSelector);
            if (deviceActiveList.length === 0) {
                // Fehlermeldung ausgeben, wenn selector kein result liefert
                console.error(`no result for selector '${activeSelector}'`)
            } else {
                // listener nur für Änderung bei alive
                deviceActiveList.on(netzwerkStatus);
            } 
             
            // auf Änderungen der Sortieung hören
            on({ id: dpSortMode, change: 'any' }, netzwerkStatus);
            on({ id: dpSortMode, change: 'any' }, resetSort);
             
            // // auf Änderungen der Filter hören
            on({ id: dpFilterMode, change: 'any' }, netzwerkStatus);
            on({ id: dpFilterMode, change: 'any' }, resetFilter);
             
             
            // Funktion adapterStatus alle x Sekunden ausführen
            schedule('*/' + checkInterval + ' * * * * *', netzwerkStatus);
             
            function netzwerkStatus() {
                try {
                    let deviceList = [];
             
                    for (var i = 0; i <= deviceActiveList.length - 1; i++) {
                        let id = deviceActiveList[i].replace('.active', '');
                        let obj = getObject(id);
             
                        let pattern = /(?:\d{1,3}\.){3}\d{1,3}/i;
            
                        let ipAddress = obj.common.name.match(pattern)[0];
                        let image = defaultImage;
                        let deviceName = obj.common.name.replace(/ \((?:\d{1,3}\.){3}\d{1,3}\)/g, '');
                        let device = deviceNames.find(element => element.ip == ipAddress);
                        let listType = 'text';
                        let buttonLink = '';
            
                        if(device) {
                            deviceName = device.alias;
                            image = device.image;
                            //image = `${imagePath}${device.image}.png`;
            
                            if(device.link) {
                                listType = 'buttonLink';
            
                                if(device.link == 'http') {
                                    buttonLink = `http://${ipAddress}`;
                                } else {
                                    buttonLink = device.link;
                                }
                            }
                        }
            
                        let macAddress = obj.native.mac;
                        let imageColor = 'black';
                        let statusBarColor = farbeGeraetOffline;
                        let status = 2;
             
                        if (getState(deviceActiveList[i]).val) {
                            statusBarColor = farbeGeraetOnline;
                            status = 1;
                        }
            
                        if(listType === 'buttonLink') {
                            deviceName = `<span style="text-decoration: underline">${deviceName}</span>`                
                        }
            
                        let lastSignIn = 'noch nicht angemeldet';
                        let lastSignOff = 'noch nicht abgemeldet';
            
                        // Letzte Anmeldung auslesen
                        if(existsState(id + '.lastActive')) {
                            lastSignIn = 'angemeldet seit: ' + moment((getState(id + '.lastActive').val)).format("DD.MM.YY HH:mm:ss");
                        }        
            
                        // Letzte Abmeldung auslesen
                        if(existsState(id + '.lastInactive')) {
                            lastSignOff = 'abgemeldet seit: ' + moment((getState(id + '.lastInactive').val)).format("DD.MM.YY HH:mm:ss");
                        }
            
                        let subText = `<div style="color: black; font-family: RobotoCondensed-BoldItalic">${ipAddress}</div>
                                       <div style="color: grey; font-family: RobotoCondensed-Regular">${lastSignIn}</div>
                                       <div style="color: grey; font-family: RobotoCondensed-Regular">${lastSignOff}</div>`
             
                        deviceList.push({
                            text: deviceName,
                            subText: subText,
                            statusBarColor: statusBarColor,
                            image: image,
                            imageColor: imageColor,
                            listType: listType,
                            buttonLink: buttonLink,
                            showValueLabel: false,
                            name: deviceName,
                            ipAddress: ipAddress,
                            status: status
                        });
                    }
             
                    let sortMode = myHelper().getStateValueIfExist(dpSortMode, 'name');
             
                    if (sortMode === 'name' || sortMode === 'ipAddress') {
                        deviceList.sort(function (a, b) {
                            return a[sortMode].toLowerCase() == b[sortMode].toLowerCase() ? 0 : +(a[sortMode].toLowerCase() > b[sortMode].toLowerCase()) || -1;
                        });
                    } else if (sortMode === 'status') {
                        deviceList.sort(function (a, b) {
                            return a[sortMode] == b[sortMode] ? 0 : +(a[sortMode] < b[sortMode]) || -1;
                        });
                    } else {
                        // default: nach name sortieren
                        sortMode = 'name'
                        deviceList.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 === 'offline') {
                            deviceList = deviceList.filter(function (item) {
                                return item.status === 2;
                            });
                        } else if (filterMode === 'online') {
                            deviceList = deviceList.filter(function (item) {
                                return item.status === 1;
                            });
                        }
                    }
             
             
                    let result = JSON.stringify(deviceList);
                    if (getState(dpList) !== result) {
                        setState(dpList, result, true);
                    }
             
                } catch (err) {
                    console.error(`[netzwerkStatus] error: ${err.message}, stack: ${err.stack}`);
                }
            }
             
            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
            netzwerkStatus();
             
            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;
                        }
                    }
                }
            }
            

            Folgende NPM-Module müsst ihr in eurer Javascript-Instanz hinzufügen: moment, moment-timezone, moment-duration-format
            Außerdem bitte die Einstellung "Erlaube das Kommando setObject" in eurer Javascript-Instanz aktivieren

            M Offline
            M Offline
            Maas-Meister
            wrote on last edited by
            #179

            Folgende NPM-Module müsst ihr in eurer Javascript-Instanz hinzufügen: moment, moment-timezone, moment-duration-format
            Außerdem bitte die Einstellung "Erlaube das Kommando setObject" in eurer Javascript-Instanz aktivieren

            Moin Gruppe,
            ich finde mich gerade erst im Material Design Adapter ein.

            • Wie füge ich die o.g. Javascript Instanzen ein?
            • Das Script lege ich wie gewohnt in "Global" ab?

            Mfg

            sigi234S 1 Reply Last reply
            0
            • M Maas-Meister

              Folgende NPM-Module müsst ihr in eurer Javascript-Instanz hinzufügen: moment, moment-timezone, moment-duration-format
              Außerdem bitte die Einstellung "Erlaube das Kommando setObject" in eurer Javascript-Instanz aktivieren

              Moin Gruppe,
              ich finde mich gerade erst im Material Design Adapter ein.

              • Wie füge ich die o.g. Javascript Instanzen ein?
              • Das Script lege ich wie gewohnt in "Global" ab?

              Mfg

              sigi234S Online
              sigi234S Online
              sigi234
              Forum Testing Most Active
              wrote on last edited by
              #180

              @maas-meister sagte in Material Design Widets: Netzwerk Status:

              Folgende NPM-Module müsst ihr in eurer Javascript-Instanz hinzufügen: moment, moment-timezone, moment-duration-format
              Außerdem bitte die Einstellung "Erlaube das Kommando setObject" in eurer Javascript-Instanz aktivieren

              Moin Gruppe,
              ich finde mich gerade erst im Material Design Adapter ein.

              • Wie füge ich die o.g. Javascript Instanzen ein?

              Screenshot (3359)_LI.jpg

              • Das Script lege ich wie gewohnt in "Global" ab?

              Nein:

              Screenshot (3361)_LI.jpg

              Mfg

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

              M 1 Reply Last reply
              1
              • sigi234S sigi234

                @maas-meister sagte in Material Design Widets: Netzwerk Status:

                Folgende NPM-Module müsst ihr in eurer Javascript-Instanz hinzufügen: moment, moment-timezone, moment-duration-format
                Außerdem bitte die Einstellung "Erlaube das Kommando setObject" in eurer Javascript-Instanz aktivieren

                Moin Gruppe,
                ich finde mich gerade erst im Material Design Adapter ein.

                • Wie füge ich die o.g. Javascript Instanzen ein?

                Screenshot (3359)_LI.jpg

                • Das Script lege ich wie gewohnt in "Global" ab?

                Nein:

                Screenshot (3361)_LI.jpg

                Mfg

                M Offline
                M Offline
                Maas-Meister
                wrote on last edited by
                #181

                @sigi234

                Danke für deine ausführliche Erklärung :-)

                R 1 Reply Last reply
                0
                • M Maas-Meister

                  @sigi234

                  Danke für deine ausführliche Erklärung :-)

                  R Offline
                  R Offline
                  Rosi8818
                  wrote on last edited by Rosi8818
                  #182

                  erstmal Danke für das tolle Script :+1:

                  ich hab es bei mir eingerichtet und alles geändert was zu ändern gab (ähm angepasst meine ich).
                  Einzig was nicht funktioniert (habe ich nichts dran geändert) sind die oberen Punkte Sortieren und Filtern

                  Da kommt egal was ich aussuche immer

                  e8272df5-f699-4c9f-bf9d-74ce9eb3c809-image.png

                  Muss ich hier noch etwas in den "Daten der Lsite" - jsons anpassen?

                  Eben noch gesehen das die Datenpunkte 0_userdata.0.Tabellen.NetzwerkStatus.sortMode und 0_userdata.0.Tabellen.NetzwerkStatus.FilterMode nicht gefüllt sind

                  hier der angelegte SortMode

                  {
                    "_id": "0_userdata.0.Tabellen.NetzwerkStatus.sortMode",
                    "type": "state",
                    "common": {
                      "name": "NetzwerkStatus.sortMode",
                      "role": "",
                      "type": "string",
                      "read": true,
                      "write": true,
                      "desc": "Manuell erzeugt",
                      "def": ""
                    },
                    "native": {},
                    "from": "system.adapter.admin.0",
                    "user": "system.user.admin",
                    "ts": 1615994652464,
                    "acl": {
                      "object": 1636,
                      "state": 1636,
                      "owner": "system.user.admin",
                      "ownerGroup": "system.group.administrator"
                    }
                  }
                  
                  GarganoG 1 Reply Last reply
                  0
                  • R Offline
                    R Offline
                    Rosi8818
                    wrote on last edited by
                    #183

                    ich werde noch narrisch, die genze Zeit (seit gestern) lief alles, jetzt habe ich ständig diesen Fehler im Logfile aber die Ansicht läuft (bis auf filtern und sortieren). In der Instanz sind ale Module eingetragen. Warum erst jetzt der Fehler und wo kann ich ansetzen, hat einer 'ne Idee?

                    javascript.0 (27282) script.js.Hilfsscripte.Statusabfrage: [netzwerkStatus] error: Cannot read property '0' of null, stack: TypeError: Cannot read property '0' of null at netzwerkStatus (script.js.Hilfsscripte.Statusabfrage:159:59) at script.js.Hilfsscripte.Statusabfrage:297:1 at script.js.Hilfsscripte.Statusabfrage:325:3 at Script.runInContext (vm.js:130:18) at Script.runInNewContext (vm.js:135:17) at execute (/opt/iobroker/node_modules/iobroker.javascript/main.js:1423:27) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1622:38) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1722:17 at /opt/iobroker/node_modules/iobroker.javascript/main.js:1238:17 at /opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:616:17
                    

                    weiter unten habe ich eben noch folgendes gelesen
                    4d241fe6-c153-41f8-9388-151b91a40d31-image.png

                    1 Reply Last reply
                    0
                    • R Rosi8818

                      erstmal Danke für das tolle Script :+1:

                      ich hab es bei mir eingerichtet und alles geändert was zu ändern gab (ähm angepasst meine ich).
                      Einzig was nicht funktioniert (habe ich nichts dran geändert) sind die oberen Punkte Sortieren und Filtern

                      Da kommt egal was ich aussuche immer

                      e8272df5-f699-4c9f-bf9d-74ce9eb3c809-image.png

                      Muss ich hier noch etwas in den "Daten der Lsite" - jsons anpassen?

                      Eben noch gesehen das die Datenpunkte 0_userdata.0.Tabellen.NetzwerkStatus.sortMode und 0_userdata.0.Tabellen.NetzwerkStatus.FilterMode nicht gefüllt sind

                      hier der angelegte SortMode

                      {
                        "_id": "0_userdata.0.Tabellen.NetzwerkStatus.sortMode",
                        "type": "state",
                        "common": {
                          "name": "NetzwerkStatus.sortMode",
                          "role": "",
                          "type": "string",
                          "read": true,
                          "write": true,
                          "desc": "Manuell erzeugt",
                          "def": ""
                        },
                        "native": {},
                        "from": "system.adapter.admin.0",
                        "user": "system.user.admin",
                        "ts": 1615994652464,
                        "acl": {
                          "object": 1636,
                          "state": 1636,
                          "owner": "system.user.admin",
                          "ownerGroup": "system.group.administrator"
                        }
                      }
                      
                      GarganoG Offline
                      GarganoG Offline
                      Gargano
                      wrote on last edited by
                      #184

                      @rosi8818 die Namen der DP's sind nicht richtig :
                      .vis fehlt.

                      const dpSortMode = '0_userdata.0.vis.NetzwerkStatus.sortMode';      // Datenpunkt für Sortieren (Typ: Zeichenkette (String))
                      const dpFilterMode = '0_userdata.0.vis.NetzwerkStatus.filterMode';  // Datenpunkt für Filter (Typ: Zeichenkette (String))
                       
                      

                      Deshalb setze ich die DP's immer automatisch :

                      // Skript Einstellungen *************************************************************************************************************************************************
                       
                      const dpList = '0_userdata.0.vis.NetzwerkStatus.jsonList';          // Datenpunkt für IconList Widget (Typ: Zeichenkette (String))
                       
                      const dpSortMode = '0_userdata.0.vis.NetzwerkStatus.sortMode';      // Datenpunkt für Sortieren (Typ: Zeichenkette (String))
                      const dpFilterMode = '0_userdata.0.vis.NetzwerkStatus.filterMode';  // Datenpunkt für Filter (Typ: Zeichenkette (String))
                       
                      const createStateList = [
                          {name :dpList, type:"string", role : "value"},
                          {name :dpSortMode, type:"string", role : "value"},
                          {name :dpFilterMode, type:"string", role : "value"}
                      ]
                       
                      // create states if not exists 
                      async function createMyState(item) {
                          if (!existsState(item.name)) {
                          await createStateAsync(item.name, { 
                                  type: item.type,
                                  min: 0,
                                  def: 0,
                                  role: item.role 
                              });    
                          }
                      }
                      
                      async function makeMyStateList (array) {
                          // map array to promises
                          const promises = array.map(createMyState);
                          await Promise.all(promises);
                      }
                      
                       
                      async function main () {
                          await makeMyStateList(createStateList);
                      }
                      
                      main(); 
                      
                      R 1 Reply Last reply
                      0
                      • GarganoG Gargano

                        @rosi8818 die Namen der DP's sind nicht richtig :
                        .vis fehlt.

                        const dpSortMode = '0_userdata.0.vis.NetzwerkStatus.sortMode';      // Datenpunkt für Sortieren (Typ: Zeichenkette (String))
                        const dpFilterMode = '0_userdata.0.vis.NetzwerkStatus.filterMode';  // Datenpunkt für Filter (Typ: Zeichenkette (String))
                         
                        

                        Deshalb setze ich die DP's immer automatisch :

                        // Skript Einstellungen *************************************************************************************************************************************************
                         
                        const dpList = '0_userdata.0.vis.NetzwerkStatus.jsonList';          // Datenpunkt für IconList Widget (Typ: Zeichenkette (String))
                         
                        const dpSortMode = '0_userdata.0.vis.NetzwerkStatus.sortMode';      // Datenpunkt für Sortieren (Typ: Zeichenkette (String))
                        const dpFilterMode = '0_userdata.0.vis.NetzwerkStatus.filterMode';  // Datenpunkt für Filter (Typ: Zeichenkette (String))
                         
                        const createStateList = [
                            {name :dpList, type:"string", role : "value"},
                            {name :dpSortMode, type:"string", role : "value"},
                            {name :dpFilterMode, type:"string", role : "value"}
                        ]
                         
                        // create states if not exists 
                        async function createMyState(item) {
                            if (!existsState(item.name)) {
                            await createStateAsync(item.name, { 
                                    type: item.type,
                                    min: 0,
                                    def: 0,
                                    role: item.role 
                                });    
                            }
                        }
                        
                        async function makeMyStateList (array) {
                            // map array to promises
                            const promises = array.map(createMyState);
                            await Promise.all(promises);
                        }
                        
                         
                        async function main () {
                            await makeMyStateList(createStateList);
                        }
                        
                        main(); 
                        
                        R Offline
                        R Offline
                        Rosi8818
                        wrote on last edited by
                        #185

                        @gargano ah okay Danke, werde ich wieder zurück stellen. Ich dachte wenn ich die manuell woanders anlege und im Script ändere dann sollte das auch gehen. Ich probiere es aus und melde mich hier.

                        1 Reply Last reply
                        0
                        • R Offline
                          R Offline
                          Rosi8818
                          wrote on last edited by Rosi8818
                          #186

                          hab es geändert, das gleiche in grün... leider
                          9c09cdad-9058-4363-9346-fae9bcb6a357-image.png

                          Was mir jetzt auffällt nach der Änderung, sind die DP angelegt (automatisch) aber nicht gefüllt nach neustarten des Scripts.
                          Ich habe langsam das Gefühl ich habe ein falsches Script, die automatische Anlegung der DP war bei mir garnicht im Script vorhanden..

                          eb76c1b2-9e38-45a6-8cfa-c1cd41618093-image.png

                          GarganoG 1 Reply Last reply
                          0
                          • R Rosi8818

                            hab es geändert, das gleiche in grün... leider
                            9c09cdad-9058-4363-9346-fae9bcb6a357-image.png

                            Was mir jetzt auffällt nach der Änderung, sind die DP angelegt (automatisch) aber nicht gefüllt nach neustarten des Scripts.
                            Ich habe langsam das Gefühl ich habe ein falsches Script, die automatische Anlegung der DP war bei mir garnicht im Script vorhanden..

                            eb76c1b2-9e38-45a6-8cfa-c1cd41618093-image.png

                            GarganoG Offline
                            GarganoG Offline
                            Gargano
                            wrote on last edited by
                            #187

                            @rosi8818 sagte in Material Design Widets: Netzwerk Status:

                            Ich habe langsam das Gefühl ich habe ein falsches Script, die automatische Anlegung der DP war bei mir garnicht im Script vorhanden..

                            Ich hab das Script vom GitHub, Link ist ganz oben.
                            Das automatische Anlegen der DP's sind auch nicht im Original Script, das hab ich bei mir dazugefügt.

                            R 1 Reply Last reply
                            0
                            • GarganoG Gargano

                              @rosi8818 sagte in Material Design Widets: Netzwerk Status:

                              Ich habe langsam das Gefühl ich habe ein falsches Script, die automatische Anlegung der DP war bei mir garnicht im Script vorhanden..

                              Ich hab das Script vom GitHub, Link ist ganz oben.
                              Das automatische Anlegen der DP's sind auch nicht im Original Script, das hab ich bei mir dazugefügt.

                              R Offline
                              R Offline
                              Rosi8818
                              wrote on last edited by
                              #188

                              @gargano okay, danke das hab ich auch aber trotzdem bleibt der Fehler...
                              mich macht folgendes stutzig, das in der Zeile ->

                              const moment = require("moment"); 
                              

                              dort ist das "moment" rot unsterstrichen. Ich habe die drei npm Module im Adapter eingetragen, das hängt ja glaube ich zusammen

                              GarganoG 1 Reply Last reply
                              0
                              • R Rosi8818

                                @gargano okay, danke das hab ich auch aber trotzdem bleibt der Fehler...
                                mich macht folgendes stutzig, das in der Zeile ->

                                const moment = require("moment"); 
                                

                                dort ist das "moment" rot unsterstrichen. Ich habe die drei npm Module im Adapter eingetragen, das hängt ja glaube ich zusammen

                                GarganoG Offline
                                GarganoG Offline
                                Gargano
                                wrote on last edited by Gargano
                                #189

                                @rosi8818 Ist bei mir auch unterstrichen, geht trotzdem
                                Hast Du mehrere Instanzen von Javascript und in allen die npm Module eingetragen ?

                                Starte mal den TR064 Adapter neu und dann nochmal das Script starten, wenn der TR 064 grün ist.
                                Sind Devices im TR064 Adapter ?

                                Und versuch mal folgendes : im Original Script Zeile 192
                                (mit der autom. DP's Erstellung ca. Zeile 226)
                                oberhalb von function resetSort()

                                if (getState(dpList) !== result) {
                                

                                ändern in

                                if (getState(dpList).val !== result) {
                                
                                R 1 Reply Last reply
                                0
                                • GarganoG Gargano

                                  @rosi8818 Ist bei mir auch unterstrichen, geht trotzdem
                                  Hast Du mehrere Instanzen von Javascript und in allen die npm Module eingetragen ?

                                  Starte mal den TR064 Adapter neu und dann nochmal das Script starten, wenn der TR 064 grün ist.
                                  Sind Devices im TR064 Adapter ?

                                  Und versuch mal folgendes : im Original Script Zeile 192
                                  (mit der autom. DP's Erstellung ca. Zeile 226)
                                  oberhalb von function resetSort()

                                  if (getState(dpList) !== result) {
                                  

                                  ändern in

                                  if (getState(dpList).val !== result) {
                                  
                                  R Offline
                                  R Offline
                                  Rosi8818
                                  wrote on last edited by
                                  #190

                                  @gargano ich habe

                                  • eine Instanz des JavaScript und
                                  • die drei Module sind eingetragen
                                  • die Zeile geändert aber auch hier das gleiche Bild
                                  • Die TR064 Adapter habe ich neu gestartet, gewartet bis grün und das Script anschl. auch neu gestartet.
                                    Im Adapter sind auch Devices.
                                  • Ich habe auch im Script nur einen Adapter ausprobiert, das gleiche Bild
                                    irgend etwas übersehe ich, ich werde narrisch
                                  GarganoG 1 Reply Last reply
                                  0
                                  • R Rosi8818

                                    @gargano ich habe

                                    • eine Instanz des JavaScript und
                                    • die drei Module sind eingetragen
                                    • die Zeile geändert aber auch hier das gleiche Bild
                                    • Die TR064 Adapter habe ich neu gestartet, gewartet bis grün und das Script anschl. auch neu gestartet.
                                      Im Adapter sind auch Devices.
                                    • Ich habe auch im Script nur einen Adapter ausprobiert, das gleiche Bild
                                      irgend etwas übersehe ich, ich werde narrisch
                                    GarganoG Offline
                                    GarganoG Offline
                                    Gargano
                                    wrote on last edited by
                                    #191

                                    @rosi8818 Dann hab ich nur noch das :

                                    Lösch mal die Objekte 0_userdata.0.vis.NetzwerkStatus komplett und starte das Script nochmal neu ( Mit den autom. Anlegen der DP's) Evtl. ist bei den DP's was nicht richtig.

                                    R 1 Reply Last reply
                                    0
                                    • GarganoG Gargano

                                      @rosi8818 Dann hab ich nur noch das :

                                      Lösch mal die Objekte 0_userdata.0.vis.NetzwerkStatus komplett und starte das Script nochmal neu ( Mit den autom. Anlegen der DP's) Evtl. ist bei den DP's was nicht richtig.

                                      R Offline
                                      R Offline
                                      Rosi8818
                                      wrote on last edited by
                                      #192

                                      @gargano hab ich gemacht, ich habe jetzt nochmal alles Adapter deaktiviert und einen nach den anderen ausprobiert (einzeln im Script angegeben).
                                      Bei einem Adapter macht er Probleme, den mit den meisten Devices...

                                      GarganoG 1 Reply Last reply
                                      0
                                      • R Rosi8818

                                        @gargano hab ich gemacht, ich habe jetzt nochmal alles Adapter deaktiviert und einen nach den anderen ausprobiert (einzeln im Script angegeben).
                                        Bei einem Adapter macht er Probleme, den mit den meisten Devices...

                                        GarganoG Offline
                                        GarganoG Offline
                                        Gargano
                                        wrote on last edited by
                                        #193

                                        @rosi8818 sagte in Material Design Widets: Netzwerk Status:

                                        (einzeln im Script angegeben).
                                        Bei einem Adapter macht er Probleme, den mit den meisten Devices...

                                        Was meinst Du mit einzeln im Script angegeben ?
                                        Hast Du mehrere TR-064 Adapter ?

                                        R 1 Reply Last reply
                                        0
                                        • GarganoG Gargano

                                          @rosi8818 sagte in Material Design Widets: Netzwerk Status:

                                          (einzeln im Script angegeben).
                                          Bei einem Adapter macht er Probleme, den mit den meisten Devices...

                                          Was meinst Du mit einzeln im Script angegeben ?
                                          Hast Du mehrere TR-064 Adapter ?

                                          R Offline
                                          R Offline
                                          Rosi8818
                                          wrote on last edited by
                                          #194

                                          @gargano ja habe ich

                                          let activeSelector = `[id=tr-064.*.devices.*.active]`;
                                          

                                          geändert in

                                          let activeSelector = `[id=tr-064.2.devices.*.active]`;
                                          
                                          GarganoG 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          745

                                          Online

                                          32.6k

                                          Users

                                          82.2k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe