Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. 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)

Scheduled Pinned Locked Moved Visualisierung
1.1k Posts 21 Posters 347.8k Views 18 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • 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
    wrote on last edited by
    #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 Reply Last reply
    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
      wrote on last edited by
      #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 Reply Last reply
      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
        wrote on last edited by 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 Reply Last reply
        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
          wrote on last edited by
          #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 Reply Last reply
          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
            wrote on last edited by 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 Reply Last reply
            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
              wrote on last edited by
              #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 Reply Last reply
              0
              • jogibear9988J Offline
                jogibear9988J Offline
                jogibear9988
                wrote on last edited by
                #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 Replies Last reply
                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
                  wrote on last edited by
                  #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 Reply Last reply
                  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
                    wrote on last edited by
                    #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 Reply Last reply
                    0
                    • jogibear9988J Offline
                      jogibear9988J Offline
                      jogibear9988
                      wrote on last edited by 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 Reply Last reply
                      0
                      • B Offline
                        B Offline
                        Blockmove
                        wrote on last edited by
                        #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 Replies Last reply
                        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
                          wrote on last edited by
                          #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 Reply Last reply
                          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
                            wrote on last edited by
                            #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 Reply Last reply
                            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
                              wrote on last edited by
                              #60

                              @blockmove

                              das im scripteditor ist gefixt

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

                              1 Reply Last reply
                              1
                              • jogibear9988J Offline
                                jogibear9988J Offline
                                jogibear9988
                                wrote on last edited by
                                #61

                                gibt noch einen neuen abschnitt im solution explorer: "global/font declaration style"
                                afb50a33-aa8c-420a-b17d-e88419616271-image.png

                                damit könnt ihr bspw. font declarations einfügen welche im root style hinzugefügt werden. denn custom fonts können nicht im shadowdom geladen werden.

                                dadurch könnt ihr über die "additionalFiles" auch eigene schriften einbinden. beispiel im live system das hier verlinkt ist.

                                7208b849-c116-4c3f-825c-b97737f50154-image.png

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

                                1 Reply Last reply
                                0
                                • B Offline
                                  B Offline
                                  Blockmove
                                  wrote on last edited by
                                  #62

                                  Hallo Jochen,
                                  ich bastel gerade mein erstes CustomControl.
                                  Dank deinem Video ist es auch recht einfach.
                                  Einen Feature-Request hätte ich dazu:
                                  Könntest du bitte die Reihenfolge der Properties änderbar machen.
                                  Properties.png
                                  Vielleicht "einfach" vor den del-Button einen Button für auf und ab?

                                  Vielen Dank und Schönes Wochenende!

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

                                  jogibear9988J 1 Reply Last reply
                                  0
                                  • B Blockmove

                                    Hallo Jochen,
                                    ich bastel gerade mein erstes CustomControl.
                                    Dank deinem Video ist es auch recht einfach.
                                    Einen Feature-Request hätte ich dazu:
                                    Könntest du bitte die Reihenfolge der Properties änderbar machen.
                                    Properties.png
                                    Vielleicht "einfach" vor den del-Button einen Button für auf und ab?

                                    Vielen Dank und Schönes Wochenende!

                                    jogibear9988J Offline
                                    jogibear9988J Offline
                                    jogibear9988
                                    wrote on last edited by
                                    #63

                                    @blockmove

                                    schau ich mir an. Vlt. übernehm ich einfach das gleiche wie beim script editor.
                                    Da kannst die Einträge per Drag/Drop verschieben

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

                                    B 1 Reply Last reply
                                    0
                                    • jogibear9988J jogibear9988

                                      @blockmove

                                      schau ich mir an. Vlt. übernehm ich einfach das gleiche wie beim script editor.
                                      Da kannst die Einträge per Drag/Drop verschieben

                                      B Offline
                                      B Offline
                                      Blockmove
                                      wrote on last edited by Blockmove
                                      #64

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

                                      @blockmove

                                      schau ich mir an. Vlt. übernehm ich einfach das gleiche wie beim script editor.
                                      Da kannst die Einträge per Drag/Drop verschieben

                                      Drag und Drop geht natürlich genauso. Dann ist das Bedienkonzept einheitlich.
                                      Die CustomControls sind auf jeden Fall richtig praktisch!

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

                                      jogibear9988J 2 Replies Last reply
                                      0
                                      • B Blockmove

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

                                        @blockmove

                                        schau ich mir an. Vlt. übernehm ich einfach das gleiche wie beim script editor.
                                        Da kannst die Einträge per Drag/Drop verschieben

                                        Drag und Drop geht natürlich genauso. Dann ist das Bedienkonzept einheitlich.
                                        Die CustomControls sind auf jeden Fall richtig praktisch!

                                        jogibear9988J Offline
                                        jogibear9988J Offline
                                        jogibear9988
                                        wrote on last edited by jogibear9988
                                        #65

                                        @blockmove
                                        sind ja eigentlich auch nur webcomponenten. Das was man dort erstellt kann man auch ganz leicht als alleinstehende komponente veröffentlichen.

                                        Was wir noch fehlt sind ein paar gescheite Standard Controls wie sie Vis mit ausliefert.

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

                                        1 Reply Last reply
                                        0
                                        • B Blockmove

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

                                          @blockmove

                                          schau ich mir an. Vlt. übernehm ich einfach das gleiche wie beim script editor.
                                          Da kannst die Einträge per Drag/Drop verschieben

                                          Drag und Drop geht natürlich genauso. Dann ist das Bedienkonzept einheitlich.
                                          Die CustomControls sind auf jeden Fall richtig praktisch!

                                          jogibear9988J Offline
                                          jogibear9988J Offline
                                          jogibear9988
                                          wrote on last edited by
                                          #66

                                          @blockmove
                                          wenn etwas gebaut hast was auch für andre was ist, kannsts ja hier veröffentlichen 🙂

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

                                          B 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          531

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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