Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Script Überwachung Temperatur und Meldung an Telegram

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Script Überwachung Temperatur und Meldung an Telegram

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

      Alles richtig soweit, nur bei beiden und-Blöcken muss bei der Variablen noch der Block "Wert von" dazu! In diesen Block kommt dann die Variable!

      Es muss dann heißen "Wert von Variable…" ist gleich Wahr/Unwahr!

      Enrico

      Edit: Hab gerade nochmal probiert, jetzt weiß ich erstmal, was du meinst! :?

      1 Reply Last reply Reply Quote 0
      • R
        RappiRN Most Active last edited by

        Vielleicht musst du der Variablen über dem Trigger noch einen Zustand mitgeben, also über dem Trigger "setze Variable auf…", dann bekommt die Variable einen Zustand beim Scriptstart!

        Enrico

        1 Reply Last reply Reply Quote 0
        • Dutchman
          Dutchman Developer Most Active Administrators last edited by

          Die Variable ist NULL daher der Fehler, einfach die Variable mit unwahr füllen bei Script start (also außerhalb deines Trigger Block) dann sollte es gut sein

          –-----------------------

          Send from mobile device

          Das schöne ios hat Auto Korrektur zum k****

          Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

          1 Reply Last reply Reply Quote 0
          • K
            Kueppert last edited by

            @Dutchman:

            Die Variable ist NULL daher der Fehler, einfach die Variable mit unwahr füllen bei Script start (also außerhalb deines Trigger Block) dann sollte es gut sein

            –-----------------------

            Send from mobile device

            Das schöne ios hat Auto Korrektur zum k****

            Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community `

            So, ich habe das Blockly um das Setzen der Variable ergänzt - und Debug-Blöcke versucht einzubauen (bringen keinen Mehrwert so wie ich sie verwende :?: da nirgends mehr steht als vorher. Hab ich vermutlich falsch benutzt).

            Wenn ich das Script nun stoppe und neu starte - erhalte ich trotzdem keine Meldung via Telegramm 😞

            2700_iobroker-blockly.png

            An Telegramm sollte es nicht liegen - hat ja vorher mal funktioniert. Langsam fange ich an, etwas an mir zu zweifeln. Das sieht doch alles ganz logisch aus?!

            Kann ich mit diesen Debug-Blöcken es erreichen, dass ich detailliert mitbekomme, was passiert wenn ich das Skript neu starte?

            Temperatur im Kinderzimmer aktuell: 18,8 Grad

            Danke euch und Grüße, Thorsten

            1 Reply Last reply Reply Quote 0
            • Dutchman
              Dutchman Developer Most Active Administrators last edited by

              Dein Script wird nur eine Meldung generieren wenn sich die Temperatur ändert nicht bei Script start!

              –-----------------------

              Send from mobile device

              Das schöne ios hat Auto Korrektur zum k****

              Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

              1 Reply Last reply Reply Quote 0
              • K
                Kueppert last edited by

                @Dutchman:

                Dein Script wird nur eine Meldung generieren wenn sich die Temperatur ändert nicht bei Script start!

                –-----------------------

                Send from mobile device

                Das schöne ios hat Auto Korrektur zum k****

                Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community `

                HAHAHAAAAAAAAA,

                du hast Recht. Habe gerade eine Meldung via Telegram erhalten. Juhuuuuuuuu :mrgreen: :mrgreen: :mrgreen:

                Danke euch für die Hilfe - und besonders Dutch für deine Geduld. Dann setze ich dieses Thema mal auf "gelöst" und bastel fleissig weiter.

                Danke danke und viele Grüße, Thorsten

                1 Reply Last reply Reply Quote 0
                • Dutchman
                  Dutchman Developer Most Active Administrators last edited by

                  🙂 sehr schön und viel Spaß damit

                  –-----------------------

                  Send from mobile device

                  Das schöne ios hat Auto Korrektur zum k****

                  Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

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

                    Hallo Kueppert

                    Alles was sich INNERHALB eines Triggers befindet, wird ausgeführt wenn der getriggerte Wert sich ändert.

                    Alles was sich AUSSERHALB eines Triggers befindet, wird EINMALIG ausgeführt wenn das Script gestartet wird.

                    Dein Trigger reagiert wenn sich der Wert von "Temperatur" ändert.

                    Danach wird "KinderzimmerTEMP_var" IMMER SOFORT auf "unwahr" gesetzt.

                    Deine "sonst falls" Bedingung wird also NIE erfüllt.

                    Der Block "setze KinderzimmerTEMP_var auf unwahr" gehört also AUSSERHALB des Triggers.

                    Dein "Debug output Ende Trigger" müsste "Debug output Start Script" lauten.

                    Ein Trigger wird NIE beendet! Außer man stoppt das Script.

                    Grüße

                    1 Reply Last reply Reply Quote 0
                    • K
                      Kueppert last edited by

                      @rantanplan:

                      Hallo Kueppert

                      Alles was sich INNERHALB eines Triggers befindet, wird ausgeführt wenn der getriggerte Wert sich ändert.

                      Alles was sich AUSSERHALB eines Triggers befindet, wird EINMALIG ausgeführt wenn das Script gestartet wird.

                      Dein Trigger reagiert wenn sich der Wert von "Temperatur" ändert.

                      Danach wird "KinderzimmerTEMP_var" IMMER SOFORT auf "unwahr" gesetzt.

                      Deine "sonst falls" Bedingung wird also NIE erfüllt.

                      Der Block "setze KinderzimmerTEMP_var auf unwahr" gehört also AUSSERHALB des Triggers.

                      Dein "Debug output Ende Trigger" müsste "Debug output Start Script" lauten.

                      Ein Trigger wird NIE beendet! Außer man stoppt das Script.

                      Grüße ` Hi rantanplan,

                      soll ich den Block dann einfach frei schwebend über meinen Trigger Block setzen??? Dann wird die Variable nur beim erstmaligen Start auf unwahr gesetzt, korrekt?

                      Deine Argumente klingen für mich nach mehrmaligen überlegen (muss das mit dem Trigger erst Mal verinnerlichen) sehr logisch…

                      VG Thorsten

                      Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

                      1 Reply Last reply Reply Quote 0
                      • Dutchman
                        Dutchman Developer Most Active Administrators last edited by

                        @Kueppert:

                        soll ich den Block dann einfach frei schwebend über meinen Trigger Block setzen??? Dann wird die Variable nur beim erstmaligen Start auf unwahr gesetzt, korrekt? `

                        korrekt, wie ich auch hier geschrieben habe 🙂

                        @Dutchman:

                        Die Variable ist NULL daher der Fehler, einfach die Variable mit unwahr füllen bei Script start (also außerhalb deines Trigger Block) dann sollte es gut sein `

                        1 Reply Last reply Reply Quote 0
                        • K
                          Kueppert last edited by

                          @Dutchman:

                          @Kueppert:

                          soll ich den Block dann einfach frei schwebend über meinen Trigger Block setzen??? Dann wird die Variable nur beim erstmaligen Start auf unwahr gesetzt, korrekt? `

                          korrekt, wie ich auch hier geschrieben habe 🙂

                          @Dutchman:

                          Die Variable ist NULL daher der Fehler, einfach die Variable mit unwahr füllen bei Script start (also außerhalb deines Trigger Block) dann sollte es gut sein Hahahaaa,

                          wer lesen kann… :-S

                          Erledigt und nochmal vielen Dank an euch 🙂

                          VG Thorsten

                          Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

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

                            Zeigstdu uns noch das fertige Script? [emoji6]

                            1 Reply Last reply Reply Quote 0
                            • K
                              Kueppert last edited by

                              Klaaa 🙂

                              Den Code als "Code" kann ich leider nicht einfügen. Lässt das Forum nicht zu. 3mal versucht…

                              2700_iobroker-blockly.png

                              Aber vielleicht kann einer der Kenner mir sagen, was die letzte Zeile mit dem Code-Wirrwar bedeutet??? Diese Zeile ist ewig lang…

                              2700_iobroker-blockly-code.png

                              VG Thorsten

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

                                @Kueppert:

                                Den Code als "Code" kann ich leider nicht einfügen. Lässt das Forum nicht zu. 3mal versucht… `

                                Nicht den Code.

                                Wenn, dann einen Export.

                                Und diesen dann IMMER zwischen "spoiler" und "code" Tags kopieren.
                                147_blocklyimport.png

                                Grüße

                                1 Reply Last reply Reply Quote 0
                                • K
                                  Kueppert last edited by Homoran

                                  Und wieder was gelernt. Danke Rantan 😉

                                  Und hier der Blockly-Export als Code:

                                   <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id=")Jk19jT?sl0`uk0VePrf" x="-487" y="-162"><field name="COMMENT">Verhindern von gleichen Mitteilungen</field>
                                      <next><block type="variables_set" id="nt=7%,[rFtAb@?U)B]Dh"><field name="VAR">KinderzimmerTEMP_var</field>
                                          <value name="VALUE"><block type="logic_boolean" id="~,g3#GXM0L0nDIvLDPkl"><field name="BOOL">FALSE</field></block></value></block></next></block> 
                                    <block type="on_ext" id="{yVknQbfa981*7rKA-1x" x="-487" y="-63"><mutation items="1"></mutation>
                                      <field name="CONDITION">ne</field>
                                  
                                      <value name="OID0"><shadow type="field_oid" id="4/Gaf8fh.J~Jr`J^h(UD"><field name="oid">zwave.0.NODE11.SENSOR_MULTILEVEL.Temperature_1</field></shadow></value> 
                                      <statement name="STATEMENT"><block type="controls_if" id="s=Yq8}In[=RcBN]GQ@[g"><mutation elseif="1"></mutation>
                                          <value name="IF0"><block type="logic_operation" id="CW.s=bLQ8Ws?:kTit9`|"><field name="OP">AND</field>
                                              <value name="A"><block type="logic_compare" id="Y!8B`p3`:Pa]62NSMuLR"><field name="OP">LT</field>
                                                  <value name="A"><block type="get_value" id="Qp!!R_}4FNalU6ailjJg"><field name="ATTR">val</field>
                                                      <field name="OID">zwave.0.NODE11.SENSOR_MULTILEVEL.Temperature_1</field></block></value> 
                                                  <value name="B"><block type="math_number" id="8e5UboxC3NpEQluqi!ol"><field name="NUM">18</field></block></value></block></value> 
                                              <value name="B"><block type="logic_compare" id="2AC/y)3.:G_]~%SY04|l"><field name="OP">EQ</field>
                                                  <value name="A"><block type="variables_get" id=",hsTq_|i+zHrpSYaR9d@"><field name="VAR">KinderzimmerTEMP_var</field></block></value> 
                                                  <value name="B"><block type="logic_boolean" id="Hjpi6]H1(3h.hUFgn9ff"><field name="BOOL">FALSE</field></block></value></block></value></block></value> 
                                          <statement name="DO0"><block type="telegram" id="BC=wgE~t_prHN:`bR@}="><field name="INSTANCE">.0</field>
                                              <field name="LOG">debug</field>
                                              <value name="MESSAGE"><shadow type="text" id="~6|Uv6cnLV*UbeTPN1]8"><field name="TEXT">Achtung: Kinderzimmertemperatur unter 18 Grad</field></shadow></value> 
                                              <value name="USERNAME"><block type="text" id="gLB?f7)q0D~L5|D|_4II"><field name="TEXT">Thorsten</field></block></value> 
                                              <next><block type="variables_set" id="_8YD+n(0cdD6daU-lLqQ"><field name="VAR">KinderzimmerTEMP_var</field>
                                                  <value name="VALUE"><block type="logic_boolean" id="%rA^{O=xM1!65+.Y4GLf"><field name="BOOL">TRUE</field></block></value></block></next></block></statement> 
                                          <value name="IF1"><block type="logic_operation" id="Z%@Pq^vFj62n:G^WaD21"><field name="OP">AND</field>
                                              <value name="A"><block type="logic_compare" id="(.kq5W?87-y{D:oVx=hN"><field name="OP">GT</field>
                                                  <value name="A"><block type="get_value" id="4Auf2]_r7aRIAi5=,q(M"><field name="ATTR">val</field>
                                                      <field name="OID">zwave.0.NODE11.SENSOR_MULTILEVEL.Temperature_1</field></block></value> 
                                                  <value name="B"><block type="math_number" id="ib:)Ud4Dd~{g!`#6z9`3"><field name="NUM">18</field></block></value></block></value> 
                                              <value name="B"><block type="logic_compare" id="HiV,VDZleaiVr_;~%(.B"><field name="OP">EQ</field>
                                                  <value name="A"><block type="variables_get" id="5,.H][LVhL1L:F%vowcM"><field name="VAR">KinderzimmerTEMP_var</field></block></value> 
                                                  <value name="B"><block type="logic_boolean" id="O7SwwPXXP`fsgfjFZIk2"><field name="BOOL">TRUE</field></block></value></block></value></block></value> 
                                          <statement name="DO1"><block type="telegram" id="Vd?K?;x9D#lWOI)FawD8"><field name="INSTANCE">.0</field>
                                              <field name="LOG">debug</field>
                                              <value name="MESSAGE"><shadow type="text" id="7qj`Qz3C4Hhcf)`D5yLO"><field name="TEXT">Entwarnung: Kinderzimmertemperatur über 18 Grad</field></shadow></value> 
                                              <value name="USERNAME"><block type="text" id="RSAoMGcut?T`Un2[)v!,"><field name="TEXT">Thorsten</field></block></value> 
                                              <next><block type="variables_set" id="Z5[gDd+O~C|N9#ai%K(h"><field name="VAR">KinderzimmerTEMP_var</field>
                                                  <value name="VALUE"><block type="logic_boolean" id="=}4Q!+vHFhJc99F)btr#"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></statement></block></xml> 
                                  

                                  VG Thorsten

                                  X 1 Reply Last reply Reply Quote 0
                                  • X
                                    xADDRx @Kueppert last edited by

                                    @Kueppert Hallo zusammen,

                                    ich kann diesen Code nicht in Blockly einfügen. Jemand eine Idee? Eventuell einen anderen Code?

                                    Danke

                                    FredF 1 Reply Last reply Reply Quote 0
                                    • FredF
                                      FredF Most Active Forum Testing @xADDRx last edited by

                                      @xADDRx
                                      Bei manchen älteren Beiträgen kommt es vor, das der Code nicht richtig übernommen wurde.
                                      Man kann dann diesen Beitrag über die drei senkrechten Punkte rechts im Beitrag melden, dann wird das von den Mods geändert.
                                      Ich habe das mal für dich gemacht....

                                      Homoran X 2 Replies Last reply Reply Quote 1
                                      • Homoran
                                        Homoran Global Moderator Administrators @FredF last edited by

                                        @FredF sagte in [gelöst] Script Überwachung Temperatur und Meldung an Telegram:

                                        dann wird das von den Mods geändert.

                                        die nix von xml verstehen 😉

                                        Hoffe es geht jetzt

                                        1 Reply Last reply Reply Quote 0
                                        • X
                                          xADDRx @FredF last edited by

                                          @FredF TOP Danke!!

                                          1 Reply Last reply Reply Quote 0
                                          • T
                                            Tobi.Welke last edited by

                                            Da mich das Thema auch interessiert, habe ich diesen Beitrag gerade über Google gefunden. Dabei habe ich aber auch eine etwas elegantere Lösung gefunden, die ohne eine Variable auskommt und trotzdem nur einmal sendet, wenn der Wert längere Zeit unter der gesetzten Marke liegt. Vielleicht interessiert die ja zukünftige Leser dieses Threads 🙂

                                            alt text

                                            Quelle: https://www.smarthome-tricks.de/software-iobroker/blockly-einmalige-aktion-bei-unterschreitung-eines-wertes/

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            853
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            35
                                            6182
                                            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