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

                              922
                              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