Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Intervall zählt weiter

    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

    Intervall zählt weiter

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

      Hallo,

      ich habe ein Script angelegt, bei dem ein Datenpunkt die Minuten zählt wenn mein Rasenroboter mäht oder die Kanten schneidet.
      Wenn er mäht steht im Status 7, wenn er die Kanten schneidet steht dort 32 und wenn er zu Hause ist steht dort 1.

      Leider zählte er nach dem er zu Hause ist (1) immer weiter.

      Hier das Script, was mach ich falsch? Vielen Dank.

      Bildschirmfoto 2022-05-06 um 08.53.45.png

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

        @kg36304 sagte in Intervall zählt weiter:

        was mach ich falsch?

        ist der Wert vom Typ String?

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

          @kg36304 sagte: was mach ich falsch?

          Bei Änderung von 7 auf 32 oder umgekehrt wird ein weiteres Intervall gestartet, das sich nicht mehr stoppen lässt.
          Besser so:

          Bild_2022-05-06_104312075.png

          Wert (unter "Trigger"):

          Blockly_DP_Props.JPG

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

            @paul53

            Hallo, Danke für die Antwort, ich habe es umgebaut. Es sieht jetzt so aus:

            Bildschirmfoto 2022-05-06 um 20.24.23.png

            Ich hoffe so ist es richtig.

            Zum Verständniss, die Variable "Messerzeit" hat den letzten wert der Objekt ID "Messerzeit" (Datenpunkt) übernommen. Wenn der Status des Mähers sich ändert auf 7 oder 32 zählt die Variable in einer Schritten. Andert Sie sich auf 1, stopt der Intervall und der Wert der Variablen wird in den Datenpunkt geschrieben???
            Stimmt das so, ich will es nicht nur nachbauen sondern auch verstehen 😉

            Vielen Dank

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

              @kg36304 sagte: Andert Sie sich auf 1, stopt der Intervall und der Wert der Variablen wird in den Datenpunkt geschrieben???

              Vergleiche die Bilder: In meinem Vorschlag wird der Wert der Variablen jede Minute in den Datenpunkt geschrieben. Somit ist der Datenpunkt stets aktuell, was für ein Weiterzählen bei einem Neustart des Skripts erforderlich ist.

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

                @paul53

                1 = Mäher ist zu Hause
                7 = Mäher mäht
                32 = Mäher schneidet die Kante.
                Er fängt immer mit dem Kantenschnitt an also geht er von 1 auf 32 ca. 11 Min. Fährt nach Hause (geht auf 1) und startet umgehend den Mähvorgang (geht auf 7).

                bei dem Script wie oben zählt er nur die 10 Minuten Kantenschnitt. Die Zeit wo er mäht ca 100 Min. werden nicht mehr gezählt.

                Mhm, stehe auf dem Schlauch.

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

                  @kg36304 sagte: Fährt nach Hause (geht auf 1) und startet umgehend den Mähvorgang (geht auf 7).

                  Wenn dem immer so wäre, würde Dein ursprüngliches Skript funktionieren.

                  @kg36304 sagte in Intervall zählt weiter:

                  Die Zeit wo er mäht ca 100 Min. werden nicht mehr gezählt.

                  Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

                  K 2 Replies Last reply Reply Quote 0
                  • K
                    kg36304 @paul53 last edited by

                    @paul53 Ok, muss ich später machen, bin gerade an der Arbeit.

                    Danke

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

                      @paul53

                      meinst Du so?

                      <block xmlns="https://developers.google.com/blockly/xml" type="variables_set" id="%[JGi6etLl$$Gv$1Hl%c" x="146" y="1162">
                        <field name="VAR" id="W-.N_n4^2j2n9ld}}FT/">Messerzeit</field>
                        <value name="VALUE">
                          <block type="math_round" id="BsHHbBF6NI|F#DH8/Bs5">
                            <field name="OP">ROUND</field>
                            <value name="NUM">
                              <shadow type="math_number" id="NkJ9r_RUF0CJE]6x~c6/">
                                <field name="NUM">3.1</field>
                              </shadow>
                              <block type="get_value" id="JP3tUi|jD`d5u#4k5,zR">
                                <field name="ATTR">val</field>
                                <field name="OID">0_userdata.0.Messerzeit</field>
                              </block>
                            </value>
                          </block>
                        </value>
                      </block>
                      <block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="ln8?f7z^ZE:9{kmWrH(A" x="146" y="1190">
                        <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="hrK=_],O?_T=V6iYQzZ2">
                            <field name="oid">worx.0.201930198404006033C5.mower.status</field>
                          </shadow>
                        </value>
                        <statement name="STATEMENT">
                          <block type="timeouts_clearinterval" id="QodN}l(];;1H6=61GGRW">
                            <field name="NAME">Intervall3</field>
                            <next>
                              <block type="controls_if" id="|nE/SNJEj0`N3B${9pyF">
                                <value name="IF0">
                                  <block type="logic_operation" id="lW.!^fiH`LU|3.bpV@5;">
                                    <field name="OP">OR</field>
                                    <value name="A">
                                      <block type="logic_compare" id="zC+|wBAWbG7aKqv^+4+:">
                                        <field name="OP">EQ</field>
                                        <value name="A">
                                          <block type="on_source" id="|FWPTz+gk-uKq86!qf]/">
                                            <field name="ATTR">state.val</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="math_number" id="5`(a=r|(n5=?Ty~0/YZU">
                                            <field name="NUM">7</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="logic_compare" id="OyU@nRcgOf2mH#$Wq.:t">
                                        <field name="OP">EQ</field>
                                        <value name="A">
                                          <block type="on_source" id="p^M8?a2OVH;f:_GCl0N0">
                                            <field name="ATTR">state.val</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="math_number" id="reZICHLhubr%VR0?#rjt">
                                            <field name="NUM">32</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <statement name="DO0">
                                  <block type="timeouts_setinterval" id=";1vf$B4z,rrUf`RF(h/e">
                                    <field name="NAME">Intervall3</field>
                                    <field name="INTERVAL">1</field>
                                    <field name="UNIT">min</field>
                                    <statement name="STATEMENT">
                                      <block type="math_change" id="*X_x2`5`aG)D=%hHELJV">
                                        <field name="VAR" id="W-.N_n4^2j2n9ld}}FT/">Messerzeit</field>
                                        <value name="DELTA">
                                          <shadow type="math_number" id="rAjLf8c8WTARD6@o~{;D">
                                            <field name="NUM">1</field>
                                          </shadow>
                                        </value>
                                      </block>
                                    </statement>
                                    <next>
                                      <block type="update" id="v#L@sS1+%o;C?`9RHDW!">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                        <field name="OID">0_userdata.0.Messerzeit</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="variables_get" id=",p^[R1Q@TXfl^[3WqQ@p">
                                            <field name="VAR" id="W-.N_n4^2j2n9ld}}FT/">Messerzeit</field>
                                          </block>
                                        </value>
                                      </block>
                                    </next>
                                  </block>
                                </statement>
                              </block>
                            </next>
                          </block>
                        </statement>
                      </block>
                      
                      Homoran paul53 2 Replies Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @kg36304 last edited by

                        @kg36304 sagte in Intervall zählt weiter:

                        meinst Du so?

                        nein!
                        umschalten auf Javascript Ansicht und dann dort den code nehmen.

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

                          @kg36304 sagte: meinst Du so?

                          Eigentlich nicht, aber damit geht es auch. Es sind zwei Fehler drin.

                          <xml xmlns="https://developers.google.com/blockly/xml">
                            <variables>
                              <variable id="W-.N_n4^2j2n9ld}}FT/">Messerzeit</variable>
                              <variable type="interval" id="Intervall">Intervall</variable>
                            </variables>
                            <block type="variables_set" id="%[JGi6etLl$$Gv$1Hl%c" x="146" y="1162">
                              <field name="VAR" id="W-.N_n4^2j2n9ld}}FT/">Messerzeit</field>
                              <value name="VALUE">
                                <block type="math_round" id="BsHHbBF6NI|F#DH8/Bs5">
                                  <field name="OP">ROUND</field>
                                  <value name="NUM">
                                    <shadow type="math_number" id="NkJ9r_RUF0CJE]6x~c6/">
                                      <field name="NUM">3.1</field>
                                    </shadow>
                                    <block type="get_value" id="JP3tUi|jD`d5u#4k5,zR">
                                      <field name="ATTR">val</field>
                                      <field name="OID">0_userdata.0.Messerzeit</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                            <block type="on_ext" id="ln8?f7z^ZE:9{kmWrH(A" x="146" y="1190">
                              <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="hrK=_],O?_T=V6iYQzZ2">
                                  <field name="oid">worx.0.201930198404006033C5.mower.status</field>
                                </shadow>
                              </value>
                              <statement name="STATEMENT">
                                <block type="timeouts_clearinterval" id="QodN}l(];;1H6=61GGRW">
                                  <field name="NAME">Intervall</field>
                                  <next>
                                    <block type="controls_if" id="|nE/SNJEj0`N3B${9pyF">
                                      <value name="IF0">
                                        <block type="logic_operation" id="lW.!^fiH`LU|3.bpV@5;">
                                          <field name="OP">OR</field>
                                          <value name="A">
                                            <block type="logic_compare" id="zC+|wBAWbG7aKqv^+4+:">
                                              <field name="OP">EQ</field>
                                              <value name="A">
                                                <block type="on_source" id="|FWPTz+gk-uKq86!qf]/">
                                                  <field name="ATTR">state.val</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="math_number" id="5`(a=r|(n5=?Ty~0/YZU">
                                                  <field name="NUM">7</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="logic_compare" id="OyU@nRcgOf2mH#$Wq.:t">
                                              <field name="OP">EQ</field>
                                              <value name="A">
                                                <block type="on_source" id="p^M8?a2OVH;f:_GCl0N0">
                                                  <field name="ATTR">state.val</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="math_number" id="reZICHLhubr%VR0?#rjt">
                                                  <field name="NUM">32</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <statement name="DO0">
                                        <block type="timeouts_setinterval" id=";1vf$B4z,rrUf`RF(h/e">
                                          <field name="NAME">Intervall</field>
                                          <field name="INTERVAL">1</field>
                                          <field name="UNIT">min</field>
                                          <statement name="STATEMENT">
                                            <block type="math_change" id="*X_x2`5`aG)D=%hHELJV">
                                              <field name="VAR" id="W-.N_n4^2j2n9ld}}FT/">Messerzeit</field>
                                              <value name="DELTA">
                                                <shadow type="math_number" id="rAjLf8c8WTARD6@o~{;D">
                                                  <field name="NUM">1</field>
                                                </shadow>
                                              </value>
                                              <next>
                                                <block type="update" id="v#L@sS1+%o;C?`9RHDW!">
                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                  <field name="OID">0_userdata.0.Messerzeit</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE">
                                                    <block type="variables_get" id=",p^[R1Q@TXfl^[3WqQ@p">
                                                      <field name="VAR" id="W-.N_n4^2j2n9ld}}FT/">Messerzeit</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </next>
                                            </block>
                                          </statement>
                                        </block>
                                      </statement>
                                    </block>
                                  </next>
                                </block>
                              </statement>
                            </block>
                          </xml>
                          

                          Der Fehler, dass die falsche Variable gestoppt wurde, kann aber auch durch den Import entstanden sein.

                          K 2 Replies Last reply Reply Quote 0
                          • K
                            kg36304 @paul53 last edited by

                            @paul53

                            Super, ich glaube ich habe es hin bekommen!!

                            Heute beobacgte ich es nochmal.

                            DDDDAAAANNNNNKKKKEEEE.

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

                              @paul53

                              Moin, also nach gestrigem Mähen habe ich festgestellt, dass es geht 👍

                              Hier das funktionierende Script. Ist kein Hexenwerk aber das der Stop-Block drüber kommt anstatt drunter, tja wieder was gelernt.
                              Danke nochmal an Dich @paul53.

                              Bildschirmfoto 2022-05-10 um 05.58.31.png

                              Einen schönen Tag.

                              Kai

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              931
                              Online

                              31.9k
                              Users

                              80.1k
                              Topics

                              1.3m
                              Posts

                              3
                              13
                              398
                              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