Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Mittels Blockly mqtt Zeitstempel auf Alter prüfen

    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] Mittels Blockly mqtt Zeitstempel auf Alter prüfen

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

      @RappiRN:

      Du hast doch einen Objekt-Trigger, der auf Aktualisierung triggern kann. Damit könntest du einen Timer starten, …. `

      Timer sollte man immer mit Bedacht einsetzen. 😉

      Es würde auch so gehen.
      147_beispiel.png

      Export:

      ! ````
      <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="DxnyCA9/5w~C81:3N/C-" x="-162" y="163"><field name="COMMENT">Datenpunkt Türsensor</field>
      <next><block type="comment" id="^r~Th%l7mk[p[+C#Wlan"><field name="COMMENT">auf Aktualisierung</field>
      <next><block type="on" id="J7lDV:maP9jy@UK[HM;K"><field name="OID">Object ID</field>
      <field name="CONDITION">any</field>

              <statement name="STATEMENT"><block type="comment" id="70a2]lzK`_T7uLRuz;|X"><field name="COMMENT">Zeitpunkt speichern</field>
                  <next><block type="variables_set" id="Mp#5WRsYZfsX^1h~zTm,"><field name="VAR">SensorAktualisiert</field>
                      <value name="VALUE"><block type="time_get" id="in9OR|Bam5AyX[lD^U0X"><mutation format="false" language="false"></mutation>
                          <field name="OPTION">object</field></block></value> 
                      <next><block type="debug" id="H_*UxTF%PM0lzBrl.Zhu"><field name="Severity">log</field>
                          <value name="TEXT"><shadow type="text" id="|KRwa1wIjAHv@s@yBu1q"><field name="TEXT">***Zeit aktualisiert</field></shadow></value></block></next></block></next></block></statement></block></next></block></next></block> 
      

      <block type="schedule" id="HZ#{q)zUs+:?cHI)2iU+" x="-162" y="463"><field name="SCHEDULE">* * * * </field>
      <statement name="STATEMENT"><block type="comment" id=")R!]Z7S|Zzomk|PzzEH0"><field name="COMMENT">Differenz in Minuten</field>
      <next><block type="controls_if" id="Eud7ekew.JBNq(|@~f7l"><value name="IF0"><block type="logic_compare" id="+l!{?q#AeCfes(?Udb7d"><field name="OP">GT</field>
      <value name="A"><block type="math_arithmetic" id="/SbB_x=:%QY,7t/~2d6y"><field name="OP">DIVIDE</field>
      <value name="A"><shadow type="math_number" id="LzpA@k[xfln?7aL!x@@U"><field name="NUM">1</field></shadow>
      <block type="math_arithmetic" id="a5RH3IeYZ
      BJ,ZK#Eg.K"><field name="OP">MINUS</field>
      <value name="A"><shadow type="math_number" id="#h7-66dTG(Ut8wpJmyN"><field name="NUM">1</field></shadow>
      <block type="time_get" id="x2XvX4zy[.I0[sy8Bn^R"><mutation format="false" language="false"></mutation>
      <field name="OPTION">object</field></block></value>
      <value name="B"><shadow type="math_number" id="hG|+88==T~Tr?1iN:i[T"><field name="NUM">1</field></shadow>
      <block type="variables_get" id="A2bwkvPS)v[II3At]_3"><field name="VAR">SensorAktualisiert</field></block></value></block></value> <value name="B"><shadow type="math_number" id="5-O?;4KL%5mCGnV9QZDQ"><field name="NUM">60000</field></shadow></value></block></value> <value name="B"><block type="math_number" id="V4a5~OMU2Ri],4%CkW:"><field name="NUM">2</field></block></value></block></value>
      <statement name="DO0"><block type="debug" id="D=s7Lz~hkdq[6PXVo[ws"><field name="Severity">log</field>
      <value name="TEXT"><shadow type="text" id="e
      f.ejxF+s;^R)UVFl`d"><field name="TEXT">*** 2 Minuten überschritten</field></shadow></value></block></statement></block></next></block></statement></block></xml>

      ! ````

      Grüße

      1 Reply Last reply Reply Quote 0
      • R
        rebe09 last edited by

        Hallo.

        Vielen Dank für die Tipps. 🙂

        Werde mal probieren sie umzusetzen und melde mich dann…..

        1 Reply Last reply Reply Quote 0
        • R
          rebe09 last edited by

          Hallo nochmals,

          das Script funktioniert nun tatsächlich (das ohne Timer) !

          Vielen Dank nochmals!

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

            @rebe09:

            das Script funktioniert nun tatsächlich (das ohne Timer) ! `
            Der Zeitplan ist auch eine Art Timer. Es geht aber tatsächlich ohne Timer:

            493_blockly_ts_diff.jpg

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

              @paul53:

              Der Zeitplan ist auch eine Art Timer. Es geht aber tatsächlich ohne Timer: `
              Entspricht aber, glaub ich, nicht der Aufgabe.

              rebe09 möchte informiert werden, wenn der Aktor sich länger als 2 Min. nicht gemeldet hat.

              So wird er erst informiert wenn der Aktor wieder aktualisiert.

              Grüße

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

                @rantanplan:

                So wird er erst informiert wenn der Aktor wieder aktualisiert. `
                Das ist richtig.
                @rantanplan:

                rebe09 möchte informiert werden, wenn der Aktor sich länger als 2 Min. nicht gemeldet hat. `
                Das geht nicht ohne Timer oder Scheduler, wobei mit Scheduler die Zeit zwischen 2 und 3 Minuten beträgt.

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

                  Hallo zusammen,
                  ich möchte auf Basis dieser Werte ebenfalls eine Auswertung machen: Falls die letzte Aktualisierung eines Wertes > 30 Minuten --> Dann schicke eine Pushnachricht.
                  @rantanplan Dein Blockly Export lässt sich leider nicht mehr importieren
                  @paul53 sagte in [gelöst] Mittels Blockly mqtt Zeitstempel auf Alter prüfen:

                  493_blockly_ts_diff.jpg

                  Dafür ist dieses Blockly ja gut, ich würde es mit Timer machen. Aber: Wie bekomme ich die Werte aktueller Zeitstempel - vorheriger Zeitstempel hin?
                  Bzw. müsste es nicht heißen wenn die aktuelle Zeit um xx Minuten größer als der Letzte Zeitstempel ist, dann löse eine Aktion aus.
                  Die Blöcke hier sind sicher falsch, aber zur Verdeutlichung was ich meine:
                  javascript - ioBroker - Mozilla Firefox 2019-04-28 17.35.12.png

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

                    @smile sagte:

                    Die Blöcke hier sind sicher falsch

                    Die Blöcke passen schon, allerdings müssen die 30 Minuten in ms angegeben, also 1800000 addiert werden. Außerdem wird nach Überschreitung jede Minute eine Pushnachricht gesendet.

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

                      Cool, danke Paul. Ja klar das mit jeder Minute Pushnachricht muss noch angepasst werden, ich hatte das nur schnell prinziphalber geclickt.

                      Jetzt habe ich bevor du schriebst mir schon eine weitere Zwischenlösung überlegt, die denke ich auch funktioniert:

                      javascript - ioBroker - Mozilla Firefox 2019-04-28 19.58.11.png
                      javascript - ioBroker - Mozilla Firefox 2019-04-28 19.59.37.png

                      1 Reply Last reply Reply Quote 0
                      • Leone Mortuo
                        Leone Mortuo @rebe09 last edited by

                        @rebe09

                        Hallo Zusammen,

                        mir ist klar, dass Thema ist schon etwas älter, aber ich will keinen extra Eintrag dafür eröffnen.
                        Zumal ich bei meinen Recherchen auch auf diesen hier gestoßen bin und im Sinne des "Wissensaustauschs" will ich mal schnell meinen Ansatz zur Überwachung eines Timestamps zeigen - in der Hoffnung, dass es vll. noch jemandem hilft.

                        a6ba50ec-75a6-4bce-b014-e8cf9d0cd32b-image.png

                        827b4f98-3e27-432d-9b52-5aee249d882c-image.png

                        Die Ausgaben dienen nur der Überprüfung und können später entfernt werden (debugging eben).

                        Das Objekt dessen Zeitstempel ich auslese, lasse ich mir von einem meiner MQTT Clients aktualisieren.
                        Meldet der sich innerhalb von, in meinem Fall zwei Minuten nicht, wird alarmiert.

                        Kirtik, Verbesserungsvorschläge, andere Ansätze...alles gerne gesehen. Für mich funktioniert es bis jetzt wie gewünscht.

                        Grüße, John 🖖

                        htrecksler 1 Reply Last reply Reply Quote 1
                        • htrecksler
                          htrecksler Forum Testing @Leone Mortuo last edited by

                          @leone-mortuo könntest du das Script vielleicht als Javascript-Export hier bereitstellen?
                          Mit Blockly hab ich es nicht so.

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          729
                          Online

                          31.8k
                          Users

                          80.0k
                          Topics

                          1.3m
                          Posts

                          7
                          13
                          2682
                          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