NEWS


  • 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

  • Developer

    Kannst du das mal als Screenshot posten ?


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


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


  • @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).


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

    0 * * * *

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


  • 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.


  • 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. "

Suggested Topics

  • 2
  • 3
  • 4
  • 12
  • 2
  • 3
  • 7
  • 6

1.2k
Online

38.4k
Users

43.8k
Topics

612.8k
Posts