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.
    • B
      Blockmove @jogibear9988 last edited by

      @jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):

      ja, das passt ja auch.
      wenn du eine zahl parsen willst, darf diese in javascript nicht mit einem text anfangen.
      Wenn du das vorher wegschneiden willst, musst halt auch bei "formula write back" was angeben.

      Bei der Version 1.0.18 hat aber genau das noch funktioniert. Auch bei nem twoway-Binding konnte vor der Variable noch ein Text stehen.

      'Solltemp.:' + __0 
      

      Das funktioniert nun nicht mehr.
      Ok, muss es auch nicht mehr unbedingt.
      Es gibt halt Unterschiede zwischen einem oneway- und twoway-Binding.

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

        @Blockmove @jogibear9988
        Hi Ihr
        würde gerne verstehen wie ihr immer auf die formumla kommt für die auftrennung der daten
        bin grad dabei das apg-info einzubinden.
        Allerdings ist dort das arry anders aufgebiut wie bei der pv-forcast

        {
          "graphs": [
            {
              "type": "line",
              "color": "gray",
              "line_steppedLine": true,
              "xAxis_timeFormats": {
                "hour": "HH"
              },
              "xAxis_time_unit": "hour",
              "yAxis_min": 0,
              "yAxis_max": 10,
              "datalabel_show": "auto",
              "datalabel_minDigits": 2,
              "datalabel_maxDigits": 2,
              "xAxis_bounds": "data",
              "line_pointSize": 5,
              "line_PointColor": "rgba(0, 0, 0, 0)",
              "datalabel_fontSize": 10,
              "datalabel_color": "black",
              "line_UseFillColor": true,
              "data": [
                {
                  "y": 6.867,
                  "t": 1705791600000
                },
                {
                  "y": 5.783,
                  "t": 1705795200000
                },
                {
                  "y": 5.515,
                  "t": 1705798800000
                },
                {
                  "y": 5.089,
                  "t": 1705802400000
                },
                {
                  "y": 5.137,
                  "t": 1705806000000
                },
                {
                  "y": 5.501,
                  "t": 1705809600000
                },
                {
                  "y": 5.429,
                  "t": 1705813200000
                },
                {
                  "y": 6.005,
                  "t": 1705816800000
                },
                {
                  "y": 6.312,
                  "t": 1705820400000
                },
                {
                  "y": 5.876,
                  "t": 1705824000000
                },
                {
                  "y": 5.464,
                  "t": 1705827600000
                },
                {
                  "y": 5.307,
                  "t": 1705831200000
                },
                {
                  "y": 4.695,
                  "t": 1705834800000
                },
                {
                  "y": 4.66,
                  "t": 1705838400000
                },
                {
                  "y": 5.435,
                  "t": 1705842000000
                },
                {
                  "y": 6.474,
                  "t": 1705845600000
                },
                {
                  "y": 7.868,
                  "t": 1705849200000
                },
                {
                  "y": 8.198,
                  "t": 1705852800000
                },
                {
                  "y": 8.6,
                  "t": 1705856400000
                },
                {
                  "y": 8.216,
                  "t": 1705860000000
                },
                {
                  "y": 7.867,
                  "t": 1705863600000
                },
                {
                  "y": 6.409,
                  "t": 1705867200000
                },
                {
                  "y": 6.384,
                  "t": 1705870800000
                },
                {
                  "y": 5.868,
                  "t": 1705874400000
                },
                {
                  "y": 5.868,
                  "t": 1705878000000
                }
              ]
            }
          ]
        }
        

        würde gerne mal verstehen wie ihr immer draufkommt wie man das aufsplittet und zuweist.
        Das eine bei pv-forcast verstehe ich noch da sucht er immer die 2 zusammenpasssenden arrays anhand der index nummer. Aber wie kann ich das hier wieder aufspliten und dann zuweisen da alles immer in einem array ist und noch dazu als timestamp ?

        Danke im voraus für eure geduld mit mit mir 😉

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

          @smilie108

          Ich mach das einfach immer in einem Script in ioBroker.
          Da spiel ich halt solange mit json.parse bis es passt. Immer schön der Struktur entlanghangeln und in einzelne Variablen zerlegen.
          Am Schluß kann dann das dann in ein Statement zusammenpacken.

          Das "t" sieht doch schon wie ein normaler Timestamp aus.

          1 Reply Last reply Reply Quote 0
          • B
            Blockmove last edited by

            Hallo Jochen,
            ich hab gerade angefangen das Thema Bindings im Wiki zu beschreiben.
            Als simples Beispiel wollte ich einfach eine Zahl addieren:

            BindingAdd.png

            Funktioniert aber nicht. Die 3 wird als Zeichen bzw. String genommen und angehängt.
            Subtraktion, Multiplikation, Division funktionieren wie erwartet.

            webui Version 1.0.22

            VG
            Dieter

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

              @blockmove said in neue Visualisierung "webui" (alternative zu vis):

              Hallo Jochen,
              ich hab gerade angefangen das Thema Bindings im Wiki zu beschreiben.
              Als simples Beispiel wollte ich einfach eine Zahl addieren:

              BindingAdd.png

              Funktioniert aber nicht. Die 3 wird als Zeichen bzw. String genommen und angehängt.
              Subtraktion, Multiplikation, Division funktionieren wie erwartet.

              webui Version 1.0.22

              VG
              Dieter

              geht bei mir genau so wie du es hier zeigst

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

                @smilie108

                paste dein json hier:
                https://jsonparser.org/

                86956a81-5c8f-4b46-80b4-ba4c9839ffec-image.png

                nun siehst auf deinen ersten node in data greifst du über

                 graphs[0].data[0].y zu
                

                dies könntest nun in einer schleife machen:

                  let result = [];
                  for (let d of graphs[0].data) {
                        result.push([d.y, d.ts])
                 return result;
                

                geht aber natürlich auch so:

                  graphs[0].data.map(d => ([d.y, d.ts]))
                Smilie108 1 Reply Last reply Reply Quote 0
                • B
                  Blockmove @jogibear9988 last edited by

                  @jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):

                  @blockmove said in neue Visualisierung "webui" (alternative zu vis):

                  Hallo Jochen,
                  ich hab gerade angefangen das Thema Bindings im Wiki zu beschreiben.
                  Als simples Beispiel wollte ich einfach eine Zahl addieren:

                  BindingAdd.png

                  Funktioniert aber nicht. Die 3 wird als Zeichen bzw. String genommen und angehängt.
                  Subtraktion, Multiplikation, Division funktionieren wie erwartet.

                  webui Version 1.0.22

                  VG
                  Dieter

                  geht bei mir genau so wie du es hier zeigst

                  Bin nun dahintergekommen 😁

                  Ich hab zum Testen mehrere Input-Felder für den gleichen Datenpunkt auf einem Screen

                  BindingAddInput.png

                  Damit trit das Problem auf. Mit einem einzelnen Input für den DP funktioniert alles wie gewohnt.

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

                    @jogibear9988 sagte in neue Visualisierung "webui" (alternative zu vis):

                    graphs[0].data.map(d => ([d.y, d.ts]))

                    danke mal grundsätzlich das glaub ich habe ich jetzt verstanden aber er akzeptiert die 0 nicht
                    4732e2ea-fe64-4b12-b648-06171b4efd47-grafik.png
                    9b2c06e1-5fc0-4ded-b075-e4bd173b26e6-grafik.png

                    // Update
                    Habs zusaammengebracht muss nun nur noch den ts in eine leesbare form bringen 😉
                    Danke vorab mal glaub das hab ich ejtzt verstanden und @Blockmove jop im scripteditor ist das ganz praktisch mit den fehlermeldungen 😉

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

                      @blockmove said in neue Visualisierung "webui" (alternative zu vis):

                      @jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):

                      @blockmove said in neue Visualisierung "webui" (alternative zu vis):

                      Hallo Jochen,
                      ich hab gerade angefangen das Thema Bindings im Wiki zu beschreiben.
                      Als simples Beispiel wollte ich einfach eine Zahl addieren:

                      BindingAdd.png

                      Funktioniert aber nicht. Die 3 wird als Zeichen bzw. String genommen und angehängt.
                      Subtraktion, Multiplikation, Division funktionieren wie erwartet.

                      webui Version 1.0.22

                      VG
                      Dieter

                      geht bei mir genau so wie du es hier zeigst

                      Bin nun dahintergekommen 😁

                      Ich hab zum Testen mehrere Input-Felder für den gleichen Datenpunkt auf einem Screen

                      BindingAddInput.png

                      Damit trit das Problem auf. Mit einem einzelnen Input für den DP funktioniert alles wie gewohnt.

                      versteh ich nicht, wieso macht es mit mehreren probleme?
                      Habs gerade versucht, dachte er ruft dann das changed durch die wertänderung auf, aber scheint das wird nur durch die UI getriggert, daher sollte es ja gehen

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

                        @jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):

                        Damit trit das Problem auf. Mit einem einzelnen Input für den DP funktioniert alles wie gewohnt.

                        versteh ich nicht, wieso macht es mit mehreren probleme?
                        Habs gerade versucht, dachte er ruft dann das changed durch die wertänderung auf, aber scheint das wird nur durch die UI getriggert, daher sollte es ja gehen

                        Und warum nur bei einem "+". Andere Rechenoperationen funktionieren.

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

                          @blockmove said in neue Visualisierung "webui" (alternative zu vis):

                          @jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):

                          Damit trit das Problem auf. Mit einem einzelnen Input für den DP funktioniert alles wie gewohnt.

                          versteh ich nicht, wieso macht es mit mehreren probleme?
                          Habs gerade versucht, dachte er ruft dann das changed durch die wertänderung auf, aber scheint das wird nur durch die UI getriggert, daher sollte es ja gehen

                          Und warum nur bei einem "+". Andere Rechenoperationen funktionieren.

                          kannst mir das in einen screen auf dem beisielserver packen? dann schau ich

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

                            @jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):

                            @blockmove said in neue Visualisierung "webui" (alternative zu vis):

                            @jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):

                            Damit trit das Problem auf. Mit einem einzelnen Input für den DP funktioniert alles wie gewohnt.

                            versteh ich nicht, wieso macht es mit mehreren probleme?
                            Habs gerade versucht, dachte er ruft dann das changed durch die wertänderung auf, aber scheint das wird nur durch die UI getriggert, daher sollte es ja gehen

                            Und warum nur bei einem "+". Andere Rechenoperationen funktionieren.

                            kannst mir das in einen screen auf dem beisielserver packen? dann schau ich

                            Ich hab's mal versucht bei dir nachzustellen. Aber auf dem Testserver funktioniert.
                            Du hast aber noch 1.0.21 drauf. Ich hab auf meinen 2 Rechnern 1.0.22.

                            Ergänzung: Hab jetzt auf einen Rechner zurück auf 1.0.21.
                            Damit lässt sich das Verhalten nicht mehr nachstellen. Also wie auf deinem Testserver.

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

                              @blockmove said in neue Visualisierung "webui" (alternative zu vis):

                              @jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):

                              @blockmove said in neue Visualisierung "webui" (alternative zu vis):

                              @jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):

                              Damit trit das Problem auf. Mit einem einzelnen Input für den DP funktioniert alles wie gewohnt.

                              versteh ich nicht, wieso macht es mit mehreren probleme?
                              Habs gerade versucht, dachte er ruft dann das changed durch die wertänderung auf, aber scheint das wird nur durch die UI getriggert, daher sollte es ja gehen

                              Und warum nur bei einem "+". Andere Rechenoperationen funktionieren.

                              kannst mir das in einen screen auf dem beisielserver packen? dann schau ich

                              Ich hab's mal versucht bei dir nachzustellen. Aber auf dem Testserver funktioniert.
                              Du hast aber noch 1.0.21 drauf. Ich hab auf meinen 2 Rechnern 1.0.22.

                              Ergänzung: Hab jetzt auf einen Rechner zurück auf 1.0.21.
                              Damit lässt sich das Verhalten nicht mehr nachstellen. Also wie auf deinem Testserver.

                              hab geupdatet, wie heißt der screen?

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

                                @jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):

                                @blockmove said in neue Visualisierung "webui" (alternative zu vis):

                                @jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):

                                @blockmove said in neue Visualisierung "webui" (alternative zu vis):

                                @jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):

                                Damit trit das Problem auf. Mit einem einzelnen Input für den DP funktioniert alles wie gewohnt.

                                versteh ich nicht, wieso macht es mit mehreren probleme?
                                Habs gerade versucht, dachte er ruft dann das changed durch die wertänderung auf, aber scheint das wird nur durch die UI getriggert, daher sollte es ja gehen

                                Und warum nur bei einem "+". Andere Rechenoperationen funktionieren.

                                kannst mir das in einen screen auf dem beisielserver packen? dann schau ich

                                Ich hab's mal versucht bei dir nachzustellen. Aber auf dem Testserver funktioniert.
                                Du hast aber noch 1.0.21 drauf. Ich hab auf meinen 2 Rechnern 1.0.22.

                                Ergänzung: Hab jetzt auf einen Rechner zurück auf 1.0.21.
                                Damit lässt sich das Verhalten nicht mehr nachstellen. Also wie auf deinem Testserver.

                                hab geupdatet, wie heißt der screen?
                                /blockmove/inputbinding

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

                                  @blockmove said in neue Visualisierung "webui" (alternative zu vis):

                                  @jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):

                                  @blockmove said in neue Visualisierung "webui" (alternative zu vis):

                                  @jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):

                                  @blockmove said in neue Visualisierung "webui" (alternative zu vis):

                                  @jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):

                                  Damit trit das Problem auf. Mit einem einzelnen Input für den DP funktioniert alles wie gewohnt.

                                  versteh ich nicht, wieso macht es mit mehreren probleme?
                                  Habs gerade versucht, dachte er ruft dann das changed durch die wertänderung auf, aber scheint das wird nur durch die UI getriggert, daher sollte es ja gehen

                                  Und warum nur bei einem "+". Andere Rechenoperationen funktionieren.

                                  kannst mir das in einen screen auf dem beisielserver packen? dann schau ich

                                  Ich hab's mal versucht bei dir nachzustellen. Aber auf dem Testserver funktioniert.
                                  Du hast aber noch 1.0.21 drauf. Ich hab auf meinen 2 Rechnern 1.0.22.

                                  Ergänzung: Hab jetzt auf einen Rechner zurück auf 1.0.21.
                                  Damit lässt sich das Verhalten nicht mehr nachstellen. Also wie auf deinem Testserver.

                                  hab geupdatet, wie heißt der screen?
                                  /blockmove/inputbinding

                                  okay, hab nen typo, baue gerade neues release

                                  B 1 Reply Last reply Reply Quote 2
                                  • Smilie108
                                    Smilie108 last edited by Smilie108

                                    Mhm
                                    hab das ja jetzt laufen mit

                                    let obj = JSON.parse(__0);
                                    let graph = obj.graphs[0];
                                    let result = [];
                                     for (let d of obj.graphs[0].data) {
                                           result.push([d.y, d.t])}
                                    return result;
                                    

                                    wenn ich allerdings

                                     result.push([d.y, formatDate(d.t , "DD MMM YYYY hh:mm")])}
                                    

                                    mache dann bekomme ich wieder keiune anzeige beim javasript beokmme ich folgende RM

                                    avascript.0 (1205) script.js.test.testscript_graph: [ [ 6.867, '21-01-2024 00:00' ], [ 5.783, '21-01-2024 01:00' ], [ 5.515, '21-01-2024 02:00' ], [ 5.089, '21-01-2024 03:00' ], [ 5.137, '21-01-2024 04:00' ], [ 5.501, '21-01-2024 05:00' ], [ 5.429, '21-01-2024 06:00' ], [ 6.005, '21-01-2024 07:00' ], [ 6.312, '21-01-2024 08:00' ], [ 5.876, '21-01-2024 09:00' ], [ 5.464, '21-01-2024 10:00' ], [ 5.307, '21-01-2024 11:00' ], [ 4.695, '21-01-2024 12:00' ], [ 4.66, '21-01-2024 13:00' ], [ 5.435, '21-01-2024 14:00' ], [ 6.474, '21-01-2024 15:00' ], [ 7.868, '21-01-2024 16:00' ], [ 8.198, '21-01-2024 17:00' ], [ 8.6, '21-01-2024 18:00' ], [ 8.216, '21-01-2024 19:00' ], [ 7.867, '21-01-2024 20:00' ], [ 6.409, '21-01-2024 21:00' ], [ 6.384, '21-01-2024 22:00' ], [ 5.868, '21-01-2024 23:00' ], [ 5.868, '22-01-2024 00:00' ] ]
                                    

                                    kann es sein das das js chart die ' nicht mag ?
                                    die bekomme ich aber nicht weg
                                    und toLocaleString() geht ja nicht

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

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

                                      Mhm
                                      hab das ja jetzt laufen mit

                                      let obj = JSON.parse(__0);
                                      let graph = obj.graphs[0];
                                      let result = [];
                                       for (let d of obj.graphs[0].data) {
                                             result.push([d.y, d.t])}
                                      return result;
                                      

                                      wenn ich allerdings

                                       result.push([d.y, formatDate(d.t , "DD MMM YYYY hh:mm")])}
                                      

                                      mache dann bekomme ich wieder keiune anzeige beim javasript beokmme ich folgende RM

                                      avascript.0 (1205) script.js.test.testscript_graph: [ [ 6.867, '21-01-2024 00:00' ], [ 5.783, '21-01-2024 01:00' ], [ 5.515, '21-01-2024 02:00' ], [ 5.089, '21-01-2024 03:00' ], [ 5.137, '21-01-2024 04:00' ], [ 5.501, '21-01-2024 05:00' ], [ 5.429, '21-01-2024 06:00' ], [ 6.005, '21-01-2024 07:00' ], [ 6.312, '21-01-2024 08:00' ], [ 5.876, '21-01-2024 09:00' ], [ 5.464, '21-01-2024 10:00' ], [ 5.307, '21-01-2024 11:00' ], [ 4.695, '21-01-2024 12:00' ], [ 4.66, '21-01-2024 13:00' ], [ 5.435, '21-01-2024 14:00' ], [ 6.474, '21-01-2024 15:00' ], [ 7.868, '21-01-2024 16:00' ], [ 8.198, '21-01-2024 17:00' ], [ 8.6, '21-01-2024 18:00' ], [ 8.216, '21-01-2024 19:00' ], [ 7.867, '21-01-2024 20:00' ], [ 6.409, '21-01-2024 21:00' ], [ 6.384, '21-01-2024 22:00' ], [ 5.868, '21-01-2024 23:00' ], [ 5.868, '22-01-2024 00:00' ] ]
                                      

                                      kann es sein das das js chart die ' nicht mag ?
                                      die bekomme ich aber nicht weg
                                      und toLocaleString() geht ja nicht

                                      die ' bedeuten in deiner ausgabe ja nur es sind strings... das waren aber vorher zahlen.
                                      vlt. machst im frontend was falsch.
                                      schreib in die formula "debugger;" rein dann kannst die auch durchsteppen

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

                                        äh, formatDate gibts im frontend nicht, das ist eine funktion vom javascript adapter

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

                                          @jogibear9988
                                          ah ok das würde bedeuten ich muss das im javascript aufbereiten in ein objekt schreiben und das dann binden ? probier ich gleich mal dann kannman den timestamp nicht on the fly umwandeln ?

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

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

                                            @jogibear9988
                                            ah ok das würde bedeuten ich muss das im javascript aufbereiten in ein objekt schreiben und das dann binden ? probier ich gleich mal dann kannman den timestamp nicht on the fly umwandeln ?

                                            Zeit und Datumsfunktion gibt es in Javascript jede Menge.
                                            Mit welchem Control willst du die Daten darstellen? In welcher Form erwartet es Zeit und Datum?
                                            Als ts ist es einfach ne Zahl, Da kannst du dann evtl. die Zeitzonen-Funktionen brauchen und z.B. einfach den Offset zur UTC draufaddieren.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            894
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            20
                                            1074
                                            264661
                                            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