Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. neue Visualisierung "webui" (alternative zu vis & vis-2)

NEWS

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

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

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

neue Visualisierung "webui" (alternative zu vis & vis-2)

Geplant Angeheftet Gesperrt Verschoben Visualisierung
1.1k Beiträge 21 Kommentatoren 348.0k Aufrufe 18 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.
  • jogibear9988J jogibear9988

    So, neue Version ist auf NPM.
    Könnt Ihr so schon installieren:
    ad6031eb-fa15-4e3a-9f89-9a25e9fdb200-image.png

    Was gibts neues:

    • definierbare raster größe (rechtsklick auf den "am raster ausrichten" button)
    • dragdrop ganzen signal namen, wenn man ihn auf ein textfeld zieht
    • jquery.fancytree durch wunderbaum ersetzt
    • uiChangedView geht nun
    jogibear9988J Offline
    jogibear9988J Offline
    jogibear9988
    schrieb am zuletzt editiert von
    #41

    Kleine Neuerung, in two-way Bindings könnt Ihr nun auch expressions verwenden.
    Die Expression in "formula" wird verwendet wenn der wert in das HTML Element geschrieben wird, und die Expression in "formula write back" wird verwendet wenn der Wert der HTML Eigenschaft zurück in das ioBroker objekt geschrieben wird.

    8ac9f039-19be-4348-b432-8fa41aebb8b6-image.png

    Check my ioBroker webui - a vis alternative
    see: https://github.com/iobroker-community-adapters/ioBroker.webui

    jogibear9988J 1 Antwort Letzte Antwort
    0
    • jogibear9988J jogibear9988

      Kleine Neuerung, in two-way Bindings könnt Ihr nun auch expressions verwenden.
      Die Expression in "formula" wird verwendet wenn der wert in das HTML Element geschrieben wird, und die Expression in "formula write back" wird verwendet wenn der Wert der HTML Eigenschaft zurück in das ioBroker objekt geschrieben wird.

      8ac9f039-19be-4348-b432-8fa41aebb8b6-image.png

      jogibear9988J Offline
      jogibear9988J Offline
      jogibear9988
      schrieb am zuletzt editiert von
      #42

      Und wieder mal ein neues feature:

      54a45c6b-c8e4-4eaa-aafb-aaf5e8c34e6a-image.png

      In dem letzten release (0.14.1) könnt Ihr screens in einem Dialog öffnen.
      Da kommen sicher noch ein paar Funktionen dazu, aber nutzbar ist es schon.

      Es gibt dafür auch 2 neue Script Befehle: OpenInDialog um einen Screen in einem Dialog zu öffnen, und CloseDialog um mit einem Button den Dialog zu schließen. Im Moment muss der Button noch im Dialog sein, und es gibt auch immer das "X" oben im Dialog. Aber wie gesagt da kommt noch ein bisschen was.

      Check my ioBroker webui - a vis alternative
      see: https://github.com/iobroker-community-adapters/ioBroker.webui

      1 Antwort Letzte Antwort
      2
      • jogibear9988J Offline
        jogibear9988J Offline
        jogibear9988
        schrieb am zuletzt editiert von
        #43

        Ich hab mal eingebaut das man bindings auf historische werte erstellen kann. Geht im moment aber nur über den HTML code, im bindings editor gibt es das Feld noch nicht.

        Bspw:

        <input bind-prop:value='{"signal":"a.b.watertemp.value","expression":"__0[0].val","historic":{}}'>
        

        würde jetzt die history abfrage an iobroker machen

        Für den wert in historic kann ein objekt mit folgenden Properties verwendet werden: https://github.com/ioBroker/ioBroker.js-controller/blob/9e3b8273df4054331579d3f84c259e4b2e73130b/packages/types-dev/index.d.ts#L273 + die Property "reloadInterval" welche festlegt nach wie vielen sekunden neu abgefragt werden soll.

        Folgende Inputs:

        <input bind-prop:value='{"signal":"a.b.watertemp.value","expression":"__0[0].val","historic":{}}'>
        <input bind-prop:value='{"signal":"a.b.watertemp.value","expression":"__0[1].val","historic":{}}'>
        <input bind-prop:value='{"signal":"a.b.watertemp.value","expression":"__0[2].val","historic":{}}'>
        

        würden bspw die letzten 3 werte darstellen

        <input bind-prop:value='{"signal":"a.b.watertemp.value","expression":"__0[0].val","historic":{"reloadInterval":10000,"count":10,"aggregate":"max"}}'>
        

        sollte den max Wert der letzten 10 Werte darstellen, und alle 10 Sekunden neu abfragen (geht bei mir nicht, bin ich noch am suchen warum, ich bekomme die aggregate funktionen nicht zum laufen)

        Check my ioBroker webui - a vis alternative
        see: https://github.com/iobroker-community-adapters/ioBroker.webui

        jogibear9988J 1 Antwort Letzte Antwort
        0
        • jogibear9988J jogibear9988

          Ich hab mal eingebaut das man bindings auf historische werte erstellen kann. Geht im moment aber nur über den HTML code, im bindings editor gibt es das Feld noch nicht.

          Bspw:

          <input bind-prop:value='{"signal":"a.b.watertemp.value","expression":"__0[0].val","historic":{}}'>
          

          würde jetzt die history abfrage an iobroker machen

          Für den wert in historic kann ein objekt mit folgenden Properties verwendet werden: https://github.com/ioBroker/ioBroker.js-controller/blob/9e3b8273df4054331579d3f84c259e4b2e73130b/packages/types-dev/index.d.ts#L273 + die Property "reloadInterval" welche festlegt nach wie vielen sekunden neu abgefragt werden soll.

          Folgende Inputs:

          <input bind-prop:value='{"signal":"a.b.watertemp.value","expression":"__0[0].val","historic":{}}'>
          <input bind-prop:value='{"signal":"a.b.watertemp.value","expression":"__0[1].val","historic":{}}'>
          <input bind-prop:value='{"signal":"a.b.watertemp.value","expression":"__0[2].val","historic":{}}'>
          

          würden bspw die letzten 3 werte darstellen

          <input bind-prop:value='{"signal":"a.b.watertemp.value","expression":"__0[0].val","historic":{"reloadInterval":10000,"count":10,"aggregate":"max"}}'>
          

          sollte den max Wert der letzten 10 Werte darstellen, und alle 10 Sekunden neu abfragen (geht bei mir nicht, bin ich noch am suchen warum, ich bekomme die aggregate funktionen nicht zum laufen)

          jogibear9988J Offline
          jogibear9988J Offline
          jogibear9988
          schrieb am zuletzt editiert von
          #44

          @jogibear9988

          wenn man "step" übergibt gehen bei mir nun auch die agregat funktionen.

          siehe: https://github.com/ioBroker/ioBroker.history/blob/master/docs/en/README.md#access-values-from-javascript-adapter

          Check my ioBroker webui - a vis alternative
          see: https://github.com/iobroker-community-adapters/ioBroker.webui

          1 Antwort Letzte Antwort
          0
          • jogibear9988J Offline
            jogibear9988J Offline
            jogibear9988
            schrieb am zuletzt editiert von
            #45

            was noch fehlt, ist wie man die werte für start & end and das historic binding dynamisch übergeben kann.
            Muss man sich noch was überlegen.

            Check my ioBroker webui - a vis alternative
            see: https://github.com/iobroker-community-adapters/ioBroker.webui

            1 Antwort Letzte Antwort
            0
            • M Offline
              M Offline
              MaGe
              schrieb am zuletzt editiert von
              #46

              @jogibear9988

              Hallo,
              vielen Dank für die tolle Webui.
              Ich beginne gerade mit meiner ersten Visualisierung. 🙂

              Um meine Idee zu realisieren habe ich das aktuellste NPM-Paket bootstrap hinzugefügt.
              Aber auch nach einem Neustart der Webui werden die Zeilen nicht so dargestellt.
              Liegt das an mir, oder wird das Paket nicht richtig unterstützt?

              Bsp

              <div class="center-block cols-md-4 .col-md-offset-4">
                                  <img class="img" src="*.png" id="xx">
              </div>
              

              Das Bild wird nicht zentriert und auch kein offset.

              Lg
              MaGe

              jogibear9988J 3 Antworten Letzte Antwort
              0
              • M MaGe

                @jogibear9988

                Hallo,
                vielen Dank für die tolle Webui.
                Ich beginne gerade mit meiner ersten Visualisierung. 🙂

                Um meine Idee zu realisieren habe ich das aktuellste NPM-Paket bootstrap hinzugefügt.
                Aber auch nach einem Neustart der Webui werden die Zeilen nicht so dargestellt.
                Liegt das an mir, oder wird das Paket nicht richtig unterstützt?

                Bsp

                <div class="center-block cols-md-4 .col-md-offset-4">
                                    <img class="img" src="*.png" id="xx">
                </div>
                

                Das Bild wird nicht zentriert und auch kein offset.

                Lg
                MaGe

                jogibear9988J Offline
                jogibear9988J Offline
                jogibear9988
                schrieb am zuletzt editiert von
                #47

                @mage
                nö, du kannst nicht einfach irgendwelche npm pakete nutzen.
                Diese müssen webcomponenten enthalten, und das paket muss passen, ich durchsuche die packet.json und lade dann den entsprechenden import.

                Wobei die css files könnte man vlt. importieren (zumindest manuel), ich schau mal wie ich bootstrap supporten kann.

                Du kannst aber einen globalen stylesheet defininieren, der wird dann in jedem view genutzt

                Check my ioBroker webui - a vis alternative
                see: https://github.com/iobroker-community-adapters/ioBroker.webui

                1 Antwort Letzte Antwort
                0
                • M MaGe

                  @jogibear9988

                  Hallo,
                  vielen Dank für die tolle Webui.
                  Ich beginne gerade mit meiner ersten Visualisierung. 🙂

                  Um meine Idee zu realisieren habe ich das aktuellste NPM-Paket bootstrap hinzugefügt.
                  Aber auch nach einem Neustart der Webui werden die Zeilen nicht so dargestellt.
                  Liegt das an mir, oder wird das Paket nicht richtig unterstützt?

                  Bsp

                  <div class="center-block cols-md-4 .col-md-offset-4">
                                      <img class="img" src="*.png" id="xx">
                  </div>
                  

                  Das Bild wird nicht zentriert und auch kein offset.

                  Lg
                  MaGe

                  jogibear9988J Offline
                  jogibear9988J Offline
                  jogibear9988
                  schrieb am zuletzt editiert von
                  #48

                  @mage

                  probier mal folgende zeile am anfang im html code:

                     <link href="/webui.0.widgets/node_modules/bootstrap/dist/css/bootstrap.css" rel="stylesheet" type="text/css">
                  

                  Check my ioBroker webui - a vis alternative
                  see: https://github.com/iobroker-community-adapters/ioBroker.webui

                  jogibear9988J 1 Antwort Letzte Antwort
                  0
                  • jogibear9988J jogibear9988

                    @mage

                    probier mal folgende zeile am anfang im html code:

                       <link href="/webui.0.widgets/node_modules/bootstrap/dist/css/bootstrap.css" rel="stylesheet" type="text/css">
                    
                    jogibear9988J Offline
                    jogibear9988J Offline
                    jogibear9988
                    schrieb am zuletzt editiert von jogibear9988
                    #49

                    und wenn du auch noch das paket:

                     @popperjs/core
                    

                    hinzufügst, kommt auch kein javascriptfehler mehr.
                    muss mal schauen warum ich das nicht als Abhängigkeit erkenne.

                    Check my ioBroker webui - a vis alternative
                    see: https://github.com/iobroker-community-adapters/ioBroker.webui

                    1 Antwort Letzte Antwort
                    0
                    • M MaGe

                      @jogibear9988

                      Hallo,
                      vielen Dank für die tolle Webui.
                      Ich beginne gerade mit meiner ersten Visualisierung. 🙂

                      Um meine Idee zu realisieren habe ich das aktuellste NPM-Paket bootstrap hinzugefügt.
                      Aber auch nach einem Neustart der Webui werden die Zeilen nicht so dargestellt.
                      Liegt das an mir, oder wird das Paket nicht richtig unterstützt?

                      Bsp

                      <div class="center-block cols-md-4 .col-md-offset-4">
                                          <img class="img" src="*.png" id="xx">
                      </div>
                      

                      Das Bild wird nicht zentriert und auch kein offset.

                      Lg
                      MaGe

                      jogibear9988J Offline
                      jogibear9988J Offline
                      jogibear9988
                      schrieb am zuletzt editiert von
                      #50

                      @mage

                      Falls du ne schöne visualiserung hast, wäre es cool wenn wir hier nen neuen Thread mit webUI Visu Bildern machen würden, und vlt. manchen screens als export. So wie es das auch für vis gibt.

                      Ich bin nämlich echt kein Grafiker, meine kann man nicht zeigen.

                      Ich baue gerade noch einen XML export (statt JSON), der ist dann lesbarer, da das enthaltene html nicht escaped ist. Und ich plane dann noch mehrere screens und controls auf einmal zu exportieren, so kann man zusammenhörige dinge auf einmal weitergeben

                      Check my ioBroker webui - a vis alternative
                      see: https://github.com/iobroker-community-adapters/ioBroker.webui

                      M 1 Antwort Letzte Antwort
                      1
                      • jogibear9988J jogibear9988

                        @mage

                        Falls du ne schöne visualiserung hast, wäre es cool wenn wir hier nen neuen Thread mit webUI Visu Bildern machen würden, und vlt. manchen screens als export. So wie es das auch für vis gibt.

                        Ich bin nämlich echt kein Grafiker, meine kann man nicht zeigen.

                        Ich baue gerade noch einen XML export (statt JSON), der ist dann lesbarer, da das enthaltene html nicht escaped ist. Und ich plane dann noch mehrere screens und controls auf einmal zu exportieren, so kann man zusammenhörige dinge auf einmal weitergeben

                        M Offline
                        M Offline
                        MaGe
                        schrieb am zuletzt editiert von MaGe
                        #51

                        @jogibear9988

                        Vielen Dank für deine Hinweise.
                        Mit der <link> Zeile werden die Bilder nebeneinander angeordnet.
                        Eine Fehlermeldung erhalte ich durch hinzufügen der Zeile nicht.

                        Ich bin kein Visualisierungskünstler und habe auch eher Anfängerkenntnisse in html.
                        Aber gerne hier meine ersten Gehversuche. 😉

                        Screenshot_1.jpg

                        Screenshot_2.jpg

                        <meta name="viewport" content="width=device-width,height:device-height, initial-scale=1, minimum-scale=1.0, maximum-scale=1.0, minimal-ui">
                        <link href="/webui.0.widgets/node_modules/bootstrap/dist/css/bootstrap.css" rel="stylesheet" type="text/css">
                        <iobroker-webui-hab-panel-like-menu class="container-fluid" style="color:inherit;height:device-height;position:relative;min-height:670px;padding-top:10px;background:none 0% 0% / auto repeat scroll padding-box border-box rgb(51, 51, 51);">
                            <div id="Header" style="height:40px;position:absolute;margin-left:0px;margin-top:0px;padding:0px;left:45%;top:0px;">
                                <span style="text-align:center;font-size:x-large;height:40px;position:relative;color:#858585;font-weight:bold;">Photovoltaik</span>
                            </div>
                            <div id="Menu" style="width:140px;height:670px;position:absolute;left:-200px;top:0px;opacity:0.9;display:flex;">
                                <div id="Home" style="width:140px;height:110px;position:absolute;left:0px;top:0px;opacity:0.9;">
                                    <button id="Home" title="Home" @click='{"commands":[{"type":"OpenScreen","screen":"home"},{"type":"SetElementProperty","name":"screenName","target":"property","targetSelector":"#ScreenView","value":"pool"},{"type":"SetElementProperty","name":"expanded","target":"property","targetSelectorTarget":"parentElement","value":false}]}' style="width:120px;height:100px;position:absolute;left:10px;top:10px;background:none 0% 0% / auto repeat scroll padding-box border-box gray;">
                                        <img src="/webui.0.data/config/images/Navigations_Home.png" style="position:relative;left:0%;top:5%;width:70px;height:70px;">
                                    </button>
                                </div>
                                <div id="EG" style="width:140px;height:110px;position:absolute;left:0px;top:110px;opacity:0.9;">
                                    <button id="EG" title="Home" @click='{"commands":[{"type":"OpenScreen","screen":"eg"},{"type":"SetElementProperty","name":"screenName","target":"property","targetSelector":"#ScreenView","value":"pool"},{"type":"SetElementProperty","name":"expanded","target":"property","targetSelectorTarget":"parentElement","value":false}]}' style="width:120px;height:100px;position:absolute;left:10px;top:10px;background:none 0% 0% / auto repeat scroll padding-box border-box gray;">
                                        <img src="/webui.0.data/config/images/Navigations_EG.png" style="position:relative;left:0%;top:5%;width:70px;height:70px;">
                                    </button>
                                </div>
                                <div id="OG" style="width:140px;height:110px;position:absolute;left:0px;top:220px;opacity:0.9;">
                                    <button id="OG" title="Home" @click='{"commands":[{"type":"OpenScreen","screen":"og"},{"type":"SetElementProperty","name":"screenName","target":"property","targetSelector":"#ScreenView","value":"pool"},{"type":"SetElementProperty","name":"expanded","target":"property","targetSelectorTarget":"parentElement","value":false}]}' style="width:120px;height:100px;position:absolute;left:10px;top:10px;background:none 0% 0% / auto repeat scroll padding-box border-box gray;">
                                        <img src="/webui.0.data/config/images/Navigations_OG.png" style="position:relative;left:0%;top:5%;width:70px;height:70px;">
                                    </button>
                                </div>
                                <div id="DG" style="width:140px;height:110px;position:absolute;left:0px;top:330px;opacity:0.9;">
                                    <button id="DG" title="Home" @click='{"commands":[{"type":"OpenScreen","screen":"dg"},{"type":"SetElementProperty","name":"screenName","target":"property","targetSelector":"#ScreenView","value":"pool"},{"type":"SetElementProperty","name":"expanded","target":"property","targetSelectorTarget":"parentElement","value":false}]}' style="width:120px;height:100px;position:absolute;left:10px;top:10px;background:none 0% 0% / auto repeat scroll padding-box border-box gray;">
                                        <img src="/webui.0.data/config/images/Navigations_DG.png" style="position:relative;left:0%;top:5%;width:70px;height:70px;">
                                    </button>
                                </div>
                                <div id="Heizung" style="width:140px;height:110px;position:absolute;left:0px;top:440px;opacity:0.9;">
                                    <button id="Heizung" title="Home" @click='{"commands":[{"type":"OpenScreen","screen":"heizung"},{"type":"SetElementProperty","name":"screenName","target":"property","targetSelector":"#ScreenView","value":"pool"},{"type":"SetElementProperty","name":"expanded","target":"property","targetSelectorTarget":"parentElement","value":false}]}' style="width:120px;height:100px;position:absolute;left:10px;top:10px;background:none 0% 0% / auto repeat scroll padding-box border-box gray;">
                                        <img src="/webui.0.data/config/images/Navigations_Heizung.png" style="position:relative;left:0%;top:5%;width:70px;height:70px;">
                                    </button>
                                </div>
                                <div id="Photovoltaik" style="width:140px;height:120px;position:absolute;left:0px;top:550px;opacity:0.9;">
                                    <button id="Photovoltaik" title="Home" @click='{"commands":[{"type":"OpenScreen","screen":"photovoltaik"},{"type":"SetElementProperty","name":"screenName","target":"property","targetSelector":"#ScreenView","value":"pool"},{"type":"SetElementProperty","name":"expanded","target":"property","targetSelectorTarget":"parentElement","value":false}]}' style="width:120px;height:100px;position:absolute;left:10px;top:10px;background:none 0% 0% / auto repeat scroll padding-box border-box gray;">
                                        <img src="/webui.0.data/config/images/Navigations_PV.png" style="position:relative;left:0%;top:5%;width:70px;height:70px;">
                                    </button>
                                </div>
                            </div>
                            <div id="ScreenView" style="height:90%;position:relative;width:100%;margin:0.5%;">
                                <div id="Screen_PV" style="height:100%;position:relative;width:95%;margin:20px;">
                                    <div id="Zeile_1" class="row" style="margin:5vh 0vh 2vh 0vh;">
                                        <div class="cols-md-4 col-xs-6 col-lg-6" style="width:33.33%;"></div>
                                        <div class="cols-md-4 col-xs-6 col-lg-6 col-md-offset-4 col-xs-offset-6 col-lg-offset-12" style="width:33.33%;transform-origin:420.375px 80.4333px;">
                                            <img class="img-responsive img-fluid mx-auto d-block float-center" src="/webui.0.data/config/images/PV-Module.png" id="PV-Module" style="max-width:40vh;">
                                        </div>
                                        <div class="cols-md-4 col-xs-6 col-lg-6 col-md-offset-8 col-xs-offset-12 col-lg-offset-24" style="width:33.33%;"></div>
                                    </div>
                                    <div id="Zeile_2" class="row" style="margin:2vh 0vh 2vh 0vh;">
                                        <div class="cols-md-4 .col-xs-6 col-lg-6" style="width:33.33%;"></div>
                                        <div class="cols-md-4 .col-xs-6 col-lg-6 .col-md-offset-4 .col-xs-offset-6 .col-lg-offset-12" style="width:33.33%;">
                                            <input value readonly id="Accumulated_Energy_Yield" bind-prop:value='{"signal":"node-red.0.Photovoltaik.Huawei.Inverter.Accumulated_Energy_Yield","inverted":false,"expression":"&#39;Energy Yield (total) &#39; + __0 + &#39; kWh&#39;","type":"number"}' class style="text-align:center;font-size:large;border:medium none currentcolor;color:White;width:100%;padding:0vh;background:none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">
                                            <input value readonly id="Daily_Energy_Yield" bind-prop:value='{"signal":"node-red.0.Photovoltaik.Huawei.Inverter.Daily_Energy_Yield","inverted":false,"expression":"&#39;Energy Yield (day) &#39; + __0 + &#39; kWh&#39;","type":"number"}' style="text-align:center;font-size:large;border:medium none currentcolor;color:White;width:100%;padding:0vh;background:none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">
                                            <input value readonly id="Input_Power" bind-prop:value='{"signal":"node-red.0.Photovoltaik.Huawei.Inverter.Input_Power","inverted":false,"expression":"&#39;Input Power &#39; + __0 + &#39; W&#39;","type":"number"}' style="text-align:center;font-size:large;color:White;border:medium none currentcolor;width:100%;padding:0vh;background:none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">
                                        </div>
                                        <div class="cols-md-4 .col-xs-6 col-lg-6" style="width:33.33%;"></div>
                                    </div>
                                    <div id="Zeile_3" class="row" style="margin:2vh 0vh 2vh 0vh;">
                                        <div class="cols-md-4 .col-xs-4 .col-lg-4" style="width:33.33%;height:auto;">
                                            <img class="img-responsive img-fluid mx-auto d-block float-center" src="/webui.0.data/config/images/Battery.png" id="Battery" style="max-width:20vh;padding:2.5vh;">
                                        </div>
                                        <div class="cols-md-4 .col-xs-4 .col-lg-4 .col-md-offset-4 .col-xs-offset-4 .col-lg-offset-4" style="width:33.33%;height:auto;">
                                            <img class="img-responsive img-fluid mx-auto d-block float-center" src="/webui.0.data/config/images/Wechselrichter.png" id="Wechselrichter" style="max-width:20vh;">
                                        </div>
                                        <div class="cols-md-4 .col-xs-4 .col-lg-4 .col-md-offset-8 .col-xs-offset-8 .col-lg-offset-8" style="width:33.33%;height:auto;">
                                            <img class="img-responsive img-fluid mx-auto d-block float-center" src="/webui.0.data/config/images/Wallbox.png" id="Wallbox" style="max-width:20vh;padding:2.5vh;">
                                        </div>
                                    </div>
                                    <div id="Zeile_4" class="row" style="margin:2vh 0vh 2vh 0vh;">
                                        <div class="cols-md-4 .col-xs-6 .col-lg-12" style="width:33.33%;">
                                            <input value readonly id="Battery_Power" bind-prop:value='{"signal":"node-red.0.Photovoltaik.Huawei.Battery.Battery_Power","expression":"&#39;Battery Power &#39; + __0 + &#39; W&#39;"}' style="text-align:center;font-size:large;border:medium none currentcolor;color:White;width:100%;padding:0vh;background:none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">
                                            <input value readonly id="Battery_SOC" bind-prop:value='{"signal":"node-red.0.Photovoltaik.Huawei.Battery.Battery_SOC","expression":"&#39;Battery SOC &#39; + __0 + &#39; %&#39;"}' style="text-align:center;font-size:large;border:medium none currentcolor;color:White;width:100%;padding:0vh;background:none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">
                                        </div>
                                        <div class="cols-md-4 .col-xs-6 .col-lg-12 .col-md-offset-4 .col-xs-offset-6 .col-lg-offset-6" style="width:33.33%;">
                                            <input value readonly id="Actice_Power" bind-prop:value='{"signal":"node-red.0.Photovoltaik.Huawei.Meter.Active_Power","expression":"&#39;Active Power &#39; + __0 + &#39; W&#39;"}' style="text-align:center;font-size:large;border:medium none currentcolor;color:White;width:100%;padding:0vh;background:none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">
                                            <input value readonly id="Peak_Actice_Power_of_current_Day" bind-prop:value='{"signal":"node-red.0.Photovoltaik.Huawei.Inverter.Peak_Active_Power_of_current_Day","expression":"&#39;Peak Active Power (day) &#39; + __0 + &#39; W&#39;"}' style="text-align:center;font-size:large;border:medium none currentcolor;color:White;width:100%;padding:0vh;background:none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">
                                        </div>
                                        <div class="cols-md-4 .col-xs-6 .col-lg-12 .col-md-offset-8 .col-xs-offset-12 .col-lg-offset-24" style="width:33.33%;"></div>
                                    </div>
                                </div>
                            </div>
                            <div id="Footer">
                                <i class="text-center" id="Copyright">© 2023</i>
                            </div>
                        </iobroker-webui-hab-panel-like-menu>
                        
                        

                        Lg
                        MaGe

                        jogibear9988J 1 Antwort Letzte Antwort
                        0
                        • M MaGe

                          @jogibear9988

                          Vielen Dank für deine Hinweise.
                          Mit der <link> Zeile werden die Bilder nebeneinander angeordnet.
                          Eine Fehlermeldung erhalte ich durch hinzufügen der Zeile nicht.

                          Ich bin kein Visualisierungskünstler und habe auch eher Anfängerkenntnisse in html.
                          Aber gerne hier meine ersten Gehversuche. 😉

                          Screenshot_1.jpg

                          Screenshot_2.jpg

                          <meta name="viewport" content="width=device-width,height:device-height, initial-scale=1, minimum-scale=1.0, maximum-scale=1.0, minimal-ui">
                          <link href="/webui.0.widgets/node_modules/bootstrap/dist/css/bootstrap.css" rel="stylesheet" type="text/css">
                          <iobroker-webui-hab-panel-like-menu class="container-fluid" style="color:inherit;height:device-height;position:relative;min-height:670px;padding-top:10px;background:none 0% 0% / auto repeat scroll padding-box border-box rgb(51, 51, 51);">
                              <div id="Header" style="height:40px;position:absolute;margin-left:0px;margin-top:0px;padding:0px;left:45%;top:0px;">
                                  <span style="text-align:center;font-size:x-large;height:40px;position:relative;color:#858585;font-weight:bold;">Photovoltaik</span>
                              </div>
                              <div id="Menu" style="width:140px;height:670px;position:absolute;left:-200px;top:0px;opacity:0.9;display:flex;">
                                  <div id="Home" style="width:140px;height:110px;position:absolute;left:0px;top:0px;opacity:0.9;">
                                      <button id="Home" title="Home" @click='{"commands":[{"type":"OpenScreen","screen":"home"},{"type":"SetElementProperty","name":"screenName","target":"property","targetSelector":"#ScreenView","value":"pool"},{"type":"SetElementProperty","name":"expanded","target":"property","targetSelectorTarget":"parentElement","value":false}]}' style="width:120px;height:100px;position:absolute;left:10px;top:10px;background:none 0% 0% / auto repeat scroll padding-box border-box gray;">
                                          <img src="/webui.0.data/config/images/Navigations_Home.png" style="position:relative;left:0%;top:5%;width:70px;height:70px;">
                                      </button>
                                  </div>
                                  <div id="EG" style="width:140px;height:110px;position:absolute;left:0px;top:110px;opacity:0.9;">
                                      <button id="EG" title="Home" @click='{"commands":[{"type":"OpenScreen","screen":"eg"},{"type":"SetElementProperty","name":"screenName","target":"property","targetSelector":"#ScreenView","value":"pool"},{"type":"SetElementProperty","name":"expanded","target":"property","targetSelectorTarget":"parentElement","value":false}]}' style="width:120px;height:100px;position:absolute;left:10px;top:10px;background:none 0% 0% / auto repeat scroll padding-box border-box gray;">
                                          <img src="/webui.0.data/config/images/Navigations_EG.png" style="position:relative;left:0%;top:5%;width:70px;height:70px;">
                                      </button>
                                  </div>
                                  <div id="OG" style="width:140px;height:110px;position:absolute;left:0px;top:220px;opacity:0.9;">
                                      <button id="OG" title="Home" @click='{"commands":[{"type":"OpenScreen","screen":"og"},{"type":"SetElementProperty","name":"screenName","target":"property","targetSelector":"#ScreenView","value":"pool"},{"type":"SetElementProperty","name":"expanded","target":"property","targetSelectorTarget":"parentElement","value":false}]}' style="width:120px;height:100px;position:absolute;left:10px;top:10px;background:none 0% 0% / auto repeat scroll padding-box border-box gray;">
                                          <img src="/webui.0.data/config/images/Navigations_OG.png" style="position:relative;left:0%;top:5%;width:70px;height:70px;">
                                      </button>
                                  </div>
                                  <div id="DG" style="width:140px;height:110px;position:absolute;left:0px;top:330px;opacity:0.9;">
                                      <button id="DG" title="Home" @click='{"commands":[{"type":"OpenScreen","screen":"dg"},{"type":"SetElementProperty","name":"screenName","target":"property","targetSelector":"#ScreenView","value":"pool"},{"type":"SetElementProperty","name":"expanded","target":"property","targetSelectorTarget":"parentElement","value":false}]}' style="width:120px;height:100px;position:absolute;left:10px;top:10px;background:none 0% 0% / auto repeat scroll padding-box border-box gray;">
                                          <img src="/webui.0.data/config/images/Navigations_DG.png" style="position:relative;left:0%;top:5%;width:70px;height:70px;">
                                      </button>
                                  </div>
                                  <div id="Heizung" style="width:140px;height:110px;position:absolute;left:0px;top:440px;opacity:0.9;">
                                      <button id="Heizung" title="Home" @click='{"commands":[{"type":"OpenScreen","screen":"heizung"},{"type":"SetElementProperty","name":"screenName","target":"property","targetSelector":"#ScreenView","value":"pool"},{"type":"SetElementProperty","name":"expanded","target":"property","targetSelectorTarget":"parentElement","value":false}]}' style="width:120px;height:100px;position:absolute;left:10px;top:10px;background:none 0% 0% / auto repeat scroll padding-box border-box gray;">
                                          <img src="/webui.0.data/config/images/Navigations_Heizung.png" style="position:relative;left:0%;top:5%;width:70px;height:70px;">
                                      </button>
                                  </div>
                                  <div id="Photovoltaik" style="width:140px;height:120px;position:absolute;left:0px;top:550px;opacity:0.9;">
                                      <button id="Photovoltaik" title="Home" @click='{"commands":[{"type":"OpenScreen","screen":"photovoltaik"},{"type":"SetElementProperty","name":"screenName","target":"property","targetSelector":"#ScreenView","value":"pool"},{"type":"SetElementProperty","name":"expanded","target":"property","targetSelectorTarget":"parentElement","value":false}]}' style="width:120px;height:100px;position:absolute;left:10px;top:10px;background:none 0% 0% / auto repeat scroll padding-box border-box gray;">
                                          <img src="/webui.0.data/config/images/Navigations_PV.png" style="position:relative;left:0%;top:5%;width:70px;height:70px;">
                                      </button>
                                  </div>
                              </div>
                              <div id="ScreenView" style="height:90%;position:relative;width:100%;margin:0.5%;">
                                  <div id="Screen_PV" style="height:100%;position:relative;width:95%;margin:20px;">
                                      <div id="Zeile_1" class="row" style="margin:5vh 0vh 2vh 0vh;">
                                          <div class="cols-md-4 col-xs-6 col-lg-6" style="width:33.33%;"></div>
                                          <div class="cols-md-4 col-xs-6 col-lg-6 col-md-offset-4 col-xs-offset-6 col-lg-offset-12" style="width:33.33%;transform-origin:420.375px 80.4333px;">
                                              <img class="img-responsive img-fluid mx-auto d-block float-center" src="/webui.0.data/config/images/PV-Module.png" id="PV-Module" style="max-width:40vh;">
                                          </div>
                                          <div class="cols-md-4 col-xs-6 col-lg-6 col-md-offset-8 col-xs-offset-12 col-lg-offset-24" style="width:33.33%;"></div>
                                      </div>
                                      <div id="Zeile_2" class="row" style="margin:2vh 0vh 2vh 0vh;">
                                          <div class="cols-md-4 .col-xs-6 col-lg-6" style="width:33.33%;"></div>
                                          <div class="cols-md-4 .col-xs-6 col-lg-6 .col-md-offset-4 .col-xs-offset-6 .col-lg-offset-12" style="width:33.33%;">
                                              <input value readonly id="Accumulated_Energy_Yield" bind-prop:value='{"signal":"node-red.0.Photovoltaik.Huawei.Inverter.Accumulated_Energy_Yield","inverted":false,"expression":"&#39;Energy Yield (total) &#39; + __0 + &#39; kWh&#39;","type":"number"}' class style="text-align:center;font-size:large;border:medium none currentcolor;color:White;width:100%;padding:0vh;background:none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">
                                              <input value readonly id="Daily_Energy_Yield" bind-prop:value='{"signal":"node-red.0.Photovoltaik.Huawei.Inverter.Daily_Energy_Yield","inverted":false,"expression":"&#39;Energy Yield (day) &#39; + __0 + &#39; kWh&#39;","type":"number"}' style="text-align:center;font-size:large;border:medium none currentcolor;color:White;width:100%;padding:0vh;background:none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">
                                              <input value readonly id="Input_Power" bind-prop:value='{"signal":"node-red.0.Photovoltaik.Huawei.Inverter.Input_Power","inverted":false,"expression":"&#39;Input Power &#39; + __0 + &#39; W&#39;","type":"number"}' style="text-align:center;font-size:large;color:White;border:medium none currentcolor;width:100%;padding:0vh;background:none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">
                                          </div>
                                          <div class="cols-md-4 .col-xs-6 col-lg-6" style="width:33.33%;"></div>
                                      </div>
                                      <div id="Zeile_3" class="row" style="margin:2vh 0vh 2vh 0vh;">
                                          <div class="cols-md-4 .col-xs-4 .col-lg-4" style="width:33.33%;height:auto;">
                                              <img class="img-responsive img-fluid mx-auto d-block float-center" src="/webui.0.data/config/images/Battery.png" id="Battery" style="max-width:20vh;padding:2.5vh;">
                                          </div>
                                          <div class="cols-md-4 .col-xs-4 .col-lg-4 .col-md-offset-4 .col-xs-offset-4 .col-lg-offset-4" style="width:33.33%;height:auto;">
                                              <img class="img-responsive img-fluid mx-auto d-block float-center" src="/webui.0.data/config/images/Wechselrichter.png" id="Wechselrichter" style="max-width:20vh;">
                                          </div>
                                          <div class="cols-md-4 .col-xs-4 .col-lg-4 .col-md-offset-8 .col-xs-offset-8 .col-lg-offset-8" style="width:33.33%;height:auto;">
                                              <img class="img-responsive img-fluid mx-auto d-block float-center" src="/webui.0.data/config/images/Wallbox.png" id="Wallbox" style="max-width:20vh;padding:2.5vh;">
                                          </div>
                                      </div>
                                      <div id="Zeile_4" class="row" style="margin:2vh 0vh 2vh 0vh;">
                                          <div class="cols-md-4 .col-xs-6 .col-lg-12" style="width:33.33%;">
                                              <input value readonly id="Battery_Power" bind-prop:value='{"signal":"node-red.0.Photovoltaik.Huawei.Battery.Battery_Power","expression":"&#39;Battery Power &#39; + __0 + &#39; W&#39;"}' style="text-align:center;font-size:large;border:medium none currentcolor;color:White;width:100%;padding:0vh;background:none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">
                                              <input value readonly id="Battery_SOC" bind-prop:value='{"signal":"node-red.0.Photovoltaik.Huawei.Battery.Battery_SOC","expression":"&#39;Battery SOC &#39; + __0 + &#39; %&#39;"}' style="text-align:center;font-size:large;border:medium none currentcolor;color:White;width:100%;padding:0vh;background:none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">
                                          </div>
                                          <div class="cols-md-4 .col-xs-6 .col-lg-12 .col-md-offset-4 .col-xs-offset-6 .col-lg-offset-6" style="width:33.33%;">
                                              <input value readonly id="Actice_Power" bind-prop:value='{"signal":"node-red.0.Photovoltaik.Huawei.Meter.Active_Power","expression":"&#39;Active Power &#39; + __0 + &#39; W&#39;"}' style="text-align:center;font-size:large;border:medium none currentcolor;color:White;width:100%;padding:0vh;background:none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">
                                              <input value readonly id="Peak_Actice_Power_of_current_Day" bind-prop:value='{"signal":"node-red.0.Photovoltaik.Huawei.Inverter.Peak_Active_Power_of_current_Day","expression":"&#39;Peak Active Power (day) &#39; + __0 + &#39; W&#39;"}' style="text-align:center;font-size:large;border:medium none currentcolor;color:White;width:100%;padding:0vh;background:none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">
                                          </div>
                                          <div class="cols-md-4 .col-xs-6 .col-lg-12 .col-md-offset-8 .col-xs-offset-12 .col-lg-offset-24" style="width:33.33%;"></div>
                                      </div>
                                  </div>
                              </div>
                              <div id="Footer">
                                  <i class="text-center" id="Copyright">© 2023</i>
                              </div>
                          </iobroker-webui-hab-panel-like-menu>
                          
                          

                          Lg
                          MaGe

                          jogibear9988J Offline
                          jogibear9988J Offline
                          jogibear9988
                          schrieb am zuletzt editiert von
                          #52

                          @mage
                          Das meta tag wird nix bringen, da das ganze html in einer webkomponente enthalten ist. brauchst du das denn? wenn ja kann ich noch was einbauen das man meta tags übergeben kann, oder html welches direkt in die runtime page eingebaut wird.

                          es gibt einen javascript fehler in der chrome console, da popperjs nicht geladen werden kann. d.h. die teile von bootstrap die popper nutzen gehen nicht (kp, was von bootstrap das nutzt). Und das sollte gehen wenn es hinzufügst.

                          ich würde den main content in einen extra screen packen und dann die screens umschalten, dann ist es für dich später vlt übersichtlicher (hab ich in meinem video zum menü erklärt). Kannst aber auch alles in einen screen packen und den content dann ein u. ausblenden...

                          Check my ioBroker webui - a vis alternative
                          see: https://github.com/iobroker-community-adapters/ioBroker.webui

                          M 1 Antwort Letzte Antwort
                          0
                          • jogibear9988J Offline
                            jogibear9988J Offline
                            jogibear9988
                            schrieb am zuletzt editiert von
                            #53

                            Es gibt wieder eine Live Demo der WebUI, darin könnt Ihr rumspielen und probieren...

                            http://129.159.205.3:8082/webui/index.html

                            Check my ioBroker webui - a vis alternative
                            see: https://github.com/iobroker-community-adapters/ioBroker.webui

                            B Marc BergM 2 Antworten Letzte Antwort
                            0
                            • jogibear9988J jogibear9988

                              @mage
                              Das meta tag wird nix bringen, da das ganze html in einer webkomponente enthalten ist. brauchst du das denn? wenn ja kann ich noch was einbauen das man meta tags übergeben kann, oder html welches direkt in die runtime page eingebaut wird.

                              es gibt einen javascript fehler in der chrome console, da popperjs nicht geladen werden kann. d.h. die teile von bootstrap die popper nutzen gehen nicht (kp, was von bootstrap das nutzt). Und das sollte gehen wenn es hinzufügst.

                              ich würde den main content in einen extra screen packen und dann die screens umschalten, dann ist es für dich später vlt übersichtlicher (hab ich in meinem video zum menü erklärt). Kannst aber auch alles in einen screen packen und den content dann ein u. ausblenden...

                              M Offline
                              M Offline
                              MaGe
                              schrieb am zuletzt editiert von
                              #54

                              @jogibear9988

                              Den meta tag benötige ich nicht unbedingt. Funktioniert auch so wie es soll.
                              Das Paket @popperjs/core habe ich hinzugefügt.
                              Danke nochmal für die Erklärung.

                              Am WE werde ich mir das mit dem content nochmal anschauen und an der Struktur arbeiten.

                              1 Antwort Letzte Antwort
                              0
                              • jogibear9988J jogibear9988

                                Es gibt wieder eine Live Demo der WebUI, darin könnt Ihr rumspielen und probieren...

                                http://129.159.205.3:8082/webui/index.html

                                B Offline
                                B Offline
                                Blockmove
                                schrieb am zuletzt editiert von
                                #55

                                @jogibear9988 said in neue Visualiserung "webui" im stable repository:

                                Es gibt wieder eine Live Demo der WebUI, darin könnt Ihr rumspielen und probieren...

                                http://129.159.205.3:8082/webui/index.html

                                Deine Visu hat nen schönen Vorteil für mich:
                                Ich muss mich wieder mit HTML und CSS beschäftigen.
                                Davor hab ich mich lang gedrückt 😊

                                The difference beetween Man and Boys:
                                The price of their toys 😀

                                1 Antwort Letzte Antwort
                                0
                                • jogibear9988J Offline
                                  jogibear9988J Offline
                                  jogibear9988
                                  schrieb am zuletzt editiert von jogibear9988
                                  #56

                                  Neue Funktion: Upload von "addtional files".

                                  Damit könnt Ihr zusätzliche Dateien hochladen welche Ihr in eurer Visu verwenden wollt:

                                  7e5f5dd1-0e79-4ec0-95e3-13863260baf7-image.png

                                  Bspw. könnt Ihr ein SweetHome3D Projekt hochladen und dieses dann über die SweetHome3d Komponente anzeigen:

                                  f112c92d-6a4e-434b-8fd4-10b9400aca16-image.png

                                  Bsp. gibts hier: http://129.159.205.3:8082/webui/index.html

                                  Check my ioBroker webui - a vis alternative
                                  see: https://github.com/iobroker-community-adapters/ioBroker.webui

                                  1 Antwort Letzte Antwort
                                  0
                                  • B Offline
                                    B Offline
                                    Blockmove
                                    schrieb am zuletzt editiert von
                                    #57

                                    Hallo Jochen,

                                    ich hab in einem Control ein Event angelegt.
                                    Möchte ich nun das Event mit Remove Item entfernen, so funktioniert das nicht.

                                    RemoveItem.png

                                    webui: 0.15.1
                                    Node.js: 18.17.1
                                    Browser: Firefox

                                    The difference beetween Man and Boys:
                                    The price of their toys 😀

                                    jogibear9988J 2 Antworten Letzte Antwort
                                    0
                                    • B Blockmove

                                      Hallo Jochen,

                                      ich hab in einem Control ein Event angelegt.
                                      Möchte ich nun das Event mit Remove Item entfernen, so funktioniert das nicht.

                                      RemoveItem.png

                                      webui: 0.15.1
                                      Node.js: 18.17.1
                                      Browser: Firefox

                                      jogibear9988J Offline
                                      jogibear9988J Offline
                                      jogibear9988
                                      schrieb am zuletzt editiert von
                                      #58

                                      @blockmove

                                      Ist ein Script, welches du auf ein Event anlegst. 🙂

                                      Ja hast recht, ist durch die umstellung auf "Wunderbaum" kaputt gegangen. Fixe ich später, bzw. morgen.
                                      Zur Not kannst es im Moment mit umschalten auf den HTML Quellcode löschen

                                      Check my ioBroker webui - a vis alternative
                                      see: https://github.com/iobroker-community-adapters/ioBroker.webui

                                      B 1 Antwort Letzte Antwort
                                      0
                                      • jogibear9988J jogibear9988

                                        @blockmove

                                        Ist ein Script, welches du auf ein Event anlegst. 🙂

                                        Ja hast recht, ist durch die umstellung auf "Wunderbaum" kaputt gegangen. Fixe ich später, bzw. morgen.
                                        Zur Not kannst es im Moment mit umschalten auf den HTML Quellcode löschen

                                        B Offline
                                        B Offline
                                        Blockmove
                                        schrieb am zuletzt editiert von
                                        #59

                                        @jogibear9988 said in neue Visualiserung "webui" im stable repository:

                                        @blockmove

                                        Ist ein Script, welches du auf ein Event anlegst. 🙂

                                        Ja hast recht, ist durch die umstellung auf "Wunderbaum" kaputt gegangen. Fixe ich später, bzw. morgen.
                                        Zur Not kannst es im Moment mit umschalten auf den HTML Quellcode löschen

                                        Das Editieren in der Split-View bzw. Code-View finde ich klasse in deiner webui!

                                        The difference beetween Man and Boys:
                                        The price of their toys 😀

                                        1 Antwort Letzte Antwort
                                        0
                                        • B Blockmove

                                          Hallo Jochen,

                                          ich hab in einem Control ein Event angelegt.
                                          Möchte ich nun das Event mit Remove Item entfernen, so funktioniert das nicht.

                                          RemoveItem.png

                                          webui: 0.15.1
                                          Node.js: 18.17.1
                                          Browser: Firefox

                                          jogibear9988J Offline
                                          jogibear9988J Offline
                                          jogibear9988
                                          schrieb am zuletzt editiert von
                                          #60

                                          @blockmove

                                          das im scripteditor ist gefixt

                                          Check my ioBroker webui - a vis alternative
                                          see: https://github.com/iobroker-community-adapters/ioBroker.webui

                                          1 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          663

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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