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

                          784
                          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