Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Gelöst][Frage]Nachricht nur einmal ... Blocky

    NEWS

    • Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    [Gelöst][Frage]Nachricht nur einmal ... Blocky

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

      Hallo Zusammen,
      bestimmt gab es einige Ansätze fü das Problem. Es geht darum eine Nachricht nur einmal in einer Stunde zu bekommen. EGal ob es eine Mail ist, Pusover oder Telegramm.
      Mein Anstz war es eine Variable zu definieren die auf true gesetzt wird wenn die Nachricht geschickt wird. Dann mit einem cron nah 2 Stunden oder 1er die Variable zurücksetzen und das senden nur dann erlauben wenn die Variable auf false steht.

      so wie hier:
      Leider klappt es nicht. Kann mir jemand dazu einen Tipp geben?
      Über einen Datenpunkt könnte man das auch lösen aber würde dann für jede Abfrage einen Datenpunkt benötigen. Gibt es auch schlauere Ansätze für dieses Problem?

      <xml xmlns="http://www.w3.org/1999/xhtml">
        <block type="on" id=":-Gge*(W#fHDj)}-#.r+" x="-538" y="-138">
          <field name="OID">jeelink.0.LaCrosse_2.temp</field>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <statement name="STATEMENT">
            <block type="variables_set" id="C`,Rl}eVph(#m+oWiz8W">
              <field name="VAR">TempKU</field>
              <value name="VALUE">
                <block type="math_number" id="V;dx6*XF]f9Dh5nrSfe;">
                  <field name="NUM">12</field>
                </block>
              </value>
              <next>
                <block type="controls_if" id="=.zr(y#3IY5dq6s/LyPD">
                  <value name="IF0">
                    <block type="logic_compare" id=".sjx.j8+b5h=X*;2)c`c">
                      <field name="OP">GTE</field>
                      <value name="A">
                        <block type="get_value" id=",TZ#zEM5eZx*Qz#[KiY6">
                          <field name="ATTR">val</field>
                          <field name="OID">jeelink.0.LaCrosse_2.temp</field>
                        </block>
                      </value>
                      <value name="B">
                        <block type="variables_get" id="K8%.Sd[Y=jJ%U0P+Kp,;">
                          <field name="VAR">TempKU</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO0">
                    <block type="controls_if" id=",ZyIVa(s7xrxfM{ct:N2">
                      <value name="IF0">
                        <block type="logic_compare" id="dpGhua_YoL?p;}X:f#~x">
                          <field name="OP">EQ</field>
                          <value name="A">
                            <block type="variables_get" id="D6i{B2(JNom1=a4DAsDK">
                              <field name="VAR">MessageSend</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="logic_boolean" id="6db5;RLqm1pIx#taci|8">
                              <field name="BOOL">FALSE</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <statement name="DO0">
                        <block type="variables_set" id="+Q_klnJU4K~+V#|(*LIP">
                          <field name="VAR">MessageSend</field>
                          <value name="VALUE">
                            <block type="logic_boolean" id="!%(K=:mG}C9p/x;LeJ|Q">
                              <field name="BOOL">TRUE</field>
                            </block>
                          </value>
                          <next>
                            <block type="telegram" id="U/9{8zW4w(cAsoTR0.AD">
                              <field name="INSTANCE">.0</field>
                              <field name="LOG"></field>
                              <field name="SILENT">FALSE</field>
                              <field name="PARSEMODE">default</field>
                              <value name="MESSAGE">
                                <shadow type="text" id="(H~qB*V3I9=E~`:e^45#">
                                  <field name="TEXT"></field>
                                </shadow>
                                <block type="text_join" id="eu{l%wK11Nt(_sr*_ggk">
                                  <mutation items="3"></mutation>
                                  <value name="ADD0">
                                    <block type="text" id="M%kKyf-^O_04@8Bvbs[T">
                                      <field name="TEXT">Die Temperatur in der Küche ist zu hoch und beträgt gerade: </field>
                                    </block>
                                  </value>
                                  <value name="ADD1">
                                    <block type="get_value" id="q%#4:~d/TCC,:PFOe_zh">
                                      <field name="ATTR">val</field>
                                      <field name="OID">jeelink.0.LaCrosse_2.temp</field>
                                    </block>
                                  </value>
                                  <value name="ADD2">
                                    <block type="text" id=".ro#q^u;[U~IHM{[k+V3">
                                      <field name="TEXT"> Grad</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <next>
                                <block type="pushover" id=":xVQ(d|U0|bVPt/(%-EO">
                                  <field name="INSTANCE"></field>
                                  <field name="SOUND"></field>
                                  <field name="PRIORITY">1</field>
                                  <field name="LOG"></field>
                                  <value name="MESSAGE">
                                    <shadow type="text" id="(p(y}hI]LO=hJ!sPv1|D">
                                      <field name="TEXT">Die Temperatur im Kinderzimmer ist zu niedrig!!! Beträgt gerade TempKZ</field>
                                    </shadow>
                                    <block type="text_join" id="j?_[JSTQ_defNC#m73QA">
                                      <mutation items="3"></mutation>
                                      <value name="ADD0">
                                        <block type="text" id="NE[i;*6kWU4Vu_q-w:_1">
                                          <field name="TEXT">Die Temperatur in der Küche ist zu hoch und beträgt gerade: </field>
                                        </block>
                                      </value>
                                      <value name="ADD1">
                                        <block type="get_value" id="%*2M4R-n#u!q(?cIGg}p">
                                          <field name="ATTR">val</field>
                                          <field name="OID">jeelink.0.LaCrosse_2.temp</field>
                                        </block>
                                      </value>
                                      <value name="ADD2">
                                        <block type="text" id="i+^tYpKOgyyI_psOVSRB">
                                          <field name="TEXT"> Grad</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </statement>
                    </block>
                  </statement>
                  <next>
                    <block type="variables_set" id="0T[N(MZ/0}](#UKv(2kP">
                      <field name="VAR">TempKZ</field>
                      <value name="VALUE">
                        <block type="math_number" id="LsI%kVQixa(nmgJt/pML">
                          <field name="NUM">22</field>
                        </block>
                      </value>
                      <next>
                        <block type="controls_if" id="D!-H7k?Mb8DRw]ev|h@#">
                          <value name="IF0">
                            <block type="logic_compare" id="aOvZn}Di;=0lu;aNPOOR">
                              <field name="OP">GTE</field>
                              <value name="A">
                                <block type="get_value" id="X+(;s7b|;O9-(~UR5SjO">
                                  <field name="ATTR">val</field>
                                  <field name="OID">jeelink.0.LaCrosse_1.temp</field>
                                </block>
                              </value>
                              <value name="B">
                                <block type="variables_get" id="N)-C^*9alC~tg)-m|:]Z">
                                  <field name="VAR">TempKZ</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <statement name="DO0">
                            <block type="controls_if" id="*X^D^?;QD5ZBwmeUWR#;">
                              <value name="IF0">
                                <block type="logic_compare" id="4#Q^W{zIiwR7IIV`siMq">
                                  <field name="OP">EQ</field>
                                  <value name="A">
                                    <block type="variables_get" id="ltz*M]CCqCUCKtH6y2Zh">
                                      <field name="VAR">MessageSend</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_boolean" id="^#Z}IBP/X-9Vw0`)R)Uk">
                                      <field name="BOOL">FALSE</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <statement name="DO0">
                                <block type="variables_set" id="R(?SOzKon#2Qdrm)me_:">
                                  <field name="VAR">MessageSend</field>
                                  <value name="VALUE">
                                    <block type="logic_boolean" id="ioc=Qt|QG-~nM?2O@!Bj">
                                      <field name="BOOL">TRUE</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="telegram" id="/KgF}Q[#=4oPouQv_XcY">
                                      <field name="INSTANCE">.0</field>
                                      <field name="LOG"></field>
                                      <field name="SILENT">FALSE</field>
                                      <field name="PARSEMODE">default</field>
                                      <value name="MESSAGE">
                                        <shadow type="text" id="(H~qB*V3I9=E~`:e^45#">
                                          <field name="TEXT"></field>
                                        </shadow>
                                        <block type="text_join" id="VpaO({_tTBEHGD#H,Hk|">
                                          <mutation items="3"></mutation>
                                          <value name="ADD0">
                                            <block type="text" id="!kY{-GMe`zwh4Yp9cGVF">
                                              <field name="TEXT">Die Temperatur im Kinderzimmer ist zu hoch beträgt gerade: </field>
                                            </block>
                                          </value>
                                          <value name="ADD1">
                                            <block type="get_value" id="Rt)c-bQIc[`X*oNc1cyl">
                                              <field name="ATTR">val</field>
                                              <field name="OID">jeelink.0.LaCrosse_1.temp</field>
                                            </block>
                                          </value>
                                          <value name="ADD2">
                                            <block type="text" id="TS5/e*~%5:d|jtodFF)e">
                                              <field name="TEXT"> Grad</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="pushover" id="Mdfhh(O%wd+EWawtj-p!">
                                          <field name="INSTANCE"></field>
                                          <field name="SOUND"></field>
                                          <field name="PRIORITY">1</field>
                                          <field name="LOG"></field>
                                          <value name="MESSAGE">
                                            <shadow type="text" id="(p(y}hI]LO=hJ!sPv1|D">
                                              <field name="TEXT">Die Temperatur im Kinderzimmer ist zu niedrig!!! Beträgt gerade TempKZ</field>
                                            </shadow>
                                            <block type="text_join" id="eN;XPxuj)c#Jdm%XoWzG">
                                              <mutation items="3"></mutation>
                                              <value name="ADD0">
                                                <block type="text" id="FlZs_[83`|37~BiN1qK5">
                                                  <field name="TEXT">Die Temperatur im Kinderzimmer ist zu hoch beträgt gerade: </field>
                                                </block>
                                              </value>
                                              <value name="ADD1">
                                                <block type="get_value" id="(=.2CR~aeEgSLprp4I7o">
                                                  <field name="ATTR">val</field>
                                                  <field name="OID">jeelink.0.LaCrosse_1.temp</field>
                                                </block>
                                              </value>
                                              <value name="ADD2">
                                                <block type="text" id=")J^wX:QpR^p[e~%Q`%C)">
                                                  <field name="TEXT"> Grad</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </statement>
                            </block>
                          </statement>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </statement>
        </block>
        <block type="schedule" id="4Ikr@TbA`VUlY)o@b0K:" x="-538" y="1337">
          <field name="SCHEDULE">* * * * *</field>
          <statement name="STATEMENT">
            <block type="variables_set" id="BwU^5V)Y}RFe_cjjC#L{">
              <field name="VAR">MessageSend</field>
              <value name="VALUE">
                <block type="logic_boolean" id="TwAD3vq{`L3O_.aYy?Cc">
                  <field name="BOOL">FALSE</field>
                </block>
              </value>
            </block>
          </statement>
        </block>
      </xml>
      

      iobroker_2.JPG

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

        Kannst du das mal als Screenshot posten ?

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

          UND das Script aus dem ersten Beitrag in ein "Spoiler" und "Script" Tag packen!!!
          Siehe hier Foren Regeln

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

            na klar...
            so oft nutze ich das Forum nicht. und das neue bisher das erste mal 🙂

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

              @robudus sagte:

              Dann mit einem cron nah 2 Stunden oder 1er die Variable zurücksetzen

              Weshalb setzt Du dann die Variable jede Sekunde zurück ? Ändere den Zeitplan in "0 * * * *" (jede volle Stunde).

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

                @paul53 said in [Offen][Frage]Nachricht nur einmal ... Blocky:

                0 * * * *

                ist das alles? nur ein Fehler im Cron? ich teste und berichte...

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

                  Eine Frage hätte ich noch. Die Variable MessageSend, ist sie nur in dem einen Skript gültig oder überall?
                  Wenn ich einen Datenpunkt nehmen würde wäre er in einem anderen Skript auch gültig. ist das bei einer lokalen Variablen auch so?

                  Vielen Dank im Voraus.

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

                    Ok habe ich in der Doku zum JS Adapter gefunden:
                    "Somit lassen sich globale Funktionen auf mehrere Skripte anwenden. Variablen in globalen Skripten können in anderen Skripten benutzt werden. Aber Achtung: Jedes Skript hat seinen eigenen Variablen-Raum. Man kann Variablen in globalen Skripten also nicht dazu benutzen um Werte zwischen Skripten auszutauschen. Dazu müssen zwingend Objekte (States) genutzt werden. "

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    1.2k
                    Online

                    32.3k
                    Users

                    81.0k
                    Topics

                    1.3m
                    Posts

                    blockly javascript
                    4
                    8
                    582
                    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