Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

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

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    386

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

PWM Steuerung mit Fade

Scheduled Pinned Locked Moved Blockly
97 Posts 2 Posters 6.4k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • AphofisA Aphofis

    sind denn die Datenpunkte richtig gesetzt ???

    var delta, inc, Intervall, wellen, dec, spannung, hold, holdcnt;
    
    /**
     * Beschreibe diese Funktion …
     */
    function Welle() {
      delta = inc;
      Intervall = setInterval(function () {
        if (Math.abs(delta) < 70) {
          spannung = (typeof spannung == 'number' ? spannung : 0) + delta;
        } else if (spannung >= 100) {
          spannung = 30;
        } else {
          spannung = 100;
        }
        setState("sonoff.0.Aqua_Wave.Channel1"/*Aqua_Wave_Pump_1*/, spannung);
        setState("sonoff.0.Aqua_Wave.Channel2"/*Aqua_Wave_Pump_2*/, spannung);
        setState("sonoff.0.Aqua_Wave.Channel3"/*Aqua_Wave_Pump_3*/, spannung);
        setState("sonoff.0.Aqua_Wave.Channel4"/*Aqua_Wave_Pump_4*/, spannung);
        if (spannung >= 100) {
          delta = dec;
        }
        if (spannung <= 30) {
          if (hold) {
            if (holdcnt <= 0) {
              holdcnt = hold;
              delta = 0;
            } else {
              holdcnt = (typeof holdcnt == 'number' ? holdcnt : 0) + -1;
            }
          } else {
            holdcnt = 0;
          }
          if (holdcnt <= 0) {
            (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
            if (wellen) {
              Welle();
            }
          }
        }
      }, 25);
    }
    
    
    on({id: 'Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl', change: "ne"}, function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
      if ((obj.state ? obj.state.val : "") == 1) {
        // Sequenzial
        inc = 1.75 / getState("Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Up").val;
        dec = -1.75 / getState("Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Down").val;
        hold = 0;
      } else if ((obj.state ? obj.state.val : "") == 2) {
        // Intervall
        inc = 70;
        dec = -1.75 / getState("Aqua_Control.0.Tunze_Steuerung.Intervall_Wave_Down").val;
        hold = 40 * getState("Aqua_Control.0.Tunze_Steuerung.Intervall_Wave_Hold").val;
      } else if ((obj.state ? obj.state.val : "") == 3) {
        // Pulse
        inc = 1.75 / getState("Aqua_Control.0.Tunze_Steuerung.Pulse_Wave_Up").val;
        dec = -70;
        hold = 0;
      } else {
        // Wellengang
        inc = 1.75 / getState("Aqua_Control.0.Tunze_Steuerung.Wellengang_Wave_Up").val;
        dec = -70;
        hold = 40 * getState("Aqua_Control.0.Tunze_Steuerung.Wellengang_Wave_Hold").val;
      }
      if ((obj.state ? obj.state.val : "") > 0) {
        wellen = true;
        spannung = 30;
        setState("sonoff.0.Aqua_Wave.Channel1"/*Aqua_Wave_Pump_1*/, spannung);
        setState("sonoff.0.Aqua_Wave.Channel2"/*Aqua_Wave_Pump_2*/, spannung);
        setState("sonoff.0.Aqua_Wave.Channel3"/*Aqua_Wave_Pump_3*/, spannung);
        setState("sonoff.0.Aqua_Wave.Channel4"/*Aqua_Wave_Pump_4*/, spannung);
        Welle();
      } else {
        wellen = false;
      }
    });
    schedule("51 23 * * *", function () {
      setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 1);
    });
    schedule("52 23 * * *", function () {
      setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 2);
    });
    schedule("53 23 * * *", function () {
      setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 3);
    });
    schedule("54 23 * * *", function () {
      setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 4);
    });
    

    Bildschirmfoto 2019-09-17 um 15.39.59.png

    paul53P Offline
    paul53P Offline
    paul53
    wrote on last edited by
    #81

    @Aphofis sagte:

    sind denn die Datenpunkte richtig gesetzt ???

    Ja.

    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 Reply Last reply
    0
    • paul53P paul53

      @Aphofis sagte:

      sind denn die Datenpunkte richtig gesetzt ???

      Ja.

      AphofisA Offline
      AphofisA Offline
      Aphofis
      wrote on last edited by
      #82

      @paul53 sagte in PWM Steuerung mit Fade:

      @Aphofis sagte:

      sind denn die Datenpunkte richtig gesetzt ???

      Ja.

      Kannst du mir vielleicht die Zeiten erklären wie die werte zustande kommen wenn ich die Datenpunkte mit sek habe wie wird dann errechnet?

      Bildschirmfoto 2019-09-17 um 15.43.45.png

      1 Reply Last reply
      0
      • AphofisA Offline
        AphofisA Offline
        Aphofis
        wrote on last edited by Aphofis
        #83

        aslso wie ist der zusammenhang mit delta und spannung
        zB Sequenzial
        inc 1,75 / 2 = 0,875 wave up
        dec -1,75 / 1,9 = -0,921 wave down
        wie ist jetzt der zusammenhang mit dem intervall 25 ms

        paul53P 1 Reply Last reply
        0
        • AphofisA Aphofis

          aslso wie ist der zusammenhang mit delta und spannung
          zB Sequenzial
          inc 1,75 / 2 = 0,875 wave up
          dec -1,75 / 1,9 = -0,921 wave down
          wie ist jetzt der zusammenhang mit dem intervall 25 ms

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by paul53
          #84

          @Aphofis sagte :

          inc 1,75 / 2 = 0,875 wave up

          Das sind 0,875 % pro step. 70 % / 0,875 % = 80 steps. 80 * 25 ms = 2000 ms.
          Wenn die Zykluszeit auf 50 ms verdoppelt wird, ergibt sich folgende Rechnung:
          3,5 / 2 = 1,75 % pro step. 70% / 1,75 % = 40 steps. 40 * 50 ms = 2000 ms.

          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 Reply Last reply
          0
          • paul53P paul53

            @Aphofis sagte :

            inc 1,75 / 2 = 0,875 wave up

            Das sind 0,875 % pro step. 70 % / 0,875 % = 80 steps. 80 * 25 ms = 2000 ms.
            Wenn die Zykluszeit auf 50 ms verdoppelt wird, ergibt sich folgende Rechnung:
            3,5 / 2 = 1,75 % pro step. 70% / 1,75 % = 40 steps. 40 * 50 ms = 2000 ms.

            AphofisA Offline
            AphofisA Offline
            Aphofis
            wrote on last edited by
            #85

            @paul53
            OK verstanden!
            Also Test ist durchgelaufen!
            Die Pumpen werden gesteuert also anhand der Datenpunkte kann man es sehen.
            Tunze Wellen Auswahl der Datenpunkt wird von aus (0) auf intervall (2) gesetllt man sieht nur diese stellung
            Die pumpen rasseln weiter im Datenpunkt.
            Iobroker bleibt stehen die Pumpen Datenpunkte laufen weiter.
            Nach einer Zeit wenn Tunze Wellenb Auswahl dann wieder auf aus (0) geschaltet wird ist der Iobroker wieder erreichbar.
            Ich glaube da muss ganz dringend ein Pi 4 mit 4 GB RAM her!!!

            paul53P 1 Reply Last reply
            0
            • AphofisA Aphofis

              @paul53
              OK verstanden!
              Also Test ist durchgelaufen!
              Die Pumpen werden gesteuert also anhand der Datenpunkte kann man es sehen.
              Tunze Wellen Auswahl der Datenpunkt wird von aus (0) auf intervall (2) gesetllt man sieht nur diese stellung
              Die pumpen rasseln weiter im Datenpunkt.
              Iobroker bleibt stehen die Pumpen Datenpunkte laufen weiter.
              Nach einer Zeit wenn Tunze Wellenb Auswahl dann wieder auf aus (0) geschaltet wird ist der Iobroker wieder erreichbar.
              Ich glaube da muss ganz dringend ein Pi 4 mit 4 GB RAM her!!!

              paul53P Offline
              paul53P Offline
              paul53
              wrote on last edited by
              #86

              @Aphofis sagte:

              Ich glaube da muss ganz dringend ein Pi 4 mit 4 GB RAM her!!!

              Hast Du es mal mit der doppelten Zykluszeit von 50 ms versucht ?

              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 Reply Last reply
              0
              • paul53P paul53

                @Aphofis sagte:

                Ich glaube da muss ganz dringend ein Pi 4 mit 4 GB RAM her!!!

                Hast Du es mal mit der doppelten Zykluszeit von 50 ms versucht ?

                AphofisA Offline
                AphofisA Offline
                Aphofis
                wrote on last edited by
                #87

                @paul53
                meinst du das entlastet den iobroker ?

                paul53P 1 Reply Last reply
                0
                • AphofisA Aphofis

                  @paul53
                  meinst du das entlastet den iobroker ?

                  paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by
                  #88

                  @Aphofis sagte:

                  meinst du das entlastet den iobroker ?

                  Ja, aber ob es ausreichend ist ???

                  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 Reply Last reply
                  0
                  • paul53P paul53

                    @Aphofis sagte:

                    meinst du das entlastet den iobroker ?

                    Ja, aber ob es ausreichend ist ???

                    AphofisA Offline
                    AphofisA Offline
                    Aphofis
                    wrote on last edited by
                    #89

                    @paul53
                    I try

                    1 Reply Last reply
                    0
                    • AphofisA Offline
                      AphofisA Offline
                      Aphofis
                      wrote on last edited by
                      #90

                      Läuft mit Sequenzial los wenn Intervall dran kommt bleibt der datenpunkt aud Sequenzial stehen nach ein paar sekunden wechselt der datenpunkt zu Intervall dann bleibt iobroker stehen aber pumpen datenpunkte laufen weiter!

                      paul53P 1 Reply Last reply
                      0
                      • AphofisA Offline
                        AphofisA Offline
                        Aphofis
                        wrote on last edited by
                        #91

                        Ich denke mit allen anderen adaptern und allen anderen Steuerungen ist iobroker überlastet und 1 GB Ram ist nun mal sehr wenig!
                        Würde alles über ESP8266 laufen könnte ich einen Linux Server nehmen der ka 16 GB Ram hat und einen Leistungsstarken CPU dann wäre das sicherlich kein Problem. Aber einen Einplatinen Computer zu finden der auch in den Controller kasten passt ist nicht so einfach

                        1 Reply Last reply
                        0
                        • AphofisA Aphofis

                          Läuft mit Sequenzial los wenn Intervall dran kommt bleibt der datenpunkt aud Sequenzial stehen nach ein paar sekunden wechselt der datenpunkt zu Intervall dann bleibt iobroker stehen aber pumpen datenpunkte laufen weiter!

                          paul53P Offline
                          paul53P Offline
                          paul53
                          wrote on last edited by
                          #92

                          @Aphofis sagte:

                          aber pumpen datenpunkte laufen weiter!

                          Was heist das ? Die Rampe (zwischen 30 % und 100 %) läuft weiter ?

                          @Aphofis sagte in PWM Steuerung mit Fade:

                          ist iobroker überlastet

                          Rampen im Bereich von 0,55 bis 3 s sind für eine Skriptsprache wohl eine zu große Herausforderung.

                          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 2 Replies Last reply
                          0
                          • paul53P paul53

                            @Aphofis sagte:

                            aber pumpen datenpunkte laufen weiter!

                            Was heist das ? Die Rampe (zwischen 30 % und 100 %) läuft weiter ?

                            @Aphofis sagte in PWM Steuerung mit Fade:

                            ist iobroker überlastet

                            Rampen im Bereich von 0,55 bis 3 s sind für eine Skriptsprache wohl eine zu große Herausforderung.

                            AphofisA Offline
                            AphofisA Offline
                            Aphofis
                            wrote on last edited by
                            #93

                            @paul53
                            Das ist gut möglich!
                            Ja die Ramp Steuerung sieht man in den Datenpunkten der Pumpen das es weiter läuft
                            Schade das die Steuerung in ms so aufwendig ist!!!

                            1 Reply Last reply
                            0
                            • paul53P paul53

                              @Aphofis sagte:

                              aber pumpen datenpunkte laufen weiter!

                              Was heist das ? Die Rampe (zwischen 30 % und 100 %) läuft weiter ?

                              @Aphofis sagte in PWM Steuerung mit Fade:

                              ist iobroker überlastet

                              Rampen im Bereich von 0,55 bis 3 s sind für eine Skriptsprache wohl eine zu große Herausforderung.

                              AphofisA Offline
                              AphofisA Offline
                              Aphofis
                              wrote on last edited by
                              #94

                              @paul53
                              Heute ist das PWM Steuermodul gekommen.
                              Am ESP an Pumpe 1 angeklemmt. Steuerung läuft zeitgesteuert los Der Datenpunkt wird auf null geschaltet nach dem die Zeitsteuerung den Datenpunkt Tunze Wellen Auswahl aus geschaltet hat aber die datenpunkte des ESP mit den vier Pumpen läuft fröhlich weiter. Auch ein Abschalten der Steuerung und ein Neustart des ESP Controllers bringt keinen Erfolg. Hab auch nur Sequemzial 1 für 1 min laufen lassen und danach soll Der Datenpunkt auf null gesetzt werden. Wird er auch aber die Steuerung bekommt es nicht mit.

                              paul53P 2 Replies Last reply
                              0
                              • AphofisA Aphofis

                                @paul53
                                Heute ist das PWM Steuermodul gekommen.
                                Am ESP an Pumpe 1 angeklemmt. Steuerung läuft zeitgesteuert los Der Datenpunkt wird auf null geschaltet nach dem die Zeitsteuerung den Datenpunkt Tunze Wellen Auswahl aus geschaltet hat aber die datenpunkte des ESP mit den vier Pumpen läuft fröhlich weiter. Auch ein Abschalten der Steuerung und ein Neustart des ESP Controllers bringt keinen Erfolg. Hab auch nur Sequemzial 1 für 1 min laufen lassen und danach soll Der Datenpunkt auf null gesetzt werden. Wird er auch aber die Steuerung bekommt es nicht mit.

                                paul53P Offline
                                paul53P Offline
                                paul53
                                wrote on last edited by
                                #95

                                @Aphofis sagte:

                                aber die datenpunkte des ESP mit den vier Pumpen läuft fröhlich weiter.

                                Füge mal einen Debug-Block ein an der Stelle, an der der Zyklus mit wellen = false beendet werden soll.

                                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

                                1 Reply Last reply
                                0
                                • AphofisA Aphofis

                                  @paul53
                                  Heute ist das PWM Steuermodul gekommen.
                                  Am ESP an Pumpe 1 angeklemmt. Steuerung läuft zeitgesteuert los Der Datenpunkt wird auf null geschaltet nach dem die Zeitsteuerung den Datenpunkt Tunze Wellen Auswahl aus geschaltet hat aber die datenpunkte des ESP mit den vier Pumpen läuft fröhlich weiter. Auch ein Abschalten der Steuerung und ein Neustart des ESP Controllers bringt keinen Erfolg. Hab auch nur Sequemzial 1 für 1 min laufen lassen und danach soll Der Datenpunkt auf null gesetzt werden. Wird er auch aber die Steuerung bekommt es nicht mit.

                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  wrote on last edited by paul53
                                  #96

                                  @Aphofis
                                  Habe das Skript mal auf meinem PC (i7) getestet mit allen 4 Wellenformen (dazwischen immer "Aus"(0)): Es macht das, was es soll. Also ist wahrscheinlich der RasPi mit den kurzen Zeiten überfordert, denn selbst im PC sind die tatsächlichen Zykluszeiten erheblich länger, als die eingegebenen Zeiten.

                                  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 Reply Last reply
                                  0
                                  • paul53P paul53

                                    @Aphofis
                                    Habe das Skript mal auf meinem PC (i7) getestet mit allen 4 Wellenformen (dazwischen immer "Aus"(0)): Es macht das, was es soll. Also ist wahrscheinlich der RasPi mit den kurzen Zeiten überfordert, denn selbst im PC sind die tatsächlichen Zykluszeiten erheblich länger, als die eingegebenen Zeiten.

                                    AphofisA Offline
                                    AphofisA Offline
                                    Aphofis
                                    wrote on last edited by Aphofis
                                    #97

                                    @paul53
                                    Danke für den Test bei dir auf dem PC
                                    Dann muss wohl tatsächlich ein raspi 4 her

                                    1 Reply Last reply
                                    0
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes


                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    713

                                    Online

                                    32.7k

                                    Users

                                    82.5k

                                    Topics

                                    1.3m

                                    Posts
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                    ioBroker Community 2014-2025
                                    logo
                                    • Login

                                    • Don't have an account? Register

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Home
                                    • Recent
                                    • Tags
                                    • Unread 0
                                    • Categories
                                    • Unreplied
                                    • Popular
                                    • GitHub
                                    • Docu
                                    • Hilfe