Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [Vorstellung] Meine dritte VIS

NEWS

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

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

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

[Vorstellung] Meine dritte VIS

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
visvis projekte
640 Posts 83 Posters 184.6k Views 117 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.
  • W Offline
    W Offline
    WeiserWolf
    wrote on last edited by WeiserWolf
    #480

    @kuddel Also ich glaube ich habe meine Fehler grade gefunden was die Wetter-Geschichte angeht. Ich werde diesbezüglich noch etwas probieren. Deine lokale IP wird nicht zu meiner passen 🙂

    Zum Thema Anwesenheit hattest du gesagt UniFi brauche ich nicht unbedingt, das wird über Rader 2.0 gemacht.
    Ich habe alles was bei dir mit javascript.0 etc gefüllt war, durch "radar2.0.iPhone12Pro._here" ersetzt um überhaupt mal eine Anzeige zu bekommen. funktioniert auch in gewissem Rahmen, aber nach 3 Minuten sind die Geräte grundsätzlich abwesend.
    Also werde ich alles wieder rückgängig machen und versuchen den UniFi Adapter ans laufen zu bekommen, damit ich überhaupt die Objekte aus dem Anwesenheitsskript in Blocky zu erhalten um diese dann auf meine Geräte umzuschreiben.
    Ich glaube es hapert einfach am Verständnis...

    In Abhängigkeit der Anwesenheit kann ich doch bestimmt (wenn es dann mal funktioniert) auch einen API Befehl im Netzwerk absetzen oder? Ich möchte damit gerne den Home-Mode der Surveillance-Station auf meiner Synology steuern. Aber okay soweit bin ich noch lange nicht.

    Der Codeschnipsel ist nur ein DP, hast du gesagt, aber mal so für ganz doofe: Was mache ich damit? :man-shrugging:

    edit:
    Ich habe das mit den Icons tatsächlich hinbekommen, aber dafür habe ich keine Ahnung wie du die Nachtlänge ermittelst. Seit ich alle Skripte importiert habe schmiert mir der Adapter dauern ab. Ich finde auch die -ich nenne es mal - variable nicht. 😞

    1 Reply Last reply
    0
    • maximal1981M Offline
      maximal1981M Offline
      maximal1981
      wrote on last edited by maximal1981
      #481

      @Kuddel vielen Dank für die Unterstützung und deine Geduld, je nach zeitlicher Möglichkeit migriere ich dein VIS weiter.

      @WeiserWolf es gibt auch einen "neuen" DP im unifi, nämlich isOnline die Zeit kann im Adapter eingestellt werden, welche vermutlich nach ersten Tests in Sekunden sein müssten.

      W 1 Reply Last reply
      0
      • M Offline
        M Offline
        mysash
        wrote on last edited by
        #482

        @glasfaser said in [Vorstellung] Meine dritte VIS:

        @G4l4h4d

        Im Widget Menu (Top App Bar) und im Widget View_Anzeige (View in Widget 8 ) müssen beide Datenpunkte/Schalter übereinstimmen.

        Beispiel deine Datenpunkt XY selbst erstellt heißt : 0_userdata.0.vis.Menue.value

        Das Widget Menu steuert mit Zahlen (0... bis zb. 32 ) und übergibt Sie dann in den Datenpunkt XY, worauf das Widget View_Anzeige auf die zugehörige Nummer auf das eingestellte View umschaltet bzw. dann sichtbar wird.

        Widget Menu (Top App Bar)
        .
        11.JPG
        .
        Widget View_Anzeige (View in Widget 8 )
        .
        222.JPG

        .
        Hier ist der Thread dazu : Material Design Widgets: Top App Bar Widget

        Ich brauche da nochmal Unterstützung für den Einsteiger:
        Den Datenpunkt habe ich angelegt und kann ihn auch füllen manuell
        das VIS habe ich erfolgreich importieren können
        jedoch mangelt es mir gerade am Weg wie ich die Datenpunkte für das Widget Menu (Top App Bar) und Widget View_Anzeige (View in Widget 😎 auf meinen Datenpunkt verändern kann.

        Ich hab gefühlt schon alle Views und Widgets geprüft aber finde diese Einstellungspunkte leider nicht..
        Wäre toll wenn mir da jemand einen kurzen Seitenhieb geben könnte und mir verrät wo ich klicken muss..

        Danke!

        GlasfaserG 1 Reply Last reply
        0
        • M mysash

          @glasfaser said in [Vorstellung] Meine dritte VIS:

          @G4l4h4d

          Im Widget Menu (Top App Bar) und im Widget View_Anzeige (View in Widget 8 ) müssen beide Datenpunkte/Schalter übereinstimmen.

          Beispiel deine Datenpunkt XY selbst erstellt heißt : 0_userdata.0.vis.Menue.value

          Das Widget Menu steuert mit Zahlen (0... bis zb. 32 ) und übergibt Sie dann in den Datenpunkt XY, worauf das Widget View_Anzeige auf die zugehörige Nummer auf das eingestellte View umschaltet bzw. dann sichtbar wird.

          Widget Menu (Top App Bar)
          .
          11.JPG
          .
          Widget View_Anzeige (View in Widget 8 )
          .
          222.JPG

          .
          Hier ist der Thread dazu : Material Design Widgets: Top App Bar Widget

          Ich brauche da nochmal Unterstützung für den Einsteiger:
          Den Datenpunkt habe ich angelegt und kann ihn auch füllen manuell
          das VIS habe ich erfolgreich importieren können
          jedoch mangelt es mir gerade am Weg wie ich die Datenpunkte für das Widget Menu (Top App Bar) und Widget View_Anzeige (View in Widget 😎 auf meinen Datenpunkt verändern kann.

          Ich hab gefühlt schon alle Views und Widgets geprüft aber finde diese Einstellungspunkte leider nicht..
          Wäre toll wenn mir da jemand einen kurzen Seitenhieb geben könnte und mir verrät wo ich klicken muss..

          Danke!

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

          @mysash sagte in [Vorstellung] Meine dritte VIS:

          Ich hab gefühlt schon alle Views

          Es gibt nur ein View , wo nur beide Widget´s enthalten sind .
          0000_Startseite

          .
          Dort in den Widgeteinstellungen wie im Screenshot die Datenpunkte zuweisen

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

          M 1 Reply Last reply
          2
          • GlasfaserG Glasfaser

            @mysash sagte in [Vorstellung] Meine dritte VIS:

            Ich hab gefühlt schon alle Views

            Es gibt nur ein View , wo nur beide Widget´s enthalten sind .
            0000_Startseite

            .
            Dort in den Widgeteinstellungen wie im Screenshot die Datenpunkte zuweisen

            M Offline
            M Offline
            mysash
            wrote on last edited by
            #484

            @glasfaser said in [Vorstellung] Meine dritte VIS:

            @mysash sagte in [Vorstellung] Meine dritte VIS:

            Ich hab gefühlt schon alle Views

            Es gibt nur ein View , wo nur beide Widget´s enthalten sind .
            0000_Startseite

            .
            Dort in den Widgeteinstellungen wie im Screenshot die Datenpunkte zuweisen

            Okay, vielen Dank, warum auch immer, aber nach Neustart meines ioBroker Containers waren diese Punkte da, gestern habe ich mich zu Tode gesucht.. 🤦

            Nun hab ich nur noch den Umstand, dass scheinbar einige Icons im Menü nicht geladen werden können und dass, das Mapping von Menüpunkt auf die Seite falsch ist, wenn ich Wetter anklicke lande ich auf einer anderen/falschen Seite.

            GlasfaserG 1 Reply Last reply
            0
            • M mysash

              @glasfaser said in [Vorstellung] Meine dritte VIS:

              @mysash sagte in [Vorstellung] Meine dritte VIS:

              Ich hab gefühlt schon alle Views

              Es gibt nur ein View , wo nur beide Widget´s enthalten sind .
              0000_Startseite

              .
              Dort in den Widgeteinstellungen wie im Screenshot die Datenpunkte zuweisen

              Okay, vielen Dank, warum auch immer, aber nach Neustart meines ioBroker Containers waren diese Punkte da, gestern habe ich mich zu Tode gesucht.. 🤦

              Nun hab ich nur noch den Umstand, dass scheinbar einige Icons im Menü nicht geladen werden können und dass, das Mapping von Menüpunkt auf die Seite falsch ist, wenn ich Wetter anklicke lande ich auf einer anderen/falschen Seite.

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

              @mysash

              Bitte ließ dir den Thread durch , dort hat Kuddel alles mehrfach erklärt was zu ändern/beachten ist .
              Und ich habe auch zum Menü etwas geschrieben .

              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 Reply Last reply
              0
              • maximal1981M maximal1981

                @Kuddel vielen Dank für die Unterstützung und deine Geduld, je nach zeitlicher Möglichkeit migriere ich dein VIS weiter.

                @WeiserWolf es gibt auch einen "neuen" DP im unifi, nämlich isOnline die Zeit kann im Adapter eingestellt werden, welche vermutlich nach ersten Tests in Sekunden sein müssten.

                W Offline
                W Offline
                WeiserWolf
                wrote on last edited by
                #486

                @maximal1981 said in [Vorstellung] Meine dritte VIS:

                @WeiserWolf es gibt auch einen "neuen" DP im unifi, nämlich isOnline die Zeit kann im Adapter eingestellt werden, welche vermutlich nach ersten Tests in Sekunden sein müssten.

                Danke für den Datenpunkt, den hatte ich im Adapter nicht aktiviert, aber damit läuft es eigentlich stabil, auch ohne Auswertung der "last_seen_by_UAP" Zeiten.

                @Kuddel Also so langsam habe ich begriffen was du hier gezaubert hast. Wetter läuft fast vollständig (von ein paar Werten wie Nachtlänge etc abgesehen, aber das Prinzip dahinter habe ich schon verstanden 🙂 )
                Hinter eine Sache komme ich aber partout nicht. Bei der Anwesenheit hast du ja die beiden Icons. Das sind ja widgets die man klicken kann. Wo legst du fest was bei dem Klick passieren soll? Ich möchte zwar die Visualisierung genau so sehen, aber das Klick-Event eben deaktivieren. Könntest du mir hier vielleicht helfen? Muss ich zur reinen Anzeige ein anderes Widget nehmen? Wenn ja was wäre da zu empfehlen?
                Danke schonmal für deine Geduld mit einem DAU 😁

                K 1 Reply Last reply
                0
                • W WeiserWolf

                  @maximal1981 said in [Vorstellung] Meine dritte VIS:

                  @WeiserWolf es gibt auch einen "neuen" DP im unifi, nämlich isOnline die Zeit kann im Adapter eingestellt werden, welche vermutlich nach ersten Tests in Sekunden sein müssten.

                  Danke für den Datenpunkt, den hatte ich im Adapter nicht aktiviert, aber damit läuft es eigentlich stabil, auch ohne Auswertung der "last_seen_by_UAP" Zeiten.

                  @Kuddel Also so langsam habe ich begriffen was du hier gezaubert hast. Wetter läuft fast vollständig (von ein paar Werten wie Nachtlänge etc abgesehen, aber das Prinzip dahinter habe ich schon verstanden 🙂 )
                  Hinter eine Sache komme ich aber partout nicht. Bei der Anwesenheit hast du ja die beiden Icons. Das sind ja widgets die man klicken kann. Wo legst du fest was bei dem Klick passieren soll? Ich möchte zwar die Visualisierung genau so sehen, aber das Klick-Event eben deaktivieren. Könntest du mir hier vielleicht helfen? Muss ich zur reinen Anzeige ein anderes Widget nehmen? Wenn ja was wäre da zu empfehlen?
                  Danke schonmal für deine Geduld mit einem DAU 😁

                  K Offline
                  K Offline
                  Kuddel
                  wrote on last edited by
                  #487

                  @weiserwolf probiere einfach mal den DP im Widget zu entfernen, sodass der Klick nichts bewirkt

                  1 Reply Last reply
                  0
                  • W Offline
                    W Offline
                    WeiserWolf
                    wrote on last edited by
                    #488

                    @kuddel okay, manchmal kann es so einfach sein und man ist dennoch zu blöd dafür. Vielen Dank. 👍

                    1 Reply Last reply
                    0
                    • maximal1981M Offline
                      maximal1981M Offline
                      maximal1981
                      wrote on last edited by
                      #489

                      @Kuddel mir haben sich noch 3 Fragen aufgetan:

                      • Akku Details: was müsste man ändern, um screenOn zB. auf 25% zu erhöhen, komme mit der kilometerlangen URL nicht klar
                      • bei mir sieht im Menü unter anderem das OG nicht korrekt aus, vermute es sollte ein Untermenü geben:
                        Unbenannt.PNG
                        Beschriftung: {"itemText": "Obergeschoss", "subItems": ["Schlafzimmer", "Ankleide"]}
                      • wie kann ich zB. im Schlafzimmer MainView noch ein Widget hinzufügen? Wenn ich versuche eines zu kopieren, habe ich ein transparentes Widget.

                      ich mache eine 4. dazu:
                      Wie lange bist du an dem Teil gesessen? Ich brauche ja schon ewig zum Umbauen. 😲

                      K 1 Reply Last reply
                      0
                      • maximal1981M maximal1981

                        @Kuddel mir haben sich noch 3 Fragen aufgetan:

                        • Akku Details: was müsste man ändern, um screenOn zB. auf 25% zu erhöhen, komme mit der kilometerlangen URL nicht klar
                        • bei mir sieht im Menü unter anderem das OG nicht korrekt aus, vermute es sollte ein Untermenü geben:
                          Unbenannt.PNG
                          Beschriftung: {"itemText": "Obergeschoss", "subItems": ["Schlafzimmer", "Ankleide"]}
                        • wie kann ich zB. im Schlafzimmer MainView noch ein Widget hinzufügen? Wenn ich versuche eines zu kopieren, habe ich ein transparentes Widget.

                        ich mache eine 4. dazu:
                        Wie lange bist du an dem Teil gesessen? Ich brauche ja schon ewig zum Umbauen. 😲

                        K Offline
                        K Offline
                        Kuddel
                        wrote on last edited by
                        #490

                        @maximal1981

                        Zur 1. Frage: Was genau willst du machen ? 25% Akkukapazität und OnScreen ?

                        Zur 2. Frage: Welche version vom "Material Design Widgets" nutzt du ? Meine VIS läuft mit v 0.2.54

                        Zur 3. Frage: Wenn du ein bestendes Widget kopierst, ist es normal, dass es nichts anzeigt, da es ein View in Widget ist, dass eine andere Seite darstellen soll. Eine andere Seite kann immer nur ein Mal angezeigt werden.
                        Ändere einfach im kopierten Widget den Eintrag "Viewname" und hinterege dort eine andere Seite

                        Zur 4. Frage. Mit dem Thema VIS beschäftige ich mich jetzt seit ca. 4 Jahre. Die meiste Arbeit habe ich in meine VIS V2 gesteckt. Da war ich bestimmt ein halbes Jahr mit beschäftigt. Die VIS V3 ist eine Weiterentwicklung und verwendet nur ein anderes Menü.

                        Fertig ist man ja aber nie ^^

                        maximal1981M 1 Reply Last reply
                        1
                        • K Kuddel

                          @maximal1981

                          Zur 1. Frage: Was genau willst du machen ? 25% Akkukapazität und OnScreen ?

                          Zur 2. Frage: Welche version vom "Material Design Widgets" nutzt du ? Meine VIS läuft mit v 0.2.54

                          Zur 3. Frage: Wenn du ein bestendes Widget kopierst, ist es normal, dass es nichts anzeigt, da es ein View in Widget ist, dass eine andere Seite darstellen soll. Eine andere Seite kann immer nur ein Mal angezeigt werden.
                          Ändere einfach im kopierten Widget den Eintrag "Viewname" und hinterege dort eine andere Seite

                          Zur 4. Frage. Mit dem Thema VIS beschäftige ich mich jetzt seit ca. 4 Jahre. Die meiste Arbeit habe ich in meine VIS V2 gesteckt. Da war ich bestimmt ein halbes Jahr mit beschäftigt. Die VIS V3 ist eine Weiterentwicklung und verwendet nur ein anderes Menü.

                          Fertig ist man ja aber nie ^^

                          maximal1981M Offline
                          maximal1981M Offline
                          maximal1981
                          wrote on last edited by
                          #491

                          @kuddel das ging aber fix

                            1. da mein Akku schon "leicht" defekt ist, geht sreenOn unter, und würde gerne die Höhe im Diagramm auf 20-25% von den 100 in der Darstellung erhöhen. Die müssen in China für meinen Tauschakku erst die Elemente schürfen scheint mir.
                              Unbenannt2a.PNG
                            1. Material Design Widgets 0.5.5
                            1. muss ich mir nochmal ansehen
                            1. dacht ich mir, dass hier viel Zeit reingeflossen ist. Ich komme immer nur am Abend ein wenig dazu, und wenn ich mir ansehe wie viele Scripts noch nicht laufen und angepasst wurden, hab ich noch etliche Abende vor mir.
                          GlasfaserG K 2 Replies Last reply
                          0
                          • maximal1981M maximal1981

                            @kuddel das ging aber fix

                              1. da mein Akku schon "leicht" defekt ist, geht sreenOn unter, und würde gerne die Höhe im Diagramm auf 20-25% von den 100 in der Darstellung erhöhen. Die müssen in China für meinen Tauschakku erst die Elemente schürfen scheint mir.
                                Unbenannt2a.PNG
                              1. Material Design Widgets 0.5.5
                              1. muss ich mir nochmal ansehen
                              1. dacht ich mir, dass hier viel Zeit reingeflossen ist. Ich komme immer nur am Abend ein wenig dazu, und wenn ich mir ansehe wie viele Scripts noch nicht laufen und angepasst wurden, hab ich noch etliche Abende vor mir.
                            GlasfaserG Offline
                            GlasfaserG Offline
                            Glasfaser
                            wrote on last edited by
                            #492

                            @maximal1981 sagte in [Vorstellung] Meine dritte VIS:

                            Material Design Widgets 0.5.5

                            Änderungen siehe hier :

                            @glasfaser sagte in [Vorstellung] Meine dritte VIS:
                            @samot13 sagte in [Vorstellung] Meine dritte VIS:

                            Probleme mit dem Submenues.

                            hier ist es erklärt was man ändern muß :

                            https://forum.iobroker.net/topic/29660/material-design-widgets-top-app-bar-widget/207?_=1617005272342

                            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 Reply Last reply
                            0
                            • maximal1981M maximal1981

                              @kuddel das ging aber fix

                                1. da mein Akku schon "leicht" defekt ist, geht sreenOn unter, und würde gerne die Höhe im Diagramm auf 20-25% von den 100 in der Darstellung erhöhen. Die müssen in China für meinen Tauschakku erst die Elemente schürfen scheint mir.
                                  Unbenannt2a.PNG
                                1. Material Design Widgets 0.5.5
                                1. muss ich mir nochmal ansehen
                                1. dacht ich mir, dass hier viel Zeit reingeflossen ist. Ich komme immer nur am Abend ein wenig dazu, und wenn ich mir ansehe wie viele Scripts noch nicht laufen und angepasst wurden, hab ich noch etliche Abende vor mir.
                              K Offline
                              K Offline
                              Kuddel
                              wrote on last edited by
                              #493

                              @maximal1981

                              zu 1: kopiere mal diesen Code in dein Widget

                              http://192.168.4.161:8082/flot/index.html?l%5B0%5D%5Bid%5D=javascript.0.android_akkus.tablet&l%5B0%5D%5Boffset%5D=0&l%5B0%5D%5Baggregate%5D=average&l%5B0%5D%5Bcolor%5D=%2341f316&l%5B0%5D%5Bmin%5D=0&l%5B0%5D%5Bmax%5D=100&l%5B0%5D%5Bthickness%5D=3&l%5B0%5D%5Bshadowsize%5D=3&l%5B0%5D%5Bunit%5D=%25&l%5B0%5D%5Byaxe%5D=right&l%5B0%5D%5Bxaxe%5D=bottom&l%5B0%5D%5Bfill%5D=0&l%5B0%5D%5Bpoints%5D=false&l%5B0%5D%5BchartType%5D=line&l%5B0%5D%5BafterComma%5D=0&l%5B0%5D%5Bdashes%5D=false&l%5B0%5D%5BdashLength%5D=10&l%5B0%5D%5BspaceLength%5D=10&l%5B0%5D%5Bname%5D=Akkustand&l%5B0%5D%5BignoreNull%5D=true&l%5B1%5D%5Bid%5D=fullybrowser.0.192_168_4_17.Info.isScreenOn&l%5B1%5D%5Boffset%5D=0&l%5B1%5D%5Baggregate%5D=max&l%5B1%5D%5Bcolor%5D=yellow&l%5B1%5D%5Bmin%5D=0.1&l%5B1%5D%5Bmax%5D=5&l%5B1%5D%5Bthickness%5D=3&l%5B1%5D%5Bshadowsize%5D=3&l%5B1%5D%5Bname%5D=Display+An&l%5B1%5D%5BchartType%5D=steps&l%5B1%5D%5Bfill%5D=1&l%5B1%5D%5Byaxe%5D=off&l%5B1%5D%5Bxaxe%5D=off&l%5B1%5D%5BignoreNull%5D=true&l%5B1%5D%5BafterComma%5D=0&l%5B1%5D%5Bdashes%5D=false&l%5B1%5D%5BdashLength%5D=10&l%5B1%5D%5BspaceLength%5D=10&l%5B2%5D%5Bid%5D=alias.0.Wohnzimmer.SD_WZ_Tablet.SET&l%5B2%5D%5Boffset%5D=0&l%5B2%5D%5Baggregate%5D=max&l%5B2%5D%5Bcolor%5D=red&l%5B2%5D%5Bmin%5D=0.1&l%5B2%5D%5Bmax%5D=50&l%5B2%5D%5Bthickness%5D=3&l%5B2%5D%5Bshadowsize%5D=3&l%5B2%5D%5Bname%5D=Ladevorgang&l%5B2%5D%5BchartType%5D=steps&l%5B2%5D%5Bfill%5D=1&l%5B2%5D%5Byaxe%5D=off&l%5B2%5D%5Bxaxe%5D=off&timeType=relative&relativeEnd=now&range=4320&live=300&aggregateType=count&aggregateSpan=300&width=900&height=150&noBorder=noborder&window_bg=%23303030&bg=black&x_labels_color=%23ffffff&y_labels_color=%23ffffff&border_width=1&titlePos=top%3A35%3Bleft%3A50&titleColor=%23ffffff&hoverDetail=true&timeFormat=%25H%3A%25M+%25a&useComma=false&zoom=false&noedit=true&animation=300&start=2019-02-09&start_time=15%3A48&end=2019-02-09&end_time=16%3A00&barLabels=topover&barFontColor=white&titleSize=40px&legColumns=3&legBgOpacity=0&legBg=%23303030
                              

                              Zu 2 hat dir @Glasfaser bereits geantwortet. Ich bin noch nicht dazu gekommen, den Adapter zu aktualisieren, da ich dann mein komplettes Menü neu machen muss

                              maximal1981M 1 Reply Last reply
                              0
                              • K Kuddel

                                @maximal1981

                                zu 1: kopiere mal diesen Code in dein Widget

                                http://192.168.4.161:8082/flot/index.html?l%5B0%5D%5Bid%5D=javascript.0.android_akkus.tablet&l%5B0%5D%5Boffset%5D=0&l%5B0%5D%5Baggregate%5D=average&l%5B0%5D%5Bcolor%5D=%2341f316&l%5B0%5D%5Bmin%5D=0&l%5B0%5D%5Bmax%5D=100&l%5B0%5D%5Bthickness%5D=3&l%5B0%5D%5Bshadowsize%5D=3&l%5B0%5D%5Bunit%5D=%25&l%5B0%5D%5Byaxe%5D=right&l%5B0%5D%5Bxaxe%5D=bottom&l%5B0%5D%5Bfill%5D=0&l%5B0%5D%5Bpoints%5D=false&l%5B0%5D%5BchartType%5D=line&l%5B0%5D%5BafterComma%5D=0&l%5B0%5D%5Bdashes%5D=false&l%5B0%5D%5BdashLength%5D=10&l%5B0%5D%5BspaceLength%5D=10&l%5B0%5D%5Bname%5D=Akkustand&l%5B0%5D%5BignoreNull%5D=true&l%5B1%5D%5Bid%5D=fullybrowser.0.192_168_4_17.Info.isScreenOn&l%5B1%5D%5Boffset%5D=0&l%5B1%5D%5Baggregate%5D=max&l%5B1%5D%5Bcolor%5D=yellow&l%5B1%5D%5Bmin%5D=0.1&l%5B1%5D%5Bmax%5D=5&l%5B1%5D%5Bthickness%5D=3&l%5B1%5D%5Bshadowsize%5D=3&l%5B1%5D%5Bname%5D=Display+An&l%5B1%5D%5BchartType%5D=steps&l%5B1%5D%5Bfill%5D=1&l%5B1%5D%5Byaxe%5D=off&l%5B1%5D%5Bxaxe%5D=off&l%5B1%5D%5BignoreNull%5D=true&l%5B1%5D%5BafterComma%5D=0&l%5B1%5D%5Bdashes%5D=false&l%5B1%5D%5BdashLength%5D=10&l%5B1%5D%5BspaceLength%5D=10&l%5B2%5D%5Bid%5D=alias.0.Wohnzimmer.SD_WZ_Tablet.SET&l%5B2%5D%5Boffset%5D=0&l%5B2%5D%5Baggregate%5D=max&l%5B2%5D%5Bcolor%5D=red&l%5B2%5D%5Bmin%5D=0.1&l%5B2%5D%5Bmax%5D=50&l%5B2%5D%5Bthickness%5D=3&l%5B2%5D%5Bshadowsize%5D=3&l%5B2%5D%5Bname%5D=Ladevorgang&l%5B2%5D%5BchartType%5D=steps&l%5B2%5D%5Bfill%5D=1&l%5B2%5D%5Byaxe%5D=off&l%5B2%5D%5Bxaxe%5D=off&timeType=relative&relativeEnd=now&range=4320&live=300&aggregateType=count&aggregateSpan=300&width=900&height=150&noBorder=noborder&window_bg=%23303030&bg=black&x_labels_color=%23ffffff&y_labels_color=%23ffffff&border_width=1&titlePos=top%3A35%3Bleft%3A50&titleColor=%23ffffff&hoverDetail=true&timeFormat=%25H%3A%25M+%25a&useComma=false&zoom=false&noedit=true&animation=300&start=2019-02-09&start_time=15%3A48&end=2019-02-09&end_time=16%3A00&barLabels=topover&barFontColor=white&titleSize=40px&legColumns=3&legBgOpacity=0&legBg=%23303030
                                

                                Zu 2 hat dir @Glasfaser bereits geantwortet. Ich bin noch nicht dazu gekommen, den Adapter zu aktualisieren, da ich dann mein komplettes Menü neu machen muss

                                maximal1981M Offline
                                maximal1981M Offline
                                maximal1981
                                wrote on last edited by
                                #494

                                @kuddel & @Glasfaser

                                super 1 und 2 gelöst

                                für 2 hat sich jetzt eine Bonusfrage ergeben: kann man das Untermenü wieder reduzieren wenn man in einer Unterseite war/ist?

                                K 1 Reply Last reply
                                0
                                • maximal1981M maximal1981

                                  @kuddel & @Glasfaser

                                  super 1 und 2 gelöst

                                  für 2 hat sich jetzt eine Bonusfrage ergeben: kann man das Untermenü wieder reduzieren wenn man in einer Unterseite war/ist?

                                  K Offline
                                  K Offline
                                  Kuddel
                                  wrote on last edited by
                                  #495

                                  @maximal1981 mein Stand ist nein.

                                  Das Untermenü geht nicht wieder automatisch zu... leider

                                  maximal1981M 1 Reply Last reply
                                  0
                                  • K Kuddel

                                    @maximal1981 mein Stand ist nein.

                                    Das Untermenü geht nicht wieder automatisch zu... leider

                                    maximal1981M Offline
                                    maximal1981M Offline
                                    maximal1981
                                    wrote on last edited by
                                    #496

                                    @kuddel das ist zwar schade, aber ich geh eh zum Großteil über die Icons vom MainView rein 😊

                                    trotzdem besten Dank.

                                    1 Reply Last reply
                                    0
                                    • maximal1981M Offline
                                      maximal1981M Offline
                                      maximal1981
                                      wrote on last edited by
                                      #497

                                      @Kuddel ich bin es mal wieder 👶
                                      ich bin gerade dabei den ioBroker-Tab in Betrieb zunehmen.

                                      Jedoch stehe ich wie so oft an.
                                      Ich finde vermutlich nicht mal das zugehörige Script. Möglicherweise ist es java\abfragen\adapter_widget
                                      Wenn ja, hab ich schon mal das Problem, dass ich die Fehlermeldungen nicht auswerten kann.

                                      Bevor ich hier unnötige Fehlermeldungen post, würde ich gerne wissen ob ich richtig bin.

                                      lg

                                      K 1 Reply Last reply
                                      0
                                      • maximal1981M maximal1981

                                        @Kuddel ich bin es mal wieder 👶
                                        ich bin gerade dabei den ioBroker-Tab in Betrieb zunehmen.

                                        Jedoch stehe ich wie so oft an.
                                        Ich finde vermutlich nicht mal das zugehörige Script. Möglicherweise ist es java\abfragen\adapter_widget
                                        Wenn ja, hab ich schon mal das Problem, dass ich die Fehlermeldungen nicht auswerten kann.

                                        Bevor ich hier unnötige Fehlermeldungen post, würde ich gerne wissen ob ich richtig bin.

                                        lg

                                        K Offline
                                        K Offline
                                        Kuddel
                                        wrote on last edited by
                                        #498

                                        @maximal1981 meinst du die Anzeige der laufenden Adapter ?

                                        Hier mein aktuelles Skript (java):

                                        // Liest die ioBroker Adapter aus und legt verschiedenen State's an.
                                        
                                        schedule('*/10 * * * * *', function (obj) {
                                        //on({id:"system.adapter.admin.0.uptime",change:'any'}, function (obj) {
                                           createState('Adapter.Anzahl', 0, { name: 'Anzahl', desc: 'Anzahl der Adapter', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });
                                           createState('Adapter.AdapterNummer', 0, { name: 'Adapter zum schalten', desc: 'Adapter zum schalten', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });    
                                           //var counterAlt = getState("javascript.0.Adapter.Anzahl").val;
                                           
                                           //Variablen zurücksetzen
                                           var counter =0;
                                           var on = 0
                                           var manuell=0	
                                        
                                           var cacheSelector = $('[id=system.adapter.*.alive]');    
                                           cacheSelector.each(function(id, i) { 
                                        
                                               //Instanzen ausklammer
                                               var check1 = id.indexOf('system.adapter.coronavirus-statistics.0.alive');
                                           	var check2 = id.indexOf('system.adapter.daswetter.0.alive');
                                           	var check3 = id.indexOf('system.adapter.dwd.0.alive');
                                           	var check4 = id.indexOf('system.adapter.ical.0.alive');
                                           	var check5 = id.indexOf('system.adapter.ical.1.alive');
                                           	var check6 = id.indexOf('system.adapter.ical.2.alive');
                                           	var check7 = id.indexOf('system.adapter.feiertage.0.alive');
                                           	var check8 = id.indexOf('system.adapter.kodi.0.alive');
                                           	var check9 = id.indexOf('system.adapter.snmp.1.alive');
                                               var check10 = id.indexOf('system.adapter.yamaha.0.alive');
                                           	var check11 = id.indexOf('system.adapter.vis.0.alive');
                                        
                                               var check = check1 + check2 + check3 + check4 + check5 + check6 + check7 + check8 + check9 + check10 + check11;
                                        
                                               //Abfrage nur ausführen, wenn Instanz nicht ausgeklammert ist
                                               if(check == -11){
                                                   var devicename = getObject(id).common.name; 
                                        
                                                   //console.log(devicename);
                                                              
                                           		var devicenameName=devicename;
                                           		var instanzname=getObject(id).common.name;
                                           		var test = devicenameName;
                                           		var devicename_array = devicenameName.split(' ');        
                                           		devicenameName = devicename_array[0];
                                           		counter = counter+1; 
                                           			
                                           		var strStatePath = "system.adapter." + devicenameName + ".alive";
                                           		
                                           		//Uptime
                                           		var uptime = getState("system.adapter." + devicenameName + ".uptime").val;
                                           		var tage = Math.floor(uptime / (24*3600));
                                           		var stunden = Math.floor((uptime % (24*3600))/3600);
                                           		var minuten = Math.floor((uptime % (3600))/60);
                                           		if (stunden < 10) {stunden = "0"+stunden};
                                           		if (minuten < 10) {minuten = "0"+minuten};				
                                           		if (tage == 1) {uptime = tage.toString()+" Tag, "+stunden.toString()+" Std, "+minuten.toString()+" Min ";};
                                           		if (tage != 1) {uptime = tage.toString()+" Tage, "+stunden.toString()+" Std, "+minuten.toString()+" Min ";}
                                           		
                                           		//Arbeitsspeicher etc.
                                           		//var total = getState("system.adapter." + devicenameName + ".memHeapTotal").val;
                                           		//var used = getState("system.adapter." + devicenameName + ".memHeapUsed").val;
                                           		//var rss = getState("system.adapter." + devicenameName + ".memRss").val;
                                           		
                                           		//Connection Status
                                           		var connect = getState("system.adapter." + devicenameName + ".alive").val;            
                                           		if(connect == false){var con = 0;}
                                           		
                                           		else {                
                                           			var con = 1;
                                           			var strStatePath = devicenameName + ".info.connection";
                                           			if (isState(strStatePath, true)) {
                                           				var connectS = getState(devicenameName + ".info.connection").val;
                                           				if (connectS == false) {
                                           					con = 2;
                                           				}                                                                        
                                           			} 
                                           		}
                                           		if(con==1) {on = on + 1}
                                           		
                                           								
                                           		      
                                           		
                                           		devicename="Adapter.Adapter"+counter.toString()+".KompletterNameAdapter";
                                           		createState(devicename, 'empty', { name: 'Kompletter Name des Adapters', desc: '', type: 'string', role: '',read: true, write: true }); 
                                           		setStateDelayed(devicename, devicenameName, 800);
                                           		
                                           		var contentstring = devicenameName;
                                           		var suchstring = /(ical)/g; 
                                           		var suchergebnis = suchstring.test( contentstring );
                                           		
                                           		if (suchergebnis != true) {
                                           			var devicename_array = devicenameName.split('.');        
                                           			devicenameName = devicename_array[0];
                                           		}    
                                        
                                           		if (devicenameName == "daswetter") {
                                           			var bild = "/" + devicenameName + ".admin/" + devicenameName + "com.png";
                                           		} else if (suchergebnis != false) {
                                           			var devicename_array = devicenameName.split('.');        
                                           			var icalName = devicename_array[0];        
                                           			var bild = "/" + icalName + ".admin/" + icalName + ".png";
                                           		} else {
                                           			var bild = "/" + devicenameName + ".admin/" + devicenameName + ".png";
                                           		}
                                           		
                                           		//////////////////////////
                                           		// Icon-Pfad definieren //
                                           		//////////////////////////
                                        
                                           		//Alexa2
                                           		if (devicenameName == 'alexa2') {var bild = "/" + devicenameName + ".admin/" + "alexa.png";}
                                           		//FritzDECT
                                           		if (devicenameName == 'fritzdect') {var bild = "/" + devicenameName + ".admin/" + "fritzdect_logo.png";}
                                           		//FullyBrowser
                                           		if (devicenameName == 'fullybrowser') {var bild = "/" + devicenameName + ".admin/" + "fully.png";}
                                           		//HM-Rega
                                           		//if (devicenameName == 'hm-rega') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                                           		if (devicenameName == 'hm-rega') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                                           		//HomeMatic
                                           		//if (instanzname == 'hm-rpc.0 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                                           		if (instanzname == 'hm-rpc.0 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                                           		//HomeMatic-IP
                                           		//if (instanzname == 'hm-rpc.1 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                                           		if (instanzname == 'hm-rpc.1 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic_ip.jpg";}
                                                   //Homepilot
                                                   if (instanzname == 'homepilot20.0 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homepilot.png";}
                                           		//UPNP
                                           		if (devicenameName == 'upnp') {var bild = "/" + devicenameName + ".admin/" + "upnp-discovery.png";}
                                           		//Pushover.1
                                           		if (instanzname == 'pushover.1 alive') {var bild = "/mihome-vacuum.admin/mihome-vacuum.png";}
                                           		//Pushover.2
                                           		if (instanzname == 'pushover.2 alive') {var bild = "/daswetter.admin/daswettercom.png";}
                                           		
                                        
                                           		///////////////////////
                                           		//AdapterName anpassen
                                           		////////////////////////
                                        
                                           		//Corona-Statistics
                                           		if (instanzname == 'coronavirus-statistics.0 alive') {devicenameName='Corona'; manuell=1}
                                           		//DasWetter
                                           		if (instanzname == 'daswetter.0 alive') {devicenameName='DasWetter'; manuell=1}
                                           		//DWD
                                           		if (instanzname == 'dwd.0 alive') {devicenameName='DWD'; manuell=1}
                                           		//Fullybrowser
                                           		if (instanzname == 'fullybrowser.0 alive') {devicenameName='FullyKiosk'; manuell=1}			
                                           		//HM-REGA
                                           		if (instanzname == 'hm-rega.0 alive') {devicenameName='HM-Rega'; manuell=1}			
                                           		//HM-RPC.0
                                           		if (instanzname == 'hm-rpc.0 alive') {devicenameName='HomeMatic'; manuell=1}
                                           		//HM-RPC.1
                                           		if (instanzname == 'hm-rpc.1 alive') {devicenameName='HM-IP'; manuell=1}
                                                   //Homepilot
                                                   if (instanzname == 'homepilot20.0 alive') {devicenameName='Homepilot'; manuell=1}
                                           		//Linux-Control
                                           		if (instanzname == 'linux-control.0 alive') {devicenameName='Linux-Ctr.'; manuell=1}
                                           		//MiHome-Vacuum -> NoNo
                                           		if (instanzname == 'mihome-vacuum.0 alive') {devicenameName='Nono'; manuell=1}
                                                   //MiHome-Vacuum -> Dusty
                                           		if (instanzname == 'mihome-vacuum.1 alive') {devicenameName='Dusty'; manuell=1}
                                           		//Pushover
                                           		if (instanzname == 'pushover.0 alive') {devicenameName='Pushover.0'; manuell=1}
                                           		if (instanzname == 'pushover.1 alive') {devicenameName='Pushover.1'; manuell=1}
                                           		if (instanzname == 'pushover.2 alive') {devicenameName='Pushover.2'; manuell=1}
                                           		//Simple-API
                                           		if (instanzname == 'simple-api.0 alive') {devicenameName='Simple-API'; manuell=1}
                                           		//SNMP.0
                                           		if (instanzname == 'snmp.0 alive') {devicenameName='QNAP-B'; manuell=1}
                                           		//SNMP.1
                                           		if (instanzname == 'snmp.1 alive') {devicenameName='QNAP-Archiv'; manuell=1}
                                                   //SNMP.2
                                           		if (instanzname == 'snmp.2 alive') {devicenameName='Brother'; manuell=1}
                                           		//Spotify
                                           		if (instanzname == 'spotify-premium.0 alive') {devicenameName='Spotify'; manuell=1}
                                           		//Tankerkoenig
                                           		if (instanzname == 'tankerkoenig.0 alive') {devicenameName='Tankerk.'; manuell=1}
                                           		//Tashscheduler
                                           		if (instanzname == 'trashschedule.0 alive') {devicenameName='Trashsched.'; manuell=1}
                                           		//TR-064.0
                                           		if (instanzname == 'tr-064.0 alive') {devicenameName='TR-064.0'; manuell=1}
                                           		//TR-064.1
                                           		if (instanzname == 'tr-064.1 alive') {devicenameName='TR-064.1'; manuell=1}
                                           		//XPEnology
                                           		if (instanzname == 'synology.1 alive') {devicenameName='XPEnology'; manuell=1}
                                           		
                                           		
                                           		
                                           		//Instanz-Namen setzen
                                           		if(manuell!=1) {devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();}	
                                           		//devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();
                                           		devicename="Adapter.Adapter"+counter.toString()+".NameInstanz";
                                           		createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
                                           		setStateDelayed(devicename, devicenameName, 800);
                                           		//Bild Pfad setzen
                                           		devicename="Adapter.Adapter"+counter.toString()+".Bild";
                                           		createState(devicename, 'empty', { name: 'Speicherort Bild', desc: '', type: 'string', role: '',read: true, write: true });
                                           		setStateDelayed(devicename, bild, 800);
                                           		//Uptime setzen
                                           		devicename="Adapter.Adapter"+counter.toString()+".Uptime";          
                                           		createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
                                           		setStateDelayed(devicename, uptime, 800);
                                           		//MemUsed setzen
                                           		//devicename="Adapter.Adapter"+counter.toString()+".MemUsed";          
                                           		//createState(devicename, 0, { name: 'Link MemUsed', desc: '', type: 'number', role: '',read: true, write: true });
                                           		//setStateDelayed(devicename, used, 800);
                                           		//MemToal setzen
                                           		//devicename="Adapter.Adapter"+counter.toString()+".MemTotal";          
                                           		//createState(devicename, 0, { name: 'Link MemTotal', desc: '', type: 'number', role: '',read: true, write: true });
                                           		//setStateDelayed(devicename, total, 800);
                                           		//MemRSS setzen
                                           		//devicename="Adapter.Adapter"+counter.toString()+".MemRSS";          
                                           		//createState(devicename, 0, { name: 'Link MemRSS', desc: '', type: 'number', role: '',read: true, write: true });
                                           		//setStateDelayed(devicename, rss, 800);
                                           		//Connected setzen
                                           		devicename="Adapter.Adapter"+counter.toString()+".Connected";          
                                           		createState(devicename, 0, { name: 'Status Adapter', desc: '', type: 'number', role: '',read: true, write: true });
                                           		setStateDelayed(devicename, con, 800);
                                           		
                                           		//Wert zurücksetzen
                                           		var manuell=0
                                        
                                               };
                                           });
                                           
                                           //Adaptet Icon Übersicht
                                           visstatus="javascript.0.VIS-Status.alle_adapter_gestartet";
                                           if(on == counter){setState(visstatus, true);}
                                           //if(on == counter -1){setState(visstatus, true);}
                                           else{setState(visstatus, false);}
                                           
                                           
                                           setStateDelayed('Adapter.Anzahl', counter, 800);
                                        
                                           function isState(strStatePath, strict) {
                                               let mSelector;
                                               if (strict) {
                                                   mSelector = $('state[id=' + strStatePath + '$]');
                                               } else {
                                                   mSelector = $('state[id=' + strStatePath + ']');
                                               }
                                               if (mSelector.length > 0) {
                                                   return true;
                                               } else {
                                                   return false;
                                               }
                                           }  
                                        }); 
                                        
                                        on({id:"javascript.0.Adapter.AdapterNummer", change: 'any'}, function (dpobj) {
                                           if (getState("javascript.0.Adapter.AdapterNummer").val != 0) {        
                                               const instanz = "javascript." + instance;
                                               var adapterNummer = getState(instanz + ".Adapter.AdapterNummer").val;
                                               var adapter = getState(instanz + ".Adapter.Adapter" + adapterNummer + ".KompletterNameAdapter").val; // Name und Instanz des Adapters 
                                               var idAdapter = "system.adapter." + adapter;
                                               
                                               var obj = getObject(idAdapter);
                                               if (dpobj.state.val == false) {
                                                   obj.common.enabled = true;  // Adapter einschalten
                                               } else if (dpobj.state.val == true) {
                                                   obj.common.enabled = false;  // Adapter ausschalten
                                               }
                                               setObject(idAdapter, obj);
                                               setStateDelayed('javascript.0.Adapter.AdapterNummer', 0, 800);        
                                           }
                                        });   
                                        

                                        maximal1981M D 2 Replies Last reply
                                        0
                                        • K Kuddel

                                          @maximal1981 meinst du die Anzeige der laufenden Adapter ?

                                          Hier mein aktuelles Skript (java):

                                          // Liest die ioBroker Adapter aus und legt verschiedenen State's an.
                                          
                                          schedule('*/10 * * * * *', function (obj) {
                                          //on({id:"system.adapter.admin.0.uptime",change:'any'}, function (obj) {
                                             createState('Adapter.Anzahl', 0, { name: 'Anzahl', desc: 'Anzahl der Adapter', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });
                                             createState('Adapter.AdapterNummer', 0, { name: 'Adapter zum schalten', desc: 'Adapter zum schalten', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });    
                                             //var counterAlt = getState("javascript.0.Adapter.Anzahl").val;
                                             
                                             //Variablen zurücksetzen
                                             var counter =0;
                                             var on = 0
                                             var manuell=0	
                                          
                                             var cacheSelector = $('[id=system.adapter.*.alive]');    
                                             cacheSelector.each(function(id, i) { 
                                          
                                                 //Instanzen ausklammer
                                                 var check1 = id.indexOf('system.adapter.coronavirus-statistics.0.alive');
                                             	var check2 = id.indexOf('system.adapter.daswetter.0.alive');
                                             	var check3 = id.indexOf('system.adapter.dwd.0.alive');
                                             	var check4 = id.indexOf('system.adapter.ical.0.alive');
                                             	var check5 = id.indexOf('system.adapter.ical.1.alive');
                                             	var check6 = id.indexOf('system.adapter.ical.2.alive');
                                             	var check7 = id.indexOf('system.adapter.feiertage.0.alive');
                                             	var check8 = id.indexOf('system.adapter.kodi.0.alive');
                                             	var check9 = id.indexOf('system.adapter.snmp.1.alive');
                                                 var check10 = id.indexOf('system.adapter.yamaha.0.alive');
                                             	var check11 = id.indexOf('system.adapter.vis.0.alive');
                                          
                                                 var check = check1 + check2 + check3 + check4 + check5 + check6 + check7 + check8 + check9 + check10 + check11;
                                          
                                                 //Abfrage nur ausführen, wenn Instanz nicht ausgeklammert ist
                                                 if(check == -11){
                                                     var devicename = getObject(id).common.name; 
                                          
                                                     //console.log(devicename);
                                                                
                                             		var devicenameName=devicename;
                                             		var instanzname=getObject(id).common.name;
                                             		var test = devicenameName;
                                             		var devicename_array = devicenameName.split(' ');        
                                             		devicenameName = devicename_array[0];
                                             		counter = counter+1; 
                                             			
                                             		var strStatePath = "system.adapter." + devicenameName + ".alive";
                                             		
                                             		//Uptime
                                             		var uptime = getState("system.adapter." + devicenameName + ".uptime").val;
                                             		var tage = Math.floor(uptime / (24*3600));
                                             		var stunden = Math.floor((uptime % (24*3600))/3600);
                                             		var minuten = Math.floor((uptime % (3600))/60);
                                             		if (stunden < 10) {stunden = "0"+stunden};
                                             		if (minuten < 10) {minuten = "0"+minuten};				
                                             		if (tage == 1) {uptime = tage.toString()+" Tag, "+stunden.toString()+" Std, "+minuten.toString()+" Min ";};
                                             		if (tage != 1) {uptime = tage.toString()+" Tage, "+stunden.toString()+" Std, "+minuten.toString()+" Min ";}
                                             		
                                             		//Arbeitsspeicher etc.
                                             		//var total = getState("system.adapter." + devicenameName + ".memHeapTotal").val;
                                             		//var used = getState("system.adapter." + devicenameName + ".memHeapUsed").val;
                                             		//var rss = getState("system.adapter." + devicenameName + ".memRss").val;
                                             		
                                             		//Connection Status
                                             		var connect = getState("system.adapter." + devicenameName + ".alive").val;            
                                             		if(connect == false){var con = 0;}
                                             		
                                             		else {                
                                             			var con = 1;
                                             			var strStatePath = devicenameName + ".info.connection";
                                             			if (isState(strStatePath, true)) {
                                             				var connectS = getState(devicenameName + ".info.connection").val;
                                             				if (connectS == false) {
                                             					con = 2;
                                             				}                                                                        
                                             			} 
                                             		}
                                             		if(con==1) {on = on + 1}
                                             		
                                             								
                                             		      
                                             		
                                             		devicename="Adapter.Adapter"+counter.toString()+".KompletterNameAdapter";
                                             		createState(devicename, 'empty', { name: 'Kompletter Name des Adapters', desc: '', type: 'string', role: '',read: true, write: true }); 
                                             		setStateDelayed(devicename, devicenameName, 800);
                                             		
                                             		var contentstring = devicenameName;
                                             		var suchstring = /(ical)/g; 
                                             		var suchergebnis = suchstring.test( contentstring );
                                             		
                                             		if (suchergebnis != true) {
                                             			var devicename_array = devicenameName.split('.');        
                                             			devicenameName = devicename_array[0];
                                             		}    
                                          
                                             		if (devicenameName == "daswetter") {
                                             			var bild = "/" + devicenameName + ".admin/" + devicenameName + "com.png";
                                             		} else if (suchergebnis != false) {
                                             			var devicename_array = devicenameName.split('.');        
                                             			var icalName = devicename_array[0];        
                                             			var bild = "/" + icalName + ".admin/" + icalName + ".png";
                                             		} else {
                                             			var bild = "/" + devicenameName + ".admin/" + devicenameName + ".png";
                                             		}
                                             		
                                             		//////////////////////////
                                             		// Icon-Pfad definieren //
                                             		//////////////////////////
                                          
                                             		//Alexa2
                                             		if (devicenameName == 'alexa2') {var bild = "/" + devicenameName + ".admin/" + "alexa.png";}
                                             		//FritzDECT
                                             		if (devicenameName == 'fritzdect') {var bild = "/" + devicenameName + ".admin/" + "fritzdect_logo.png";}
                                             		//FullyBrowser
                                             		if (devicenameName == 'fullybrowser') {var bild = "/" + devicenameName + ".admin/" + "fully.png";}
                                             		//HM-Rega
                                             		//if (devicenameName == 'hm-rega') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                                             		if (devicenameName == 'hm-rega') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                                             		//HomeMatic
                                             		//if (instanzname == 'hm-rpc.0 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                                             		if (instanzname == 'hm-rpc.0 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                                             		//HomeMatic-IP
                                             		//if (instanzname == 'hm-rpc.1 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                                             		if (instanzname == 'hm-rpc.1 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic_ip.jpg";}
                                                     //Homepilot
                                                     if (instanzname == 'homepilot20.0 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homepilot.png";}
                                             		//UPNP
                                             		if (devicenameName == 'upnp') {var bild = "/" + devicenameName + ".admin/" + "upnp-discovery.png";}
                                             		//Pushover.1
                                             		if (instanzname == 'pushover.1 alive') {var bild = "/mihome-vacuum.admin/mihome-vacuum.png";}
                                             		//Pushover.2
                                             		if (instanzname == 'pushover.2 alive') {var bild = "/daswetter.admin/daswettercom.png";}
                                             		
                                          
                                             		///////////////////////
                                             		//AdapterName anpassen
                                             		////////////////////////
                                          
                                             		//Corona-Statistics
                                             		if (instanzname == 'coronavirus-statistics.0 alive') {devicenameName='Corona'; manuell=1}
                                             		//DasWetter
                                             		if (instanzname == 'daswetter.0 alive') {devicenameName='DasWetter'; manuell=1}
                                             		//DWD
                                             		if (instanzname == 'dwd.0 alive') {devicenameName='DWD'; manuell=1}
                                             		//Fullybrowser
                                             		if (instanzname == 'fullybrowser.0 alive') {devicenameName='FullyKiosk'; manuell=1}			
                                             		//HM-REGA
                                             		if (instanzname == 'hm-rega.0 alive') {devicenameName='HM-Rega'; manuell=1}			
                                             		//HM-RPC.0
                                             		if (instanzname == 'hm-rpc.0 alive') {devicenameName='HomeMatic'; manuell=1}
                                             		//HM-RPC.1
                                             		if (instanzname == 'hm-rpc.1 alive') {devicenameName='HM-IP'; manuell=1}
                                                     //Homepilot
                                                     if (instanzname == 'homepilot20.0 alive') {devicenameName='Homepilot'; manuell=1}
                                             		//Linux-Control
                                             		if (instanzname == 'linux-control.0 alive') {devicenameName='Linux-Ctr.'; manuell=1}
                                             		//MiHome-Vacuum -> NoNo
                                             		if (instanzname == 'mihome-vacuum.0 alive') {devicenameName='Nono'; manuell=1}
                                                     //MiHome-Vacuum -> Dusty
                                             		if (instanzname == 'mihome-vacuum.1 alive') {devicenameName='Dusty'; manuell=1}
                                             		//Pushover
                                             		if (instanzname == 'pushover.0 alive') {devicenameName='Pushover.0'; manuell=1}
                                             		if (instanzname == 'pushover.1 alive') {devicenameName='Pushover.1'; manuell=1}
                                             		if (instanzname == 'pushover.2 alive') {devicenameName='Pushover.2'; manuell=1}
                                             		//Simple-API
                                             		if (instanzname == 'simple-api.0 alive') {devicenameName='Simple-API'; manuell=1}
                                             		//SNMP.0
                                             		if (instanzname == 'snmp.0 alive') {devicenameName='QNAP-B'; manuell=1}
                                             		//SNMP.1
                                             		if (instanzname == 'snmp.1 alive') {devicenameName='QNAP-Archiv'; manuell=1}
                                                     //SNMP.2
                                             		if (instanzname == 'snmp.2 alive') {devicenameName='Brother'; manuell=1}
                                             		//Spotify
                                             		if (instanzname == 'spotify-premium.0 alive') {devicenameName='Spotify'; manuell=1}
                                             		//Tankerkoenig
                                             		if (instanzname == 'tankerkoenig.0 alive') {devicenameName='Tankerk.'; manuell=1}
                                             		//Tashscheduler
                                             		if (instanzname == 'trashschedule.0 alive') {devicenameName='Trashsched.'; manuell=1}
                                             		//TR-064.0
                                             		if (instanzname == 'tr-064.0 alive') {devicenameName='TR-064.0'; manuell=1}
                                             		//TR-064.1
                                             		if (instanzname == 'tr-064.1 alive') {devicenameName='TR-064.1'; manuell=1}
                                             		//XPEnology
                                             		if (instanzname == 'synology.1 alive') {devicenameName='XPEnology'; manuell=1}
                                             		
                                             		
                                             		
                                             		//Instanz-Namen setzen
                                             		if(manuell!=1) {devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();}	
                                             		//devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();
                                             		devicename="Adapter.Adapter"+counter.toString()+".NameInstanz";
                                             		createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
                                             		setStateDelayed(devicename, devicenameName, 800);
                                             		//Bild Pfad setzen
                                             		devicename="Adapter.Adapter"+counter.toString()+".Bild";
                                             		createState(devicename, 'empty', { name: 'Speicherort Bild', desc: '', type: 'string', role: '',read: true, write: true });
                                             		setStateDelayed(devicename, bild, 800);
                                             		//Uptime setzen
                                             		devicename="Adapter.Adapter"+counter.toString()+".Uptime";          
                                             		createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
                                             		setStateDelayed(devicename, uptime, 800);
                                             		//MemUsed setzen
                                             		//devicename="Adapter.Adapter"+counter.toString()+".MemUsed";          
                                             		//createState(devicename, 0, { name: 'Link MemUsed', desc: '', type: 'number', role: '',read: true, write: true });
                                             		//setStateDelayed(devicename, used, 800);
                                             		//MemToal setzen
                                             		//devicename="Adapter.Adapter"+counter.toString()+".MemTotal";          
                                             		//createState(devicename, 0, { name: 'Link MemTotal', desc: '', type: 'number', role: '',read: true, write: true });
                                             		//setStateDelayed(devicename, total, 800);
                                             		//MemRSS setzen
                                             		//devicename="Adapter.Adapter"+counter.toString()+".MemRSS";          
                                             		//createState(devicename, 0, { name: 'Link MemRSS', desc: '', type: 'number', role: '',read: true, write: true });
                                             		//setStateDelayed(devicename, rss, 800);
                                             		//Connected setzen
                                             		devicename="Adapter.Adapter"+counter.toString()+".Connected";          
                                             		createState(devicename, 0, { name: 'Status Adapter', desc: '', type: 'number', role: '',read: true, write: true });
                                             		setStateDelayed(devicename, con, 800);
                                             		
                                             		//Wert zurücksetzen
                                             		var manuell=0
                                          
                                                 };
                                             });
                                             
                                             //Adaptet Icon Übersicht
                                             visstatus="javascript.0.VIS-Status.alle_adapter_gestartet";
                                             if(on == counter){setState(visstatus, true);}
                                             //if(on == counter -1){setState(visstatus, true);}
                                             else{setState(visstatus, false);}
                                             
                                             
                                             setStateDelayed('Adapter.Anzahl', counter, 800);
                                          
                                             function isState(strStatePath, strict) {
                                                 let mSelector;
                                                 if (strict) {
                                                     mSelector = $('state[id=' + strStatePath + '$]');
                                                 } else {
                                                     mSelector = $('state[id=' + strStatePath + ']');
                                                 }
                                                 if (mSelector.length > 0) {
                                                     return true;
                                                 } else {
                                                     return false;
                                                 }
                                             }  
                                          }); 
                                          
                                          on({id:"javascript.0.Adapter.AdapterNummer", change: 'any'}, function (dpobj) {
                                             if (getState("javascript.0.Adapter.AdapterNummer").val != 0) {        
                                                 const instanz = "javascript." + instance;
                                                 var adapterNummer = getState(instanz + ".Adapter.AdapterNummer").val;
                                                 var adapter = getState(instanz + ".Adapter.Adapter" + adapterNummer + ".KompletterNameAdapter").val; // Name und Instanz des Adapters 
                                                 var idAdapter = "system.adapter." + adapter;
                                                 
                                                 var obj = getObject(idAdapter);
                                                 if (dpobj.state.val == false) {
                                                     obj.common.enabled = true;  // Adapter einschalten
                                                 } else if (dpobj.state.val == true) {
                                                     obj.common.enabled = false;  // Adapter ausschalten
                                                 }
                                                 setObject(idAdapter, obj);
                                                 setStateDelayed('javascript.0.Adapter.AdapterNummer', 0, 800);        
                                             }
                                          });   
                                          

                                          maximal1981M Offline
                                          maximal1981M Offline
                                          maximal1981
                                          wrote on last edited by
                                          #499

                                          @kuddel danke schön

                                          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

                                          735

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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