Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Doppelte Benachrichtigung bei Telegram

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Doppelte Benachrichtigung bei Telegram

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

      Guten Morgen allerseits. Ich habe mir ein Script mit Blockly erstellt, mit dem ich eine Lampe im Flur schalte. Zur Überprüfung und als kleine Spielerei will ich mich über Telegram benachrichtigen lassen, wenn die Lampe ein- oder ausgeschaltet wird. Klappt auch fast gut. 😄 Ich werde nur doppelt benachrichtigt. Hat jemand einen Tipp, wo mein Fehler liegt?

      temp.jpg

      Anmerkung 2020-02-28 064613.png

      J 1 Reply Last reply Reply Quote 0
      • J
        Jan1 @Crazy32 last edited by

        @Crazy32
        Ein Fehler direkt kann ich nicht sehen, aber das Blockly ist sehr umständlich. Poste das mal, dann baue ich es um, läuft danach vielleicht sogar ohne Doppelpost.

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

          Ok, ich fand das jetzt eigentlich nicht umständlich 😄 Aber ich übe ja auch noch 😉

          <xml xmlns="http://www.w3.org/1999/xhtml">
            <block type="on_ext" id="K3XJ}Z.3YVtgY4)[?84N" x="-162" y="-562">
              <mutation items="1"></mutation>
              <field name="CONDITION">ne</field>
              <field name="ACK_CONDITION"></field>
              <value name="OID0">
                <shadow type="field_oid" id="EEH-~qNt=dizjHzqWL*D">
                  <field name="oid">fritzdect.0.DECT200_087610232285.state</field>
                </shadow>
              </value>
              <statement name="STATEMENT">
                <block type="controls_if" id="a!]exIs7}x)d:-8jrya+">
                  <value name="IF0">
                    <block type="logic_compare" id=";pWQYl:X:u;}03)3I(9;">
                      <field name="OP">EQ</field>
                      <value name="A">
                        <block type="get_value" id="]5pgZxKFifQLqO73IXG3">
                          <field name="ATTR">val</field>
                          <field name="OID">fritzdect.0.DECT200_087610232285.state</field>
                        </block>
                      </value>
                      <value name="B">
                        <block type="logic_boolean" id="=!_/lXJJ6S+}MLHGnwz)">
                          <field name="BOOL">TRUE</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO0">
                    <block type="telegram" id="Z+b6{V?X:/@~=wnf)A_7">
                      <field name="INSTANCE"></field>
                      <field name="LOG"></field>
                      <field name="SILENT">FALSE</field>
                      <field name="PARSEMODE">default</field>
                      <value name="MESSAGE">
                        <shadow type="text" id="+;W+PhU_b}D6v}^VragV">
                          <field name="TEXT">Die Lampe im Flur ist jetzt eingeschaltet</field>
                        </shadow>
                      </value>
                    </block>
                  </statement>
                  <next>
                    <block type="controls_if" id="9`n`lbqQaI*Y.$0?M)p3">
                      <value name="IF0">
                        <block type="logic_compare" id="b`W]%0)j]VJ=?CqxO0H|">
                          <field name="OP">EQ</field>
                          <value name="A">
                            <block type="get_value" id="!YBxROVnuwMs+x_fGcfJ">
                              <field name="ATTR">val</field>
                              <field name="OID">fritzdect.0.DECT200_087610232285.state</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="logic_boolean" id="QJU:/h@*$g(kAn/JU7Vj">
                              <field name="BOOL">FALSE</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <statement name="DO0">
                        <block type="telegram" id="~*2oa`$!|[0TtYjqsg%U">
                          <field name="INSTANCE"></field>
                          <field name="LOG"></field>
                          <field name="SILENT">FALSE</field>
                          <field name="PARSEMODE">default</field>
                          <value name="MESSAGE">
                            <shadow type="text" id="-~7O[}vOJ(D.W]9h!6aY">
                              <field name="TEXT">Die Lampe im Flur ist jetzt ausgeschaltet</field>
                            </shadow>
                          </value>
                        </block>
                      </statement>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
          </xml>
          
          J 1 Reply Last reply Reply Quote 0
          • J
            Jan1 @Crazy32 last edited by

            @Crazy32

            <block xmlns="http://www.w3.org/1999/xhtml" type="on_ext" id="K3XJ}Z.3YVtgY4)[?84N" x="-162" y="-562">
              <mutation items="1"></mutation>
              <field name="CONDITION">ne</field>
              <field name="ACK_CONDITION"></field>
              <value name="OID0">
                <shadow type="field_oid" id="EEH-~qNt=dizjHzqWL*D">
                  <field name="oid">fritzdect.0.DECT200_087610232285.state</field>
                </shadow>
              </value>
              <statement name="STATEMENT">
                <block type="controls_if" id="a!]exIs7}x)d:-8jrya+">
                  <mutation else="1"></mutation>
                  <value name="IF0">
                    <block type="on_source" id="QP8()`-f[1HltX|}4d-.">
                      <field name="ATTR">state.val</field>
                    </block>
                  </value>
                  <statement name="DO0">
                    <block type="telegram" id="Z+b6{V?X:/@~=wnf)A_7">
                      <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="+;W+PhU_b}D6v}^VragV">
                          <field name="TEXT">Die Lampe im Flur ist jetzt eingeschaltet</field>
                        </shadow>
                      </value>
                    </block>
                  </statement>
                  <statement name="ELSE">
                    <block type="telegram" id="~*2oa`$!|[0TtYjqsg%U">
                      <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="-~7O[}vOJ(D.W]9h!6aY">
                          <field name="TEXT">Die Lampe im Flur ist jetzt ausgeschaltet</field>
                        </shadow>
                      </value>
                    </block>
                  </statement>
                </block>
              </statement>
            </block>
            

            Dann probier mal das und da habe ich gleich von "alle Instanzen" auf "Instanz.0" umgestellt. Nicht dass da doch irgendwie 2 laufen und beide senden.

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

              Dann müsste ich ja den Adapter 2x installiert haben. Das habe ich definitv nicht. Aber ich teste das mal 🙂

              J 1 Reply Last reply Reply Quote 0
              • J
                Jan1 @Crazy32 last edited by

                @Crazy32
                nein nur eine zweite Instanz angelegt 😉

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

                  Das hat leider auch nicht geklappt. Ich habe die Einschaltzeit eben auf 08.00 Uhr geändert und wieder zwei Benachrichtigungen bekommen. Eventuell passt was an meinem Lampenscript nicht, ich hänge es mal an…

                  Anmerkung 2020-02-28 080320.png

                  J 1 Reply Last reply Reply Quote 0
                  • J
                    Jan1 @Crazy32 last edited by

                    @Crazy32
                    DAs sieht ja noch umständlicher aus und so wie es aussieht sind da auch Überschneidungen drin.
                    Warum machst das mit der Abfrage der Wochentagesnummer für jeden Tag extra? Nimm ein CRON und gib einfach die Tage an und als Bedingung zur Astrozeit ausschalten.
                    bba3efbb-8ba8-4da9-b3a8-5afb40749ab2-grafik.png

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

                      Kann sein das es umständlich ist, ich lerne ja noch. 😉 Nach meinem Verständnis ist das Script logisch 😄 Ich gehe nochmal in mich und schaue mir das nochmal in Ruhe an. Kann auch sein, dass ich unbewusst Überschneidungen eingebaut habe. Die könnten ja der Grund für die Mehrfachbenachrichtigungen sein..
                      Wie gesagt, ich schaue nochmal und melde mich bestimmt wieder 🙂

                      J 1 Reply Last reply Reply Quote 0
                      • J
                        Jan1 @Crazy32 last edited by

                        @Crazy32
                        Ist ja auch kein Vorwurf 🙂
                        So wie Du das hast ist das schon logisch, nur eben sehr ums Eck und da brauch ich schon ne Weile bis ich sehe wo was und wann aus und angeschaltet wird.
                        Wenn das oben so nicht funktioniert, dann probier das mal so:
                        7c1790c8-def7-42ae-910f-8d0d3ad9b912-grafik.png
                        Bei den Zeit Bausteinen blick ich auch nicht immer voll durch, aber die zweite Variante habe ich bei mir so laufen und das funktioniert.

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

                          Habe ich auch nicht als Vorwurf aufgefasst 🙂 Ich bin ja froh über Hilfe. Ich schaue mir das an, wird aber wohl erst am WE sein 😞

                          J 1 Reply Last reply Reply Quote 0
                          • J
                            Jan1 @Crazy32 last edited by

                            @Crazy32
                            Kannst auch mal in der Fritz bei den Ereignissen schauen, ob der Trigger mehr fach auslöst, sprich die Steckdose den Zustand ungewollt wechselt, dann liegt es nämlich daran und nicht am Script, denn das macht nur was vorgegeben wird und ist selbst in Deiner Version nicht falsch.

                            Crazy32 1 Reply Last reply Reply Quote 0
                            • Crazy32
                              Crazy32 @Jan1 last edited by

                              @Jan1 sagte in Doppelte Benachrichtigung bei Telegram:

                              @Crazy32
                              "selbst in Deiner Version nicht falsch."

                              Schön gesagt 😄 Ok, schaue ich auch nach.

                              1 Reply Last reply Reply Quote 0
                              • C
                                CruziX last edited by

                                Als Workaround kannst du auch einen Timout von 1 Sekunden nehmen und deine telegram ausgabe darein packen.
                                Dann noch einen Stop Timeout Block vor eben diesen Timeout packen und es sollte auch nur einmal kommen

                                J Crazy32 2 Replies Last reply Reply Quote 0
                                • J
                                  Jan1 @CruziX last edited by

                                  @CruziX
                                  Das kommt dann wenn es danach immer noch prellt, denn eigentlich sollte das auch ohne sauber funktionieren, wenn der Trigger nur einmal kommt und da hier schon ein wenig Zeit zwischen den Meldungen liegt, sollte das nicht am Prellen der Steckdose liegen, sonst würde die Telegram Meldung sofort 2 mal geschickt werden und das macht sie komischer weiße nicht.

                                  Aber vollkommen richtig, so kann man das auch umgehen, nur erst mal versuchen zu lösen, bevor man es umgeht 😉

                                  1 Reply Last reply Reply Quote 0
                                  • Crazy32
                                    Crazy32 @CruziX last edited by

                                    @CruziX

                                    Damit habe ich aber nicht die Ursache beseitigt. Ich will ja wissen woran es liegt, damit ich in Zukunft die Scripte sauber schreiben kann.

                                    J C 2 Replies Last reply Reply Quote 0
                                    • J
                                      Jan1 @Crazy32 last edited by

                                      @Crazy32
                                      Da was er schreibt ist schon alles richtig und man baut das zur Sicherheit auch meist ein. Das schadet auf alle Fälle nie und das baust Du später auch mit ein wenn es ohne laufen würde, weil das einfach sicherer ist. Was aber auch richtig ist, bei Dir scheint noch was anderes nicht ganz zu passen und das sollte auch mal geprüft werden.
                                      Setzt das am WE einfach mal um und schau was passiert, wenn noch Fragen offen sind geht es hier weiter.

                                      1 Reply Last reply Reply Quote 0
                                      • C
                                        CruziX @Crazy32 last edited by

                                        @Crazy32 sagte in Doppelte Benachrichtigung bei Telegram:

                                        @CruziX

                                        Damit habe ich aber nicht die Ursache beseitigt. Ich will ja wissen woran es liegt, damit ich in Zukunft die Scripte sauber schreiben kann.

                                        Daher auch Workaround ^^

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          Michi68 last edited by

                                          Hallo ,
                                          das erste was mir auffällt ist das du true und fals nimmst müsste aber 1 und 0 sein wenn ich das richtig in Erinnerung habe, geht auch aber wird vom Adapter später wieder zurück auf 0 oder 1 gesetzt. Würde für mich das doch recht späte zweite nachsenden erklären. Ist aber nur geraten.

                                          Gruß Michael

                                          J 1 Reply Last reply Reply Quote 0
                                          • J
                                            Jan1 @Michi68 last edited by

                                            @Michi68
                                            Ganz unrecht hast nicht, da ich aber auch eine DECT Dose habe, ein Script das damit läuft und ich ebenfalls zufällig in dem Script ein Telegram verschicke, hab ich mal nachgesehen was ich da drin habe und bei mir läuft das mit true und false, obwohl der Adapter in dem DP 1 oder 0 stehen hat. Somit ist das wohl egal.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            768
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly
                                            8
                                            43
                                            2664
                                            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