Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. gelöst: Jahreswechsel Werte in Datenpunkte schreiben

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    gelöst: Jahreswechsel Werte in Datenpunkte schreiben

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

      Die Werte von meinem powerfox+ Adapter möchte ich bei Jahreswechsel in eigene Datenpunkte schreiben um ab dem 01.01. die neuen Jahreswerte in VIS darzustellen. Im laufe Jahr klappt alles.

      Aber schon nur das Jahr beim Jahreswechsel in einen eigenen Datenpunkt ( Nummer ) zu schreiben, klappt nicht:
      Woran kann das liegen ?
      Jahrwechsel.jpg

      <block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="=DWH`6T]v6T|KS`n;NHz" disabled="true" x="63" y="192">
        <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
        <field name="CONDITION">ne</field>
        <field name="ACK_CONDITION"></field>
        <value name="OID0">
          <shadow type="field_oid" id="|KZ`pl8Y6L|;DAT!uFi$">
            <field name="oid">powerfox2.0.devices.246f283d49d8.consumptionMeterReadingKWh</field>
          </shadow>
        </value>
        <statement name="STATEMENT">
          <block type="variables_set" id="LF0SM*Ue7}~}D08c2|DH">
            <field name="VAR" id="4hI8+[l?WR.zT1+WoyHc">Aktuellerverbrauch</field>
            <value name="VALUE">
              <block type="math_arithmetic" id="|To@#^%c2n,B$XL5+duj">
                <field name="OP">MINUS</field>
                <value name="A">
                  <shadow type="math_number" id="@YUZKq_p|vPgNShOrG:W">
                    <field name="NUM">1</field>
                  </shadow>
                  <block type="get_value" id="m=`9i5~~wEjuaoVruU]*">
                    <field name="ATTR">val</field>
                    <field name="OID">powerfox2.0.devices.246f283d49d8.consumptionMeterReadingKWh</field>
                  </block>
                </value>
                <value name="B">
                  <shadow type="math_number" id="wt_rH;+^)c8bEqk2R_!P">
                    <field name="NUM">1</field>
                  </shadow>
                  <block type="variables_get" id="xj`SU-t-;sE:w?lEp[ZU">
                    <field name="VAR" id="0iqw_6A:9)NKsk64YQC.">ZahlerYE</field>
                  </block>
                </value>
              </block>
            </value>
            <next>
              <block type="update" id="hMe8Q#`KEomBh7Sz1dZ=">
                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                <field name="OID">javascript.0.Eigene_Datenpunkte.Eigener_Ordner.Jahresverbrauch</field>
                <field name="WITH_DELAY">FALSE</field>
                <value name="VALUE">
                  <block type="math_rndfixed" id="ia}v@j}(Zw?|XZMK6w?z">
                    <field name="n">1</field>
                    <value name="x">
                      <shadow type="math_number">
                        <field name="NUM">3.1234</field>
                      </shadow>
                      <block type="variables_get" id="`g61wfDUKH$Hf@mt_69h">
                        <field name="VAR" id="4hI8+[l?WR.zT1+WoyHc">Aktuellerverbrauch</field>
                      </block>
                    </value>
                  </block>
                </value>
              </block>
            </next>
          </block>
        </statement>
      </block>
      
      Homoran 1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @HAL last edited by Homoran

        @hal sagte in Fail: Jahreswechsel Werte in Datenpunkte schreiben:

        Aber schon nur das Jahr beim Jahreswechsel in einen eigenen Datenpunkt ( Nummer ) zu schreiben, klappt nicht:

        Warum?
        Was steht im log?

        Mit deinem Blockly kann man so lange nichts anfangen, wei man nicht die Daten dahinter kennt

        Ganz allgemein ist dein Trigger falsch
        Du kannst im Trigger keine Vergleichsoperation verwenden sondern nur eine ID

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

          @homoran Danke für Deine Antwort. Vermutlich liegt es an dem Trigger.
          Im Object "Jahr" steht die Nummer "2021" . Diese möchte ich mit dem aktuellen Jahr vergleichen und bei "kleiner als aktuell" den Wert , jetzt "2022" in den Datenpunkt schreiben.
          im Log steht:
          log.jpg
          Wie müsste der Trigger aussehen ?
          Wenn sich der Jahreswert geändert hat, möchte ich gleichzeitig die Verbrauchswerte vom Vorjahr schreiben, da der Powerfoxadapter immer nur die aufgelaufenen Werte ausgibt.

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

            @hal sagte in Fail: Jahreswechsel Werte in Datenpunkte schreiben:

            im Log steht:

            wenn du da jetzt keinen Screenshot genommen hättest, sondern den Text in Code-tags gepostet, könnte ich dir die entsprechende Info zitieren. Abtippen werde ich es nicht.

            @hal sagte in Fail: Jahreswechsel Werte in Datenpunkte schreiben:

            Vermutlich liegt es an dem Trigger.

            nicht nur vermutlich

            @hal sagte in Fail: Jahreswechsel Werte in Datenpunkte schreiben:

            Wie müsste der Trigger aussehen ?

            ich habe etwas ähnliches und triggere zum Jahreswechsel per Cron 59 23 31 12 * zur letzten Minute des Jahres

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

              @homoran sagte in Fail: Jahreswechsel Werte in Datenpunkte schreiben:

              wenn du da jetzt keinen Screenshot genommen hättest, sondern den Text in Code-tags gepostet, könnte ich dir die entsprechende Info zitieren. Abtippen werde ich es nicht.

              Wie kann ich nur den Javasrcipt log runterladen ? Bei mir kommt eine echt große Datei in der die einzelnen Javazeilen verteilt stehen...

              Statt den Vergleich (Jahr) mit Cron ist eine gute Idee. Das baue ich mal um.

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

                @hal sagte in Fail: Jahreswechsel Werte in Datenpunkte schreiben:

                Wie kann ich nur den Javasrcipt log runterladen ?

                Für's erste einfach den Code in deinem Screenshot markieren und als Text posten

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

                  @homoran
                  So klappt es leider nicht .

                  <block xmlns="https://developers.google.com/blockly/xml" type="schedule_create" id=":M:tNUJ`VGIUN~udfO6v" x="-362.29241943359375" y="-87.46675109863287">
                    <field name="NAME">schedule1</field>
                    <value name="SCHEDULE">
                      <shadow type="field_cron" id="-W[sX~]uXEP4rsu$GO{y">
                        <field name="CRON">{"time":{"exactTime":true,"start":"15:55"},"period":{"years":1,"yearDate":3,"yearMonth":1}}</field>
                      </shadow>
                    </value>
                    <statement name="STATEMENT">
                      <block type="update" id="y2TDQD1aHQyskOU[3?}G">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                        <field name="OID">javascript.0.Eigene_Datenpunkte.Eigener_Ordner.Jahr</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE">
                          <block type="math_arithmetic" id="~KrnUfFA-,N@09t9xMff">
                            <field name="OP">ADD</field>
                            <value name="A">
                              <shadow type="math_number" id="Ukf@KbycEcGs~NZO=qL_">
                                <field name="NUM">1</field>
                              </shadow>
                              <block type="get_value" id="k[!RUj?!(N(Qy!zXPC;j">
                                <field name="ATTR">val</field>
                                <field name="OID">javascript.0.Eigene_Datenpunkte.Eigener_Ordner.Jahr</field>
                              </block>
                            </value>
                            <value name="B">
                              <shadow type="math_number" id="NdNmYcIjy@q.krxi~5Yi">
                                <field name="NUM">1</field>
                              </shadow>
                            </value>
                          </block>
                        </value>
                      </block>
                    </statement>
                  </block>
                  

                  Log:

                  
                  javascript.0
                  2022-01-02 15:50:40.394	info	script.js.common.Jahrswechsel: registered 0 subscriptions and 1 schedule
                  
                  javascript.0
                  2022-01-02 15:50:40.385	info	Start javascript script.js.common.Jahrswechsel
                  
                  javascript.0
                  2022-01-02 15:50:29.850	info	Stop script script.js.common.Jahrswechsel
                  

                  Da ich nicht wieder bis zum nächsten Jahreswechsel warten wollte habe ich den scedule auf heute 15:55 Uhr gestellt

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

                    @hal sagte in Fail: Jahreswechsel Werte in Datenpunkte schreiben:

                    So klappt es leider nicht .

                    was?

                    @hal sagte in Fail: Jahreswechsel Werte in Datenpunkte schreiben:

                    Log:

                    sieht doch gut aus - was soll da sonst stehen?

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

                      @homoran "es" der Datenpunkt "Jahr" wird nicht um "1" erhöht.

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

                        @hal sagte in Fail: Jahreswechsel Werte in Datenpunkte schreiben:

                        @homoran "es" der Datenpunkt "Jahr" wird nicht um "1" erhöht.

                        dann zeig mal das Blockly

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

                          @homoran
                          als Export über dem log, grafisch hier:
                          Screenshot 2022-01-02 162729.jpg

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

                            @hal sagte in Fail: Jahreswechsel Werte in Datenpunkte schreiben:

                            als Export über dem log

                            nutzt am Handy nichts!

                            @hal sagte in Fail: Jahreswechsel Werte in Datenpunkte schreiben:

                            grafisch hier:

                            du solltest ha auch nicht den schedule, sondern den CRON nehmen

                            Wobei sich zusätzlich die Frage stellt ob die Zeit(zone) auf dem Server korrekt ist
                            weiterhin die Frage ob der Datenpunkt vom Typ number ist und auch der Wert kein string ist

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

                              Danke ! .Hat auch mit schedule geklappt. Am Server stand noch nicht die korrekte Systemzeit.

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              802
                              Online

                              32.0k
                              Users

                              80.5k
                              Topics

                              1.3m
                              Posts

                              2
                              13
                              350
                              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