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

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

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

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

[Vorstellung] Meine dritte VIS

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
visvis projekte
640 Beiträge 83 Kommentatoren 184.9k Aufrufe 117 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.
  • 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 8) 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
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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.. :face_palm:

      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 Antwort Letzte Antwort
      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.. :face_palm:

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

          K 1 Antwort Letzte Antwort
          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 :grin:

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

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

            1 Antwort Letzte Antwort
            0
            • W Offline
              W Offline
              WeiserWolf
              schrieb am zuletzt editiert von
              #488

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

              1 Antwort Letzte Antwort
              0
              • maximal1981M Offline
                maximal1981M Offline
                maximal1981
                schrieb am zuletzt editiert von
                #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. :astonished:

                K 1 Antwort Letzte Antwort
                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. :astonished:

                  K Offline
                  K Offline
                  Kuddel
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antworten Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #495

                            @maximal1981 mein Stand ist nein.

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

                            maximal1981M 1 Antwort Letzte Antwort
                            0
                            • K Kuddel

                              @maximal1981 mein Stand ist nein.

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

                              maximal1981M Offline
                              maximal1981M Offline
                              maximal1981
                              schrieb am zuletzt editiert von
                              #496

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

                              trotzdem besten Dank.

                              1 Antwort Letzte Antwort
                              0
                              • maximal1981M Offline
                                maximal1981M Offline
                                maximal1981
                                schrieb am zuletzt editiert von
                                #497

                                @Kuddel ich bin es mal wieder :baby:
                                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 Antwort Letzte Antwort
                                0
                                • maximal1981M maximal1981

                                  @Kuddel ich bin es mal wieder :baby:
                                  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
                                  schrieb am zuletzt editiert von
                                  #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 Antworten Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #499

                                    @kuddel danke schön

                                    1 Antwort Letzte Antwort
                                    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);        
                                         }
                                      });   
                                      

                                      D Offline
                                      D Offline
                                      djsirius
                                      schrieb am zuletzt editiert von djsirius
                                      #500

                                      Ich habe den Fehler gefunden!

                                      Gruß

                                      djsirius

                                      1 Antwort Letzte Antwort
                                      0
                                      • K Kuddel

                                        Hallo zusammen,

                                        nach meiner zweiten VIS folgt jetzt meine dritte VIS.

                                        Die größte Neuerung ist ein komplett neues Menü mit Hilfe des Top App Bar Widget. Vielen Dank an dieser Stelle an @Scrounger.

                                        Bestimmt sind immer noch ein paar Fehler drin, aber fertig wird man ja eh nie.

                                        Vieles habe ich aus meiner zweiten VIS übernommen, so dass die Screenshots aus dem Thread oben auch fast noch alle aktuell sind.

                                        Screenshots:


                                        Startseite
                                        90372124-cd0b-40d0-ae6e-b8286ee25672-grafik.png

                                        Menü
                                        52f11cf6-b7f3-49c8-9344-b1a0f89d0eaa-grafik.png
                                        e766325b-8727-48c0-b6e7-9f773f4f246b-grafik.png

                                        BVB Details
                                        423488b3-1367-4ebf-b28e-8b730970dfae-grafik.png

                                        Tablet Details
                                        ac924af2-ac1c-4069-a59e-6a68c8775a3f-grafik.png

                                        System -> ioBroker
                                        eb9f518b-c318-4a00-a66e-6879959792a4-grafik.png

                                        System -> Homematic
                                        1aaaed6f-8e59-4cdc-8bfd-c26185f1c28b-grafik.png

                                        System -> Netzwerk
                                        622fd166-ec5b-4ff3-9cbe-d5a81fd5332b-grafik.png

                                        System -> Geräte
                                        f20ab8dd-18f2-446e-94ac-55a74765e1ca-grafik.png

                                        Details VU
                                        9cdd9c50-f62a-4e3c-b01a-f911d2e8388d-grafik.png

                                        System -> Logs
                                        e190e53e-2a68-4e6d-ae7e-a48d069f809f-grafik.png

                                        System -> VMware
                                        34ffe501-5b74-4b2c-9092-2e1a8ed9f99e-grafik.png

                                        Erdgeschoss -> Wohnzimmer
                                        18c3b9dc-75e4-41c9-9338-ef3c827f4c86-grafik.png

                                        Garten -> Bewässerung
                                        160a9338-d885-42be-8ae8-2d0daa67a8f1-grafik.png

                                        Wetter
                                        840f00c2-b9bb-4f94-be9d-9bb5b0330947-grafik.png

                                        Staubsauger
                                        1343f5bc-1514-44d2-8754-9a6eff483708-grafik.png

                                        Echo Geräte
                                        aebe9414-69fe-46ef-86b9-9125b66e2f1d-grafik.png

                                        Mutlimedia -> TV
                                        d3549b5b-2178-48de-aa40-86c03343a04d-grafik.png

                                        Damit die Navigation und alle Widgets funktionieren, wird vor dem Import der DP

                                        javascript.0.VIS-Steuerung.Aktuelle_VIS_Seite
                                        

                                        benöigt.

                                        Ebenso sind natürlich alle von mir verwendeten Widgets wichitg:

                                        ad5673c8-1694-4fe5-9839-ca55c4dd920d-grafik.png
                                        aba96ff9-f4c4-4291-a479-95ce40906c5b-grafik.png

                                        Anleitung zum Import der kompletten VIS inkl. meiner Icons:


                                        2020-08-17-VIS_v3.zip
                                        Meine_Icons.zip

                                        1. meine_icons.zip entpacken
                                        2. 2020-08-17-vis_v3.zip entpacken
                                        3. Die beiden VIS-Datein und die den Icons Ordner zu einem neuen Zip Archiv zusammefügen
                                        4. Wie gewohnt das neue Archiv im VIS Editor importieren

                                        Anleitung zum Import meiner Skripte:


                                        Voraussetzung für den Skript Import

                                        • Adapter: Mail, Pushover
                                        • Objekte für meine Skripts

                                        Objekte anlegen

                                        Alle Objekte, mit denen ich in meinen Skripten arbeite, können mit einem Javascript erstellt werden:
                                        objekte.txt

                                        • Den Inhalt der TXT-Datei in ein neues Javascript kopieren
                                        • Das Skript starten
                                        • Alle Objekte werden angelegt
                                        • Das Skript wieder stoppen

                                        Import

                                        1. Download der Datei 2020-03-17-scripts.zip
                                        2. Eigene Skripte in Zip Datei exportieren
                                        3. Beide Archive entpacken und dann die Skripte / Gruppen in einem gemeinsamen Archiv zusammenführen
                                        4. Import des neu erstellten Archivs

                                        Bei Fragen einfach im Thread stellen ;-)

                                        Das nächste Projekt wird dann eine VIS fürs Smartphone

                                        RouwdyR Offline
                                        RouwdyR Offline
                                        Rouwdy
                                        schrieb am zuletzt editiert von
                                        #501

                                        @kuddel hallo kuddel ich bin absoluter frischling was das programmieren hier angeht und versuche nun so pö a pö schlau zu werden, mein problem ist schon denke fehlendes grundwissen :-( , wie genau importiere ich wo genau deine objekte / skripte ? einen mail-adapter hab ich so wie auch die von dir vorgeschlagenen adapter

                                        Wirklich "WAHRE" Kameradschaft oder Freundschaft wird erst in der Not erkannt.
                                        Alles andere ist leider meist eine mehr oder weniger flüchtige Bekanntschaft.

                                        W 1 Antwort Letzte Antwort
                                        0
                                        • RouwdyR Rouwdy

                                          @kuddel hallo kuddel ich bin absoluter frischling was das programmieren hier angeht und versuche nun so pö a pö schlau zu werden, mein problem ist schon denke fehlendes grundwissen :-( , wie genau importiere ich wo genau deine objekte / skripte ? einen mail-adapter hab ich so wie auch die von dir vorgeschlagenen adapter

                                          W Offline
                                          W Offline
                                          WeiserWolf
                                          schrieb am zuletzt editiert von
                                          #502

                                          @rouwdy Als erstes installierst du mal den Adapter "Script Engine" und startest danach den ioBroker neu. Anschließend erscheint links in der Übersicht der Bereich Skripte.
                                          Dort gehst du oben auf die drei Punkte --> Skripts importieren und ziehst die heruntergeladene ZIP-Datei per Drag&Drop in den Uploadbereich. Danach sind schon einmal alle Skripts importiert. Dort liegt dann ein Skript "Objekte_anlegen"
                                          Das startest du einmal kurz und kannst es danach wieder beenden. Dieses Skript legt sämtliche Datenpunkte im Bereich "Objekte" an (javascript.0 in den einzelnen Unterordner sortiert)
                                          Evtl ist auch hier ein Neustart des ioBroker bzw. der Script-Engine erforderlich.
                                          Ist zumindest bei mir öfter mal der Fall wenn ich neue Adapter installiere o.ä.

                                          RouwdyR 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

                                          507

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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