Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Wasserstandssensor Wert für Blockly verwertbar machen

    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

    Wasserstandssensor Wert für Blockly verwertbar machen

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

      Docu sollte man benutzen können Zeug Mal was du probierst.

      Und sonst erst convertieren nach Zahl

      Sent from my iPhone using Tapatalk

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

        Umrechnen in Liter !?

        Oder was brauchst du und wieso ist der % Wert nicht verwendbar? Ist doch nur eine Zahl oder nicht?

        1 Reply Last reply Reply Quote 0
        • D
          Dice19 last edited by

          HI,

          ne wenn ich den Wert nehme passiert nichts. Habe auch mit und ohne % Zeichen gearbeitet.

          Möchte wenn der Stand einen gewissen Level erreicht das die Pumpe abgeschaltet wird.

          Wenn ich nun 10 oder 10% oder 10 % eingebe passiert nichts.

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

            Poste doch mal einen Screenshot vom Datenpunkt und von deinem Blockly.

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

              Und füge Mal einen debug block ein und lassen den Wert von entsprechenden object darstellen Dan sehen wir auch wie JavaScript den Wert bekommt und er aussieht

              Sent from my iPhone using Tapatalk

              1 Reply Last reply Reply Quote 0
              • D
                Dice19 last edited by

                Das ist der grob Entwurf.

                Tobias
                2120_wasserstand.jpg

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

                  Hmm ok, under jetzt bitte Mal einen debug block direct unter dem Trigger und dir dem fals Baustein und darin Baustein Wert von object (Wert der Füllstandanzeige)

                  Was kommt dan im Log?

                  Sent from my iPhone using Tapatalk

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

                    var idProzent = 'hm-rpc.0.NEQ1012780.1.FILLING_LEVEL'; // Datenpunkt-ID Füllstand vorhanden
                    var idLiter = 'javascript.0.Zisterne.Liter'; // Datenpunkt-ID für neuen DP mit Liter um Mitternacht
                    
                    function calcLiter(dp) {
                    var prozent = dp.state.val;
                    setState(idLiter, Math.round(63.58 * dp.state.val), true);
                    }
                    
                    on(idProzent, calcLiter); // bei jeder Änderung von Prozent
                    

                    den Datenpunkt javascript.0.Zisterne.Liter musst du selbst erstellen
                    5264_3768b512061288cdb26fc90d0c45949a.png

                    1 Reply Last reply Reply Quote 0
                    • D
                      Dice19 last edited by

                      Mit dem Script von Camuri hab ich einen Zahlenwert.

                      Mal sehen ob es nun mit den Telegramm funktioniert.

                      1 Reply Last reply Reply Quote 0
                      • D
                        Dice19 last edited by

                        Wollte mir eine Benachrichtigung erstellen mit Telegramm aber leider kommt nix.

                        Habe die Werte aus dem Script als Wert genommen.
                        2120_wasserstand2.jpg

                        1 Reply Last reply Reply Quote 0
                        • S
                          Superdad last edited by

                          Ich habe es bei mir so gelöst:

                           <xml xmlns="http://www.w3.org/1999/xhtml"><block type="debug" id="7)Ds)#gknJd0CSG;xiWb" x="138" y="63"><field name="Severity">log</field>
                              <value name="TEXT"><shadow type="text" id="5De)zud]`f#{r]jPz)VI"><field name="TEXT">Wert hat sich geändert</field></shadow> 
                                <block type="get_value" id="szF;_jMA%]fh;#9%SKe`"><field name="ATTR">val</field>
                                  <field name="OID">hm-rpc.0.OEQ0612234.1.FILLING_LEVEL</field></block></value></block> 
                            <block type="comment" id="T3=)24VSA9bjBD%s7^PE" x="-92" y="159"><field name="COMMENT">Pumpe einschalten bei 90%</field>
                              <next><block type="on" id="DVyq|RPU;W[;q8AP1%G3"><field name="OID">hm-rpc.0.OEQ0612234.1.FILLING_LEVEL</field>
                                  <field name="CONDITION">ne</field>
                          
                                  <statement name="STATEMENT"><block type="controls_if" id="/4|`Jc(|UuTaeI;j*MT1"><mutation elseif="1"></mutation>
                                      <value name="IF0"><block type="logic_compare" id="k{]W?BOhU/V^4@u~=47,"><field name="OP">GTE</field>
                                          <value name="A"><block type="on_source" id="jNlly0=H;g!:?RxbHFAv"><field name="ATTR">state.val</field></block></value> 
                                          <value name="B"><block type="math_number" id="*+egb%rf.Nq:@0tU;zWf"><field name="NUM">90</field></block></value></block></value> 
                                      <statement name="DO0"><block type="control" id="BGt;PCX[w}|_3an)fGZR"><mutation delay_input="false"></mutation>
                                          <field name="OID">hm-rpc.0.NEQ1316057.1.STATE</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE"><block type="logic_boolean" id="u|W`S7tk6LB-XRdATj0V"><field name="BOOL">TRUE</field></block></value> 
                                          <next><block type="telegram" id="+W?3v8jX^uKAcTV3Cumx"><field name="INSTANCE">.0</field>
                                              <field name="LOG">log</field>
                                              <value name="MESSAGE"><shadow type="text" id="i}-{4v+mx*%lMOL?k3VD"><field name="TEXT">Behaelter hat sich bei 90 Prozent eingeschalten!</field></shadow></value> 
                                              <next><block type="debug" id="vYj5(B@F+dVl;.a.9,/k"><field name="Severity">log</field>
                                                  <value name="TEXT"><shadow type="text" id="5De)zud]`f#{r]jPz)VI"><field name="TEXT">Wert hat sich geändert</field></shadow> 
                                                    <block type="on_source" id="e%bV43[5n@pes^:uuHe8"><field name="ATTR">state.val</field></block></value></block></next></block></next></block></statement> 
                                      <value name="IF1"><block type="logic_operation" id="eH`FTu1l-Zgle8Xw[{}R"><field name="OP">AND</field>
                                          <value name="A"><block type="logic_compare" id="5~p@P{-!CaxenG~?*qF/"><field name="OP">LTE</field>
                                              <value name="A"><block type="on_source" id="v*=yjm=7wz-4;IT[rwux"><field name="ATTR">state.val</field></block></value> 
                                              <value name="B"><block type="math_number" id="p/S69eq]C{D2^9WkVI#`"><field name="NUM">86</field></block></value></block></value> 
                                          <value name="B"><block type="logic_compare" id="J4HZnSw8ChQ)5V?3OEiA"><field name="OP">EQ</field>
                                              <value name="A"><block type="get_value" id="~BY3@9S]mjXcM~rKrEMJ"><field name="ATTR">val</field>
                                                  <field name="OID">hm-rpc.0.NEQ1316057.1.STATE</field></block></value> 
                                              <value name="B"><block type="logic_boolean" id="SQvzy~Zf42H8DGw{zd81"><field name="BOOL">TRUE</field></block></value></block></value></block></value> 
                                      <statement name="DO1"><block type="control" id="!F#4j5{7W1jmV95I)qEf"><mutation delay_input="false"></mutation>
                                          <field name="OID">hm-rpc.0.NEQ1316057.1.STATE</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE"><block type="logic_boolean" id=",`i?~f)3i.{,q7C;_wDk"><field name="BOOL">FALSE</field></block></value> 
                                          <next><block type="telegram" id="U}BAi01`LzVjt}6[_XHI"><field name="INSTANCE">.0</field>
                                              <field name="LOG">log</field>
                                              <value name="MESSAGE"><shadow type="text" id="OY)VH8wsc./iS+m!K0gp"><field name="TEXT">Behaelter hat sich bei 85 Prozent ausgeschalten!</field></shadow></value></block></next></block></statement></block></statement></block></next></block></xml> 
                          

                          Auf deinem ersten Bild steht aber auch kein Wert bei Wasserstand.Schacht.Filling.Level ?!

                          1 Reply Last reply Reply Quote 0
                          • D
                            Dice19 last edited by

                            Hab den Block gekürzt nur das eine Meldung bei unter 80L kommen soll ohne das eine Telegramm ankommt.

                            1 Reply Last reply Reply Quote 0
                            • D
                              Dice19 last edited by

                              Hab es nun hinbekommen.

                              Nun ist die Frage, wie blockiere ich den Versand mehrere Nachrichten?

                              Wenn ich eine Meldung bekomme habe, kommt die nächste mit dem selben Stand 3-4 Minuten später.

                              Wie kann ich das verhindern, das nur ein neuer Stand gesendet wird?

                              Eine Frage zu den Blöcken, kann ich beide Logik "falls" Bausteine in einen Trigger packen oder so wie jetzt separat ??

                              Danke

                              Tobias
                              2120_blockly_wasserstand.png

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

                                Versuch mal den Trigger auf "Wurde geändert" zu setzen.

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                763
                                Online

                                31.7k
                                Users

                                79.9k
                                Topics

                                1.3m
                                Posts

                                5
                                15
                                1475
                                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