Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. PWM Steuerung mit Fade

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    324

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.5k

PWM Steuerung mit Fade

Geplant Angeheftet Gesperrt Verschoben Blockly
97 Beiträge 2 Kommentatoren 6.2k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • AphofisA Offline
    AphofisA Offline
    Aphofis
    schrieb am zuletzt editiert von Aphofis
    #2

    Ich habe mir mal ein Script gebastelt für eine Sequenzial Steuerung aber ob das so funktioniert, weiß ich nicht.
    Also die Pumpe die per PWM angesteuert ist von 0-8 volt 0%-100%
    Soll mit 100% = 8V starten und in 2 sek runter gehen auf 30 % = 2,4V in 1% Schritten
    dann in 1,9 sek rauf auf 8V in 1 % schritten.
    Die Steuerung soll für eine halbe Std laufen.

    var Sequenz_Zeit, Pulsflu_C3_9F;
    
    
    schedule("* * * * *", function () {
      on({id: "sonoff.0.Aqua_Float_Pumps.Strömung_1"/*Strömung_1*/, change: "ne"}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        if (getState("sonoff.0.Aqua_Float_Pumps.Strömung_1").val == true) {
          setState("sonoff.0.Aqua_Float_Pumps.Strömung_1"/*Strömung_1*/, 100);
        }
        Sequenz_Zeit = setTimeout(function () {
          for (Pulsflu_C3_9F = 100; Pulsflu_C3_9F >= 30; Pulsflu_C3_9F--) {
            setState("sonoff.0.Aqua_Float_Pumps.Strömung_1"/*Strömung_1*/, 30);
          }
        }, 2000);
      });
    });
    
    <xml xmlns="http://www.w3.org/1999/xhtml">
      <variables>
        <variable type="undefined" id="Sequenz_Zeit">Sequenz_Zeit</variable>
        <variable type="" id="S8AcSYCl*E*o9yQ=|/SS">Pulsfluß</variable>
      </variables>
      <block type="schedule" id="Dtv}fhBKHt{I|o51EtNV" x="-962" y="-662">
        <field name="SCHEDULE">* * * * *</field>
        <statement name="STATEMENT">
          <block type="on" id="RSx=||JpCm;AwOM#uW~m">
            <field name="OID">sonoff.0.Aqua_Float_Pumps.Strömung_1</field>
            <field name="CONDITION">ne</field>
            <field name="ACK_CONDITION"></field>
            <statement name="STATEMENT">
              <block type="controls_if" id="hCU;D9G8L@WHd9(P/HAh">
                <value name="IF0">
                  <block type="logic_compare" id="x*WvEPqLjb9t:p:1Eflt">
                    <field name="OP">EQ</field>
                    <value name="A">
                      <block type="get_value" id="u!fur-2nr@qk[9wCV%sS">
                        <field name="ATTR">val</field>
                        <field name="OID">sonoff.0.Aqua_Float_Pumps.Strömung_1</field>
                      </block>
                    </value>
                    <value name="B">
                      <block type="logic_boolean" id="mt-4jE--8;^kM:]{=r%H">
                        <field name="BOOL">TRUE</field>
                      </block>
                    </value>
                  </block>
                </value>
                <statement name="DO0">
                  <block type="control" id="DT](/MAfj:n2yb~o3zqF">
                    <mutation delay_input="false"></mutation>
                    <field name="OID">sonoff.0.Aqua_Float_Pumps.Strömung_1</field>
                    <field name="WITH_DELAY">FALSE</field>
                    <value name="VALUE">
                      <block type="math_number" id="n5{eF!aA2NpfCG^Oy;+~">
                        <field name="NUM">100</field>
                      </block>
                    </value>
                  </block>
                </statement>
                <next>
                  <block type="timeouts_settimeout" id="a6oJNxG;3KBYZ-%=%-I|">
                    <field name="NAME">Sequenz_Zeit</field>
                    <field name="DELAY">2000</field>
                    <field name="UNIT">ms</field>
                    <statement name="STATEMENT">
                      <block type="controls_for" id="ol$Alo69a-Wed)Nt/7mv">
                        <field name="VAR" id="S8AcSYCl*E*o9yQ=|/SS" variabletype="">Pulsfluß</field>
                        <value name="FROM">
                          <shadow type="math_number" id="yugI!!Eh#;=6}L5({7Hg">
                            <field name="NUM">100</field>
                          </shadow>
                        </value>
                        <value name="TO">
                          <shadow type="math_number" id="*pVKLKz#NG)`PD~3$p^b">
                            <field name="NUM">30</field>
                          </shadow>
                        </value>
                        <value name="BY">
                          <shadow type="math_number" id="cA.78r;}Vg0S`$$@G69Z">
                            <field name="NUM">1</field>
                          </shadow>
                        </value>
                        <statement name="DO">
                          <block type="control" id="yl.2/3pSm;C*oh[JCpO;">
                            <mutation delay_input="false"></mutation>
                            <field name="OID">sonoff.0.Aqua_Float_Pumps.Strömung_1</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE">
                              <block type="math_number" id=")e._WEbOs0{|op+?:o52">
                                <field name="NUM">30</field>
                              </block>
                            </value>
                          </block>
                        </statement>
                      </block>
                    </statement>
                  </block>
                </next>
              </block>
            </statement>
          </block>
        </statement>
      </block>
    </xml>
    

    Bildschirmfoto 2019-09-07 um 01.53.45.png

    @paul53 vielleicht, magst du mir bei dieser Steuerung helfen.
    Es müssen dann noch drei weitere Steuerungen gebastelt werden.
    Intervall soll dann von 100% in 3,2 sek runter auf 30% da 1 sek halten dann wieder rauf auf 100%
    Dann Puls Only Soll von 30% rauf auf 100% in 2,5 sek dann sofort runter auf 30%
    Dann Wellengang soll für 0,53 sek bei 100% gehalten werden dann sofort runter auf 30% für 0,6 sek dann wieder 0,53 sek 100% halten.

    paul53P 2 Antworten Letzte Antwort
    0
    • AphofisA Offline
      AphofisA Offline
      Aphofis
      schrieb am zuletzt editiert von Aphofis
      #3

      @paul53
      Also es sollen doch 1-10 volt sein und PWM Steuerung. nur welche Pins es im Stecker sind muss ich noch raus messen.
      Dazu muss dann auch eine Steuerung gebastelt werden, die die nachabsenkung übernimmer und den 29 Tage Mondlicht LED Zyklus muss ich dann auch über eine Steuerung über PWM Karte Steuern.
      Ok jetzt lese ich analog Steuerung. Ich weiß nun nicht ob Analog auch über PWM gesteuert werden kann.
      Da ja nun die Pumpen auch im Fade laufen müssen bei zwei Steuerungen.

      1 Antwort Letzte Antwort
      0
      • AphofisA Aphofis

        Ich habe mir mal ein Script gebastelt für eine Sequenzial Steuerung aber ob das so funktioniert, weiß ich nicht.
        Also die Pumpe die per PWM angesteuert ist von 0-8 volt 0%-100%
        Soll mit 100% = 8V starten und in 2 sek runter gehen auf 30 % = 2,4V in 1% Schritten
        dann in 1,9 sek rauf auf 8V in 1 % schritten.
        Die Steuerung soll für eine halbe Std laufen.

        var Sequenz_Zeit, Pulsflu_C3_9F;
        
        
        schedule("* * * * *", function () {
          on({id: "sonoff.0.Aqua_Float_Pumps.Strömung_1"/*Strömung_1*/, change: "ne"}, function (obj) {
            var value = obj.state.val;
            var oldValue = obj.oldState.val;
            if (getState("sonoff.0.Aqua_Float_Pumps.Strömung_1").val == true) {
              setState("sonoff.0.Aqua_Float_Pumps.Strömung_1"/*Strömung_1*/, 100);
            }
            Sequenz_Zeit = setTimeout(function () {
              for (Pulsflu_C3_9F = 100; Pulsflu_C3_9F >= 30; Pulsflu_C3_9F--) {
                setState("sonoff.0.Aqua_Float_Pumps.Strömung_1"/*Strömung_1*/, 30);
              }
            }, 2000);
          });
        });
        
        <xml xmlns="http://www.w3.org/1999/xhtml">
          <variables>
            <variable type="undefined" id="Sequenz_Zeit">Sequenz_Zeit</variable>
            <variable type="" id="S8AcSYCl*E*o9yQ=|/SS">Pulsfluß</variable>
          </variables>
          <block type="schedule" id="Dtv}fhBKHt{I|o51EtNV" x="-962" y="-662">
            <field name="SCHEDULE">* * * * *</field>
            <statement name="STATEMENT">
              <block type="on" id="RSx=||JpCm;AwOM#uW~m">
                <field name="OID">sonoff.0.Aqua_Float_Pumps.Strömung_1</field>
                <field name="CONDITION">ne</field>
                <field name="ACK_CONDITION"></field>
                <statement name="STATEMENT">
                  <block type="controls_if" id="hCU;D9G8L@WHd9(P/HAh">
                    <value name="IF0">
                      <block type="logic_compare" id="x*WvEPqLjb9t:p:1Eflt">
                        <field name="OP">EQ</field>
                        <value name="A">
                          <block type="get_value" id="u!fur-2nr@qk[9wCV%sS">
                            <field name="ATTR">val</field>
                            <field name="OID">sonoff.0.Aqua_Float_Pumps.Strömung_1</field>
                          </block>
                        </value>
                        <value name="B">
                          <block type="logic_boolean" id="mt-4jE--8;^kM:]{=r%H">
                            <field name="BOOL">TRUE</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <statement name="DO0">
                      <block type="control" id="DT](/MAfj:n2yb~o3zqF">
                        <mutation delay_input="false"></mutation>
                        <field name="OID">sonoff.0.Aqua_Float_Pumps.Strömung_1</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE">
                          <block type="math_number" id="n5{eF!aA2NpfCG^Oy;+~">
                            <field name="NUM">100</field>
                          </block>
                        </value>
                      </block>
                    </statement>
                    <next>
                      <block type="timeouts_settimeout" id="a6oJNxG;3KBYZ-%=%-I|">
                        <field name="NAME">Sequenz_Zeit</field>
                        <field name="DELAY">2000</field>
                        <field name="UNIT">ms</field>
                        <statement name="STATEMENT">
                          <block type="controls_for" id="ol$Alo69a-Wed)Nt/7mv">
                            <field name="VAR" id="S8AcSYCl*E*o9yQ=|/SS" variabletype="">Pulsfluß</field>
                            <value name="FROM">
                              <shadow type="math_number" id="yugI!!Eh#;=6}L5({7Hg">
                                <field name="NUM">100</field>
                              </shadow>
                            </value>
                            <value name="TO">
                              <shadow type="math_number" id="*pVKLKz#NG)`PD~3$p^b">
                                <field name="NUM">30</field>
                              </shadow>
                            </value>
                            <value name="BY">
                              <shadow type="math_number" id="cA.78r;}Vg0S`$$@G69Z">
                                <field name="NUM">1</field>
                              </shadow>
                            </value>
                            <statement name="DO">
                              <block type="control" id="yl.2/3pSm;C*oh[JCpO;">
                                <mutation delay_input="false"></mutation>
                                <field name="OID">sonoff.0.Aqua_Float_Pumps.Strömung_1</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="math_number" id=")e._WEbOs0{|op+?:o52">
                                    <field name="NUM">30</field>
                                  </block>
                                </value>
                              </block>
                            </statement>
                          </block>
                        </statement>
                      </block>
                    </next>
                  </block>
                </statement>
              </block>
            </statement>
          </block>
        </xml>
        

        Bildschirmfoto 2019-09-07 um 01.53.45.png

        @paul53 vielleicht, magst du mir bei dieser Steuerung helfen.
        Es müssen dann noch drei weitere Steuerungen gebastelt werden.
        Intervall soll dann von 100% in 3,2 sek runter auf 30% da 1 sek halten dann wieder rauf auf 100%
        Dann Puls Only Soll von 30% rauf auf 100% in 2,5 sek dann sofort runter auf 30%
        Dann Wellengang soll für 0,53 sek bei 100% gehalten werden dann sofort runter auf 30% für 0,6 sek dann wieder 0,53 sek 100% halten.

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #4

        @Aphofis sagte:

        Ich habe mir mal ein Script gebastelt

        Du kannst nicht den selben Datenpunkt "Strömung_1" mal mit boolschen Werten (false/true) und mal mit Zahlenwerten (30...100) verwenden.

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Antwort Letzte Antwort
        0
        • AphofisA Aphofis

          Ich habe mir mal ein Script gebastelt für eine Sequenzial Steuerung aber ob das so funktioniert, weiß ich nicht.
          Also die Pumpe die per PWM angesteuert ist von 0-8 volt 0%-100%
          Soll mit 100% = 8V starten und in 2 sek runter gehen auf 30 % = 2,4V in 1% Schritten
          dann in 1,9 sek rauf auf 8V in 1 % schritten.
          Die Steuerung soll für eine halbe Std laufen.

          var Sequenz_Zeit, Pulsflu_C3_9F;
          
          
          schedule("* * * * *", function () {
            on({id: "sonoff.0.Aqua_Float_Pumps.Strömung_1"/*Strömung_1*/, change: "ne"}, function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              if (getState("sonoff.0.Aqua_Float_Pumps.Strömung_1").val == true) {
                setState("sonoff.0.Aqua_Float_Pumps.Strömung_1"/*Strömung_1*/, 100);
              }
              Sequenz_Zeit = setTimeout(function () {
                for (Pulsflu_C3_9F = 100; Pulsflu_C3_9F >= 30; Pulsflu_C3_9F--) {
                  setState("sonoff.0.Aqua_Float_Pumps.Strömung_1"/*Strömung_1*/, 30);
                }
              }, 2000);
            });
          });
          
          <xml xmlns="http://www.w3.org/1999/xhtml">
            <variables>
              <variable type="undefined" id="Sequenz_Zeit">Sequenz_Zeit</variable>
              <variable type="" id="S8AcSYCl*E*o9yQ=|/SS">Pulsfluß</variable>
            </variables>
            <block type="schedule" id="Dtv}fhBKHt{I|o51EtNV" x="-962" y="-662">
              <field name="SCHEDULE">* * * * *</field>
              <statement name="STATEMENT">
                <block type="on" id="RSx=||JpCm;AwOM#uW~m">
                  <field name="OID">sonoff.0.Aqua_Float_Pumps.Strömung_1</field>
                  <field name="CONDITION">ne</field>
                  <field name="ACK_CONDITION"></field>
                  <statement name="STATEMENT">
                    <block type="controls_if" id="hCU;D9G8L@WHd9(P/HAh">
                      <value name="IF0">
                        <block type="logic_compare" id="x*WvEPqLjb9t:p:1Eflt">
                          <field name="OP">EQ</field>
                          <value name="A">
                            <block type="get_value" id="u!fur-2nr@qk[9wCV%sS">
                              <field name="ATTR">val</field>
                              <field name="OID">sonoff.0.Aqua_Float_Pumps.Strömung_1</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="logic_boolean" id="mt-4jE--8;^kM:]{=r%H">
                              <field name="BOOL">TRUE</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <statement name="DO0">
                        <block type="control" id="DT](/MAfj:n2yb~o3zqF">
                          <mutation delay_input="false"></mutation>
                          <field name="OID">sonoff.0.Aqua_Float_Pumps.Strömung_1</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE">
                            <block type="math_number" id="n5{eF!aA2NpfCG^Oy;+~">
                              <field name="NUM">100</field>
                            </block>
                          </value>
                        </block>
                      </statement>
                      <next>
                        <block type="timeouts_settimeout" id="a6oJNxG;3KBYZ-%=%-I|">
                          <field name="NAME">Sequenz_Zeit</field>
                          <field name="DELAY">2000</field>
                          <field name="UNIT">ms</field>
                          <statement name="STATEMENT">
                            <block type="controls_for" id="ol$Alo69a-Wed)Nt/7mv">
                              <field name="VAR" id="S8AcSYCl*E*o9yQ=|/SS" variabletype="">Pulsfluß</field>
                              <value name="FROM">
                                <shadow type="math_number" id="yugI!!Eh#;=6}L5({7Hg">
                                  <field name="NUM">100</field>
                                </shadow>
                              </value>
                              <value name="TO">
                                <shadow type="math_number" id="*pVKLKz#NG)`PD~3$p^b">
                                  <field name="NUM">30</field>
                                </shadow>
                              </value>
                              <value name="BY">
                                <shadow type="math_number" id="cA.78r;}Vg0S`$$@G69Z">
                                  <field name="NUM">1</field>
                                </shadow>
                              </value>
                              <statement name="DO">
                                <block type="control" id="yl.2/3pSm;C*oh[JCpO;">
                                  <mutation delay_input="false"></mutation>
                                  <field name="OID">sonoff.0.Aqua_Float_Pumps.Strömung_1</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="math_number" id=")e._WEbOs0{|op+?:o52">
                                      <field name="NUM">30</field>
                                    </block>
                                  </value>
                                </block>
                              </statement>
                            </block>
                          </statement>
                        </block>
                      </next>
                    </block>
                  </statement>
                </block>
              </statement>
            </block>
          </xml>
          

          Bildschirmfoto 2019-09-07 um 01.53.45.png

          @paul53 vielleicht, magst du mir bei dieser Steuerung helfen.
          Es müssen dann noch drei weitere Steuerungen gebastelt werden.
          Intervall soll dann von 100% in 3,2 sek runter auf 30% da 1 sek halten dann wieder rauf auf 100%
          Dann Puls Only Soll von 30% rauf auf 100% in 2,5 sek dann sofort runter auf 30%
          Dann Wellengang soll für 0,53 sek bei 100% gehalten werden dann sofort runter auf 30% für 0,6 sek dann wieder 0,53 sek 100% halten.

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #5

          @Aphofis sagte :

          Soll mit 100% = 8V starten und in 2 sek runter gehen auf 30 % = 2,4V in 1% Schritten
          dann in 1,9 sek rauf auf 8V in 1 % schritten.

          1 % in 2 s oder 70 % in 2 s ?

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          AphofisA 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @Aphofis sagte :

            Soll mit 100% = 8V starten und in 2 sek runter gehen auf 30 % = 2,4V in 1% Schritten
            dann in 1,9 sek rauf auf 8V in 1 % schritten.

            1 % in 2 s oder 70 % in 2 s ?

            AphofisA Offline
            AphofisA Offline
            Aphofis
            schrieb am zuletzt editiert von Aphofis
            #6

            @paul53
            Es soll
            mit 8 volt also 100% starten und in 2 sek runter gehen auf 30% in 1% schritten
            dann von 30% in 1,9 sek wieder hoch auf 100% in 1% schritten.

            var Sequenz_Zeit;
            
            
            schedule("*/2 * * * * *", function () {
              if (getState("sonoff.0.Aqua_Float_Pumps.Strömung_1").val == true) {
                setState("sonoff.0.Aqua_Float_Pumps.Stroemung_1_Float"/*Stroemung_1_Float*/, 30);
                Sequenz_Zeit = setTimeout(function () {
                  setState("sonoff.0.Aqua_Float_Pumps.Stroemung_1_Float"/*Stroemung_1_Float*/, 100);
                }, 1900);
                (function () {if (Sequenz_Zeit) {clearTimeout(Sequenz_Zeit); Sequenz_Zeit = null;}})();
              }
            });
            

            hierbei bleibt die steuerung pulsend auf 30% stehen.
            gibt dann einen neuen Datenpunkt Stroemung_1_Float die den PWM Fluß steuert als Zahl mit min 0 und max 100%
            und Stroemung_1 steuert die steuerung ein oder aus

            paul53P 1 Antwort Letzte Antwort
            0
            • AphofisA Aphofis

              @paul53
              Es soll
              mit 8 volt also 100% starten und in 2 sek runter gehen auf 30% in 1% schritten
              dann von 30% in 1,9 sek wieder hoch auf 100% in 1% schritten.

              var Sequenz_Zeit;
              
              
              schedule("*/2 * * * * *", function () {
                if (getState("sonoff.0.Aqua_Float_Pumps.Strömung_1").val == true) {
                  setState("sonoff.0.Aqua_Float_Pumps.Stroemung_1_Float"/*Stroemung_1_Float*/, 30);
                  Sequenz_Zeit = setTimeout(function () {
                    setState("sonoff.0.Aqua_Float_Pumps.Stroemung_1_Float"/*Stroemung_1_Float*/, 100);
                  }, 1900);
                  (function () {if (Sequenz_Zeit) {clearTimeout(Sequenz_Zeit); Sequenz_Zeit = null;}})();
                }
              });
              

              hierbei bleibt die steuerung pulsend auf 30% stehen.
              gibt dann einen neuen Datenpunkt Stroemung_1_Float die den PWM Fluß steuert als Zahl mit min 0 und max 100%
              und Stroemung_1 steuert die steuerung ein oder aus

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #7

              @Aphofis sagte:

              100% starten und in 2 sek runter gehen auf 30%

              Also den Bereich 100 % bis 30 % innerhalb von 2 s durchlaufen ?

              Blockly_temp.JPG

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              AphofisA 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @Aphofis sagte:

                100% starten und in 2 sek runter gehen auf 30%

                Also den Bereich 100 % bis 30 % innerhalb von 2 s durchlaufen ?

                Blockly_temp.JPG

                AphofisA Offline
                AphofisA Offline
                Aphofis
                schrieb am zuletzt editiert von
                #8

                @paul53
                Ja der Bereich soll von 100-30 durchlaufen innerhalb von 2 sek.
                und wieder hoch von 30-100 in 1,9 sek.

                1 Antwort Letzte Antwort
                0
                • AphofisA Offline
                  AphofisA Offline
                  Aphofis
                  schrieb am zuletzt editiert von
                  #9

                  Steuerung läuft mehrmals durch und bleibt dann auf 100% stehen.
                  die ganze steuerung soll ja in einer schleife laufen. bis Strömung_1 abgeschaltet wird und eine andere Strömung aktiviert wird.

                  Ist es so korrekt?

                  var spannung, Intervall, Intervall2;
                  
                  
                  on({id: 'sonoff.0.Aqua_Float_Pumps.Strömung_1', val: true}, function (obj) {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    spannung = 100;
                    setState("sonoff.0.Aqua_Float_Pumps.Stroemung_1_Float"/*Stroemung_1_Float*/, spannung);
                    Intervall = setInterval(function () {
                      spannung = (typeof spannung == 'number' ? spannung : 0) + -1;
                      setState("sonoff.0.Aqua_Float_Pumps.Stroemung_1_Float"/*Stroemung_1_Float*/, spannung);
                      if (spannung <= 30) {
                        (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                        Intervall2 = setInterval(function () {
                          spannung = (typeof spannung == 'number' ? spannung : 0) + 1;
                          setState("sonoff.0.Aqua_Float_Pumps.Stroemung_1_Float"/*Stroemung_1_Float*/, spannung);
                          if (spannung >= 100) {
                            (function () {if (Intervall2) {clearInterval(Intervall2); Intervall2 = null;}})();
                          }
                        }, 27);
                      }
                    }, 29);
                  });
                  
                  1 Antwort Letzte Antwort
                  0
                  • AphofisA Offline
                    AphofisA Offline
                    Aphofis
                    schrieb am zuletzt editiert von
                    #10

                    Hab die intervalle mal langsamer gemacht um zu sehen was passiert also die steuerung geht von 100 runter auf 30 und dann wieder hoch auf 100 und bleibt dann stehen. normal soll sie dann wieder von vorne anfangen also in einer schleife.

                    1 Antwort Letzte Antwort
                    0
                    • AphofisA Offline
                      AphofisA Offline
                      Aphofis
                      schrieb am zuletzt editiert von
                      #11

                      wie entstehen 29 und 27 millisekunden !?
                      wenn die steuerung von 100 auf 30 runter soll in 2 sek und rauf in 1,9 sekunden !?

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • AphofisA Aphofis

                        wie entstehen 29 und 27 millisekunden !?
                        wenn die steuerung von 100 auf 30 runter soll in 2 sek und rauf in 1,9 sekunden !?

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #12

                        @Aphofis sagte:

                        wie entstehen 29 und 27 millisekunden !?
                        wenn die steuerung von 100 auf 30 runter soll in 2 sek und rauf in 1,9 sekunden !?

                        Ja, sind allerdings nicht genau 2 s und 1,9 s.

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        AphofisA 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @Aphofis sagte:

                          wie entstehen 29 und 27 millisekunden !?
                          wenn die steuerung von 100 auf 30 runter soll in 2 sek und rauf in 1,9 sekunden !?

                          Ja, sind allerdings nicht genau 2 s und 1,9 s.

                          AphofisA Offline
                          AphofisA Offline
                          Aphofis
                          schrieb am zuletzt editiert von
                          #13

                          @paul53
                          Ja nur was sagen die 29 und 27 sek aus !? wie lange bis auf 30 und wie lange bis auf 100 laufen soll !?
                          Ich versuche es nur zu verstehen um dasnn das script abzuwandeln für andere steuerungen

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • AphofisA Offline
                            AphofisA Offline
                            Aphofis
                            schrieb am zuletzt editiert von
                            #14

                            Hab mich bei der Steuerung auch etwas vertan es muss von 30 rauf auf 100 dann runter auf 30 und wieder hoch auf 100 und wieder runter auf 30
                            Die Steuerungen die abruppt starten sind Wellengang und impuls
                            Sequezial und intervall laufen normal rauf runter

                            1 Antwort Letzte Antwort
                            0
                            • AphofisA Aphofis

                              @paul53
                              Ja nur was sagen die 29 und 27 sek aus !? wie lange bis auf 30 und wie lange bis auf 100 laufen soll !?
                              Ich versuche es nur zu verstehen um dasnn das script abzuwandeln für andere steuerungen

                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von
                              #15

                              @Aphofis
                              2000 : 70 = 28,57 (ca. 29)
                              1900 : 70 = 27,14 (ca. 27)

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                              AphofisA 1 Antwort Letzte Antwort
                              0
                              • paul53P paul53

                                @Aphofis
                                2000 : 70 = 28,57 (ca. 29)
                                1900 : 70 = 27,14 (ca. 27)

                                AphofisA Offline
                                AphofisA Offline
                                Aphofis
                                schrieb am zuletzt editiert von Aphofis
                                #16

                                @paul53
                                OK bauchlöchern
                                also 70 entspricht den schritten 30 bis 100 also 70% die gezählt werden.
                                entspricht 1% schritt bei 2 sek dann 28,57 ms und bei 1,9 sek 27,14 ms

                                paul53P 1 Antwort Letzte Antwort
                                0
                                • AphofisA Aphofis

                                  @paul53
                                  OK bauchlöchern
                                  also 70 entspricht den schritten 30 bis 100 also 70% die gezählt werden.
                                  entspricht 1% schritt bei 2 sek dann 28,57 ms und bei 1,9 sek 27,14 ms

                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  schrieb am zuletzt editiert von
                                  #17

                                  @Aphofis sagte:

                                  also 70 entspricht den schritten 30 bis 100 also 70% die gezählt werden.
                                  entspricht 1% schritt bei 2 sek dann 28,57 ms und bei 1,9 sek 27,14 ms

                                  Exakt.

                                  @Aphofis sagte in PWM Steuerung mit Fade:

                                  es muss von 30 rauf auf 100 dann runter auf 30 und wieder hoch auf 100 und wieder runter auf 30
                                  normal soll sie dann wieder von vorne anfangen also in einer schleife.

                                  Blockly_temp.JPG

                                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                  AphofisA 1 Antwort Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @Aphofis sagte:

                                    also 70 entspricht den schritten 30 bis 100 also 70% die gezählt werden.
                                    entspricht 1% schritt bei 2 sek dann 28,57 ms und bei 1,9 sek 27,14 ms

                                    Exakt.

                                    @Aphofis sagte in PWM Steuerung mit Fade:

                                    es muss von 30 rauf auf 100 dann runter auf 30 und wieder hoch auf 100 und wieder runter auf 30
                                    normal soll sie dann wieder von vorne anfangen also in einer schleife.

                                    Blockly_temp.JPG

                                    AphofisA Offline
                                    AphofisA Offline
                                    Aphofis
                                    schrieb am zuletzt editiert von
                                    #18

                                    @Aphofis

                                    Spitze!
                                    Mal eine Persöhliche Frage, hast du sowas gelernt?
                                    Also programmieren oder angeeignet?
                                    Das echt der Hammer was du an Steuerungen aus dem Zauberhut holst. :+1: :+1: :+1:

                                    paul53P 1 Antwort Letzte Antwort
                                    0
                                    • AphofisA Offline
                                      AphofisA Offline
                                      Aphofis
                                      schrieb am zuletzt editiert von
                                      #19

                                      @paul53
                                      ist es so Korrekt?

                                      var sequenzial, Intervall, spannung, Intervall2;
                                      
                                      /**
                                       * Beschreibe diese Funktion …
                                       */
                                      function Welle() {
                                        Intervall = setInterval(function () {
                                          spannung = (typeof spannung == 'number' ? spannung : 0) + 1;
                                          setState("sonoff.0.Aqua_Float_Pumps.Sequenzial_Float"/*Sequenzial_Float*/, spannung);
                                          if (spannung >= 100) {
                                            (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                                            Intervall2 = setInterval(function () {
                                              spannung = (typeof spannung == 'number' ? spannung : 0) + -1;
                                              setState("sonoff.0.Aqua_Float_Pumps.Sequenzial_Float"/*Sequenzial_Float*/, spannung);
                                              if (spannung <= 30) {
                                                (function () {if (Intervall2) {clearInterval(Intervall2); Intervall2 = null;}})();
                                                if (sequenzial) {
                                                  Welle();
                                                }
                                              }
                                            }, 29);
                                          }
                                        }, 27);
                                      }
                                      
                                      
                                      on({id: 'sonoff.0.Aqua_Float_Pumps.Sequenzial', change: "ne"}, function (obj) {
                                        var value = obj.state.val;
                                        var oldValue = obj.oldState.val;
                                        sequenzial = (obj.state ? obj.state.val : "");
                                        if (sequenzial) {
                                          spannung = 30;
                                          setState("sonoff.0.Aqua_Float_Pumps.Sequenzial_Float"/*Sequenzial_Float*/, spannung);
                                          Welle();
                                        }
                                      });
                                      
                                      1 Antwort Letzte Antwort
                                      0
                                      • AphofisA Aphofis

                                        @Aphofis

                                        Spitze!
                                        Mal eine Persöhliche Frage, hast du sowas gelernt?
                                        Also programmieren oder angeeignet?
                                        Das echt der Hammer was du an Steuerungen aus dem Zauberhut holst. :+1: :+1: :+1:

                                        paul53P Offline
                                        paul53P Offline
                                        paul53
                                        schrieb am zuletzt editiert von
                                        #20

                                        @Aphofis sagte:

                                        angeeignet?

                                        Ja.

                                        @Aphofis sagte in PWM Steuerung mit Fade:

                                        ist es so Korrekt?

                                        Sieht gut aus.

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        AphofisA 1 Antwort Letzte Antwort
                                        0
                                        • paul53P paul53

                                          @Aphofis sagte:

                                          angeeignet?

                                          Ja.

                                          @Aphofis sagte in PWM Steuerung mit Fade:

                                          ist es so Korrekt?

                                          Sieht gut aus.

                                          AphofisA Offline
                                          AphofisA Offline
                                          Aphofis
                                          schrieb am zuletzt editiert von Aphofis
                                          #21

                                          @paul53
                                          Echt Hut ab! Ich kenne ja nun einige Script Sprachen und hatte damals auch viel mit C++ am Hut wenn dir das vllt noch was sagt der IRC also Internet Relay Chat der vorgänger von ICQ alias Mirc.
                                          Aber einen Trick gibts da sicherlich auch nicht, um Blockly besser zu verstehen.
                                          Ich denke, entweder man schnallt es oder man schnallt es nicht.
                                          Wenn ich eine fertige Steuerung sehe, kann ich mir den Ablauf vorstellen aber selsbt programmieren klappt nicht so ganz.
                                          Zumindest wenn es um so komplexe Steuerungen geht.

                                          paul53P 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          613

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe