Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. neue Visualisierung "webui" (alternative zu vis & vis-2)

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • Smilie108
      Smilie108 @jogibear9988 last edited by

      @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 Reply Last reply Reply Quote 0
      • jogibear9988
        jogibear9988 last edited by

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

        Smilie108 1 Reply Last reply Reply Quote 0
        • Smilie108
          Smilie108 @jogibear9988 last edited by

          @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

          Smilie108 1 Reply Last reply Reply Quote 0
          • Smilie108
            Smilie108 @Smilie108 last edited by

            @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

            jogibear9988 1 Reply Last reply Reply Quote 0
            • jogibear9988
              jogibear9988 @Smilie108 last edited by jogibear9988

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

              1 Reply Last reply Reply Quote 0
              • K
                Kamikaze @jogibear9988 last edited by

                @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 Reply Last reply Reply Quote 0
                • K
                  Kamikaze @Kamikaze last edited by

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

                  Smilie108 1 Reply Last reply Reply Quote 0
                  • Smilie108
                    Smilie108 @Kamikaze last edited by 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 1 Reply Last reply Reply Quote 0
                    • K
                      Kamikaze @Smilie108 last edited by

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

                      Smilie108 1 Reply Last reply Reply Quote 0
                      • Smilie108
                        Smilie108 @Kamikaze last edited by

                        @kamikaze hi wurde auch von mir nicht als kritik aufgefasst wollte eigentlich nur erklären warum es manchesmal länger dauert 😉
                        Das mit den Unterordnern ist eine sache für @jogibear9988 das kann ich nicht.
                        Ich schreibe mein css meistens unten ins stylefenster rein damit kann ich auf jeder seite das machen was ich will 😉

                        K 1 Reply Last reply Reply Quote 0
                        • K
                          Kamikaze @Smilie108 last edited by

                          @smilie108 Ich schreibe das CSS auch immer unten. Das mit den Unterordner hat Zeit, wäre aber schön.
                          Sag mal, bist du mit dem iframe und Grafana schoin weitergekommen, halte ich für eine interessante Integration.
                          Das ist sowieso bei Eurer Lösung so spannend, dass man die Möglichkeiten noch gar nicht so richtig abschätzen kann.
                          Meine UI gedeiht sehr gut, besser als ich es erwartet habe.

                          Smilie108 1 Reply Last reply Reply Quote 0
                          • Smilie108
                            Smilie108 @Kamikaze last edited by

                            @kamikaze jepp ich bin weiter eigentlich habe ich den baum vor lauter wald nicht gesehen 😉 bzw zu komliziert gedacht 😉 Bin grad noch drann sowaas wie vorwärts und rückwärts boutton zu machen damit man besser blättern kann 😉 wenns fertig ist kann ich es am test hochladen

                            1 Reply Last reply Reply Quote 0
                            • jogibear9988
                              jogibear9988 last edited by

                              Ich glaube die "@font-face" rule, ging nicht in den styles unter den screens, da diese constructible stylesheets sind, und ich glaube fontface musste in einem normal stylesheet sein, daher hatte ich den font declaration style eingefügt. Finde gerade aber keine doku ob das erlaubt ist.

                              1 Reply Last reply Reply Quote 0
                              • jogibear9988
                                jogibear9988 last edited by

                                vlt. hatte ich das auch nur, das die font rechtzeitig geladen ist, laut chatgpt ist's nämlich erlaubt...
                                @import geht auf jeden fall nicht

                                K 1 Reply Last reply Reply Quote 0
                                • K
                                  Kamikaze @jogibear9988 last edited by

                                  @jogibear9988 Das freut mich, dass wieder ein bisschen Action ist.
                                  Nächste Frage an die Experten:

                                  Wenn ich den Designer starte, erhalte ich Fehlermeldungen und ich soll in der Console nachschauen.
                                  In der Console finde ich die Meldungen:

                                  Error reading Control Object TypeError: Cannot convert undefined or null to object
                                      at Function.keys (<anonymous>)
                                      at IobrokerHandler.getCustomControl (IobrokerHandler.js:271:32)
                                      at async Promise.all (index 33)
                                      at async IobrokerHandler.loadAllCustomControls (IobrokerHandler.js:244:9)
                                  

                                  Ich konnte auch die Controls identifizieren:
                                  Wenn ich das Control öffne, funktioniert alles wie gewünscht ohne Fehlermeldung.

                                  Eins von den Controls sieht wie folgt aus:

                                  <div style="position:absolute;left:0px;top:0px;width:441px;height:539px;">
                                      <svg width="100%" height="100%" version="1.1" viewBox="0 0 116.42 142.87" xmlns="http://www.w3.org/2000/svg">
                                          <path d="m0-0.004545h23.714l4.3117 3.5718h60.364l4.3117-3.5718h23.714v142.87h-116.42z" fill="#333"></path>
                                          <path d="m19.31-0.004545h80.697l-5.0436 3.9687h-70.61z"></path>
                                          <path d="m84.26 142.18h-69.3l4.3312-2.3283h60.637z" stroke="#000" stroke-width=".31756px"></path>
                                          <g fill="#666">
                                              <rect x="1.32" y="4.2287" width="113.77" height="2.6458"></rect>
                                              <rect transform="rotate(90)" x="6.8745" y="-1.98" width="130.84" height=".66145"></rect>
                                              <rect transform="rotate(90)" x="6.8745" y="-114.96" width="130.84" height=".66145"></rect>
                                              <rect x="1.32" y="137.18" width="113.24" height=".66145"></rect>
                                          </g>
                                          <text x="5.0281706" y="6.4983621" fill="#ffffff" font-family="C059" font-size="2.6458px" font-weight="bold" stroke-width=".26458" xml:space="preserve" style="line-height:1.25;">
                                              <tspan x="5.0281706" y="6.4983621" fill="#ffffff" font-family="C059" font-size="2.6458px" font-weight="bold" stroke-width=".26458">Heizung</tspan>
                                          </text>
                                          <g fill="#fff" stroke-width=".26458">
                                              <path d="m10.58-0.004545a10.583 10.583 0 0 1-10.583 10.583v-10.583z" opacity=".1"></path>
                                              <path d="m105.83 142.87a10.583 10.583 0 0 1 10.583-10.583v10.583z" opacity=".1"></path>
                                              <path d="m105.83-0.004545a10.583 10.583 0 0 0 10.583 10.583v-10.583z" opacity=".22"></path>
                                          </g>
                                          <text x="92.431496" y="6.2620301" fill="#ffffff" font-family="C059" font-size="2.6458px" font-weight="bold" stroke-width=".26458" xml:space="preserve" style="line-height:1.25;">
                                              <tspan x="92.431496" y="6.2620301" fill="#ffffff" font-family="C059" font-size="2.6458px" font-weight="bold" stroke-width=".26458">440x540</tspan>
                                          </text>
                                          <g fill="#fff">
                                              <rect x="112.32" y="4.8346" width=".98133" height="1.1284" stroke-width=".26457"></rect>
                                              <rect x="3.17" y="4.7579" width=".98133" height="1.1284" stroke-width=".26457"></rect>
                                              <path d="m10.58 142.87a10.583 10.583 0 0 0-10.583-10.583v10.583z" opacity=".1" stroke-width=".26458"></path>
                                          </g>
                                          <g fill="#999" stroke="#999" stroke-width="1.2898">
                                              <rect x="3.0262" y="7.7856" width="35.488" height="27.775" rx="2.512" ry="2.6491" opacity=".37655"></rect>
                                              <rect x="40.334" y="7.7856" width="35.488" height="27.775" rx="2.512" ry="2.6491" opacity=".37655"></rect>
                                              <rect x="77.641" y="7.7856" width="35.488" height="27.775" rx="2.512" ry="2.6491" opacity=".37655"></rect>
                                              <rect x="3.0262" y="108.25" width="35.488" height="27.775" rx="2.512" ry="2.6491" opacity=".37655"></rect>
                                              <rect x="40.334" y="108.25" width="35.488" height="27.775" rx="2.512" ry="2.6491" opacity=".37655"></rect>
                                              <rect x="77.641" y="108.25" width="35.488" height="27.775" rx="2.512" ry="2.6491" opacity=".37655"></rect>
                                          </g>
                                      </svg>
                                  </div>
                                  
                                  

                                  Also habe ich vermutet, dass es etwas mit dem Inhalt zu tun hat, aber das ist nicht der Fall.
                                  Reduziere ich den Inhalt auf:

                                  <div style="position:absolute;left:0px;top:0px;width:441px;height:539px;">
                                  </div>
                                  
                                  

                                  Kommt immer noch die Fehlermeldungen.
                                  Das Control hat keine zusätzlichen Eingeschaften, es handelt sich hierbei nur um eine Fenstervorlage.

                                  jogibear9988 1 Reply Last reply Reply Quote 0
                                  • jogibear9988
                                    jogibear9988 @Kamikaze last edited by

                                    @kamikaze

                                    kannst es in das demo system einfügen, das ich es nachvollziehen kann?

                                    1 Reply Last reply Reply Quote 0
                                    • jogibear9988
                                      jogibear9988 last edited by

                                      Hat dein Control properties? scheint so das kommt wenn es keine hat. Da fehlt glaub ein null check.
                                      Füg mal testweise ne property hinzu

                                      1 Reply Last reply Reply Quote 0
                                      • jogibear9988
                                        jogibear9988 last edited by

                                        hab schon mal ne neue version gebaut, vlt. fixt die es

                                        Smilie108 K 2 Replies Last reply Reply Quote 0
                                        • Smilie108
                                          Smilie108 @jogibear9988 last edited by Smilie108

                                          @jogibear9988 mhm frage
                                          kann ich auf ein control.prop auch einen wert zurückschreiben ? wenn ich bei der steuerung von grafana zb eine pfeiltaste mache die mit pointerdown und pointerup läuft dann läuft das script ja 2x durch allerdings müsste ich den manipulirten wert auf das selector_zeit reture schreiben sonst ist beim 2.ten durchlauf das orginaldatum ja wieder drinn.

                                          kopier dir das mal am test

                                          Achja und beim export import von screens verliert er im styles eine die letzte }
                                          mfg tom

                                          jogibear9988 1 Reply Last reply Reply Quote 0
                                          • K
                                            Kamikaze @jogibear9988 last edited by

                                            @jogibear9988 Nicht so bescheiden.
                                            Das war ein Treffer. Die Fehlermeldungen sind weg. DANKE.
                                            B.t.w. Ich plane euch auch etwas zurückzugeben. Die Grundlagen, die ich mir gerade erarbeite als eine kleine Sammlung als Dokumentation.
                                            Frage 1: Besteht Interesse?
                                            Frage 2: In welchem Format, Markup oder einfach Office-Dokumente?

                                            jogibear9988 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            962
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            20
                                            1074
                                            281000
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo