Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Wert regelmäßig in neue Variable loggen

    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

    Wert regelmäßig in neue Variable loggen

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

      @Jaschkopf Alternativ wäre eine History-Instanz und ein Diagramm bspw. mit Flot.

      J 1 Reply Last reply Reply Quote 0
      • J
        Jaschkopf @maloross last edited by

        @maloross Damit habe ich mich auch schon beschäftigt, aber ich habe noch nicht heraus gefunden wie ich mit history nur zu einem bestimmten Zeitpunkt die Werte loggen kann.

        maloross 1 Reply Last reply Reply Quote 0
        • maloross
          maloross @Jaschkopf last edited by

          @Jaschkopf aus dem Bauch heraus: "nur Änderungen" deaktivieren und im Feld darunter 86400 sec eintragen. Nach meinem Verständnis - habs aber selber noch nicht getestet - erfolgt alle 24 Stunden eine Speicherung.

          J 1 Reply Last reply Reply Quote 0
          • J
            Jaschkopf @maloross last edited by

            @maloross aber ich kann nicht definieren zu welcher Uhrzeit. Wenn die Werte dann mittags um 13Uhr geloggt werden hab ich nichts gewonnen.

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

              @Jaschkopf sagte:

              Erstelle Variable mit Namen "Jahr"."Monat"

              Dazu benötigt man eine Javascript-Funktion

              Blockly_temp.JPG
              mit folgendem Inhalt:

              createState(id, init, {type:'number', unit:'kWh', read:true, write:false, role:'value'});
              

              <xml xmlns="http://www.w3.org/1999/xhtml">
               <variables>
                 <variable type="" id="7[ncH.}$Hq9F`]KG(%?E">id</variable>
                 <variable type="" id="[B%FJy2}hXuj_Qebw2=5">init</variable>
                 <variable type="" id="YFqOrOH8:F{;H+_W+feb">gestern</variable>
               </variables>
               <block type="procedures_defcustomnoreturn" id=".#,V=g-UqqmN}G~AdE*T" x="-13" y="137">
                 <mutation statements="false">
                   <arg name="id" varid="7[ncH.}$Hq9F`]KG(%?E"></arg>
                   <arg name="init" varid="[B%FJy2}hXuj_Qebw2=5"></arg>
                 </mutation>
                 <field name="NAME">erzeugeDP</field>
                 <field name="SCRIPT">Y3JlYXRlU3RhdGUoaWQsIGluaXQsIHt0eXBlOidudW1iZXInLCB1bml0OidrV2gnLCByZWFkOnRydWUsIHdyaXRlOmZhbHNlLCByb2xlOid2YWx1ZSd9KTs=</field>
                 <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
               </block>
               <block type="comment" id="jwV3OmuylF{ZMpt[l#Ov" x="-12" y="188">
                 <field name="COMMENT">jeder 1. im Monat um 00:01</field>
                 <next>
                   <block type="schedule" id="S-Kw[;pb!e78/FK=%|9.">
                     <field name="SCHEDULE">1 0 1 * *</field>
                     <statement name="STATEMENT">
                       <block type="variables_set" id="#8enRu_Bv{IZ]^vIj^es">
                         <field name="VAR" id="YFqOrOH8:F{;H+_W+feb" variabletype="">gestern</field>
                         <value name="VALUE">
                           <block type="math_arithmetic" id="Jyl@{RzDW,gUxkkS:p?Z">
                             <field name="OP">MINUS</field>
                             <value name="A">
                               <shadow type="math_number" id="iipD20^(59e7q_RXr?mK">
                                 <field name="NUM">1</field>
                               </shadow>
                               <block type="time_get" id="|3;[eDALBv|De1ze526R">
                                 <mutation format="false" language="false"></mutation>
                                 <field name="OPTION">object</field>
                               </block>
                             </value>
                             <value name="B">
                               <shadow type="math_number" id="YAw:f=9C${ZZ[;dMnu;o">
                                 <field name="NUM">120000</field>
                               </shadow>
                             </value>
                           </block>
                         </value>
                         <next>
                           <block type="procedures_callcustomnoreturn" id="~b}ByC_mXK{2/A7kW=e8">
                             <mutation name="erzeugeDP">
                               <arg name="id"></arg>
                               <arg name="init"></arg>
                             </mutation>
                             <value name="ARG0">
                               <block type="text_join" id=")dVk7CFAcFQ(qM1.9u4o">
                                 <mutation items="4"></mutation>
                                 <value name="ADD0">
                                   <block type="text" id="YKH@(HFHLT54b~6`I}@0">
                                     <field name="TEXT">Zaehlerstand.</field>
                                   </block>
                                 </value>
                                 <value name="ADD1">
                                   <block type="convert_from_date" id="mH?em46.Jl!Spum@);.6">
                                     <mutation format="false" language="false"></mutation>
                                     <field name="OPTION">fy</field>
                                     <value name="VALUE">
                                       <block type="variables_get" id="g-U}$Qb_Ch9TX!ohYk]*">
                                         <field name="VAR" id="YFqOrOH8:F{;H+_W+feb" variabletype="">gestern</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <value name="ADD2">
                                   <block type="text" id="@t+#VRh[:agetS+CM_S*">
                                     <field name="TEXT">.</field>
                                   </block>
                                 </value>
                                 <value name="ADD3">
                                   <block type="convert_from_date" id="CW6v;{gM2$fz[Hsc}tAt">
                                     <mutation format="false" language="true"></mutation>
                                     <field name="OPTION">Mt</field>
                                     <field name="LANGUAGE">de</field>
                                     <value name="VALUE">
                                       <block type="variables_get" id="?cVs+C6o6LfB.}+3jCLx">
                                         <field name="VAR" id="YFqOrOH8:F{;H+_W+feb" variabletype="">gestern</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <value name="ARG1">
                               <block type="get_value" id="IQo[Ac78HHGCSJXD=m9@">
                                 <field name="ATTR">val</field>
                                 <field name="OID">ID auswählen</field>
                               </block>
                             </value>
                           </block>
                         </next>
                       </block>
                     </statement>
                   </block>
                 </next>
               </block>
              </xml>
              

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

                @Jaschkopf wenn du das etwa um die Uhrzeit abspeicherst, wo der Wert erfasst werden soll, dann erfolgt 24 Stunden später die nächste. Und da die Sommerzeit eh bald abgeschafft wird....
                War halt nur bisi Brainstorming

                1 Reply Last reply Reply Quote 0
                • J
                  Jaschkopf last edited by Jaschkopf

                  Servus. Habe es jetzt so gelöst:

                  Täglich im 00:01 wird der aktuelle Zählerstand in eine Variable "Tagesanfang" geschoben.
                  Täglich um 23:59 wird dann "Tagesanfang" Minus " "Aktueller Zählerstand" gerechnet und in "Tagesende" geschoben" (Gerundet auf 3 Nachkommastellen)
                  Zählerstände Blockly.PNG

                  Die Variable "Tagesende" logge ich dann mit History und kann mir das dann in Flot als Balkengrafik anzeigen.
                  Stromverbrauch.PNG

                  Gruß Jaschkopf

                  Homoran 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @Jaschkopf last edited by Homoran

                    @Jaschkopf

                    So in der Art mache ich es auch:
                    Summenwerte.png

                    Die Werte aktualisiere ich laufend:
                    aktuelle_Werte.png

                    Leider habe ich keine konsistenten Bezeichnungen für Tag/Monat/Jahr, da das Skript über die Zeit gewachsen ist.

                    Hier die Datendarstellung:
                    Stromdaten.png

                    rechts das Balkendiagramm der letzten Tage
                    Links die Gauges mit aktuellen Werten, darüber die Anzeigen für Total - Monat - Tag (von oben nach unten - Jahr habe ich gestern erst fertiggestellt)

                    J 1 Reply Last reply Reply Quote 0
                    • J
                      Jaschkopf @Homoran last edited by

                      @Homoran deine Visu gefällt mir gut. Hab ich auch noch auf der ToDo Liste. Was für einen Wechselrichter hast du, bzw wie bekommst du die Daten der PV Anlage in den ioBroker?

                      Gruß Jaschkopf

                      Homoran 1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @Jaschkopf last edited by Homoran

                        @Jaschkopf sagte in Wert regelmäßig in neue Variable loggen:

                        Was für einen Wechselrichter hast du, bzw wie bekommst du die Daten der PV Anlage in den ioBroker?

                        Das ist ein Kostal piko 5.5.
                        Dazu hatte mal jemand ein Script geschrieben.

                        1 Reply Last reply Reply Quote 0
                        • J
                          Jaschkopf last edited by

                          Servus. Mir ist jetzt noch ein Fehler aufgefallen wo ich nochmal eure Hilfe brauche. Über einen Cron Trigger um 23:59 soll er mir die Werte in eine Variable schreiben, wenn ich aber das Objekt prüfe wann der Wert das letzte mal geschrieben wurde passiert es immer um 0:59. Kann mir das jemand erklären?

                          Die Uhrzeit im ioBroker stimmt. Über raspi-config habe ich auch die richtige Zeitzone eingestellt. Wenn ich in der Konsole "date" eingebe gibt er mir die lokale Zeit korrekt und eine universal Zeit mit -1h aus. Kann das damit zusammen hängen?

                          Gruß Jaschkopf

                          Homoran 1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @Jaschkopf last edited by

                            @Jaschkopf sagte in Wert regelmäßig in neue Variable loggen:

                            gibt er mir die lokale Zeit korrekt und eine universal Zeit mit -1h aus.

                            richtig; die lokale Zeit ist (im Winter) eine Stunde niedriger als die UTC

                            Wenn date die richtige Zeit ausgibt sollte es daran eigentlich nicht liegen

                            1 Reply Last reply Reply Quote 0
                            • J
                              Jaschkopf last edited by

                              Habe gerade nochmal das Datum am Pi geprüft:

                              pi@raspberrypi:~ $ date
                              Do 30. Jan 16:48:51 CET 2020
                              

                              Also das passt. Trotzdem wird der Wert erst um 0:59 geschrieben. Hier nochmal mein Skript:
                              Unbenannt.PNG

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

                                @Jaschkopf sagte:

                                wird der Wert erst um 0:59 geschrieben.

                                Wird so die richtige Zeit im Log ausgegeben ?

                                Blockly_temp.JPG

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

                                  @paul53 sagte in Wert regelmäßig in neue Variable loggen:

                                  @Jaschkopf sagte:

                                  wird der Wert erst um 0:59 geschrieben.

                                  Wird so die richtige Zeit im Log ausgegeben ?

                                  Blockly_temp.JPG

                                  Habe das gerade ausprobiert und es wird tatsächlich die Uhrzeit mit -1h ausgegeben, also gerade eben 16:26Uhr.

                                  Aber im Info Tab wird die Uhrzeit korrekt angezeigt.

                                  Gruß Jaschkopf

                                  1 Reply Last reply Reply Quote 0
                                  • J
                                    Jaschkopf last edited by

                                    Hier mal ein Ausschnitt aus meinem Log. Kann mir das jemand erklären?

                                    Unbenannt2.PNG

                                    Homoran 1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @Jaschkopf last edited by Homoran

                                      @Jaschkopf was hast du als timeserver eingetragen (wenn überhaupt)

                                      Synchronisiert der vielleicht mit einem Gerät im Netz, das die Zeit verliert?

                                      J 1 Reply Last reply Reply Quote 0
                                      • J
                                        Jaschkopf @Homoran last edited by

                                        @Homoran einen Zeitserver hab ich nicht explizit eingetragen. Sonst hat das der Pi immer von alleine gemacht. Wüsste nicht von welchem Gerät er sich die Zeit holen sollte. Wenn ich in der Konsole "date" eingebe passt die Systemzeit vom Pi ja auch. Scheint so als würden nur manche Instanzen mit einer falschen Uhrzeit arbeiten

                                        Homoran 1 Reply Last reply Reply Quote 0
                                        • Homoran
                                          Homoran Global Moderator Administrators @Jaschkopf last edited by

                                          @Jaschkopf sagte in Wert regelmäßig in neue Variable loggen:

                                          Wenn ich in der Konsole "date" eingebe passt die Systemzeit vom Pi ja auch.

                                          Auch vor/nach 18:00 (19:00) wenn das log auf einmal die Zeit ändert?

                                          1 Reply Last reply Reply Quote 0
                                          • J
                                            Jaschkopf last edited by

                                            Es sind ja nur bestimmte Instanzen die mit der falschen Uhrzeit loggen. Die systemzeit vom pi ändert sich dabei nicht bzw ich wüsste nicht wie ich das prüfen sollte.

                                            Homoran paul53 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            948
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly javascript
                                            5
                                            30
                                            2150
                                            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