Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Luftfeuchtewarnung mit Pushnachricht per Blockly Skript

    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] Luftfeuchtewarnung mit Pushnachricht per Blockly Skript

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

      Moin Leute,

      ich habe mir einen kleinen Skript per Blockly gebaut (mein erster), der mir ein Pushnachricht aufs Handy schickt wenn die rF einen bestimmten Wert überschreitet.

      Da der DHT11 an meiner Tasmota Steckdose aber stark schwankende Werte ausgibt, möchte ich eine Zeitliche Beschränkung einbauen.

      bsw:

      WENN rF - länger als 5 min - >65% - DANN Pushnachricht

      Ich habe bereits vergeblich versucht, mit Hilfe dieses Beitrags weiter zu kommen: http://forum.iobroker.net/viewtopic.php?f=21&t=8451

      Es geht wirklich nur um die zeitliche Komponente "länger als X min", der Rest klappt.

      Ich hänge mal mein Blockly ohne Zeit und meinen Versuch mit Zeit an.

      Ich bin wirklich noch blutiger Anfänger, also habt ein Nachsehen mit mir 😉
      5102_v1.png
      5102_v2.png

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

        Hallo rootmind

        Versuche es mal so.
        147_beispiel.png

        Export

        ! ````
        <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="kLonBeQvG.KoJMmg5%g?" x="63" y="-37"><field name="COMMENT">Bei Scriptstart</field>
        <next><block type="variables_set" id="Pj5V(Ve-sQXt#H8f[bt]"><field name="VAR">TimerON</field>
        <value name="VALUE"><block type="logic_boolean" id="]WFL-ZnNxE/v2RXB4UHG"><field name="BOOL">FALSE</field></block></value>
        <next><block type="comment" id="j:I##5S+:@EuY2#4su|0"><field name="COMMENT">Triggern</field>
        <next><block type="on" id="Rz_^/6UMyR`.jKuwYC/;"><field name="OID">Object ID</field>
        <field name="CONDITION">ne</field>

                    <statement name="STATEMENT"><block type="controls_if" id="qg)MFPZiPopCBCag,Qw`"><mutation elseif="1"></mutation>
                        <value name="IF0"><block type="logic_operation" id="1{tFJ^dTId:s@?xo7l-7"><field name="OP">AND</field>
                            <value name="A"><block type="logic_compare" id="pxTUdhbX1nMny=?`Y_Wy"><field name="OP">GT</field>
                                <value name="A"><block type="on_source" id="4n{f!HO-B;r2/C_ISfdX"><field name="ATTR">state.val</field></block></value> 
                                <value name="B"><block type="math_number" id="}CLZzqM|BL):B`y9zc+N"><field name="NUM">65</field></block></value></block></value> 
                            <value name="B"><block type="logic_compare" id="L.652iTHGuM#qdn=4T#4"><field name="OP">EQ</field>
                                <value name="A"><block type="variables_get" id="AO%V:YX8hktmOJiCS(dO"><field name="VAR">TimerON</field></block></value> 
                                <value name="B"><block type="logic_boolean" id="5}ZO[L|%oq9(B5)#^t5a"><field name="BOOL">FALSE</field></block></value></block></value></block></value> 
                        <statement name="DO0"><block type="variables_set" id="=}B;+/^XnW8=d;@NY,*!"><field name="VAR">TimerON</field>
                            <value name="VALUE"><block type="logic_boolean" id="kXSwR2Fp|#.cU@d^0tK_"><field name="BOOL">TRUE</field></block></value> 
                            <next><block type="timeouts_settimeout" id="i-Me`lvJ^^/d|=^zM7EQ"><field name="NAME">timeout</field>
                                <field name="DELAY">5</field>
                                <field name="UNIT">min</field>
                                <statement name="STATEMENT"><block type="variables_set" id="r#Oc#qx`m7nhjarn3!!3"><field name="VAR">TimerON</field>
                                    <value name="VALUE"><block type="logic_boolean" id="VA9pP,2@B_W*u=69l7Ry"><field name="BOOL">FALSE</field></block></value> 
                                    <next><block type="controls_if" id="]TOjv7p1q6]OOX!,[0+c"><value name="IF0"><block type="logic_compare" id="NKil.zte:s%BDB9hgT^O"><field name="OP">GT</field>
                                            <value name="A"><block type="get_value" id="eVv7Q9D|mUk7a5`d%9Me"><field name="ATTR">val</field>
                                                <field name="OID">ID auswählen</field></block></value> 
                                            <value name="B"><block type="math_number" id="ZSBCUW_g+*8w=~cw,/Q]"><field name="NUM">65</field></block></value></block></value> 
                                        <statement name="DO0"><block type="sendto_custom" id="HT6/)}/l,%bhL1QuMpaf"><mutation items="parameter1" with_statement="false"></mutation>
                                            <field name="INSTANCE">pushover.0</field>
                                            <field name="COMMAND">send</field>
                                            <field name="WITH_STATEMENT">FALSE</field>
        
                                            <value name="ARG0"><shadow type="text" id="S|!z/4J7aPPV^_K#UvKt"></shadow></value></block></statement></block></next></block></statement></block></next></block></statement> 
                        <value name="IF1"><block type="logic_operation" id="@[mrh5:qnRb5)ED]F8C0"><field name="OP">AND</field>
                            <value name="A"><block type="logic_compare" id="/0_@Ih+c*`|C-Zbpe3?3"><field name="OP">LT</field>
                                <value name="A"><block type="on_source" id="O{xPoAT7jT(3zU0zI-xE"><field name="ATTR">state.val</field></block></value> 
                                <value name="B"><block type="math_number" id="PTIgd{PC(!Wwv}5GJv8f"><field name="NUM">65</field></block></value></block></value> 
                            <value name="B"><block type="logic_compare" id="@x8J#So2CReiO(Rl+Ba4"><field name="OP">EQ</field>
                                <value name="A"><block type="variables_get" id="_1z4g|86,5kTpInM}_KA"><field name="VAR">TimerON</field></block></value> 
                                <value name="B"><block type="logic_boolean" id=":^k4~vU/YLkes=8{7,N5"><field name="BOOL">TRUE</field></block></value></block></value></block></value> 
                        <statement name="DO1"><block type="comment" id="5Q@[jeZSrJW#_3;JECR`"><field name="COMMENT">Falls der Wert wieder runter geht</field>
                            <next><block type="variables_set" id="10#}9f#Fm0DYCErWj2h?"><field name="VAR">TimerON</field>
                                <value name="VALUE"><block type="logic_boolean" id="|O/EaAEb4A(0E1TQF,ct"><field name="BOOL">FALSE</field></block></value> 
                                <next><block type="timeouts_cleartimeout" id="joxc-0(y74~by_}/@|F["><field name="NAME">timeout</field></block></next></block></next></block></statement></block></statement></block></next></block></next></block></next></block></xml> 
        

        ! ````

        Bei der Abfrage in dem Timer, kannst Du nicht den "Wert" nehmen den Du in der ersten Abfrage genommen hast.

        Da muss man den aktuellen Wert des Aktors abfragen.

        Grüße

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

          Vielen Dank rantanplan für die schnelle Hilfe.

          Auch wenn ich nur teilweise verstehe was du da zusammengebaut hast, habe ich mich mal

          an den Nachbau gemacht. Testweise habe ich den Schwellenwert auf 40% runtergesetzt,

          doch leider erfolgt keine Ausgabe 😞

          Vielleicht kann ja jemand den Fehler erkennen.

          Das ganze sieht bei mir jetzt so aus:
          5102_v3.png

          1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators last edited by

            Setz doch mal ein paar debug Bausteine rein, die dir z.B. den Inhalt der Variablen herausgeben.

            Zusätzlich noch ein paar mehr oder weniger sinnvolle Texte enthalten, damit du weißt wo sich das Skript gerade befindet,.

            Gruß

            rainer

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

              @rootmind:

              Vielleicht kann ja jemand den Fehler erkennen. `
              Hatte ich doch extra geschrieben.

              IN dem Timer MUSST Du den aktuellen Wert abfragen.

              Also den Baustein "Wert von …." nehmen.

              So wie ich es gemacht habe. Das hat schon seinen Sinn.

              Der Trigger-Baustein "Wert" erhält seinen Inhalt, wenn der Trigger triggert.

              Das muss nicht mit dem Ende des Timers übereinstimmen.

              Grüße

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

                Vielen Dank nochmal, mit der Änderung auf "Wert von…" klappts [emoji41]

                Gesendet von meinem Pixel 2 mit Tapatalk

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

                Support us

                ioBroker
                Community Adapters
                Donate

                769
                Online

                31.7k
                Users

                79.8k
                Topics

                1.3m
                Posts

                3
                6
                891
                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