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

      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

                        596
                        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