Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. MQTT-Blockly-Trigger-Sensor

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    MQTT-Blockly-Trigger-Sensor

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

      Hallo zusammen,

      ich habe leider mit Programmieren 0 Erfahrung und habe mich deshalb dazu entschlossen, Scripte im io-broker mit Blockly zu realisieren.

      Ich habe eine Steckdose BSD34-1 16A Modul mit einem Power-Sensor.
      Auf dieser ist Tastmota geflashed und ich würde diese gerne an meine Waschmaschine hängen.

      Der Sensor meldet auch immer alle 5 Minuten einen Wert, bzw. viele.
      Wichtig ist für mich natürlich im ganzen String das "Power":x, bzw. der Wert zwischen : und , wenn dieser unter einen bestimmten Wert fällt möchte ich eine Benachrichtigung via Telegram bekommen.

      09:57:55 MQT: tele/tasmota_C97D6F/SENSOR = {"Time":"2021-06-06T09:57:55","ENERGY":{"TotalStartTime":"2020-12-31T13:50:14","Total":0.000,"Yesterday":0.037,"Today":0.000,"Period":0,"Power":0,"ApparentPower":0,"ReactivePower":0,"Factor":0.00,"Voltage":0,"Current":0.000}}
      
      

      Mit den ganzen Blockly-Sachen bekomme ich es bisher leider nicht raus, den String auf zu lösen nur das benötigte raus zu suchen und wenn Power unter z.b. 50w dann Benachrichtigung.

      Kann mir dabei jemand helfen?
      Danke

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @TenTax9 last edited by paul53

        @tentax9 Vorschlag:

        Blockly_temp.JPG

        <xml xmlns="https://developers.google.com/blockly/xml">
         <variables>
           <variable id="F5WGh4{}ik@Dk!bE~7?r">power</variable>
           <variable type="timeout" id="timeout">timeout</variable>
         </variables>
         <block type="on_ext" id="%?xDMo)N*s5{6OE@I}p`" x="-137" y="-37">
           <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
           <field name="CONDITION">ne</field>
           <field name="ACK_CONDITION"></field>
           <value name="OID0">
             <shadow type="field_oid" id="XZcekx/4)|~F)OSg4f(J">
               <field name="oid">default</field>
             </shadow>
           </value>
           <statement name="STATEMENT">
             <block type="variables_set" id="%k!S-tGo7rFwJ-`EZqzT">
               <field name="VAR" id="F5WGh4{}ik@Dk!bE~7?r">power</field>
               <value name="VALUE">
                 <block type="get_attr" id="dZX4:xqf/UN0S3q]/!}L">
                   <value name="PATH">
                     <shadow type="text" id="nRy-kpT*q=lHGg%F2Iwz">
                       <field name="TEXT">ENERGY.Power</field>
                     </shadow>
                   </value>
                   <value name="OBJECT">
                     <block type="on_source" id="u5H%PBC[2!vCrlln7jcC">
                       <field name="ATTR">state.val</field>
                     </block>
                   </value>
                 </block>
               </value>
               <next>
                 <block type="controls_if" id="hMNsU.rGI$(uZ{^!i4|d">
                   <mutation elseif="1"></mutation>
                   <value name="IF0">
                     <block type="logic_compare" id="OGX6eLn@e(dFWdsxAD~I">
                       <field name="OP">GTE</field>
                       <value name="A">
                         <block type="variables_get" id="tZ1oK#19FfZn77Z(bDbx">
                           <field name="VAR" id="F5WGh4{}ik@Dk!bE~7?r">power</field>
                         </block>
                       </value>
                       <value name="B">
                         <block type="math_number" id="/`7ns#K$f$vEy4q,fWe~">
                           <field name="NUM">50</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <statement name="DO0">
                     <block type="timeouts_cleartimeout" id="/F[3a-Xi;x9}Mr`AsrGc">
                       <field name="NAME">timeout</field>
                     </block>
                   </statement>
                   <value name="IF1">
                     <block type="logic_negate" id="|Y$aZCon_T!Oo}^1n_+/">
                       <value name="BOOL">
                         <block type="variables_get" id="E:-F3=QbskF$eM.T;DZb">
                           <field name="VAR" id="timeout" variabletype="timeout">timeout</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <statement name="DO1">
                     <block type="timeouts_settimeout" id="{s(9hMT`r5:A7Tkq|-ab">
                       <field name="NAME">timeout</field>
                       <field name="DELAY">10</field>
                       <field name="UNIT">min</field>
                       <statement name="STATEMENT">
                         <block type="telegram" id="7Fud~H%nZ,:85c=*,|LB">
                           <field name="INSTANCE"></field>
                           <field name="LOG"></field>
                           <field name="SILENT">FALSE</field>
                           <field name="PARSEMODE">default</field>
                           <value name="MESSAGE">
                             <shadow type="text" id="SP9E[zo-Tq5?`ncJ/MYp">
                               <field name="TEXT">Waschmaschine fertig</field>
                             </shadow>
                           </value>
                         </block>
                       </statement>
                     </block>
                   </statement>
                 </block>
               </next>
             </block>
           </statement>
         </block>
        </xml>
        

        T 1 Reply Last reply Reply Quote 0
        • T
          TenTax9 @paul53 last edited by TenTax9

          @paul53

          Perfekt vielen Dank!
          genau so geht es!!
          Danke für deine schnelle Hilfe

          Gibt es evtl. noch die Möglichkeit, dass der nur einmal dann ne Nachricht sendet?
          Weil ich bekomme nun bei jedem Push vom MQTT wo der Wert unter dem Schwellenwert liegt (alle 5 Min) eine Nachricht.

          16e4637a-19c1-4b86-8696-10565fd96d27-image.png

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

          Support us

          ioBroker
          Community Adapters
          Donate

          606
          Online

          32.0k
          Users

          80.5k
          Topics

          1.3m
          Posts

          2
          3
          129
          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