Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Zeitdifferenz falsch + wie Benachrichtigung nur 2x erhalten

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    792

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

Zeitdifferenz falsch + wie Benachrichtigung nur 2x erhalten

Geplant Angeheftet Gesperrt Verschoben Blockly
8 Beiträge 3 Kommentatoren 562 Aufrufe 2 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T Offline
    T Offline
    ThoHilde
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich habe einen akkubetriebenen ESP8266 mit einem DHT22 (Temperatur und Luftfeuchtigkeitssensor), der über mqtt alle 10 min die Werte an den iobroker schickt. Dazwischen geht er in den deepsleep um Energie zu sparen.
    Nun wollte ich mir eine (indirekte) Betriebsüberwachung basteln:

    Alle 10s wird von der aktuellen Uhrzeit der Zeitstempel des DPs abgezogen. Ist die Differenz größer 15 min wird über Telegram eine Nachricht verschickt.

    ea337858-7b10-4307-955d-f76bec3c3c92-grafik.png

    Zum Testen habe ich einen debug output vorangestellt. Dieser gibt mir z.B. dieses aus:

    javascript.0 2022-03-16 08:45:30.002	info	script.js.Testskripte.Alter_DP_blockly: 01:1508:4508:30
    

    01:15 -> Differenz aktuelle Zeit - Zeitstempel DP in Stunden und Minuten
    08:45 -> aktuelle Zeit in Stunden und Minuten
    08:30 -> Zeitstempel DP in Stunden und Minuten

    Die Differenz sollte mMn 15 min betragen und nicht 1h15 min. Woran liegt diese Abweichung? Interessanterweise schickt es die Nachricht auch nur bei Differenz >01:15. Also scheint es ja irgendwie doch zu stimmen?!

    Das Skript schickt mir nun alle 10s eine Nachricht, so lange die Differenz >15 min ist. Wie kann ich es umschreiben, dass es mir nur 2 Nachrichten schickt? Das cron Intervall werde ich später auf 10 min setzen, zum Testen ist es jedoch auf 10s gestellt.
    Geht dies über Schleifen? Folgendes hatte ich getestet:

    3a53265b-2449-4346-8407-0e4bd3520548-grafik.png

    Allerdings startet hier die Schleife alle 10s neu, oder?

    Hier noch mein blockly als Code:

    <xml xmlns="https://developers.google.com/blockly/xml">
     <block type="schedule" id="+/*YLtOH*Wk04Sm!(]AC" x="-162" y="213">
       <field name="SCHEDULE">*/10 * * * * *</field>
       <statement name="STATEMENT">
         <block type="debug" id="%rmG0E*VMzu6gM=okLj~">
           <field name="Severity">log</field>
           <value name="TEXT">
             <shadow type="text" id=")~T6I3a}?aSfq7mOD5{|">
               <field name="TEXT">test</field>
             </shadow>
             <block type="text_join" id="FxJG)E2B6G;tVV#}K$n:">
               <mutation items="3"></mutation>
               <value name="ADD0">
                 <block type="convert_from_date" id="NLJl$^BJV0J,rwf-vyuV">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                   <field name="OPTION">hh:mm</field>
                   <value name="VALUE">
                     <block type="math_arithmetic" id="CIgH]Gxoe;3udD;AQQ06">
                       <field name="OP">MINUS</field>
                       <value name="A">
                         <shadow type="math_number" id="r=4mPm!sP0r|]NTP(ytM">
                           <field name="NUM">1</field>
                         </shadow>
                         <block type="time_get" id=":EZlfJ5U.0/tGt$T-6~Q">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                           <field name="OPTION">object</field>
                         </block>
                       </value>
                       <value name="B">
                         <shadow type="math_number">
                           <field name="NUM">1</field>
                         </shadow>
                         <block type="get_value" id="lK:}~a3A7^GyT,ZuoG9(">
                           <field name="ATTR">ts</field>
                           <field name="OID">mqtt.0.ESP_Easy.DHT.Temperatur</field>
                         </block>
                       </value>
                     </block>
                   </value>
                 </block>
               </value>
               <value name="ADD1">
                 <block type="convert_from_date" id="p]Rqbo2/H5xEdwa;aqgD">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                   <field name="OPTION">hh:mm</field>
                   <value name="VALUE">
                     <block type="time_get" id="]f9-g=1:?3o*riIPR.wp">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                       <field name="OPTION">object</field>
                     </block>
                   </value>
                 </block>
               </value>
               <value name="ADD2">
                 <block type="convert_from_date" id="~{cS21qky3K0I}H#KEIW">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                   <field name="OPTION">hh:mm</field>
                   <value name="VALUE">
                     <block type="get_value" id="bf%p:2-bH5#t]H{.]1Vj">
                       <field name="ATTR">ts</field>
                       <field name="OID">mqtt.0.ESP_Easy.DHT.Temperatur</field>
                     </block>
                   </value>
                 </block>
               </value>
             </block>
           </value>
           <next>
             <block type="controls_if" id="Mk{/h0!u%75DhD~+M/y(">
               <value name="IF0">
                 <block type="logic_compare" id="-c(0+VGS%yhMNX[uW$q;">
                   <field name="OP">GTE</field>
                   <value name="A">
                     <block type="convert_from_date" id="klg^yY*{/i-fOvIS2N6M">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                       <field name="OPTION">m</field>
                       <value name="VALUE">
                         <block type="math_arithmetic" id="of+)4h!3WJlJCW@3-8X;">
                           <field name="OP">MINUS</field>
                           <value name="A">
                             <shadow type="math_number" id=",4EuL.)Mg#^2#?F-!6OD">
                               <field name="NUM">1</field>
                             </shadow>
                             <block type="time_get" id=",lWXJ*1_Zh`@kS;u/]P{">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                               <field name="OPTION">object</field>
                             </block>
                           </value>
                           <value name="B">
                             <shadow type="math_number" id="1o/iyHVE=hbPEX-edX)a">
                               <field name="NUM">1</field>
                             </shadow>
                             <block type="get_value" id="I6JD2HEy2RQw{4Dy`=Q/">
                               <field name="ATTR">ts</field>
                               <field name="OID">mqtt.0.ESP_Easy.DHT.Temperatur</field>
                             </block>
                           </value>
                         </block>
                       </value>
                     </block>
                   </value>
                   <value name="B">
                     <block type="math_number" id="gv;ZB6h0.%$2P[icg6X+">
                       <field name="NUM">2</field>
                     </block>
                   </value>
                 </block>
               </value>
               <statement name="DO0">
                 <block type="controls_repeat_ext" id="|E@7+G)HR0%zQy8T7:a*">
                   <value name="TIMES">
                     <shadow type="math_number" id="adK6X{5C6r.z.!B82^lr">
                       <field name="NUM">2</field>
                     </shadow>
                   </value>
                   <statement name="DO">
                     <block type="telegram" id="byk$jURhkb[XAY(n)yrv">
                       <field name="INSTANCE"></field>
                       <field name="LOG"></field>
                       <field name="SILENT">FALSE</field>
                       <field name="PARSEMODE">default</field>
                       <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                       <value name="MESSAGE">
                         <shadow type="text" id="=_nB~`xw(#Pr5$,kRrLV">
                           <field name="TEXT">Seit 15 min keine neue Temperaturmessung!🌱</field>
                         </shadow>
                       </value>
                       <next>
                         <block type="controls_flow_statements" id="tZ2W{6Yt?l+5J`SD9U]w">
                           <field name="FLOW">BREAK</field>
                         </block>
                       </next>
                     </block>
                   </statement>
                 </block>
               </statement>
             </block>
           </next>
         </block>
       </statement>
     </block>
    </xml>
    

    Grüße

    paul53P AsgothianA 2 Antworten Letzte Antwort
    0
    • T ThoHilde

      Hallo zusammen,

      ich habe einen akkubetriebenen ESP8266 mit einem DHT22 (Temperatur und Luftfeuchtigkeitssensor), der über mqtt alle 10 min die Werte an den iobroker schickt. Dazwischen geht er in den deepsleep um Energie zu sparen.
      Nun wollte ich mir eine (indirekte) Betriebsüberwachung basteln:

      Alle 10s wird von der aktuellen Uhrzeit der Zeitstempel des DPs abgezogen. Ist die Differenz größer 15 min wird über Telegram eine Nachricht verschickt.

      ea337858-7b10-4307-955d-f76bec3c3c92-grafik.png

      Zum Testen habe ich einen debug output vorangestellt. Dieser gibt mir z.B. dieses aus:

      javascript.0 2022-03-16 08:45:30.002	info	script.js.Testskripte.Alter_DP_blockly: 01:1508:4508:30
      

      01:15 -> Differenz aktuelle Zeit - Zeitstempel DP in Stunden und Minuten
      08:45 -> aktuelle Zeit in Stunden und Minuten
      08:30 -> Zeitstempel DP in Stunden und Minuten

      Die Differenz sollte mMn 15 min betragen und nicht 1h15 min. Woran liegt diese Abweichung? Interessanterweise schickt es die Nachricht auch nur bei Differenz >01:15. Also scheint es ja irgendwie doch zu stimmen?!

      Das Skript schickt mir nun alle 10s eine Nachricht, so lange die Differenz >15 min ist. Wie kann ich es umschreiben, dass es mir nur 2 Nachrichten schickt? Das cron Intervall werde ich später auf 10 min setzen, zum Testen ist es jedoch auf 10s gestellt.
      Geht dies über Schleifen? Folgendes hatte ich getestet:

      3a53265b-2449-4346-8407-0e4bd3520548-grafik.png

      Allerdings startet hier die Schleife alle 10s neu, oder?

      Hier noch mein blockly als Code:

      <xml xmlns="https://developers.google.com/blockly/xml">
       <block type="schedule" id="+/*YLtOH*Wk04Sm!(]AC" x="-162" y="213">
         <field name="SCHEDULE">*/10 * * * * *</field>
         <statement name="STATEMENT">
           <block type="debug" id="%rmG0E*VMzu6gM=okLj~">
             <field name="Severity">log</field>
             <value name="TEXT">
               <shadow type="text" id=")~T6I3a}?aSfq7mOD5{|">
                 <field name="TEXT">test</field>
               </shadow>
               <block type="text_join" id="FxJG)E2B6G;tVV#}K$n:">
                 <mutation items="3"></mutation>
                 <value name="ADD0">
                   <block type="convert_from_date" id="NLJl$^BJV0J,rwf-vyuV">
                     <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                     <field name="OPTION">hh:mm</field>
                     <value name="VALUE">
                       <block type="math_arithmetic" id="CIgH]Gxoe;3udD;AQQ06">
                         <field name="OP">MINUS</field>
                         <value name="A">
                           <shadow type="math_number" id="r=4mPm!sP0r|]NTP(ytM">
                             <field name="NUM">1</field>
                           </shadow>
                           <block type="time_get" id=":EZlfJ5U.0/tGt$T-6~Q">
                             <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                             <field name="OPTION">object</field>
                           </block>
                         </value>
                         <value name="B">
                           <shadow type="math_number">
                             <field name="NUM">1</field>
                           </shadow>
                           <block type="get_value" id="lK:}~a3A7^GyT,ZuoG9(">
                             <field name="ATTR">ts</field>
                             <field name="OID">mqtt.0.ESP_Easy.DHT.Temperatur</field>
                           </block>
                         </value>
                       </block>
                     </value>
                   </block>
                 </value>
                 <value name="ADD1">
                   <block type="convert_from_date" id="p]Rqbo2/H5xEdwa;aqgD">
                     <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                     <field name="OPTION">hh:mm</field>
                     <value name="VALUE">
                       <block type="time_get" id="]f9-g=1:?3o*riIPR.wp">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                         <field name="OPTION">object</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <value name="ADD2">
                   <block type="convert_from_date" id="~{cS21qky3K0I}H#KEIW">
                     <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                     <field name="OPTION">hh:mm</field>
                     <value name="VALUE">
                       <block type="get_value" id="bf%p:2-bH5#t]H{.]1Vj">
                         <field name="ATTR">ts</field>
                         <field name="OID">mqtt.0.ESP_Easy.DHT.Temperatur</field>
                       </block>
                     </value>
                   </block>
                 </value>
               </block>
             </value>
             <next>
               <block type="controls_if" id="Mk{/h0!u%75DhD~+M/y(">
                 <value name="IF0">
                   <block type="logic_compare" id="-c(0+VGS%yhMNX[uW$q;">
                     <field name="OP">GTE</field>
                     <value name="A">
                       <block type="convert_from_date" id="klg^yY*{/i-fOvIS2N6M">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                         <field name="OPTION">m</field>
                         <value name="VALUE">
                           <block type="math_arithmetic" id="of+)4h!3WJlJCW@3-8X;">
                             <field name="OP">MINUS</field>
                             <value name="A">
                               <shadow type="math_number" id=",4EuL.)Mg#^2#?F-!6OD">
                                 <field name="NUM">1</field>
                               </shadow>
                               <block type="time_get" id=",lWXJ*1_Zh`@kS;u/]P{">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                 <field name="OPTION">object</field>
                               </block>
                             </value>
                             <value name="B">
                               <shadow type="math_number" id="1o/iyHVE=hbPEX-edX)a">
                                 <field name="NUM">1</field>
                               </shadow>
                               <block type="get_value" id="I6JD2HEy2RQw{4Dy`=Q/">
                                 <field name="ATTR">ts</field>
                                 <field name="OID">mqtt.0.ESP_Easy.DHT.Temperatur</field>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </value>
                     <value name="B">
                       <block type="math_number" id="gv;ZB6h0.%$2P[icg6X+">
                         <field name="NUM">2</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <statement name="DO0">
                   <block type="controls_repeat_ext" id="|E@7+G)HR0%zQy8T7:a*">
                     <value name="TIMES">
                       <shadow type="math_number" id="adK6X{5C6r.z.!B82^lr">
                         <field name="NUM">2</field>
                       </shadow>
                     </value>
                     <statement name="DO">
                       <block type="telegram" id="byk$jURhkb[XAY(n)yrv">
                         <field name="INSTANCE"></field>
                         <field name="LOG"></field>
                         <field name="SILENT">FALSE</field>
                         <field name="PARSEMODE">default</field>
                         <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                         <value name="MESSAGE">
                           <shadow type="text" id="=_nB~`xw(#Pr5$,kRrLV">
                             <field name="TEXT">Seit 15 min keine neue Temperaturmessung!🌱</field>
                           </shadow>
                         </value>
                         <next>
                           <block type="controls_flow_statements" id="tZ2W{6Yt?l+5J`SD9U]w">
                             <field name="FLOW">BREAK</field>
                           </block>
                         </next>
                       </block>
                     </statement>
                   </block>
                 </statement>
               </block>
             </next>
           </block>
         </statement>
       </block>
      </xml>
      

      Grüße

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @thohilde sagte: Woran liegt diese Abweichung? Interessanterweise schickt es die Nachricht auch nur bei Differenz >01:15.

      Es liegt an der Zeitzone - siehe hier.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      0
      • T ThoHilde

        Hallo zusammen,

        ich habe einen akkubetriebenen ESP8266 mit einem DHT22 (Temperatur und Luftfeuchtigkeitssensor), der über mqtt alle 10 min die Werte an den iobroker schickt. Dazwischen geht er in den deepsleep um Energie zu sparen.
        Nun wollte ich mir eine (indirekte) Betriebsüberwachung basteln:

        Alle 10s wird von der aktuellen Uhrzeit der Zeitstempel des DPs abgezogen. Ist die Differenz größer 15 min wird über Telegram eine Nachricht verschickt.

        ea337858-7b10-4307-955d-f76bec3c3c92-grafik.png

        Zum Testen habe ich einen debug output vorangestellt. Dieser gibt mir z.B. dieses aus:

        javascript.0 2022-03-16 08:45:30.002	info	script.js.Testskripte.Alter_DP_blockly: 01:1508:4508:30
        

        01:15 -> Differenz aktuelle Zeit - Zeitstempel DP in Stunden und Minuten
        08:45 -> aktuelle Zeit in Stunden und Minuten
        08:30 -> Zeitstempel DP in Stunden und Minuten

        Die Differenz sollte mMn 15 min betragen und nicht 1h15 min. Woran liegt diese Abweichung? Interessanterweise schickt es die Nachricht auch nur bei Differenz >01:15. Also scheint es ja irgendwie doch zu stimmen?!

        Das Skript schickt mir nun alle 10s eine Nachricht, so lange die Differenz >15 min ist. Wie kann ich es umschreiben, dass es mir nur 2 Nachrichten schickt? Das cron Intervall werde ich später auf 10 min setzen, zum Testen ist es jedoch auf 10s gestellt.
        Geht dies über Schleifen? Folgendes hatte ich getestet:

        3a53265b-2449-4346-8407-0e4bd3520548-grafik.png

        Allerdings startet hier die Schleife alle 10s neu, oder?

        Hier noch mein blockly als Code:

        <xml xmlns="https://developers.google.com/blockly/xml">
         <block type="schedule" id="+/*YLtOH*Wk04Sm!(]AC" x="-162" y="213">
           <field name="SCHEDULE">*/10 * * * * *</field>
           <statement name="STATEMENT">
             <block type="debug" id="%rmG0E*VMzu6gM=okLj~">
               <field name="Severity">log</field>
               <value name="TEXT">
                 <shadow type="text" id=")~T6I3a}?aSfq7mOD5{|">
                   <field name="TEXT">test</field>
                 </shadow>
                 <block type="text_join" id="FxJG)E2B6G;tVV#}K$n:">
                   <mutation items="3"></mutation>
                   <value name="ADD0">
                     <block type="convert_from_date" id="NLJl$^BJV0J,rwf-vyuV">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                       <field name="OPTION">hh:mm</field>
                       <value name="VALUE">
                         <block type="math_arithmetic" id="CIgH]Gxoe;3udD;AQQ06">
                           <field name="OP">MINUS</field>
                           <value name="A">
                             <shadow type="math_number" id="r=4mPm!sP0r|]NTP(ytM">
                               <field name="NUM">1</field>
                             </shadow>
                             <block type="time_get" id=":EZlfJ5U.0/tGt$T-6~Q">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                               <field name="OPTION">object</field>
                             </block>
                           </value>
                           <value name="B">
                             <shadow type="math_number">
                               <field name="NUM">1</field>
                             </shadow>
                             <block type="get_value" id="lK:}~a3A7^GyT,ZuoG9(">
                               <field name="ATTR">ts</field>
                               <field name="OID">mqtt.0.ESP_Easy.DHT.Temperatur</field>
                             </block>
                           </value>
                         </block>
                       </value>
                     </block>
                   </value>
                   <value name="ADD1">
                     <block type="convert_from_date" id="p]Rqbo2/H5xEdwa;aqgD">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                       <field name="OPTION">hh:mm</field>
                       <value name="VALUE">
                         <block type="time_get" id="]f9-g=1:?3o*riIPR.wp">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                           <field name="OPTION">object</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <value name="ADD2">
                     <block type="convert_from_date" id="~{cS21qky3K0I}H#KEIW">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                       <field name="OPTION">hh:mm</field>
                       <value name="VALUE">
                         <block type="get_value" id="bf%p:2-bH5#t]H{.]1Vj">
                           <field name="ATTR">ts</field>
                           <field name="OID">mqtt.0.ESP_Easy.DHT.Temperatur</field>
                         </block>
                       </value>
                     </block>
                   </value>
                 </block>
               </value>
               <next>
                 <block type="controls_if" id="Mk{/h0!u%75DhD~+M/y(">
                   <value name="IF0">
                     <block type="logic_compare" id="-c(0+VGS%yhMNX[uW$q;">
                       <field name="OP">GTE</field>
                       <value name="A">
                         <block type="convert_from_date" id="klg^yY*{/i-fOvIS2N6M">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                           <field name="OPTION">m</field>
                           <value name="VALUE">
                             <block type="math_arithmetic" id="of+)4h!3WJlJCW@3-8X;">
                               <field name="OP">MINUS</field>
                               <value name="A">
                                 <shadow type="math_number" id=",4EuL.)Mg#^2#?F-!6OD">
                                   <field name="NUM">1</field>
                                 </shadow>
                                 <block type="time_get" id=",lWXJ*1_Zh`@kS;u/]P{">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                   <field name="OPTION">object</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <shadow type="math_number" id="1o/iyHVE=hbPEX-edX)a">
                                   <field name="NUM">1</field>
                                 </shadow>
                                 <block type="get_value" id="I6JD2HEy2RQw{4Dy`=Q/">
                                   <field name="ATTR">ts</field>
                                   <field name="OID">mqtt.0.ESP_Easy.DHT.Temperatur</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </value>
                       <value name="B">
                         <block type="math_number" id="gv;ZB6h0.%$2P[icg6X+">
                           <field name="NUM">2</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <statement name="DO0">
                     <block type="controls_repeat_ext" id="|E@7+G)HR0%zQy8T7:a*">
                       <value name="TIMES">
                         <shadow type="math_number" id="adK6X{5C6r.z.!B82^lr">
                           <field name="NUM">2</field>
                         </shadow>
                       </value>
                       <statement name="DO">
                         <block type="telegram" id="byk$jURhkb[XAY(n)yrv">
                           <field name="INSTANCE"></field>
                           <field name="LOG"></field>
                           <field name="SILENT">FALSE</field>
                           <field name="PARSEMODE">default</field>
                           <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                           <value name="MESSAGE">
                             <shadow type="text" id="=_nB~`xw(#Pr5$,kRrLV">
                               <field name="TEXT">Seit 15 min keine neue Temperaturmessung!🌱</field>
                             </shadow>
                           </value>
                           <next>
                             <block type="controls_flow_statements" id="tZ2W{6Yt?l+5J`SD9U]w">
                               <field name="FLOW">BREAK</field>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                   </statement>
                 </block>
               </next>
             </block>
           </statement>
         </block>
        </xml>
        

        Grüße

        AsgothianA Offline
        AsgothianA Offline
        Asgothian
        Developer
        schrieb am zuletzt editiert von Asgothian
        #3

        @thohilde Warum willst Du den Zeitstempel alle x Minuten prüfen. Die ganze Funktion sollte viel einfacher gehen:

        • Variable MsgCount auf 0.
        • Trigger auf den Datenpunkt, Wert wurde aktualisiert, darin:
        • anhalten Intervall
        • MsgCount = 0
        • Ausführen Intervall alle X minuten:
          -- Wenn MsgCount > 0 dann Nachricht an Telegramm: Sensor hat seit MsgCount*X Minuten keine Nachricht gesendet.
          -- Wenn MsgCount > 2 dann anhalten Intervall
          -- MsgCount= MsgCount+1

        Dabei muss X grösser als das Aktualisierungsintervall des Sensors sein, ansonsten bekommst du regelmässig Meldungen.

        A.

        ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
        "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

        paul53P T 2 Antworten Letzte Antwort
        1
        • AsgothianA Asgothian

          @thohilde Warum willst Du den Zeitstempel alle x Minuten prüfen. Die ganze Funktion sollte viel einfacher gehen:

          • Variable MsgCount auf 0.
          • Trigger auf den Datenpunkt, Wert wurde aktualisiert, darin:
          • anhalten Intervall
          • MsgCount = 0
          • Ausführen Intervall alle X minuten:
            -- Wenn MsgCount > 0 dann Nachricht an Telegramm: Sensor hat seit MsgCount*X Minuten keine Nachricht gesendet.
            -- Wenn MsgCount > 2 dann anhalten Intervall
            -- MsgCount= MsgCount+1

          Dabei muss X grösser als das Aktualisierungsintervall des Sensors sein, ansonsten bekommst du regelmässig Meldungen.

          A.

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @asgothian sagte: Die ganze Funktion sollte viel einfacher gehen:

          Die Ausführungen als Bild:

          Bild_2022-03-16_130253.png

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Antwort Letzte Antwort
          1
          • AsgothianA Asgothian

            @thohilde Warum willst Du den Zeitstempel alle x Minuten prüfen. Die ganze Funktion sollte viel einfacher gehen:

            • Variable MsgCount auf 0.
            • Trigger auf den Datenpunkt, Wert wurde aktualisiert, darin:
            • anhalten Intervall
            • MsgCount = 0
            • Ausführen Intervall alle X minuten:
              -- Wenn MsgCount > 0 dann Nachricht an Telegramm: Sensor hat seit MsgCount*X Minuten keine Nachricht gesendet.
              -- Wenn MsgCount > 2 dann anhalten Intervall
              -- MsgCount= MsgCount+1

            Dabei muss X grösser als das Aktualisierungsintervall des Sensors sein, ansonsten bekommst du regelmässig Meldungen.

            A.

            T Offline
            T Offline
            ThoHilde
            schrieb am zuletzt editiert von
            #5

            @asgothian Danke. Ich bin noch ziemlicher Anfänger in blockly. Interessant, wie man so ein Problem auch elegant lösen kann.
            Ich habe deine Textanleitung mal versucht umzusetzen. Mein blockly weicht dabei aber von @paul53 ab.

            ae3c4594-b8d6-4b70-af7a-196fd0848656-grafik.png

            Ist meine Variante falsch oder einfach nur aufgebläher und weniger elegant?

            paul53P 1 Antwort Letzte Antwort
            0
            • T ThoHilde

              @asgothian Danke. Ich bin noch ziemlicher Anfänger in blockly. Interessant, wie man so ein Problem auch elegant lösen kann.
              Ich habe deine Textanleitung mal versucht umzusetzen. Mein blockly weicht dabei aber von @paul53 ab.

              ae3c4594-b8d6-4b70-af7a-196fd0848656-grafik.png

              Ist meine Variante falsch oder einfach nur aufgebläher und weniger elegant?

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #6

              @thohilde sagte: Ist meine Variante falsch oder einfach nur aufgebläher und weniger elegant?

              Beides. Falsch:

              • Trigger ändern in "wurde aktualisiert"
              • Nach dem Senden darf das Intervall nicht gestoppt werden
              • "sonst falls" wird nie ausgeführt

              Unnötig ist die Abfrage > 0.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              T 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @thohilde sagte: Ist meine Variante falsch oder einfach nur aufgebläher und weniger elegant?

                Beides. Falsch:

                • Trigger ändern in "wurde aktualisiert"
                • Nach dem Senden darf das Intervall nicht gestoppt werden
                • "sonst falls" wird nie ausgeführt

                Unnötig ist die Abfrage > 0.

                T Offline
                T Offline
                ThoHilde
                schrieb am zuletzt editiert von ThoHilde
                #7

                @paul53 Danke.
                Für mein Verständnis: das erste stoppen der zyklischen Ausführung ist dafür da, dass keine Nachricht gesendet wird, falls das Intervall gestartet wurde aber innerhalb der Zeit der DP doch geändert wird?

                6e0faa35-a42a-4355-b2f6-197d05917037-grafik.png

                paul53P 1 Antwort Letzte Antwort
                0
                • T ThoHilde

                  @paul53 Danke.
                  Für mein Verständnis: das erste stoppen der zyklischen Ausführung ist dafür da, dass keine Nachricht gesendet wird, falls das Intervall gestartet wurde aber innerhalb der Zeit der DP doch geändert wird?

                  6e0faa35-a42a-4355-b2f6-197d05917037-grafik.png

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #8

                  @thohilde sagte: das erste stoppen der zyklischen Ausführung ist dafür da, dass keine Nachricht gesendet wird, falls das Intervall gestartet wurde aber innerhalb der Zeit der DP doch geändert wird?

                  Richtig: Aktualisiert wird (Wertänderung ist nicht nötig).

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  1 Antwort Letzte Antwort
                  1

                  Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                  Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                  Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                  Registrieren Anmelden
                  Antworten
                  • In einem neuen Thema antworten
                  Anmelden zum Antworten
                  • Älteste zuerst
                  • Neuste zuerst
                  • Meiste Stimmen


                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  589

                  Online

                  32.8k

                  Benutzer

                  82.7k

                  Themen

                  1.3m

                  Beiträge
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                  ioBroker Community 2014-2025
                  logo
                  • Anmelden

                  • Du hast noch kein Konto? Registrieren

                  • Anmelden oder registrieren, um zu suchen
                  • Erster Beitrag
                    Letzter Beitrag
                  0
                  • Home
                  • Aktuell
                  • Tags
                  • Ungelesen 0
                  • Kategorien
                  • Unreplied
                  • Beliebt
                  • GitHub
                  • Docu
                  • Hilfe