Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Gelöst: Fehlfunktion: Shelly Leistungsgesteuert schalten

    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: Fehlfunktion: Shelly Leistungsgesteuert schalten

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @Markus 7 last edited by

      @markus-7
      Versuche es mal so:

      Blockly_temp.JPG

      <xml xmlns="https://developers.google.com/blockly/xml">
       <block type="on_ext" id="eF#Zha0wK];5Dwo{Ro%~" x="188" y="-312">
         <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="bk`sT=?y14BETlgNu^a)">
             <field name="oid">shelly.0.shellyplusplugs#a0a3b3c274f0#1.Relay0.Power</field>
           </shadow>
         </value>
         <statement name="STATEMENT">
           <block type="controls_if" id="J%cA)A4k;3*p5`aE{I(c">
             <value name="IF0">
               <block type="logic_multi_and" id="[[U(@[$(Mw7Mmn(neq()">
                 <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                 <value name="AND0">
                   <block type="logic_compare" id="3?:U-hVOLiRYwGMPQaWG">
                     <field name="OP">LT</field>
                     <value name="A">
                       <block type="on_source" id="_+aB@f-yFPpA~79:}w(m">
                         <field name="ATTR">state.val</field>
                       </block>
                     </value>
                     <value name="B">
                       <block type="math_number" id="mO7KF#x=W{mLn~797c[.">
                         <field name="NUM">20</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <value name="AND1">
                   <block type="logic_compare" id="lutm6vkjBa3R7}/leHwZ">
                     <field name="OP">GTE</field>
                     <value name="A">
                       <block type="on_source" id="L@3:?p%}etCyNwAqHDIV">
                         <field name="ATTR">oldState.val</field>
                       </block>
                     </value>
                     <value name="B">
                       <block type="math_number" id="X2Ai7320=@9ae90sHJ5F">
                         <field name="NUM">20</field>
                       </block>
                     </value>
                   </block>
                 </value>
               </block>
             </value>
             <statement name="DO0">
               <block type="control" id="2g9A5)JLvn8#N7T%KIzB">
                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                 <field name="OID">shelly.0.shellyplusplugs#a0a3b3c274f0#1.Relay0.Switch</field>
                 <field name="WITH_DELAY">FALSE</field>
                 <value name="VALUE">
                   <block type="logic_boolean" id="WL(Dk!)@}|,X%|~vLjbk">
                     <field name="BOOL">FALSE</field>
                   </block>
                 </value>
               </block>
             </statement>
           </block>
         </statement>
       </block>
      </xml>
      

      M 1 Reply Last reply Reply Quote 1
      • M
        Markus 7 @paul53 last edited by

        @paul53

        Danke dir das probiere ich gerne 🙂

        Für mein Verständnis: Er schaltet nur dann, wenn die im Speicher des Trigger-Elementes "Falls Objekte..." enthaltenen Werte den Bedingungen entsprechen?

        M 1 Reply Last reply Reply Quote 0
        • M
          Markus 7 @Markus 7 last edited by

          @paul53

          Habe deine Idee jetzt getestet und was soll ich sagen - sie funktioniert 🙂
          Warum auch immer die einfache Abfrage der Leistung da nicht ausgereicht hat - mit den Abfragen der zwei Werte klappt es jedenfalls.

          Vielen Dank!
          VG Markus

          mickemup 1 Reply Last reply Reply Quote 0
          • mickemup
            mickemup @Markus 7 last edited by

            @markus-7 Deine Schaltung hat wohl schon funktioniert.
            Die hat einfach sobald mal die Leistung das erste mal kleiner 20W war noch 5min gewartet und dann ausgeschaltet...

            M 1 Reply Last reply Reply Quote 0
            • M
              Markus 7 @mickemup last edited by

              @mickemup

              Ok, ich war zu voreilig, hatte nicht ausgiebig getestet und jetzt den Denkfehler gefunden:

              Meine erste Version hatte zwar auch schon funktioniert, ich hatte aber immer mal wieder ein Ausschalten bei einer Leistung > 70 W und weiß jetzt auch warum:
              An dem Shelly hängt mein PC mit Monitoren etc. Wenn ich den PC jetzt nur kurz herunterfahre und dann wieder neu starte, läuft im Hintergrund das Script ja trotzdem weiter, auch wenn die Leistung mittlerweile wieder über 70 W liegt. Ergo schaltet der PC dann strikt nach 5 Minuten aus.

              Ich muss jetzt noch einen Timer o.ä. einbauen, dass mir den Shelly nur dann schaltet, wenn die Leistung "über einen Zeitraum von 5 Minuten" konstant < 70 W liegt.

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

                @markus-7 sagte: nur dann schaltet, wenn die Leistung "über einen Zeitraum von 5 Minuten" konstant < 70 W liegt.

                Vorschlag mit Schwelle 20 W:

                Blockly_temp.JPG

                mickemup 1 Reply Last reply Reply Quote 1
                • mickemup
                  mickemup @paul53 last edited by

                  @paul53 nicht kleiner gleich 20 bei vorheriger Wert?

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

                    @mickemup sagte: nicht kleiner gleich 20 bei vorheriger Wert?

                    Nein! Genau so wie gezeigt bedeutet: Wert < 20 (sonst) UND vorheriger Wert >= 20.

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

                      @paul53 Aja sry, hast natürlich recht.
                      Das heisst hier wird sozusagen auf die abfallende Flanke geschaut (von grösser 20 zu kleiner 20) und dann mit x min Verzögerung ausgeschaltet falls der Wert nicht wieder über 20 steigt.

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

                        @mickemup sagte: dann mit x min Verzögerung ausgeschaltet falls der Wert nicht wieder über 20 steigt.

                        Ja. Die Prüfung von vorheriger Wert ist erforderlich, um das Starten mehrerer Timer bei Leistungen < 20 W zu verhindern, die sich dann nicht mehr stoppen lassen.

                        1 Reply Last reply Reply Quote 1
                        • M
                          Markus 7 last edited by

                          @paul53 sagte in Gelöst: Fehlfunktion: Shelly Leistungsgesteuert schalten:

                          Vorschlag mit Schwelle 20 W:

                          Danke dir, so funktioniert es perfekt. Mit den Funktionsbausteinen der Timeouts und Intervallen muss ich mich mal näher beschäftigen, verstehen tue ich sie noch nicht wirklich.

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          718
                          Online

                          31.9k
                          Users

                          80.1k
                          Topics

                          1.3m
                          Posts

                          3
                          12
                          534
                          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