Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. [gelöst] Array visualisieren

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Array visualisieren

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky @besc0029 last edited by liv-in-sky

      @besc0029 sagte in Array visualisieren:

      or zwei Jahren habe ich also 2857 kwh Gas im November verbraucht, im Dezemnber dann 2320, etc.

      da ergibt das array aber keinen sinn - insgesamt sind es um die 35 einträge,. das wären dann keine 2 jahre und was bedeuten die ganzen 0er ?

      wenn das geklärt ist, entweder wie @Homoran sagt - über datenpunkte oder evtl eine json daraus machen und das in einer json tabelle als widget direkt anzeigen

      Homoran B 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @liv-in-sky last edited by

        @liv-in-sky sagte in Array visualisieren:

        was bedeuten die ganzen 0er ?

        Sommerpause

        liv-in-sky 1 Reply Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky @Homoran last edited by

          @homoran 15 monate lang sommerpause ?

          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @liv-in-sky last edited by

            @liv-in-sky sagte in Array visualisieren:

            @homoran 15 monate lang sommerpause ?

            🤔

            1 Reply Last reply Reply Quote 0
            • B
              besc0029 @liv-in-sky last edited by

              @liv-in-sky in der Tat sind die Nuller grundsätzlich die Sommerpause.... Für das letzte Jahr (welches im November letzten Jares beginnt, 2624.3 ff.) stimmt die Zahlenfolge auch. Diesen Sommer war die Heizung drei Monate komplett aus. Warum er davor so viele Nullen hat weiss ich ehrlich gesagt nicht.

              Aber wie bekomme ich jetzt (bspw. beginnend ab 2624) die Werte über Blocky in einzelne Datenpunkte. Optimalerweise wäre es ja eine Struktur mit Datenpunktbezeichnungen wie "vor 12 Monaten", "vor 11 Monaten", "vor 10 Monaten", etc. und dann jeweils der Wert. Kann mir da jemand helfen?

              Kenne mich mit dem Parsen zu wenig aus.

              Danke im voraus.
              Bernhard

              Homoran liv-in-sky 2 Replies Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @besc0029 last edited by

                @besc0029 in blockly gibt es den Baustein "nimm das ... Element der Liste"
                das dann mit aktualisiere in den DP schreiben.

                B 1 Reply Last reply Reply Quote 0
                • B
                  besc0029 @Homoran last edited by

                  @homoran bekomm das irgendwie nicht hin. Wenn ich versuche, das Array zu zerlegen, kommt immer der Fehler:

                  TypeError: Cannot read properties of undefined (reading 'split')

                  2493c6e3-f18a-47e9-aaf2-642f89c8d7d9-image.png

                  paul53 Homoran 2 Replies Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @besc0029 last edited by

                    @besc0029

                    bedeutet das:
                    alles davor weglassen ?
                    2624.3, vor 13 monaten
                    2620.6, vor 12 monaten
                    3094.1, vor 11 monaten
                    2092.3, vor 10 monaten
                    1858.3,vor 9monaten
                    1073.2, vor 8 monaten
                    179, vor 7monaten
                    0, vor 6 monaten
                    0, vor 5 monaten
                    0, vor 4 monaten
                    573.2, vor 3 monaten
                    633.2, vor 2 monaten
                    1341.3, letztes monat
                    0 - dieses monat

                    was machst du dann mit den datenpunkten ? wie willst du das in der vis anzeigen, oder nicht in der vis ? problem - wenn ein neues monat kommt, muss ein neuer dp erstellt werden und alle inhalte verschoben werden - da wäre es besser mit monatsnamen zu arbeiten

                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @besc0029 last edited by

                      @besc0029 sagte: Wenn ich versuche, das Array zu zerlegen

                      Ein Array kann nicht nochmal zerlegt werden. Ist der Datenpunkt mit der Liste vom Typ "array" oder vom Typ "string" (JSON)?

                      B 1 Reply Last reply Reply Quote 0
                      • B
                        besc0029 @paul53 last edited by

                        @paul53 Ist vom Typ Array

                        B paul53 2 Replies Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @besc0029 last edited by

                          @besc0029 sagte in Array visualisieren:

                          das Array zu zerlegen,

                          warum konvertierst du es nach String?
                          Dann ist es kein Array mehr.

                          was kommt denn als debug?
                          welchen Typ hat der Datenpunkt?

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

                            Das Blockly sieht richtigerweise wohl so aus:

                            74dbcd87-3647-4fc4-85b5-2427adb00702-image.png

                            Aber wie gesagt, hab dann immer noch den Konvertierungsfehler

                            @liv-in-sky : Das Array ist immer gleich lang. Neue Monate werden durch überschreiben der alten angelegt, d.h. die Anzahl der Werte im Array ist stets konstant.

                            liv-in-sky 1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @besc0029 last edited by paul53

                              @besc0029 sagte: Ist vom Typ Array

                              Dann teste es mal so:

                              Bild_2022-11-28_184528024.png

                              EDIT: Mit Trigger:

                              Bild_2022-11-28_184722098.png

                              Wert findet man unter "Trigger".

                              Blockly_DP_Props.JPG

                              1 Reply Last reply Reply Quote 1
                              • liv-in-sky
                                liv-in-sky @besc0029 last edited by liv-in-sky

                                @besc0029

                                so kannst du erstmal durch das array gehen, wenn der dp vom typ array ist:

                                Image 024.png

                                Image 025.png

                                Homoran 1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @liv-in-sky last edited by

                                  @liv-in-sky sagte in Array visualisieren:

                                  wenn der dp vom typ array ist:

                                  Deswegen warten wir suf die Ausgaben vom debug Block

                                  B 1 Reply Last reply Reply Quote 0
                                  • B
                                    besc0029 @Homoran last edited by

                                    Hallo,

                                    habs hinbekommen das Array zu zerlegen:
                                    433e8911-5aba-4cdc-a795-198c5ddf71e1-image.png

                                    9e6810b3-9b6d-4f35-8cf0-fef7fe77e09e-image.png

                                    Jetzt weiss ich nur nicht, wie ich das am Besten in eine Visualisierung packe, so dass bspw. jeder Datenpunkt einen Balken im Diagramm darstellt. Wenn ich alle Verbrauchswerte so wie im Debug in unterschiedliche Datenpunkte schreibe, bekomme ich diese ja nicht sinnvoll in eine visuelle Darstellung überführt.

                                    Wenn ich "in Excel" denke, würde ich ne Pivot-Tabelle machen und daraus ne Visualisierung. Im iOBroker fällt mir aber gar nichts ein - nicht zuletzt, weil die historischen Datenpunkte, wie bspw Verbrauch vor 15 Monaten (mein beispiel wertet das Stunden Array aus, es gibt aber auch Monats und Jahres-Arrays) ja nicht sinnvoll erfasst werden wenn ich die über History-Adapter oder InfluxDB schreibe - dort wäre ja das Änderungsdatum stetas der aktuelle Zeitstempel.

                                    BIn für jede Idee dankbar.

                                    VG
                                    Bernhard

                                    Homoran liv-in-sky 3 Replies Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @besc0029 last edited by

                                      @besc0029 sagte in Array visualisieren:

                                      dort wäre ja das Änderungsdatum stetas der aktuelle Zeitstempel.
                                      BIn für jede Idee dankbar.

                                      da die Antwort hierzu ebenfalls noch aussteht, gab es bisher auch keine Hinweise
                                      @homoran sagte in Array visualisieren:

                                      @besc0029 sagte in Array visualisieren:

                                      Diese Werte wollte ich jetzt visualisieren,

                                      in welcher Form?

                                      1 Reply Last reply Reply Quote 0
                                      • liv-in-sky
                                        liv-in-sky @besc0029 last edited by liv-in-sky

                                        @besc0029

                                        eine tabelle bekommst du entweder:

                                        • durch das erstellen eines html codes (z.b. <table>.... )und dem standard html widget
                                        • durch das erstellen eines json's und dann das json widget nutzen

                                        ein balkendiagramm ginge über material-design chart json widget - etwas kompliziert zu erstellen https://github.com/Scrounger/ioBroker.vis-materialdesign#bar-chart

                                        1 Reply Last reply Reply Quote 0
                                        • liv-in-sky
                                          liv-in-sky @besc0029 last edited by liv-in-sky

                                          @besc0029

                                          habe mir das bar widget nochmal angesehen - sollte durch eine kleine zusatz function in deinem script machbar sein

                                          zb:

                                          Image 034.png

                                          Image 036.png

                                          habe keine formatierungen vorgenommen

                                          Image 035.png

                                          <xml xmlns="https://developers.google.com/blockly/xml">
                                           <variables>
                                             <variable id=")PpBF*Mr-.)km3?H1RN0">zaehler</variable>
                                             <variable id="#B}=_xXtWf49*.M/n6`w">time</variable>
                                             <variable id="n|.+@erN%k!^D7N$yKU)">myVal</variable>
                                             <variable id="Ju,~uIvLu1^z^%xeErUy">relevArry</variable>
                                             <variable id="k,4(;#/BOO|Iq)z8psxb">jsonBar</variable>
                                             <variable id="]9aZ_E#/9W%[?sfk.DV4">j</variable>
                                           </variables>
                                           <block type="variables_set" id="x`*JXi`fn*3W~l7HI^.X" x="-538" y="-262">
                                             <field name="VAR" id=")PpBF*Mr-.)km3?H1RN0">zaehler</field>
                                             <value name="VALUE">
                                               <block type="math_number" id="_K]GiH=A#4x)$qyb:#S{">
                                                 <field name="NUM">13</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="variables_set" id="|cDG7Q/4J%#vMh3HJl/p">
                                                 <field name="VAR" id="Ju,~uIvLu1^z^%xeErUy">relevArry</field>
                                                 <value name="VALUE">
                                                   <block type="get_value" id="pEa/tq8ha,NDg~Jp87nZ">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">0_userdata.0.CONTROL-OWN.AAATEST.testArray</field>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="variables_set" id="%^z^TO+Z(ZR0gx*#E%$U">
                                                     <field name="VAR" id="k,4(;#/BOO|Iq)z8psxb">jsonBar</field>
                                                     <value name="VALUE">
                                                       <block type="lists_create_with" id="dHh9Ap,1_2+W%Veru`{G">
                                                         <mutation items="0"></mutation>
                                                       </block>
                                                     </value>
                                                     <next>
                                                       <block type="controls_for" id="}+fz2=:Kj[RMA{M9Bp?n">
                                                         <field name="VAR" id="]9aZ_E#/9W%[?sfk.DV4">j</field>
                                                         <value name="FROM">
                                                           <shadow type="math_number" id="p$dz:k8sRw{:]um)/fo@">
                                                             <field name="NUM">23</field>
                                                           </shadow>
                                                         </value>
                                                         <value name="TO">
                                                           <shadow type="math_number" id="aztPj0ll*WMy2QwAL|)y">
                                                             <field name="NUM">10</field>
                                                           </shadow>
                                                           <block type="lists_length" id="qMR9SX29(}w_,gZP;aa8">
                                                             <value name="VALUE">
                                                               <block type="variables_get" id="P35RiuTkx?$k_eNgpjfU">
                                                                 <field name="VAR" id="Ju,~uIvLu1^z^%xeErUy">relevArry</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <value name="BY">
                                                           <shadow type="math_number" id="%z_o3E3O0*?OiUdadboK">
                                                             <field name="NUM">1</field>
                                                           </shadow>
                                                         </value>
                                                         <statement name="DO">
                                                           <block type="debug" id="`9r8@u[f2LLNm.pE5lTl">
                                                             <field name="Severity">log</field>
                                                             <value name="TEXT">
                                                               <shadow type="text" id="W9:}:y0LG2cWPfTT%:O:">
                                                                 <field name="TEXT">test</field>
                                                               </shadow>
                                                               <block type="text_join" id="(G3Jv7C6d8OU(=}L!tf*">
                                                                 <mutation items="4"></mutation>
                                                                 <value name="ADD0">
                                                                   <block type="text" id="%.$PDQv]!${9n8I=bsk}">
                                                                     <field name="TEXT">vor  </field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD1">
                                                                   <block type="variables_get" id="M@tTp=g_-rt%7mKtj_LJ">
                                                                     <field name="VAR" id=")PpBF*Mr-.)km3?H1RN0">zaehler</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD2">
                                                                   <block type="text" id="o}-#v3rp|Xo9gC.;NRJs">
                                                                     <field name="TEXT"> Monaten: </field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD3">
                                                                   <block type="lists_getIndex" id="9=mUa5+o}4pdTssc/TCi">
                                                                     <mutation statement="false" at="true"></mutation>
                                                                     <field name="MODE">GET</field>
                                                                     <field name="WHERE">FROM_START</field>
                                                                     <value name="VALUE">
                                                                       <block type="variables_get" id="q{Ka[R3@bzb?cxdWIbqP">
                                                                         <field name="VAR" id="Ju,~uIvLu1^z^%xeErUy">relevArry</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="AT">
                                                                       <block type="variables_get" id="v):emG3uW1!E,)3gSof6">
                                                                         <field name="VAR" id="]9aZ_E#/9W%[?sfk.DV4">j</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <next>
                                                               <block type="procedures_callcustomnoreturn" id="rjlq0tg)_$+!Bb0E4$-a">
                                                                 <mutation name="makeCahrt">
                                                                   <arg name="time"></arg>
                                                                   <arg name="myVal"></arg>
                                                                 </mutation>
                                                                 <value name="ARG0">
                                                                   <block type="text_join" id="(ohhjxw4b)?k@OyeTi{#">
                                                                     <mutation items="2"></mutation>
                                                                     <value name="ADD0">
                                                                       <block type="variables_get" id="r.)pOJ{YWj8|`_/I:A%b">
                                                                         <field name="VAR" id=")PpBF*Mr-.)km3?H1RN0">zaehler</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD1">
                                                                       <block type="text" id="@t@ILEHI[4Z:vAN;:3(.">
                                                                         <field name="TEXT"> Mon </field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ARG1">
                                                                   <block type="lists_getIndex" id="cXy[?WlWlNd,#(^;_Vet">
                                                                     <mutation statement="false" at="true"></mutation>
                                                                     <field name="MODE">GET</field>
                                                                     <field name="WHERE">FROM_START</field>
                                                                     <value name="VALUE">
                                                                       <block type="variables_get" id=":NYeouxSNAT|i#nmPX:3">
                                                                         <field name="VAR" id="Ju,~uIvLu1^z^%xeErUy">relevArry</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="AT">
                                                                       <block type="variables_get" id="558Eh-2xk_..K,qln;lJ">
                                                                         <field name="VAR" id="]9aZ_E#/9W%[?sfk.DV4">j</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                                 <next>
                                                                   <block type="math_change" id="H6hcLVwO1E,g_3tW(NSM">
                                                                     <field name="VAR" id=")PpBF*Mr-.)km3?H1RN0">zaehler</field>
                                                                     <value name="DELTA">
                                                                       <shadow type="math_number" id="S1}rbG`Z5%G4d3Jfmb8#">
                                                                         <field name="NUM">-1</field>
                                                                       </shadow>
                                                                     </value>
                                                                   </block>
                                                                 </next>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </statement>
                                                         <next>
                                                           <block type="control" id="H!`-k(x.]am?Oyqx4gkD">
                                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                             <field name="OID">0_userdata.0.CONTROL-OWN.AAATEST.TestJSON</field>
                                                             <field name="WITH_DELAY">FALSE</field>
                                                             <value name="VALUE">
                                                               <block type="convert_object2json" id="YW=0J^(l;z(%mmFV6Fhb">
                                                                 <field name="PRETTIFY">FALSE</field>
                                                                 <value name="VALUE">
                                                                   <block type="variables_get" id="ohC{YlU$P@jfK:ob1U@;">
                                                                     <field name="VAR" id="k,4(;#/BOO|Iq)z8psxb">jsonBar</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                           <block type="procedures_defcustomnoreturn" id="s/Qt`oX0xJN2!Yec64^l" x="137" y="163">
                                             <mutation statements="false">
                                               <arg name="time" varid="#B}=_xXtWf49*.M/n6`w"></arg>
                                               <arg name="myVal" varid="n|.+@erN%k!^D7N$yKU)"></arg>
                                             </mutation>
                                             <field name="NAME">makeCahrt</field>
                                             <field name="SCRIPT">anNvbkJhci5wdXNoKHsNCgkJImxhYmVsIjogdGltZSwNCgkJInZhbHVlIjogbXlWYWwNCgkJDQoJfSkNCg==</field>
                                             <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                           </block>
                                          </xml>
                                          

                                          B 1 Reply Last reply Reply Quote 0
                                          • B
                                            besc0029 @liv-in-sky last edited by

                                            @liv-in-sky Danke soweit für die Ausführungen. Deine Visualisierung entspricht dem wo ich hin will.

                                            Leider verstehe ich in der Blockly-Erweiterung bei Dir nur "Bahnhof und Abfahrt". Könntest Du das ggf. etwas ausführen, insbesondere Hinsichtlich des Bausteins "Javaskript-Funktion" - ich weiss leider gar nicht wie ich den Baustein zu verwenden hab.

                                            Auch verstehe ich nicht ganz,. wie die Daten nacher ins BarWidget gewandert sind ...

                                            Sorry, aber ist ja die Rubrik "Einsteigerfragen" 😞

                                            Danke für Deine Bemühungen....

                                            VG

                                            liv-in-sky 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            531
                                            Online

                                            31.9k
                                            Users

                                            80.3k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            24
                                            884
                                            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