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 Widets: Netzwerk Status

NEWS

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

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

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

Material Design Widets: Netzwerk Status

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
280 Beiträge 50 Kommentatoren 51.9k Aufrufe 65 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.
  • GlasfaserG Glasfaser

    @rehmosch

    Da brauchst du nicht verlinken , die Daten werden durch das Script geholt.

    Du mußt nur schauen ob die Datenpunkte stimmen vom tr064 Adapter , kenne deine Version nicht .

    Das Script holt sich hier alles :

    // auf Änderungen aktiver Skripts hören
    
    let activeSelector = `[id=tr-064.*.devices.*.active]`;
    

    oder ist es bei dir so ...

    https://forum.iobroker.net/topic/30812/material-design-widets-netzwerk-status/21

    R Offline
    R Offline
    rehmosch
    schrieb am zuletzt editiert von
    #160

    @glasfaser

    hmmmm, jetzt keine Fehlermeldung mehr aber die Listen bleiben leer ;(

    Bildschirmfoto 2021-01-20 um 18.46.27.png
    Bildschirmfoto 2021-01-20 um 18.49.45.png
    Bildschirmfoto 2021-01-20 um 18.45.55.png

    host.raspberrypi	2021-01-20 18:36:56.213	info	instance system.adapter.tr-064.0 started with pid 12034
    host.raspberrypi	2021-01-20 18:36:53.760	info	instance system.adapter.tr-064.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)
    tr-064.0	2021-01-20 18:36:53.164	info	(7499) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
    tr-064.0	2021-01-20 18:36:53.161	info	(7499) terminating
    tr-064.0	2021-01-20 18:36:53.159	info	(7499) Got terminate signal TERMINATE_YOURSELF
    host.raspberrypi	2021-01-20 18:36:53.153	info	stopInstance system.adapter.tr-064.0 send kill signal
    host.raspberrypi	2021-01-20 18:36:53.152	info	stopInstance system.adapter.tr-064.0 (force=false, process=true)
    web.0	2021-01-20 18:35:54.388	info	(3657) ==>Connected system.user.admin from ::ffff:192.168.1.223
    tr-064.0	2021-01-20 18:37:00.900	info	(12034) starting. Version 4.2.3 in /opt/iobroker/node_modules/iobroker.tr-064, node: v10.23.1, js-controller: 3.1.6
    

    RP4/Conbee II/Pihilips Hue/HarmonyHub/Sonos/Alexa/Aqara Sensoren/Tradfri/ZigbeeThermostate/Xiaomi Saugroboter/Smarte Türklingel & Briefkasten ...

    GlasfaserG 1 Antwort Letzte Antwort
    0
    • R rehmosch

      @glasfaser

      hmmmm, jetzt keine Fehlermeldung mehr aber die Listen bleiben leer ;(

      Bildschirmfoto 2021-01-20 um 18.46.27.png
      Bildschirmfoto 2021-01-20 um 18.49.45.png
      Bildschirmfoto 2021-01-20 um 18.45.55.png

      host.raspberrypi	2021-01-20 18:36:56.213	info	instance system.adapter.tr-064.0 started with pid 12034
      host.raspberrypi	2021-01-20 18:36:53.760	info	instance system.adapter.tr-064.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)
      tr-064.0	2021-01-20 18:36:53.164	info	(7499) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
      tr-064.0	2021-01-20 18:36:53.161	info	(7499) terminating
      tr-064.0	2021-01-20 18:36:53.159	info	(7499) Got terminate signal TERMINATE_YOURSELF
      host.raspberrypi	2021-01-20 18:36:53.153	info	stopInstance system.adapter.tr-064.0 send kill signal
      host.raspberrypi	2021-01-20 18:36:53.152	info	stopInstance system.adapter.tr-064.0 (force=false, process=true)
      web.0	2021-01-20 18:35:54.388	info	(3657) ==>Connected system.user.admin from ::ffff:192.168.1.223
      tr-064.0	2021-01-20 18:37:00.900	info	(12034) starting. Version 4.2.3 in /opt/iobroker/node_modules/iobroker.tr-064, node: v10.23.1, js-controller: 3.1.6
      
      GlasfaserG Offline
      GlasfaserG Offline
      Glasfaser
      schrieb am zuletzt editiert von
      #161

      @rehmosch

      ich sehe keinen Ordner devices bei dir .

      Hast du überhaupt in der Instanz tr-064 Geräte angelegt .

      So sieht das aus :
      .
      1.JPG

      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
      1
      • B Offline
        B Offline
        bergi_37
        schrieb am zuletzt editiert von
        #162

        Ich bekomme die Abfrage auch nicht ans Laufen. Bekomme folgende Fehlermeldung:

        fehler.png

        Habe jetzt den ganzen Thread schon 2x gelesen aber ich finde die Lösung nicht. Ich finde zum Beispiel in den Objekten bei mir unter userdata auch keinen Ordner "NetzwerkStatus". Muss ich den selbst anlegen oder muss ich noch irgendeinen Adapter installieren?!

        So sieht das in den Objekten bei mir aus:
        objects - ioBroker.png

        In der tr-064 sind alle devices drin:
        tr-064 - ioBroker.png

        Hat jemand ne Idee?

        GlasfaserG 1 Antwort Letzte Antwort
        0
        • B bergi_37

          Ich bekomme die Abfrage auch nicht ans Laufen. Bekomme folgende Fehlermeldung:

          fehler.png

          Habe jetzt den ganzen Thread schon 2x gelesen aber ich finde die Lösung nicht. Ich finde zum Beispiel in den Objekten bei mir unter userdata auch keinen Ordner "NetzwerkStatus". Muss ich den selbst anlegen oder muss ich noch irgendeinen Adapter installieren?!

          So sieht das in den Objekten bei mir aus:
          objects - ioBroker.png

          In der tr-064 sind alle devices drin:
          tr-064 - ioBroker.png

          Hat jemand ne Idee?

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

          @bergi_37

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

          Muss ich den selbst anlegen

          Ja !

          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 Antwort Letzte Antwort
          0
          • GlasfaserG Glasfaser

            @bergi_37

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

            Muss ich den selbst anlegen

            Ja !

            B Offline
            B Offline
            bergi_37
            schrieb am zuletzt editiert von
            #164

            @glasfaser

            Also einfach einen Ordner namens "NetzwerkStatus". Muss da noch irgendwas an Parametern eingetragen werden? Bin noch sehr frisch und hatte noch nie Berührungspunkten mit den Datenpunkten.

            1 Antwort Letzte Antwort
            0
            • GlasfaserG Offline
              GlasfaserG Offline
              Glasfaser
              schrieb am zuletzt editiert von Glasfaser
              #165

              @bergi_37
              Nein keine Parameter , nur als Zeichenkette erstellen .

              Du brauchst kein Ordner erstellen , mache es so , dann erfolgt es automatisch :

              1.JPG
              .

              So sieht es dann aus :

              2.JPG

              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 Antwort Letzte Antwort
              0
              • GlasfaserG Glasfaser

                @bergi_37
                Nein keine Parameter , nur als Zeichenkette erstellen .

                Du brauchst kein Ordner erstellen , mache es so , dann erfolgt es automatisch :

                1.JPG
                .

                So sieht es dann aus :

                2.JPG

                B Offline
                B Offline
                bergi_37
                schrieb am zuletzt editiert von bergi_37
                #166

                @glasfaser

                danke, da bin ich schon mal einen schritt weiter.

                Die Fehlermeldung bleibt die gleiche. Immerhin sieht es jetzt so in den Objekten aus:

                objects - ioBroker.png

                Also die beiden Dateien oder Unterordner "filterMode" und "sortMode" fehlen noch.

                Eine Frage zum Skript. Muss ich das unter Widgets in den Script Bereich einfügen oder muss das unter Skripte in der Navigationsbar in der allgemeinen Übersicht.

                NegaleinN 1 Antwort Letzte Antwort
                0
                • B bergi_37

                  @glasfaser

                  danke, da bin ich schon mal einen schritt weiter.

                  Die Fehlermeldung bleibt die gleiche. Immerhin sieht es jetzt so in den Objekten aus:

                  objects - ioBroker.png

                  Also die beiden Dateien oder Unterordner "filterMode" und "sortMode" fehlen noch.

                  Eine Frage zum Skript. Muss ich das unter Widgets in den Script Bereich einfügen oder muss das unter Skripte in der Navigationsbar in der allgemeinen Übersicht.

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

                  @bergi_37 sagte in Material Design Widets: Netzwerk Status:

                  Die Fehlermeldung bleibt die gleiche

                  du hast es als vis.NetzwerkStatus.jsonListangelegt.
                  Richtig wäre jsonList

                  Kommando retour. Hab geschielt! ;)

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

                  GlasfaserG 1 Antwort Letzte Antwort
                  1
                  • GlasfaserG Offline
                    GlasfaserG Offline
                    Glasfaser
                    schrieb am zuletzt editiert von Glasfaser
                    #168

                    @bergi_37

                    Was ist mit den anderen Datenpunkten !?

                    Hast du das auch gemacht :

                    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
                    

                    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
                    • NegaleinN Negalein

                      @bergi_37 sagte in Material Design Widets: Netzwerk Status:

                      Die Fehlermeldung bleibt die gleiche

                      du hast es als vis.NetzwerkStatus.jsonListangelegt.
                      Richtig wäre jsonList

                      Kommando retour. Hab geschielt! ;)

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

                      @negalein
                      der Objektbaum ist schon richtig

                      EDIT :
                      hast du schon gesehn :)

                      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 Antwort Letzte Antwort
                      0
                      • GlasfaserG Glasfaser

                        @negalein
                        der Objektbaum ist schon richtig

                        EDIT :
                        hast du schon gesehn :)

                        B Offline
                        B Offline
                        bergi_37
                        schrieb am zuletzt editiert von bergi_37
                        #170

                        @Glasfaser
                        Mist, jetzt habe ich den Datenpunkt gerade gelöscht. Und so angelegt:

                        1.png

                        Fehlermeldung bleibt gleich.

                        Das hatte ich bereits vorher eingerichtet:

                        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

                        2.png

                        Soll ich den View und das Skript nochmal neu einfügen. Und wo genau muss das Skript hin?

                        GlasfaserG 1 Antwort Letzte Antwort
                        0
                        • B bergi_37

                          @Glasfaser
                          Mist, jetzt habe ich den Datenpunkt gerade gelöscht. Und so angelegt:

                          1.png

                          Fehlermeldung bleibt gleich.

                          Das hatte ich bereits vorher eingerichtet:

                          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

                          2.png

                          Soll ich den View und das Skript nochmal neu einfügen. Und wo genau muss das Skript hin?

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

                          @bergi_37

                          Hast du jetzt alle Datenpunkte jetzt so , wie ich es oben gezeigt habe !?

                          Ich hoffe du schaust dir alles im Runtime an !?

                          Wird der Datenpunkt 0_userdata.0.vis.NetzwerkStatus.jsonList nach dem Start des Scripts gefüllt .

                          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 Antwort Letzte Antwort
                          0
                          • GlasfaserG Glasfaser

                            @bergi_37

                            Hast du jetzt alle Datenpunkte jetzt so , wie ich es oben gezeigt habe !?

                            Ich hoffe du schaust dir alles im Runtime an !?

                            Wird der Datenpunkt 0_userdata.0.vis.NetzwerkStatus.jsonList nach dem Start des Scripts gefüllt .

                            B Offline
                            B Offline
                            bergi_37
                            schrieb am zuletzt editiert von bergi_37
                            #172

                            @glasfaser

                            So sieht es jetzt in den Objekten aus:

                            3.png

                            Ja, starte das ganze als Runtime:
                            4.png

                            Meinst du das mit befüllt:
                            5.png

                            EDIT: Habe es glaube ich, hinbekommen. ES lag daran das ich das Skript unter Skripte in der Menüstruktur anlegen musste. Ich bin fälschlierweise davon ausgegangen, dass das beim WIdget eingetragen werden muss!

                            GlasfaserG 1 Antwort Letzte Antwort
                            0
                            • B bergi_37

                              @glasfaser

                              So sieht es jetzt in den Objekten aus:

                              3.png

                              Ja, starte das ganze als Runtime:
                              4.png

                              Meinst du das mit befüllt:
                              5.png

                              EDIT: Habe es glaube ich, hinbekommen. ES lag daran das ich das Skript unter Skripte in der Menüstruktur anlegen musste. Ich bin fälschlierweise davon ausgegangen, dass das beim WIdget eingetragen werden muss!

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

                              @bergi_37

                              Das meine ich :

                              1.JPG

                              gehe in die View und wähle den Datenpunkt nochmal neu an .

                              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 Antwort Letzte Antwort
                              0
                              • GlasfaserG Glasfaser

                                @bergi_37

                                Das meine ich :

                                1.JPG

                                gehe in die View und wähle den Datenpunkt nochmal neu an .

                                B Offline
                                B Offline
                                bergi_37
                                schrieb am zuletzt editiert von
                                #174

                                @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 1 Antwort Letzte Antwort
                                0
                                • 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
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  0
                                  • GlasfaserG Glasfaser

                                    @bergi_37

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

                                    B Offline
                                    B Offline
                                    bergi_37
                                    schrieb am zuletzt editiert von
                                    #176

                                    @glasfaser

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

                                    GlasfaserG 1 Antwort Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von
                                        #178

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

                                        1 Antwort Letzte Antwort
                                        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
                                          schrieb am zuletzt editiert von
                                          #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 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

                                          792

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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