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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. 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.7k

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

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

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

Geplant Angeheftet Gesperrt Verschoben Visualisierung
1.1k Beiträge 21 Kommentatoren 351.2k Aufrufe 19 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

    @smilie108 said in neue Visualisierung "webui" (alternative zu vis & vis-2):

    eight="200" frameborder="0">" internal="true"

    da ist wohl ein fehler im export, ein " zuviel

    K Offline
    K Offline
    Kamikaze
    schrieb am zuletzt editiert von
    #996

    @jogibear9988 Hallo jogibear,
    nachdem ich von dir nichts mehr gehört habe, habe ich erneut den Adapter installiert, dieses Mal über npm.
    Und was soll ich sagen, jetzt ist auch die Runtime auf Version 1.25.0 und alles funktiniert wie gewünscht.

    VIELEN DANK für deine tatkräftige Unterstützung.

    jogibear9988J 1 Antwort Letzte Antwort
    0
    • K Kamikaze

      @jogibear9988 Hallo jogibear,
      nachdem ich von dir nichts mehr gehört habe, habe ich erneut den Adapter installiert, dieses Mal über npm.
      Und was soll ich sagen, jetzt ist auch die Runtime auf Version 1.25.0 und alles funktiniert wie gewünscht.

      VIELEN DANK für deine tatkräftige Unterstützung.

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

      @kamikaze said in neue Visualisierung "webui" (alternative zu vis & vis-2):

      @jogibear9988 Hallo jogibear,
      nachdem ich von dir nichts mehr gehört habe, habe ich erneut den Adapter installiert, dieses Mal über npm.
      Und was soll ich sagen, jetzt ist auch die Runtime auf Version 1.25.0 und alles funktiniert wie gewünscht.

      VIELEN DANK für deine tatkräftige Unterstützung.

      sorry... bin krank seit gestern, daher keine antwort

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

      K 1 Antwort Letzte Antwort
      0
      • Smilie108S Smilie108

        @jogibear9988 mhm bei mir ae1bae27-604f-4acc-b70f-7c5928ae981a-grafik.png

        export bei mir import bei dir

        <?xml version="1.0" encoding="UTF-8"?>
        <screen>
            <html><![CDATA[
        <button @click='{"commands":[{"type":"SetSignalValue","signal":{"name":"selector_range","source":"property"},"value":"day"}]}' style="width:80px;height:30px;position:absolute;left:3px;top:31px;">Tag</button>
        <button @click='{"commands":[{"type":"SetSignalValue","signal":{"name":"selector_range","source":"property"},"value":"week"}]}' style="width:80px;height:30px;position:absolute;left:83px;top:31px;">Woche</button>
        <button @click='{"commands":[{"type":"SetSignalValue","signal":{"name":"selector_range","source":"property"},"value":"month"}]}' style="width:80px;height:30px;position:absolute;left:163px;top:31px;">Monat</button>
        <button @click='{"commands":[{"type":"SetSignalValue","signal":{"name":"selector_range","source":"property"},"value":"year"}]}' style="width:80px;height:30px;position:absolute;left:243px;top:31px;">Jahr</button>
        <input type="date" id="theDate" bind-prop:value-as-number="=??selector_zeit" autofocus style="position:absolute;left:46.66669845581055px;top:4.5px;transform-origin:108.16669999999999px 8.5px;">
        <button @click='{"commands":[{"type":"SetSignalValue","signal":{"name":"selector_zeit","source":"property"},"value":"jetzt"}]}' style="width:80px;height:30px;position:absolute;left:196px;top:0px;">Jetzt</button>
        <select id="refresh" bind-prop:value="=??selector_refresh" style="position:absolute;left:323px;top:30px;width:113px;height:30px;">
            <option value="0">Keine</option>
            <option value="10">10 sec</option>
            <option value="30">30 sec</option>
            <option value="60">60 sec</option>
            <option value="120">120 sec</option>
            <option value="240">240 sec</option>
            <option value="300">300 sec</option>
        </select>
        <select id="refresh" bind-prop:value="=??selector_id" style="position:absolute;left:436px;top:30px;width:109px;height:30px;">
            <option value="1">Kurve 1</option>
            <option value="2">Kurve 2</option>
            <option value="3">Kurve 3</option>
            <option value="4">Kurve 4</option>
            <option value="5">Kurve 5</option>
        </select>
        <span style="position:absolute;left:436px;top:7px;">Kurvenauswahl</span>
        <span style="position:absolute;left:326.5999984741211px;top:7px;">Aktualisierung</span>
        <iframe bind-prop:src="??urliframe" style="position:absolute;left:63px;top:156px;width:1083px;height:614px;"></iframe>
        
        ]]></html>
            <style><![CDATA[
        :host {
        }
        
        * {
            box-sizing: border-box;
        }
        ]]></style>
            <script><![CDATA[
        // 
        var url1 = 'http://192.168.2.30:3000/d-solo/ddkp5npbeom4gb/wasserstand-inn?orgId=1&from=';
        /* Ab hier keine änderungen machen
        http://192.168.2.30:3000/d-solo/ddkp5npbeom4gb/wasserstand-inn?orgId=1&from=1737548332076&to=1737580732076&timezone=browser&panelId=1&__feature.dashboardSceneSolo" width="450" height="200" frameborder="0">
        */
        var ptag = selector_zeit;/*Selector Zeit*/
        var prange = selector_range;/*Selector Range*/
        var prefresh1 = selector_refresh;
        /* Id selector selektiert in graphana die id in einem chart dadurch kann man mehrere Vorlagen erstellen wegen mobilen Auswahlforamt*/
        /* Wichtig die id muss natürlich auch in grafana vorhanden sein*/
        var idselector = selector_id;/*Selector Graph ID*/
        /* Variabel wohin dei fertige Url geschrieben wird */
        var urlfertig = urliframe;/*Fertige Url*/
        var timezone = 2;
        var zeitverschiebung = timezone * 3600000;
        // Aufplitten zum später zusammensetzen
        var urlteil1 = url1;
        var urlteil2 = '&to=';
        var urlteil21 = '&refresh=';
        var urlteil3 = 's&panelId=';
        var urlteil4 = 'width="450" height="200" frameborder="0"';
        // Auf Änderungen reagieren
        var changesArray3 = [ptag, prange, idselector, prefresh1];
        on({ id: changesArray3, change: "any" }, function (obj) {
            /* Ausführung der anpassung der Url für aufruf*/
            /* Startzeit für Grafana in Timestamp*/
            var startzeit = getState(ptag).val;
            var endzeit = getState(prange).val;
            var idselector1 = getState(idselector).val;
            var refrescht = getState(prefresh1).val;
            if (endzeit == "jetzt" && startzeit != "0") {
                var helper23 = "0";
                setState(ptag, helper23);
            }
        
            if (endzeit != "jetzt") {
                var helper25 = "0";
                refrescht = helper25;
            }
        
        
            if (endzeit != "jetzt" && startzeit == "0") {
                const currentDate = new Date(new Date().setHours(0, 0, 0, 0));
                const timestamp1 = currentDate.getTime();
                var helper24 = (timestamp1 + 3600000);// (Date.now() - 21600000);
                setState(ptag, helper24)
            }
            /* von utc auf timezone +2h 
            var startzeit1 = (startzeit + 3600000);*/
            if (endzeit == "jetzt") {
                startzeit1 = "0";
            }
            else { var startzeit1 = startzeit }
        
        
            if (startzeit1 == "0" || startzeit1 == "null" || startzeit1 < "1000") {
                if (endzeit == "day") { var startzeit2 = (Date.now() - 86400000) }
                else if (endzeit == "jetzt") { var startzeitfertig1 = 'now-4h' }    /* 4h*/
                else if (endzeit == "week") { var startzeit2 = (Date.now() - 604800000) }
                else if (endzeit == "month") { var startzeit2 = (Date.now() - 2629743000) }
                else if (endzeit == "year") { var startzeit2 = (Date.now() - 31556926000) }
                else { var startzeit2 = (Date.now() - 86400000) }
            }
        
        
            else { startzeit2 = startzeit1 }
            /* da je nach system die Timestamps anders ausschauen kann man sie hier manipulieren */
            var startzeitfertig = startzeit2 / 1;
            if (endzeit == "jetzt") { startzeitfertig = 'now-8h' };
        
            /* Anzeigeende festlegen*/
            var endezeitad = zeitverschiebung + 3600000;
        
        
            if (endzeit == "day") { var endzeitfertig = startzeitfertig + 86400000 + endezeitad }
            else if (endzeit == "jetzt") { var endzeitfertig = 'now%2B2h' }
            else if (endzeit == "week") { var endzeitfertig = startzeitfertig + 604800000 + endezeitad }
            else if (endzeit == "month") { var endzeitfertig = startzeitfertig + 2629743000 + endezeitad }
            else if (endzeit == "year") { var endzeitfertig = startzeitfertig + 31556926000 + endezeitad }
            else { var endzeitfertig = startzeitfertig + 86400000 + endezeitad }
        
        
            // Fertige Url generieren
            var urlberechnet = urlteil1 + startzeitfertig + urlteil2 + endzeitfertig + urlteil21 + refrescht + urlteil3 + idselector1 + urlteil4;
            /* fertige url in Objekt schreiben*/
            setState(urlfertig, urlberechnet);
        
        });
        
        
        ]]></script>
            <properties>
                <property name="urliframe" type="string" default="http://192.168.2.30:3000/d-solo/ddkp5npbeom4gb/wasserstand-inn?orgId=1&from=1737548332076&to=1737580732076&timezone=browser&panelId=1&__feature.dashboardSceneSolo" width="450" height="200" frameborder="0">" internal="true" />
                <property name="selector_zeit" type="string" internal="true" />
                <property name="selector_range" type="string" default="day" internal="true" />
                <property name="selector_refresh" type="string" default="30s" internal="true" />
                <property name="selector_id" type="string" default="1" internal="true" />
            </properties>
            <settings>
            </settings>
        </screen>
        
        

        das ist in der export datei die ich bei dir via import reinhole und bei dir ist sie dann leer ?
        komisch
        habs 3x probiert

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

        @smilie108 said in neue Visualisierung "webui" (alternative zu vis & vis-2):

        @jogibear9988 mhm bei mir ae1bae27-604f-4acc-b70f-7c5928ae981a-grafik.png

        export bei mir import bei dir

        <?xml version="1.0" encoding="UTF-8"?>
        <screen>
            <html><![CDATA[
        <button @click='{"commands":[{"type":"SetSignalValue","signal":{"name":"selector_range","source":"property"},"value":"day"}]}' style="width:80px;height:30px;position:absolute;left:3px;top:31px;">Tag</button>
        <button @click='{"commands":[{"type":"SetSignalValue","signal":{"name":"selector_range","source":"property"},"value":"week"}]}' style="width:80px;height:30px;position:absolute;left:83px;top:31px;">Woche</button>
        <button @click='{"commands":[{"type":"SetSignalValue","signal":{"name":"selector_range","source":"property"},"value":"month"}]}' style="width:80px;height:30px;position:absolute;left:163px;top:31px;">Monat</button>
        <button @click='{"commands":[{"type":"SetSignalValue","signal":{"name":"selector_range","source":"property"},"value":"year"}]}' style="width:80px;height:30px;position:absolute;left:243px;top:31px;">Jahr</button>
        <input type="date" id="theDate" bind-prop:value-as-number="=??selector_zeit" autofocus style="position:absolute;left:46.66669845581055px;top:4.5px;transform-origin:108.16669999999999px 8.5px;">
        <button @click='{"commands":[{"type":"SetSignalValue","signal":{"name":"selector_zeit","source":"property"},"value":"jetzt"}]}' style="width:80px;height:30px;position:absolute;left:196px;top:0px;">Jetzt</button>
        <select id="refresh" bind-prop:value="=??selector_refresh" style="position:absolute;left:323px;top:30px;width:113px;height:30px;">
            <option value="0">Keine</option>
            <option value="10">10 sec</option>
            <option value="30">30 sec</option>
            <option value="60">60 sec</option>
            <option value="120">120 sec</option>
            <option value="240">240 sec</option>
            <option value="300">300 sec</option>
        </select>
        <select id="refresh" bind-prop:value="=??selector_id" style="position:absolute;left:436px;top:30px;width:109px;height:30px;">
            <option value="1">Kurve 1</option>
            <option value="2">Kurve 2</option>
            <option value="3">Kurve 3</option>
            <option value="4">Kurve 4</option>
            <option value="5">Kurve 5</option>
        </select>
        <span style="position:absolute;left:436px;top:7px;">Kurvenauswahl</span>
        <span style="position:absolute;left:326.5999984741211px;top:7px;">Aktualisierung</span>
        <iframe bind-prop:src="??urliframe" style="position:absolute;left:63px;top:156px;width:1083px;height:614px;"></iframe>
        
        ]]></html>
            <style><![CDATA[
        :host {
        }
        
        * {
            box-sizing: border-box;
        }
        ]]></style>
            <script><![CDATA[
        // 
        var url1 = 'http://192.168.2.30:3000/d-solo/ddkp5npbeom4gb/wasserstand-inn?orgId=1&from=';
        /* Ab hier keine änderungen machen
        http://192.168.2.30:3000/d-solo/ddkp5npbeom4gb/wasserstand-inn?orgId=1&from=1737548332076&to=1737580732076&timezone=browser&panelId=1&__feature.dashboardSceneSolo" width="450" height="200" frameborder="0">
        */
        var ptag = selector_zeit;/*Selector Zeit*/
        var prange = selector_range;/*Selector Range*/
        var prefresh1 = selector_refresh;
        /* Id selector selektiert in graphana die id in einem chart dadurch kann man mehrere Vorlagen erstellen wegen mobilen Auswahlforamt*/
        /* Wichtig die id muss natürlich auch in grafana vorhanden sein*/
        var idselector = selector_id;/*Selector Graph ID*/
        /* Variabel wohin dei fertige Url geschrieben wird */
        var urlfertig = urliframe;/*Fertige Url*/
        var timezone = 2;
        var zeitverschiebung = timezone * 3600000;
        // Aufplitten zum später zusammensetzen
        var urlteil1 = url1;
        var urlteil2 = '&to=';
        var urlteil21 = '&refresh=';
        var urlteil3 = 's&panelId=';
        var urlteil4 = 'width="450" height="200" frameborder="0"';
        // Auf Änderungen reagieren
        var changesArray3 = [ptag, prange, idselector, prefresh1];
        on({ id: changesArray3, change: "any" }, function (obj) {
            /* Ausführung der anpassung der Url für aufruf*/
            /* Startzeit für Grafana in Timestamp*/
            var startzeit = getState(ptag).val;
            var endzeit = getState(prange).val;
            var idselector1 = getState(idselector).val;
            var refrescht = getState(prefresh1).val;
            if (endzeit == "jetzt" && startzeit != "0") {
                var helper23 = "0";
                setState(ptag, helper23);
            }
        
            if (endzeit != "jetzt") {
                var helper25 = "0";
                refrescht = helper25;
            }
        
        
            if (endzeit != "jetzt" && startzeit == "0") {
                const currentDate = new Date(new Date().setHours(0, 0, 0, 0));
                const timestamp1 = currentDate.getTime();
                var helper24 = (timestamp1 + 3600000);// (Date.now() - 21600000);
                setState(ptag, helper24)
            }
            /* von utc auf timezone +2h 
            var startzeit1 = (startzeit + 3600000);*/
            if (endzeit == "jetzt") {
                startzeit1 = "0";
            }
            else { var startzeit1 = startzeit }
        
        
            if (startzeit1 == "0" || startzeit1 == "null" || startzeit1 < "1000") {
                if (endzeit == "day") { var startzeit2 = (Date.now() - 86400000) }
                else if (endzeit == "jetzt") { var startzeitfertig1 = 'now-4h' }    /* 4h*/
                else if (endzeit == "week") { var startzeit2 = (Date.now() - 604800000) }
                else if (endzeit == "month") { var startzeit2 = (Date.now() - 2629743000) }
                else if (endzeit == "year") { var startzeit2 = (Date.now() - 31556926000) }
                else { var startzeit2 = (Date.now() - 86400000) }
            }
        
        
            else { startzeit2 = startzeit1 }
            /* da je nach system die Timestamps anders ausschauen kann man sie hier manipulieren */
            var startzeitfertig = startzeit2 / 1;
            if (endzeit == "jetzt") { startzeitfertig = 'now-8h' };
        
            /* Anzeigeende festlegen*/
            var endezeitad = zeitverschiebung + 3600000;
        
        
            if (endzeit == "day") { var endzeitfertig = startzeitfertig + 86400000 + endezeitad }
            else if (endzeit == "jetzt") { var endzeitfertig = 'now%2B2h' }
            else if (endzeit == "week") { var endzeitfertig = startzeitfertig + 604800000 + endezeitad }
            else if (endzeit == "month") { var endzeitfertig = startzeitfertig + 2629743000 + endezeitad }
            else if (endzeit == "year") { var endzeitfertig = startzeitfertig + 31556926000 + endezeitad }
            else { var endzeitfertig = startzeitfertig + 86400000 + endezeitad }
        
        
            // Fertige Url generieren
            var urlberechnet = urlteil1 + startzeitfertig + urlteil2 + endzeitfertig + urlteil21 + refrescht + urlteil3 + idselector1 + urlteil4;
            /* fertige url in Objekt schreiben*/
            setState(urlfertig, urlberechnet);
        
        });
        
        
        ]]></script>
            <properties>
                <property name="urliframe" type="string" default="http://192.168.2.30:3000/d-solo/ddkp5npbeom4gb/wasserstand-inn?orgId=1&from=1737548332076&to=1737580732076&timezone=browser&panelId=1&__feature.dashboardSceneSolo" width="450" height="200" frameborder="0">" internal="true" />
                <property name="selector_zeit" type="string" internal="true" />
                <property name="selector_range" type="string" default="day" internal="true" />
                <property name="selector_refresh" type="string" default="30s" internal="true" />
                <property name="selector_id" type="string" default="1" internal="true" />
            </properties>
            <settings>
            </settings>
        </screen>
        
        

        das ist in der export datei die ich bei dir via import reinhole und bei dir ist sie dann leer ?
        komisch
        habs 3x probiert

        kannst du bitte den js code, den css code und das html von hand einfügen? damit ich schauen kann was am export kaputt ist?
        und die properties anlegen

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

        Smilie108S 1 Antwort Letzte Antwort
        0
        • jogibear9988J jogibear9988

          @smilie108 said in neue Visualisierung "webui" (alternative zu vis & vis-2):

          @jogibear9988 mhm bei mir ae1bae27-604f-4acc-b70f-7c5928ae981a-grafik.png

          export bei mir import bei dir

          <?xml version="1.0" encoding="UTF-8"?>
          <screen>
              <html><![CDATA[
          <button @click='{"commands":[{"type":"SetSignalValue","signal":{"name":"selector_range","source":"property"},"value":"day"}]}' style="width:80px;height:30px;position:absolute;left:3px;top:31px;">Tag</button>
          <button @click='{"commands":[{"type":"SetSignalValue","signal":{"name":"selector_range","source":"property"},"value":"week"}]}' style="width:80px;height:30px;position:absolute;left:83px;top:31px;">Woche</button>
          <button @click='{"commands":[{"type":"SetSignalValue","signal":{"name":"selector_range","source":"property"},"value":"month"}]}' style="width:80px;height:30px;position:absolute;left:163px;top:31px;">Monat</button>
          <button @click='{"commands":[{"type":"SetSignalValue","signal":{"name":"selector_range","source":"property"},"value":"year"}]}' style="width:80px;height:30px;position:absolute;left:243px;top:31px;">Jahr</button>
          <input type="date" id="theDate" bind-prop:value-as-number="=??selector_zeit" autofocus style="position:absolute;left:46.66669845581055px;top:4.5px;transform-origin:108.16669999999999px 8.5px;">
          <button @click='{"commands":[{"type":"SetSignalValue","signal":{"name":"selector_zeit","source":"property"},"value":"jetzt"}]}' style="width:80px;height:30px;position:absolute;left:196px;top:0px;">Jetzt</button>
          <select id="refresh" bind-prop:value="=??selector_refresh" style="position:absolute;left:323px;top:30px;width:113px;height:30px;">
              <option value="0">Keine</option>
              <option value="10">10 sec</option>
              <option value="30">30 sec</option>
              <option value="60">60 sec</option>
              <option value="120">120 sec</option>
              <option value="240">240 sec</option>
              <option value="300">300 sec</option>
          </select>
          <select id="refresh" bind-prop:value="=??selector_id" style="position:absolute;left:436px;top:30px;width:109px;height:30px;">
              <option value="1">Kurve 1</option>
              <option value="2">Kurve 2</option>
              <option value="3">Kurve 3</option>
              <option value="4">Kurve 4</option>
              <option value="5">Kurve 5</option>
          </select>
          <span style="position:absolute;left:436px;top:7px;">Kurvenauswahl</span>
          <span style="position:absolute;left:326.5999984741211px;top:7px;">Aktualisierung</span>
          <iframe bind-prop:src="??urliframe" style="position:absolute;left:63px;top:156px;width:1083px;height:614px;"></iframe>
          
          ]]></html>
              <style><![CDATA[
          :host {
          }
          
          * {
              box-sizing: border-box;
          }
          ]]></style>
              <script><![CDATA[
          // 
          var url1 = 'http://192.168.2.30:3000/d-solo/ddkp5npbeom4gb/wasserstand-inn?orgId=1&from=';
          /* Ab hier keine änderungen machen
          http://192.168.2.30:3000/d-solo/ddkp5npbeom4gb/wasserstand-inn?orgId=1&from=1737548332076&to=1737580732076&timezone=browser&panelId=1&__feature.dashboardSceneSolo" width="450" height="200" frameborder="0">
          */
          var ptag = selector_zeit;/*Selector Zeit*/
          var prange = selector_range;/*Selector Range*/
          var prefresh1 = selector_refresh;
          /* Id selector selektiert in graphana die id in einem chart dadurch kann man mehrere Vorlagen erstellen wegen mobilen Auswahlforamt*/
          /* Wichtig die id muss natürlich auch in grafana vorhanden sein*/
          var idselector = selector_id;/*Selector Graph ID*/
          /* Variabel wohin dei fertige Url geschrieben wird */
          var urlfertig = urliframe;/*Fertige Url*/
          var timezone = 2;
          var zeitverschiebung = timezone * 3600000;
          // Aufplitten zum später zusammensetzen
          var urlteil1 = url1;
          var urlteil2 = '&to=';
          var urlteil21 = '&refresh=';
          var urlteil3 = 's&panelId=';
          var urlteil4 = 'width="450" height="200" frameborder="0"';
          // Auf Änderungen reagieren
          var changesArray3 = [ptag, prange, idselector, prefresh1];
          on({ id: changesArray3, change: "any" }, function (obj) {
              /* Ausführung der anpassung der Url für aufruf*/
              /* Startzeit für Grafana in Timestamp*/
              var startzeit = getState(ptag).val;
              var endzeit = getState(prange).val;
              var idselector1 = getState(idselector).val;
              var refrescht = getState(prefresh1).val;
              if (endzeit == "jetzt" && startzeit != "0") {
                  var helper23 = "0";
                  setState(ptag, helper23);
              }
          
              if (endzeit != "jetzt") {
                  var helper25 = "0";
                  refrescht = helper25;
              }
          
          
              if (endzeit != "jetzt" && startzeit == "0") {
                  const currentDate = new Date(new Date().setHours(0, 0, 0, 0));
                  const timestamp1 = currentDate.getTime();
                  var helper24 = (timestamp1 + 3600000);// (Date.now() - 21600000);
                  setState(ptag, helper24)
              }
              /* von utc auf timezone +2h 
              var startzeit1 = (startzeit + 3600000);*/
              if (endzeit == "jetzt") {
                  startzeit1 = "0";
              }
              else { var startzeit1 = startzeit }
          
          
              if (startzeit1 == "0" || startzeit1 == "null" || startzeit1 < "1000") {
                  if (endzeit == "day") { var startzeit2 = (Date.now() - 86400000) }
                  else if (endzeit == "jetzt") { var startzeitfertig1 = 'now-4h' }    /* 4h*/
                  else if (endzeit == "week") { var startzeit2 = (Date.now() - 604800000) }
                  else if (endzeit == "month") { var startzeit2 = (Date.now() - 2629743000) }
                  else if (endzeit == "year") { var startzeit2 = (Date.now() - 31556926000) }
                  else { var startzeit2 = (Date.now() - 86400000) }
              }
          
          
              else { startzeit2 = startzeit1 }
              /* da je nach system die Timestamps anders ausschauen kann man sie hier manipulieren */
              var startzeitfertig = startzeit2 / 1;
              if (endzeit == "jetzt") { startzeitfertig = 'now-8h' };
          
              /* Anzeigeende festlegen*/
              var endezeitad = zeitverschiebung + 3600000;
          
          
              if (endzeit == "day") { var endzeitfertig = startzeitfertig + 86400000 + endezeitad }
              else if (endzeit == "jetzt") { var endzeitfertig = 'now%2B2h' }
              else if (endzeit == "week") { var endzeitfertig = startzeitfertig + 604800000 + endezeitad }
              else if (endzeit == "month") { var endzeitfertig = startzeitfertig + 2629743000 + endezeitad }
              else if (endzeit == "year") { var endzeitfertig = startzeitfertig + 31556926000 + endezeitad }
              else { var endzeitfertig = startzeitfertig + 86400000 + endezeitad }
          
          
              // Fertige Url generieren
              var urlberechnet = urlteil1 + startzeitfertig + urlteil2 + endzeitfertig + urlteil21 + refrescht + urlteil3 + idselector1 + urlteil4;
              /* fertige url in Objekt schreiben*/
              setState(urlfertig, urlberechnet);
          
          });
          
          
          ]]></script>
              <properties>
                  <property name="urliframe" type="string" default="http://192.168.2.30:3000/d-solo/ddkp5npbeom4gb/wasserstand-inn?orgId=1&from=1737548332076&to=1737580732076&timezone=browser&panelId=1&__feature.dashboardSceneSolo" width="450" height="200" frameborder="0">" internal="true" />
                  <property name="selector_zeit" type="string" internal="true" />
                  <property name="selector_range" type="string" default="day" internal="true" />
                  <property name="selector_refresh" type="string" default="30s" internal="true" />
                  <property name="selector_id" type="string" default="1" internal="true" />
              </properties>
              <settings>
              </settings>
          </screen>
          
          

          das ist in der export datei die ich bei dir via import reinhole und bei dir ist sie dann leer ?
          komisch
          habs 3x probiert

          kannst du bitte den js code, den css code und das html von hand einfügen? damit ich schauen kann was am export kaputt ist?
          und die properties anlegen

          Smilie108S Offline
          Smilie108S Offline
          Smilie108
          schrieb am zuletzt editiert von Smilie108
          #999

          @jogibear9988
          Style

          :host {
          }
          
          * {
             box-sizing: border-box;
          }
          

          JS Code

          // 
          var url1 = 'http://192.168.2.30:3000/d-solo/ddkp5npbeom4gb/wasserstand-inn?orgId=1&from=';
          /* Ab hier keine änderungen machen
          http://192.168.2.30:3000/d-solo/ddkp5npbeom4gb/wasserstand-inn?orgId=1&from=1737548332076&to=1737580732076&timezone=browser&panelId=1&__feature.dashboardSceneSolo" width="450" height="200" frameborder="0">
          */
          var ptag = selector_zeit;/*Selector Zeit*/
          var prange = selector_range;/*Selector Range*/
          var prefresh1 = selector_refresh;
          /* Id selector selektiert in graphana die id in einem chart dadurch kann man mehrere Vorlagen erstellen wegen mobilen Auswahlforamt*/
          /* Wichtig die id muss natürlich auch in grafana vorhanden sein*/
          var idselector = selector_id;/*Selector Graph ID*/
          /* Variabel wohin dei fertige Url geschrieben wird */
          var urlfertig = urliframe;/*Fertige Url*/
          var timezone = 2;
          var zeitverschiebung = timezone * 3600000;
          // Aufplitten zum später zusammensetzen
          var urlteil1 = url1;
          var urlteil2 = '&to=';
          var urlteil21 = '&refresh=';
          var urlteil3 = 's&panelId=';
          var urlteil4 = 'width="450" height="200" frameborder="0"';
          // Auf Änderungen reagieren
          var changesArray3 = [ptag, prange, idselector, prefresh1];
          on({ id: changesArray3, change: "any" }, function (obj) {
              /* Ausführung der anpassung der Url für aufruf*/
              /* Startzeit für Grafana in Timestamp*/
              var startzeit = getState(ptag).val;
              var endzeit = getState(prange).val;
              var idselector1 = getState(idselector).val;
              var refrescht = getState(prefresh1).val;
              if (endzeit == "jetzt" && startzeit != "0") {
                  var helper23 = "0";
                  setState(ptag, helper23);
              }
          
              if (endzeit != "jetzt") {
                  var helper25 = "0";
                  refrescht = helper25;
              }
          
          
              if (endzeit != "jetzt" && startzeit == "0") {
                  const currentDate = new Date(new Date().setHours(0, 0, 0, 0));
                  const timestamp1 = currentDate.getTime();
                  var helper24 = (timestamp1 + 3600000);// (Date.now() - 21600000);
                  setState(ptag, helper24)
              }
              /* von utc auf timezone +2h 
              var startzeit1 = (startzeit + 3600000);*/
              if (endzeit == "jetzt") {
                  startzeit1 = "0";
              }
              else { var startzeit1 = startzeit }
          
          
              if (startzeit1 == "0" || startzeit1 == "null" || startzeit1 < "1000") {
                  if (endzeit == "day") { var startzeit2 = (Date.now() - 86400000) }
                  else if (endzeit == "jetzt") { var startzeitfertig1 = 'now-4h' }    /* 4h*/
                  else if (endzeit == "week") { var startzeit2 = (Date.now() - 604800000) }
                  else if (endzeit == "month") { var startzeit2 = (Date.now() - 2629743000) }
                  else if (endzeit == "year") { var startzeit2 = (Date.now() - 31556926000) }
                  else { var startzeit2 = (Date.now() - 86400000) }
              }
          
          
              else { startzeit2 = startzeit1 }
              /* da je nach system die Timestamps anders ausschauen kann man sie hier manipulieren */
              var startzeitfertig = startzeit2 / 1;
              if (endzeit == "jetzt") { startzeitfertig = 'now-8h' };
          
              /* Anzeigeende festlegen*/
              var endezeitad = zeitverschiebung + 3600000;
          
          
              if (endzeit == "day") { var endzeitfertig = startzeitfertig + 86400000 + endezeitad }
              else if (endzeit == "jetzt") { var endzeitfertig = 'now%2B2h' }
              else if (endzeit == "week") { var endzeitfertig = startzeitfertig + 604800000 + endezeitad }
              else if (endzeit == "month") { var endzeitfertig = startzeitfertig + 2629743000 + endezeitad }
              else if (endzeit == "year") { var endzeitfertig = startzeitfertig + 31556926000 + endezeitad }
              else { var endzeitfertig = startzeitfertig + 86400000 + endezeitad }
          
          
              // Fertige Url generieren
              var urlberechnet = urlteil1 + startzeitfertig + urlteil2 + endzeitfertig + urlteil21 + refrescht + urlteil3 + idselector1 + urlteil4;
              /* fertige url in Objekt schreiben*/
              setState(urlfertig, urlberechnet);
          
          });
          
          
          

          HTML Fenster

          <button @click='{"commands":[{"type":"SetSignalValue","signal":{"name":"selector_range","source":"property"},"value":"day"}]}' style="width:80px;height:30px;position:absolute;left:3px;top:31px;">Tag</button>
          <button @click='{"commands":[{"type":"SetSignalValue","signal":{"name":"selector_range","source":"property"},"value":"week"}]}' style="width:80px;height:30px;position:absolute;left:83px;top:31px;">Woche</button>
          <button @click='{"commands":[{"type":"SetSignalValue","signal":{"name":"selector_range","source":"property"},"value":"month"}]}' style="width:80px;height:30px;position:absolute;left:163px;top:31px;">Monat</button>
          <button @click='{"commands":[{"type":"SetSignalValue","signal":{"name":"selector_range","source":"property"},"value":"year"}]}' style="width:80px;height:30px;position:absolute;left:243px;top:31px;">Jahr</button>
          <input type="date" id="theDate" bind-prop:value-as-number="=??selector_zeit" autofocus style="position:absolute;left:46.66669845581055px;top:4.5px;transform-origin:108.16669999999999px 8.5px;">
          <button @click='{"commands":[{"type":"SetSignalValue","signal":{"name":"selector_zeit","source":"property"},"value":"jetzt"}]}' style="width:80px;height:30px;position:absolute;left:196px;top:0px;">Jetzt</button>
          <select id="refresh" bind-prop:value="=??selector_refresh" style="position:absolute;left:323px;top:30px;width:113px;height:30px;">
              <option value="0">Keine</option>
              <option value="10">10 sec</option>
              <option value="30">30 sec</option>
              <option value="60">60 sec</option>
              <option value="120">120 sec</option>
              <option value="240">240 sec</option>
              <option value="300">300 sec</option>
          </select>
          <select id="refresh" bind-prop:value="=??selector_id" style="position:absolute;left:436px;top:30px;width:109px;height:30px;">
              <option value="1">Kurve 1</option>
              <option value="2">Kurve 2</option>
              <option value="3">Kurve 3</option>
              <option value="4">Kurve 4</option>
              <option value="5">Kurve 5</option>
          </select>
          <span style="position:absolute;left:436px;top:7px;">Kurvenauswahl</span>
          <span style="position:absolute;left:326.5999984741211px;top:7px;">Aktualisierung</span>
          <iframe bind-prop:src="??urliframe" style="position:absolute;left:63px;top:156px;width:1083px;height:614px;"></iframe>
          
          

          wenn ich dir sonst helfen kann gib bescheid

          prop
          8a74af61-a54e-4123-9eaf-b33a709e7c20-grafik.png

          Mfg Tom

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

            @smilie108

            ich mein auf dem testserver ;-)

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

            Smilie108S 1 Antwort Letzte Antwort
            0
            • jogibear9988J jogibear9988

              @smilie108

              ich mein auf dem testserver ;-)

              Smilie108S Offline
              Smilie108S Offline
              Smilie108
              schrieb am zuletzt editiert von
              #1001

              @jogibear9988 ok mach ich gleich

              Smilie108S 1 Antwort Letzte Antwort
              0
              • Smilie108S Smilie108

                @jogibear9988 ok mach ich gleich

                Smilie108S Offline
                Smilie108S Offline
                Smilie108
                schrieb am zuletzt editiert von
                #1002

                @smilie108 alles in grafana1 reinkopiert
                ;)

                1 Antwort Letzte Antwort
                0
                • jogibear9988J jogibear9988

                  @kamikaze said in neue Visualisierung "webui" (alternative zu vis & vis-2):

                  @jogibear9988 Hallo jogibear,
                  nachdem ich von dir nichts mehr gehört habe, habe ich erneut den Adapter installiert, dieses Mal über npm.
                  Und was soll ich sagen, jetzt ist auch die Runtime auf Version 1.25.0 und alles funktiniert wie gewünscht.

                  VIELEN DANK für deine tatkräftige Unterstützung.

                  sorry... bin krank seit gestern, daher keine antwort

                  K Offline
                  K Offline
                  Kamikaze
                  schrieb am zuletzt editiert von
                  #1003

                  @jogibear9988 Ich bin kurzzeitig auch wieder zurück.
                  Es stellt sich für mich derzeit nur eine Verständnisfrage:
                  Insgesamt erschließt sich für mich noch nicht der Unterschied zwischen signal, in den custom properties, und den andere Werten, da ich ja bei allen bindings verwenden kann.
                  Also kurz gesagt: Kann du mir eine Definition für signal geben?
                  Danke.

                  jogibear9988J 1 Antwort Letzte Antwort
                  0
                  • K Kamikaze

                    @jogibear9988 Ich bin kurzzeitig auch wieder zurück.
                    Es stellt sich für mich derzeit nur eine Verständnisfrage:
                    Insgesamt erschließt sich für mich noch nicht der Unterschied zwischen signal, in den custom properties, und den andere Werten, da ich ja bei allen bindings verwenden kann.
                    Also kurz gesagt: Kann du mir eine Definition für signal geben?
                    Danke.

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

                    @kamikaze said in neue Visualisierung "webui" (alternative zu vis & vis-2):

                    @jogibear9988 Ich bin kurzzeitig auch wieder zurück.
                    Es stellt sich für mich derzeit nur eine Verständnisfrage:
                    Insgesamt erschließt sich für mich noch nicht der Unterschied zwischen signal, in den custom properties, und den andere Werten, da ich ja bei allen bindings verwenden kann.
                    Also kurz gesagt: Kann du mir eine Definition für signal geben?
                    Danke.

                    Signal als property, erwartet einen iobroker objekt "namen", nicht den wert eines iobroker objektes. Wenn du ein object mit einem Binding auf eine Property verbindest, dann übergibst du den wert des objektes.
                    Bei deinem Control macht es z.b. mehr sinn "number" zu verwenden, statt signal. Weil man kann das control ja auch ohne ein Signal verwenden, um z.b. einen festen wert anzuzeigen, oder man könnte per script einen wert setzen.

                    Bsp. bei meinem "chart-button" (im view WebuiControls), dort ist die property vom type signal. warum? weil der chart button, sich direkt an die history signale des signals bindet und diese vom backend lädt. Daher wird der objekt name aber auch nicht per binding zugewiesen. Wenn ich da an ein objekt binden würde, müsste dieses objekt wiederum den namen eines anderen objektes enthalten...

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

                    K 1 Antwort Letzte Antwort
                    0
                    • Smilie108S Smilie108

                      @jogibear9988 Hi so schön langsam wieder ein bischen zeit ;)
                      kannst du dir mal /smilie108/grafana auf dem testserver anschauen ob ich da am richtigen weg bin ?
                      Steig da noch nicht ganuz durch mit dem ganzen. Kann ich das so verwenden im javascriptteil ioder anders ?

                      Danke für alles was du so machst das sys ist echt schon voll supi ;)

                      Gruß Tom

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

                      @smilie108 said in neue Visualisierung "webui" (alternative zu vis & vis-2):

                      @jogibear9988 Hi so schön langsam wieder ein bischen zeit ;)
                      kannst du dir mal /smilie108/grafana auf dem testserver anschauen ob ich da am richtigen weg bin ?
                      Steig da noch nicht ganuz durch mit dem ganzen. Kann ich das so verwenden im javascriptteil ioder anders ?

                      Danke für alles was du so machst das sys ist echt schon voll supi ;)

                      Gruß Tom

                      Also ich versteh im Moment gar nicht was du da vor hast. Das javascript wird so auf gar keinen fall funktionieren.
                      was soll das "on("... sein?
                      wenn das script nur signale beschreibt und nix mit der UI macht, warum dann im frontend und nicht im Javascript adapter?

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

                      jogibear9988J 1 Antwort Letzte Antwort
                      0
                      • jogibear9988J jogibear9988

                        @smilie108 said in neue Visualisierung "webui" (alternative zu vis & vis-2):

                        @jogibear9988 Hi so schön langsam wieder ein bischen zeit ;)
                        kannst du dir mal /smilie108/grafana auf dem testserver anschauen ob ich da am richtigen weg bin ?
                        Steig da noch nicht ganuz durch mit dem ganzen. Kann ich das so verwenden im javascriptteil ioder anders ?

                        Danke für alles was du so machst das sys ist echt schon voll supi ;)

                        Gruß Tom

                        Also ich versteh im Moment gar nicht was du da vor hast. Das javascript wird so auf gar keinen fall funktionieren.
                        was soll das "on("... sein?
                        wenn das script nur signale beschreibt und nix mit der UI macht, warum dann im frontend und nicht im Javascript adapter?

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

                        @jogibear9988

                        und das was du in urliframe eingetragen hast:

                         http://192.168.2.30:3000/d-solo/ddkp5npbeom4gb/wasserstand-inn?orgId=1&from=1737548332076&to=1737580732076&timezone=browser&panelId=1&__feature.dashboardSceneSolo" width="450" height="200" frameborder="0">
                        

                        ist doch sicher auch falsch, oder?
                        was soll das width=... und weitere zeugs darin?

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

                        Smilie108S 1 Antwort Letzte Antwort
                        0
                        • jogibear9988J jogibear9988

                          @jogibear9988

                          und das was du in urliframe eingetragen hast:

                           http://192.168.2.30:3000/d-solo/ddkp5npbeom4gb/wasserstand-inn?orgId=1&from=1737548332076&to=1737580732076&timezone=browser&panelId=1&__feature.dashboardSceneSolo" width="450" height="200" frameborder="0">
                          

                          ist doch sicher auch falsch, oder?
                          was soll das width=... und weitere zeugs darin?

                          Smilie108S Offline
                          Smilie108S Offline
                          Smilie108
                          schrieb am zuletzt editiert von
                          #1007

                          @jogibear9988 Hi

                          Naja hatte das auch alles im backend java laufen da gehts ja auch wollte es aber multiuserfähig machen da es im moment immer nur einer ändern kann und sich dann die anzeige für alle ändert
                          Mal kurz zum ablauf

                          In grafana habe ich ein Kurve mit werten angelegt.
                          Diese wird per Iframe eingebunden.
                          Um nun diverse sachen wie außsehen und zeitbereich zu ändern muss die Iframe url manipuliert werden.

                          Das funktioniert übers backend immer nur für alle gleichzeitig. da die manipulierte url ja für alle aufgerufen wird.

                          Dachte ich könnte die Url zur laufzeit am client ändern. Deswegen das scrip im fenster einbauen.
                          Die url habe ich nur schnell angelegt bei grafana und kopiert da das mein testsys ist wo ich nicht soviel mitschreibe.
                          Habe auch mit flot herumgebastelt aber da fehlen mir die möglichkeiten ohne menue zeitbereiche zu verschieben oder tage auszuwählen.
                          Oder gibts da was besseres hab die daten ja in mysql gespeichert.

                          danke für jeden hinweis
                          mfg tom

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

                            @smilie108 said in neue Visualisierung "webui" (alternative zu vis & vis-2):

                            @jogibear9988 Hi

                            Naja hatte das auch alles im backend java laufen da gehts ja auch wollte es aber multiuserfähig machen da es im moment immer nur einer ändern kann und sich dann die anzeige für alle ändert
                            Mal kurz zum ablauf

                            In grafana habe ich ein Kurve mit werten angelegt.
                            Diese wird per Iframe eingebunden.
                            Um nun diverse sachen wie außsehen und zeitbereich zu ändern muss die Iframe url manipuliert werden.

                            Das funktioniert übers backend immer nur für alle gleichzeitig. da die manipulierte url ja für alle aufgerufen wird.

                            Dachte ich könnte die Url zur laufzeit am client ändern. Deswegen das scrip im fenster einbauen.
                            Die url habe ich nur schnell angelegt bei grafana und kopiert da das mein testsys ist wo ich nicht soviel mitschreibe.
                            Habe auch mit flot herumgebastelt aber da fehlen mir die möglichkeiten ohne menue zeitbereiche zu verschieben oder tage auszuwählen.
                            Oder gibts da was besseres hab die daten ja in mysql gespeichert.

                            danke für jeden hinweis
                            mfg tom

                            Schau dir mal grafana2 an, so würd ich das machen. Einfach ein binding auf die "src" property des iframes. (Ich hab es jetzt an eine textarea gemacht). Und an alles binden was die url ändern soll, und dann das script ins binding.
                            Das Script musst jetzt aber noch anpassen, da wird so viel so oft hin und her kopiert... neee, das musst selbst machen....
                            Und auch nochmals... Was soll:
                            3f2d22ed-4bc8-4444-8121-cf1364bd62da-image.png
                            im Script? das ist doch sicher falsch...

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

                            Smilie108S 1 Antwort Letzte Antwort
                            0
                            • jogibear9988J jogibear9988

                              @smilie108 said in neue Visualisierung "webui" (alternative zu vis & vis-2):

                              @jogibear9988 Hi

                              Naja hatte das auch alles im backend java laufen da gehts ja auch wollte es aber multiuserfähig machen da es im moment immer nur einer ändern kann und sich dann die anzeige für alle ändert
                              Mal kurz zum ablauf

                              In grafana habe ich ein Kurve mit werten angelegt.
                              Diese wird per Iframe eingebunden.
                              Um nun diverse sachen wie außsehen und zeitbereich zu ändern muss die Iframe url manipuliert werden.

                              Das funktioniert übers backend immer nur für alle gleichzeitig. da die manipulierte url ja für alle aufgerufen wird.

                              Dachte ich könnte die Url zur laufzeit am client ändern. Deswegen das scrip im fenster einbauen.
                              Die url habe ich nur schnell angelegt bei grafana und kopiert da das mein testsys ist wo ich nicht soviel mitschreibe.
                              Habe auch mit flot herumgebastelt aber da fehlen mir die möglichkeiten ohne menue zeitbereiche zu verschieben oder tage auszuwählen.
                              Oder gibts da was besseres hab die daten ja in mysql gespeichert.

                              danke für jeden hinweis
                              mfg tom

                              Schau dir mal grafana2 an, so würd ich das machen. Einfach ein binding auf die "src" property des iframes. (Ich hab es jetzt an eine textarea gemacht). Und an alles binden was die url ändern soll, und dann das script ins binding.
                              Das Script musst jetzt aber noch anpassen, da wird so viel so oft hin und her kopiert... neee, das musst selbst machen....
                              Und auch nochmals... Was soll:
                              3f2d22ed-4bc8-4444-8121-cf1364bd62da-image.png
                              im Script? das ist doch sicher falsch...

                              Smilie108S Offline
                              Smilie108S Offline
                              Smilie108
                              schrieb am zuletzt editiert von
                              #1009

                              @jogibear9988 Schau ich mir an wenn ich daheim bin grad auf arbeit. Den teil habe ich nur von der Iframe url aus grafana mit ob das notwendig ist weis ich ned eher nicht außer grafana braucht sowas hab das nicht getestet ;)
                              Schönen Sonntag ;)

                              Grus tom

                              Smilie108S 1 Antwort Letzte Antwort
                              0
                              • Smilie108S Smilie108

                                @jogibear9988 Schau ich mir an wenn ich daheim bin grad auf arbeit. Den teil habe ich nur von der Iframe url aus grafana mit ob das notwendig ist weis ich ned eher nicht außer grafana braucht sowas hab das nicht getestet ;)
                                Schönen Sonntag ;)

                                Grus tom

                                Smilie108S Offline
                                Smilie108S Offline
                                Smilie108
                                schrieb am zuletzt editiert von
                                #1010

                                @jogibear9988 Hi und danke das ist schon fast genau das was ich machen wollte dachte wohl zu komliziert.
                                Das einzige Problem was ich jetzt noch habe ist das er auf die Boutton click nicht reagiert gibt es da einschränkungen ? Beim select gehts und auch die time auswahl geht aber bei den Zeiträumen bleibt nur der def wert da änder er nichts er aktualisiert den selector_range auch nicht. gehen die click nicht creen intern ?
                                oder ist das setsignalvalue das falsche ?

                                Danke nochmals im voraus
                                Gruß tom

                                jogibear9988J 1 Antwort Letzte Antwort
                                0
                                • Smilie108S Smilie108

                                  @jogibear9988 Hi und danke das ist schon fast genau das was ich machen wollte dachte wohl zu komliziert.
                                  Das einzige Problem was ich jetzt noch habe ist das er auf die Boutton click nicht reagiert gibt es da einschränkungen ? Beim select gehts und auch die time auswahl geht aber bei den Zeiträumen bleibt nur der def wert da änder er nichts er aktualisiert den selector_range auch nicht. gehen die click nicht creen intern ?
                                  oder ist das setsignalvalue das falsche ?

                                  Danke nochmals im voraus
                                  Gruß tom

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

                                  @smilie108 said in neue Visualisierung "webui" (alternative zu vis & vis-2):

                                  @jogibear9988 Hi und danke das ist schon fast genau das was ich machen wollte dachte wohl zu komliziert.
                                  Das einzige Problem was ich jetzt noch habe ist das er auf die Boutton click nicht reagiert gibt es da einschränkungen ? Beim select gehts und auch die time auswahl geht aber bei den Zeiträumen bleibt nur der def wert da änder er nichts er aktualisiert den selector_range auch nicht. gehen die click nicht creen intern ?
                                  oder ist das setsignalvalue das falsche ?

                                  Danke nochmals im voraus
                                  Gruß tom

                                  Weil du das script kommando "SetSignalValue" benutzt hast. Das setzt ein Signal, und nie eine Property. So wie du es gebaut hast, würde der Namen des Signal aus der Property gelesen werden. Aber nicht die Propert beschrieben. Schau bei "Tag" dort hab ich das richtige Script kommando eingebaut.
                                  Es wäre auch alles mit "local_" objekten möglich gewesen, da musst du nur dann einen default wert im script benutzen, da diese sonst immer null sind bis sie einmalig gesetzt werden.

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

                                  1 Antwort Letzte Antwort
                                  0
                                  • jogibear9988J jogibear9988

                                    @kamikaze said in neue Visualisierung "webui" (alternative zu vis & vis-2):

                                    @jogibear9988 Ich bin kurzzeitig auch wieder zurück.
                                    Es stellt sich für mich derzeit nur eine Verständnisfrage:
                                    Insgesamt erschließt sich für mich noch nicht der Unterschied zwischen signal, in den custom properties, und den andere Werten, da ich ja bei allen bindings verwenden kann.
                                    Also kurz gesagt: Kann du mir eine Definition für signal geben?
                                    Danke.

                                    Signal als property, erwartet einen iobroker objekt "namen", nicht den wert eines iobroker objektes. Wenn du ein object mit einem Binding auf eine Property verbindest, dann übergibst du den wert des objektes.
                                    Bei deinem Control macht es z.b. mehr sinn "number" zu verwenden, statt signal. Weil man kann das control ja auch ohne ein Signal verwenden, um z.b. einen festen wert anzuzeigen, oder man könnte per script einen wert setzen.

                                    Bsp. bei meinem "chart-button" (im view WebuiControls), dort ist die property vom type signal. warum? weil der chart button, sich direkt an die history signale des signals bindet und diese vom backend lädt. Daher wird der objekt name aber auch nicht per binding zugewiesen. Wenn ich da an ein objekt binden würde, müsste dieses objekt wiederum den namen eines anderen objektes enthalten...

                                    K Offline
                                    K Offline
                                    Kamikaze
                                    schrieb am zuletzt editiert von
                                    #1012

                                    @jogibear9988 Hallo,
                                    erst einmal vielen Dank für deine Erläuterung. Damit kann ich fast etwas anfangen, die letzte Erkenntnis hat sich aber noch nicht eingestellt.

                                    Aber hier eine neue Frage:
                                    Ich habe ohne das UI im Verzeichnis webui.0.data\config ein Unterverzeichnis fonts erstellt und die gesamten Zugriffe wieder dem iobroker zugewiesen.
                                    Ziel: Ablage der Fonts und im CSS über url() einbinden. Leider scheint irgendetwas den Zugriff auf fonts jetzt zu verweigern.
                                    Grundsätzliche Frage: Wie ist es vorgesehen, um Dateien zu organisieren?
                                    Wie z.B. Fonts

                                    K 1 Antwort Letzte Antwort
                                    0
                                    • K Kamikaze

                                      @jogibear9988 Hallo,
                                      erst einmal vielen Dank für deine Erläuterung. Damit kann ich fast etwas anfangen, die letzte Erkenntnis hat sich aber noch nicht eingestellt.

                                      Aber hier eine neue Frage:
                                      Ich habe ohne das UI im Verzeichnis webui.0.data\config ein Unterverzeichnis fonts erstellt und die gesamten Zugriffe wieder dem iobroker zugewiesen.
                                      Ziel: Ablage der Fonts und im CSS über url() einbinden. Leider scheint irgendetwas den Zugriff auf fonts jetzt zu verweigern.
                                      Grundsätzliche Frage: Wie ist es vorgesehen, um Dateien zu organisieren?
                                      Wie z.B. Fonts

                                      K Offline
                                      K Offline
                                      Kamikaze
                                      schrieb am zuletzt editiert von
                                      #1013

                                      @kamikaze Nur eine Frage: Ist dieser Kanal tot? Seit über einer Woche keinen Eintrag mehr? Seltsam.

                                      Smilie108S 1 Antwort Letzte Antwort
                                      0
                                      • K Kamikaze

                                        @kamikaze Nur eine Frage: Ist dieser Kanal tot? Seit über einer Woche keinen Eintrag mehr? Seltsam.

                                        Smilie108S Offline
                                        Smilie108S Offline
                                        Smilie108
                                        schrieb am zuletzt editiert von Smilie108
                                        #1014

                                        @kamikaze Nein eigentlich nicht aber so weit ich weiß haben die meistenhier hauptberuflich sehr zeitraubende job´s und die familie will ja auch noch was von uns da bleibt manchesmal das hobby hinten an aus zeitmangel ;) zumindest bei mir. ;)

                                        zu deiner Frage mit den fonts und sorry die ist bei mir untergegangen die kannst du hier ablegen :
                                        Screenshot 2025-02-04 191514.png
                                        und einbinden dann via
                                        Screenshot 2025-02-04 191732.png
                                        zb.
                                        bzw . noch was vergessen
                                        im global / font declaration style
                                        Screenshot 2025-02-04 191934.png

                                        K 1 Antwort Letzte Antwort
                                        0
                                        • Smilie108S Smilie108

                                          @kamikaze Nein eigentlich nicht aber so weit ich weiß haben die meistenhier hauptberuflich sehr zeitraubende job´s und die familie will ja auch noch was von uns da bleibt manchesmal das hobby hinten an aus zeitmangel ;) zumindest bei mir. ;)

                                          zu deiner Frage mit den fonts und sorry die ist bei mir untergegangen die kannst du hier ablegen :
                                          Screenshot 2025-02-04 191514.png
                                          und einbinden dann via
                                          Screenshot 2025-02-04 191732.png
                                          zb.
                                          bzw . noch was vergessen
                                          im global / font declaration style
                                          Screenshot 2025-02-04 191934.png

                                          K Offline
                                          K Offline
                                          Kamikaze
                                          schrieb am zuletzt editiert von
                                          #1015

                                          @smilie108 Hi,
                                          gut von Euch zu hören. Bitte nicht persönlich nehmen, das war keine Kritik.
                                          Vielen Dank für deine Antwort.
                                          Wenn ich noch einen Vorschlag machen dürfte: In dieser Struktur landen dann nach kurzer Zeit relativ viele Dateien. Daher wäre eine Anregung:
                                          Unter Additional Files auch Unterverzeichnisse erstellbar zu machen.
                                          Aber jetzt komme ich erst einmal weiter.

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          934

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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