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
    329

  • 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
    #26

    @paul53
    ist es möglich das man zb zwei Datenpunkte zu Sequenzial anlegt in die man dann zb Sequenzial_up und Sequenzial_down die 2000 ms und 1900 ms angibt und in der Steuerung werden die ms für 1 % errechnet und dann für die beiden Timeouts benutzt.

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

      Also hab jetzt mal einen Datenpunkt in meinem Datenpunkt Ordner erstellt.
      Dann einen ESP geflashed und 4 PWM Kanäle erstellt.
      Den Datenpunkt Sequenzial als Logikwert switch eingestellt und in der steuerung verknüpft
      genau so den Level Dimmer vom PWM Channel 1 verknüpft
      wenn ich nun den Datenpunkt auf true setze läuft die Steuerung los und man sieht den PWM Channel los rennen doch lässt sich leider der Datenpunkt Sequenzial nicht mehr abschalten.
      Wenn ich in der Weboberfläche vom Sonoff in die Konsole gucke sieht man wie die Werte per MQTT rein kommen und verabrietet werden.

      1 Antwort Letzte Antwort
      0
      • AphofisA Aphofis

        @paul53
        ist es möglich das man zb zwei Datenpunkte zu Sequenzial anlegt in die man dann zb Sequenzial_up und Sequenzial_down die 2000 ms und 1900 ms angibt und in der Steuerung werden die ms für 1 % errechnet und dann für die beiden Timeouts benutzt.

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

        @Aphofis sagte in PWM Steuerung mit Fade:

        ist es möglich das man zb zwei Datenpunkte zu Sequenzial anlegt in die man dann zb Sequenzial_up und Sequenzial_down die 2000 ms und 1900 ms angibt und in der Steuerung werden die ms für 1 % errechnet und dann für die beiden Timeouts benutzt.

        In Javascript kein Problem, aber in Blockly so nicht möglich, da Zeiten im Intervall Konstanten sind. In Blockly kann man nur die Stufenweite (1 %/-1,05 %) variabel gestalten.

        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

          @paul53
          ist es möglich das man zb zwei Datenpunkte zu Sequenzial anlegt in die man dann zb Sequenzial_up und Sequenzial_down die 2000 ms und 1900 ms angibt und in der Steuerung werden die ms für 1 % errechnet und dann für die beiden Timeouts benutzt.

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

          @Aphofis
          MIt einer festen Zykluszeit von 25 ms und einem variablen Delta sollte es so funktionieren:

          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
            MIt einer festen Zykluszeit von 25 ms und einem variablen Delta sollte es so funktionieren:

            Blockly_temp.JPG

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

            @paul53
            dh delta ist der variable wert der aus den Datenpunkten ermittelt wird und dann in der Steuerung zu den 25 ms dazu gezählt wird!?
            Gebe ich in den Datenpunkten dann ms oder sek ein !?
            Eine Lösung dazu das die Steuerung abgeschaltet werden kann hast du nicht!?
            Kann es sein das der Pi überlastet ist mit der Art steuerung !?

            paul53P 1 Antwort Letzte Antwort
            0
            • AphofisA Aphofis

              @paul53
              dh delta ist der variable wert der aus den Datenpunkten ermittelt wird und dann in der Steuerung zu den 25 ms dazu gezählt wird!?
              Gebe ich in den Datenpunkten dann ms oder sek ein !?
              Eine Lösung dazu das die Steuerung abgeschaltet werden kann hast du nicht!?
              Kann es sein das der Pi überlastet ist mit der Art steuerung !?

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

              @Aphofis sagte:

              delta ist der variable wert der aus den Datenpunkten ermittelt wird

              Ja.

              @Aphofis sagte in PWM Steuerung mit Fade:

              und dann in der Steuerung zu den 25 ms dazu gezählt wird!?

              Nein, um den Wert delta ändert sich die Spannung (in %) alle 25 ms.

              @Aphofis sagte in PWM Steuerung mit Fade:

              Gebe ich in den Datenpunkten dann ms oder sek ein !?

              Steht doch im Kommentar: ms

              @Aphofis sagte in PWM Steuerung mit Fade:

              Eine Lösung dazu das die Steuerung abgeschaltet werden kann hast du nicht!?

              Mit stop zyklische Ausführung Intervall wird bei 30 % abgeschaltet, wenn der Datenpunkt "sonoff.0.Aqua_Float_Pumps.Sequenzial" false ist. Soll die Spannung auf 0 % gehen ?

              @Aphofis sagte in PWM Steuerung mit Fade:

              Kann es sein das der Pi überlastet ist mit der Art steuerung !?

              Das ist gut möglich, denn eine Zykluszeit von 25 ms ist sehr ambitioniert.

              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:

                delta ist der variable wert der aus den Datenpunkten ermittelt wird

                Ja.

                @Aphofis sagte in PWM Steuerung mit Fade:

                und dann in der Steuerung zu den 25 ms dazu gezählt wird!?

                Nein, um den Wert delta ändert sich die Spannung (in %) alle 25 ms.

                @Aphofis sagte in PWM Steuerung mit Fade:

                Gebe ich in den Datenpunkten dann ms oder sek ein !?

                Steht doch im Kommentar: ms

                @Aphofis sagte in PWM Steuerung mit Fade:

                Eine Lösung dazu das die Steuerung abgeschaltet werden kann hast du nicht!?

                Mit stop zyklische Ausführung Intervall wird bei 30 % abgeschaltet, wenn der Datenpunkt "sonoff.0.Aqua_Float_Pumps.Sequenzial" false ist. Soll die Spannung auf 0 % gehen ?

                @Aphofis sagte in PWM Steuerung mit Fade:

                Kann es sein das der Pi überlastet ist mit der Art steuerung !?

                Das ist gut möglich, denn eine Zykluszeit von 25 ms ist sehr ambitioniert.

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

                @paul53
                Also es ist ja nur eine von vier Steuerungen und jede für sich soll ja so lange in einer Schleife laufen bis ein anderer der Datenpunkte auf true gesetzt wird.
                Es sollte dann nachher so aussehen:

                Programm (Zeitsteuerung wann welcher Datenpunkt aktiv sein soll "Sequenzial, Intervall, Pulse und Wellengang)

                Sequenzial (true/false)
                Sequenzial_Wave_Up (Wellenlänge hoch in ms)
                Sequenzial_Wave_Down (Wellenlänge runter in ms)

                Intervall (true/false)
                Intervall_Wave_Down (Wellenlänge runter in ms)
                Intervall_Wave_Hold (Wellenlänge halten in ms)

                Pulse (true/false)
                Pulse_Wave_Up (Wellenlänge hoch in ms)
                Pulse_Wave_Stop (Wellenlänge Stop in ms)

                Wellengang (true/false)
                Wellengang_Wave_Up (Wellenlänge hoch in ms)
                Wellengang_Wave_Hold (Wellenlänge halten in ms)

                Wie man es nun bewerkställigt das sich der Datenpunkt abschalten lässt, weiß ich auch nicht.
                Im Test Modus mit einem virtuellen Datenpunkt funktionierte es aber mit einem verknüpften ESP über die Level Dimmer funktion bleibt der Datenpunkt im true und ich muss den ESP neustarten, damit ich den Datenpunkt stoppen kann. Ich hatte natürlich noch nicht versucht wenn es dann alle Datenpunkte gibt wie es dann ist wenn der Programm Ablauf die Datenpunkte schaltet ob das dann geht !?

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

                  @paul53
                  ist es so korrekt?

                  var inc, dec, sequenzial, spannung, delta, Intervall;
                  
                  
                  inc = 1750 / getState("Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Up").val;
                  dec = -1750 / getState("Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Down").val;
                  on({id: 'Aqua_Control.0.Tunze_Steuerung.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_Wave.Channel1"/*Aqua_Wave_Pump_1*/, spannung);
                      delta = inc;
                      Intervall = setInterval(function () {
                        spannung = (typeof spannung == 'number' ? spannung : 0) + delta;
                        setState("sonoff.0.Aqua_Wave.Channel1"/*Aqua_Wave_Pump_1*/, spannung);
                        if (spannung >= 100) {
                          delta = dec;
                        }
                        if (spannung <= 30) {
                          delta = inc;
                          if (!sequenzial) {
                            (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                          }
                        }
                      }, 25);
                    }
                  });
                  // Sequenzial_Up (ms)
                  on({id: 'Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Up', change: "ne"}, function (obj) {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    inc = 1750 / (obj.state ? obj.state.val : "");
                  });
                  // Sequenzial_Down (ms)
                  on({id: 'Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Down', change: "ne"}, function (obj) {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    dec = -1750 + (obj.state ? obj.state.val : "");
                  });
                  
                  paul53P 1 Antwort Letzte Antwort
                  0
                  • AphofisA Aphofis

                    @paul53
                    ist es so korrekt?

                    var inc, dec, sequenzial, spannung, delta, Intervall;
                    
                    
                    inc = 1750 / getState("Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Up").val;
                    dec = -1750 / getState("Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Down").val;
                    on({id: 'Aqua_Control.0.Tunze_Steuerung.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_Wave.Channel1"/*Aqua_Wave_Pump_1*/, spannung);
                        delta = inc;
                        Intervall = setInterval(function () {
                          spannung = (typeof spannung == 'number' ? spannung : 0) + delta;
                          setState("sonoff.0.Aqua_Wave.Channel1"/*Aqua_Wave_Pump_1*/, spannung);
                          if (spannung >= 100) {
                            delta = dec;
                          }
                          if (spannung <= 30) {
                            delta = inc;
                            if (!sequenzial) {
                              (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                            }
                          }
                        }, 25);
                      }
                    });
                    // Sequenzial_Up (ms)
                    on({id: 'Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Up', change: "ne"}, function (obj) {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      inc = 1750 / (obj.state ? obj.state.val : "");
                    });
                    // Sequenzial_Down (ms)
                    on({id: 'Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Down', change: "ne"}, function (obj) {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      dec = -1750 + (obj.state ? obj.state.val : "");
                    });
                    
                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #34

                    @Aphofis sagte:

                    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:

                      ist es so korrekt?

                      Sieht gut aus.

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

                      @paul53 OK
                      Ich erstelle dann heute abend mal ein Programm was die Datenpunkte schaltet.

                      wie ist es mit wellengang
                      da geht die Steuerung in 0,53 sek von 30 auf 100 und stoppt dann auf 30 und wird da für 0,6 sek gehalten und geht dann wieder hoch auf 100%
                      Dann kann ich zumindest diese zwei Steuerungen testen ob das Programm es dann schafft hin und her zu schalten oder ob es dann auch hängen bleibt

                      1 Antwort Letzte Antwort
                      0
                      • AphofisA Aphofis

                        @paul53
                        Also es ist ja nur eine von vier Steuerungen und jede für sich soll ja so lange in einer Schleife laufen bis ein anderer der Datenpunkte auf true gesetzt wird.
                        Es sollte dann nachher so aussehen:

                        Programm (Zeitsteuerung wann welcher Datenpunkt aktiv sein soll "Sequenzial, Intervall, Pulse und Wellengang)

                        Sequenzial (true/false)
                        Sequenzial_Wave_Up (Wellenlänge hoch in ms)
                        Sequenzial_Wave_Down (Wellenlänge runter in ms)

                        Intervall (true/false)
                        Intervall_Wave_Down (Wellenlänge runter in ms)
                        Intervall_Wave_Hold (Wellenlänge halten in ms)

                        Pulse (true/false)
                        Pulse_Wave_Up (Wellenlänge hoch in ms)
                        Pulse_Wave_Stop (Wellenlänge Stop in ms)

                        Wellengang (true/false)
                        Wellengang_Wave_Up (Wellenlänge hoch in ms)
                        Wellengang_Wave_Hold (Wellenlänge halten in ms)

                        Wie man es nun bewerkställigt das sich der Datenpunkt abschalten lässt, weiß ich auch nicht.
                        Im Test Modus mit einem virtuellen Datenpunkt funktionierte es aber mit einem verknüpften ESP über die Level Dimmer funktion bleibt der Datenpunkt im true und ich muss den ESP neustarten, damit ich den Datenpunkt stoppen kann. Ich hatte natürlich noch nicht versucht wenn es dann alle Datenpunkte gibt wie es dann ist wenn der Programm Ablauf die Datenpunkte schaltet ob das dann geht !?

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

                        @Aphofis sagte:

                        Also es ist ja nur eine von vier Steuerungen und jede für sich soll ja so lange in einer Schleife laufen bis ein anderer der Datenpunkte auf true gesetzt wird.

                        Weshalb verwendest Du keine Werteliste mit den 5 Zuständen Aus/Sequenzial/Intervall/Pulse/Wellengang, denn es kann immer nur einer der Zustände aktiv sein und es sollte zwischen zwei aktiven Zuständen immer für mind. 5 s der Zustand "Aus" (0) geschaltet werden.

                        Werteliste_Wellen.JPG

                        Die Abfrage bei "Sequenzial" lautet dann:
                        falls Wert == 1 setze sequenzial auf true
                        sonst setze sequential auf false

                        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 es ist ja nur eine von vier Steuerungen und jede für sich soll ja so lange in einer Schleife laufen bis ein anderer der Datenpunkte auf true gesetzt wird.

                          Weshalb verwendest Du keine Werteliste mit den 5 Zuständen Aus/Sequenzial/Intervall/Pulse/Wellengang, denn es kann immer nur einer der Zustände aktiv sein und es sollte zwischen zwei aktiven Zuständen immer für mind. 5 s der Zustand "Aus" (0) geschaltet werden.

                          Werteliste_Wellen.JPG

                          Die Abfrage bei "Sequenzial" lautet dann:
                          falls Wert == 1 setze sequenzial auf true
                          sonst setze sequential auf false

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

                          @paul53
                          Das ja mal ne coole Funktion!
                          Bin noch auf einem Geburtstag
                          Teste ich heute Abend mal und wenn die Strömung für 5 Sek. Inaktiv sind beim Wechsel zwischen den Programmen stört mich das nicht

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

                            @paul53
                            Also ich teste gerade etwas.
                            Es gibt die Steuerung Intervall:

                            var wellenauswahl, inc, dec, sequenzial, spannung, delta, Intervall;
                            
                            
                            wellenauswahl = getState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl").val;
                            inc = 1750 / getState("Aqua_Control.0.Tunze_Steuerung.Intervall_Wave_Hold").val;
                            dec = -1750 / getState("Aqua_Control.0.Tunze_Steuerung.Intervall_Wave_Down").val;
                            on({id: wellenauswahl == 2, 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_Wave.Channel1"/*Aqua_Wave_Pump_1*/, spannung);
                                delta = inc;
                                Intervall = setInterval(function () {
                                  spannung = (typeof spannung == 'number' ? spannung : 0) + delta;
                                  setState("sonoff.0.Aqua_Wave.Channel1"/*Aqua_Wave_Pump_1*/, spannung);
                                  if (spannung >= 100) {
                                    delta = dec;
                                  }
                                  if (spannung <= 30) {
                                    delta = inc;
                                    if (!sequenzial) {
                                      (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                                    }
                                  }
                                }, 25);
                              }
                            });
                            // Sequenzial_Up (ms)
                            on({id: 'Aqua_Control.0.Tunze_Steuerung.Intervall_Wave_Hold', change: "ne"}, function (obj) {
                              var value = obj.state.val;
                              var oldValue = obj.oldState.val;
                              inc = 1750 / (obj.state ? obj.state.val : "");
                            });
                            // Sequenzial_Down (ms)
                            on({id: 'Aqua_Control.0.Tunze_Steuerung.Intervall_Wave_Down', change: "ne"}, function (obj) {
                              var value = obj.state.val;
                              var oldValue = obj.oldState.val;
                              dec = -1750 + (obj.state ? obj.state.val : "");
                            });
                            

                            und die Steuerung Sequenzial:

                            var wellenauswahl, inc, dec, sequenzial, spannung, delta, Intervall;
                            
                            
                            wellenauswahl = getState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl").val;
                            inc = 1750 / getState("Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Up").val;
                            dec = -1750 / getState("Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Down").val;
                            on({id: wellenauswahl == 1, 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_Wave.Channel1"/*Aqua_Wave_Pump_1*/, spannung);
                                delta = inc;
                                Intervall = setInterval(function () {
                                  spannung = (typeof spannung == 'number' ? spannung : 0) + delta;
                                  setState("sonoff.0.Aqua_Wave.Channel1"/*Aqua_Wave_Pump_1*/, spannung);
                                  if (spannung >= 100) {
                                    delta = dec;
                                  }
                                  if (spannung <= 30) {
                                    delta = inc;
                                    if (!sequenzial) {
                                      (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                                    }
                                  }
                                }, 25);
                              }
                            });
                            // Sequenzial_Up (ms)
                            on({id: 'Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Up', change: "ne"}, function (obj) {
                              var value = obj.state.val;
                              var oldValue = obj.oldState.val;
                              inc = 1750 / (obj.state ? obj.state.val : "");
                            });
                            // Sequenzial_Down (ms)
                            on({id: 'Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Down', change: "ne"}, function (obj) {
                              var value = obj.state.val;
                              var oldValue = obj.oldState.val;
                              dec = -1750 + (obj.state ? obj.state.val : "");
                            });
                            

                            Dann gibt es diese Datenpunkte:
                            Bildschirmfoto 2019-09-14 um 17.03.11.png
                            Die switch Datenpunkte mal bei seite lassen.
                            Den Datenpunkt Tunze Wellen Auswahl erstellt mit 0:Aus;1:Sequenzial;2:Intervall;3:Pulse;4:Wellengang
                            den hab ich verknüpft damit je nach dem was in dem Datenpunkt steht soll die jeweilige Steuerung anspringen. Nur Leider will die Zeitsteuerung nicht so wie ich das will.
                            Sicherlich ist ein Fehler darin das man nur für 10 sek testet.
                            Zeitsteuerung:

                            var Wellenauswahl, Sequenzial, Intervall, timeout, timeout3, timeout4;
                            
                            
                            Wellenauswahl = getState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl").val;
                            Sequenzial = schedule('59 16 * * *', function () {
                              setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 1);
                              timeout = setTimeout(function () {
                                setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 0);
                                (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                              }, 10000);
                              setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 0);
                            });
                            Intervall = schedule('0 17 * * *', function () {
                              setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 2);
                              timeout3 = setTimeout(function () {
                                setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 0);
                                (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                              }, 10000);
                              timeout4 = setTimeout(function () {
                                setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 0);
                                (function () {if (timeout2) {clearTimeout(timeout2); timeout2 = null;}})();
                              }, 5000);
                            });
                            
                            paul53P 2 Antworten Letzte Antwort
                            0
                            • AphofisA Aphofis

                              @paul53
                              Also ich teste gerade etwas.
                              Es gibt die Steuerung Intervall:

                              var wellenauswahl, inc, dec, sequenzial, spannung, delta, Intervall;
                              
                              
                              wellenauswahl = getState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl").val;
                              inc = 1750 / getState("Aqua_Control.0.Tunze_Steuerung.Intervall_Wave_Hold").val;
                              dec = -1750 / getState("Aqua_Control.0.Tunze_Steuerung.Intervall_Wave_Down").val;
                              on({id: wellenauswahl == 2, 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_Wave.Channel1"/*Aqua_Wave_Pump_1*/, spannung);
                                  delta = inc;
                                  Intervall = setInterval(function () {
                                    spannung = (typeof spannung == 'number' ? spannung : 0) + delta;
                                    setState("sonoff.0.Aqua_Wave.Channel1"/*Aqua_Wave_Pump_1*/, spannung);
                                    if (spannung >= 100) {
                                      delta = dec;
                                    }
                                    if (spannung <= 30) {
                                      delta = inc;
                                      if (!sequenzial) {
                                        (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                                      }
                                    }
                                  }, 25);
                                }
                              });
                              // Sequenzial_Up (ms)
                              on({id: 'Aqua_Control.0.Tunze_Steuerung.Intervall_Wave_Hold', change: "ne"}, function (obj) {
                                var value = obj.state.val;
                                var oldValue = obj.oldState.val;
                                inc = 1750 / (obj.state ? obj.state.val : "");
                              });
                              // Sequenzial_Down (ms)
                              on({id: 'Aqua_Control.0.Tunze_Steuerung.Intervall_Wave_Down', change: "ne"}, function (obj) {
                                var value = obj.state.val;
                                var oldValue = obj.oldState.val;
                                dec = -1750 + (obj.state ? obj.state.val : "");
                              });
                              

                              und die Steuerung Sequenzial:

                              var wellenauswahl, inc, dec, sequenzial, spannung, delta, Intervall;
                              
                              
                              wellenauswahl = getState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl").val;
                              inc = 1750 / getState("Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Up").val;
                              dec = -1750 / getState("Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Down").val;
                              on({id: wellenauswahl == 1, 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_Wave.Channel1"/*Aqua_Wave_Pump_1*/, spannung);
                                  delta = inc;
                                  Intervall = setInterval(function () {
                                    spannung = (typeof spannung == 'number' ? spannung : 0) + delta;
                                    setState("sonoff.0.Aqua_Wave.Channel1"/*Aqua_Wave_Pump_1*/, spannung);
                                    if (spannung >= 100) {
                                      delta = dec;
                                    }
                                    if (spannung <= 30) {
                                      delta = inc;
                                      if (!sequenzial) {
                                        (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                                      }
                                    }
                                  }, 25);
                                }
                              });
                              // Sequenzial_Up (ms)
                              on({id: 'Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Up', change: "ne"}, function (obj) {
                                var value = obj.state.val;
                                var oldValue = obj.oldState.val;
                                inc = 1750 / (obj.state ? obj.state.val : "");
                              });
                              // Sequenzial_Down (ms)
                              on({id: 'Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Down', change: "ne"}, function (obj) {
                                var value = obj.state.val;
                                var oldValue = obj.oldState.val;
                                dec = -1750 + (obj.state ? obj.state.val : "");
                              });
                              

                              Dann gibt es diese Datenpunkte:
                              Bildschirmfoto 2019-09-14 um 17.03.11.png
                              Die switch Datenpunkte mal bei seite lassen.
                              Den Datenpunkt Tunze Wellen Auswahl erstellt mit 0:Aus;1:Sequenzial;2:Intervall;3:Pulse;4:Wellengang
                              den hab ich verknüpft damit je nach dem was in dem Datenpunkt steht soll die jeweilige Steuerung anspringen. Nur Leider will die Zeitsteuerung nicht so wie ich das will.
                              Sicherlich ist ein Fehler darin das man nur für 10 sek testet.
                              Zeitsteuerung:

                              var Wellenauswahl, Sequenzial, Intervall, timeout, timeout3, timeout4;
                              
                              
                              Wellenauswahl = getState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl").val;
                              Sequenzial = schedule('59 16 * * *', function () {
                                setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 1);
                                timeout = setTimeout(function () {
                                  setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 0);
                                  (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                                }, 10000);
                                setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 0);
                              });
                              Intervall = schedule('0 17 * * *', function () {
                                setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 2);
                                timeout3 = setTimeout(function () {
                                  setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 0);
                                  (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                                }, 10000);
                                timeout4 = setTimeout(function () {
                                  setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 0);
                                  (function () {if (timeout2) {clearTimeout(timeout2); timeout2 = null;}})();
                                }, 5000);
                              });
                              
                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von paul53
                              #39

                              @Aphofis sagte:

                              Dann gibt es diese Datenpunkte:

                              Der Datenpunkt "Tunze Wellen Auswahl" ist keine Werteliste, denn der Wert einer Werteliste sieht so aus:
                              Werteliste_Aus.JPG
                              Poste mal die RAW-Daten des Datenpunktes in Code Tags.

                              Man kann nicht auf Werte bzw. Vergleiche triggern, sondern nur auf Datenpunkt-IDs ! Der Vergleich muss mit einem falls-Logik-Baustein innerhalb des Triggers erfolgen.

                              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
                              • AphofisA Aphofis

                                @paul53
                                Also ich teste gerade etwas.
                                Es gibt die Steuerung Intervall:

                                var wellenauswahl, inc, dec, sequenzial, spannung, delta, Intervall;
                                
                                
                                wellenauswahl = getState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl").val;
                                inc = 1750 / getState("Aqua_Control.0.Tunze_Steuerung.Intervall_Wave_Hold").val;
                                dec = -1750 / getState("Aqua_Control.0.Tunze_Steuerung.Intervall_Wave_Down").val;
                                on({id: wellenauswahl == 2, 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_Wave.Channel1"/*Aqua_Wave_Pump_1*/, spannung);
                                    delta = inc;
                                    Intervall = setInterval(function () {
                                      spannung = (typeof spannung == 'number' ? spannung : 0) + delta;
                                      setState("sonoff.0.Aqua_Wave.Channel1"/*Aqua_Wave_Pump_1*/, spannung);
                                      if (spannung >= 100) {
                                        delta = dec;
                                      }
                                      if (spannung <= 30) {
                                        delta = inc;
                                        if (!sequenzial) {
                                          (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                                        }
                                      }
                                    }, 25);
                                  }
                                });
                                // Sequenzial_Up (ms)
                                on({id: 'Aqua_Control.0.Tunze_Steuerung.Intervall_Wave_Hold', change: "ne"}, function (obj) {
                                  var value = obj.state.val;
                                  var oldValue = obj.oldState.val;
                                  inc = 1750 / (obj.state ? obj.state.val : "");
                                });
                                // Sequenzial_Down (ms)
                                on({id: 'Aqua_Control.0.Tunze_Steuerung.Intervall_Wave_Down', change: "ne"}, function (obj) {
                                  var value = obj.state.val;
                                  var oldValue = obj.oldState.val;
                                  dec = -1750 + (obj.state ? obj.state.val : "");
                                });
                                

                                und die Steuerung Sequenzial:

                                var wellenauswahl, inc, dec, sequenzial, spannung, delta, Intervall;
                                
                                
                                wellenauswahl = getState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl").val;
                                inc = 1750 / getState("Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Up").val;
                                dec = -1750 / getState("Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Down").val;
                                on({id: wellenauswahl == 1, 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_Wave.Channel1"/*Aqua_Wave_Pump_1*/, spannung);
                                    delta = inc;
                                    Intervall = setInterval(function () {
                                      spannung = (typeof spannung == 'number' ? spannung : 0) + delta;
                                      setState("sonoff.0.Aqua_Wave.Channel1"/*Aqua_Wave_Pump_1*/, spannung);
                                      if (spannung >= 100) {
                                        delta = dec;
                                      }
                                      if (spannung <= 30) {
                                        delta = inc;
                                        if (!sequenzial) {
                                          (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                                        }
                                      }
                                    }, 25);
                                  }
                                });
                                // Sequenzial_Up (ms)
                                on({id: 'Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Up', change: "ne"}, function (obj) {
                                  var value = obj.state.val;
                                  var oldValue = obj.oldState.val;
                                  inc = 1750 / (obj.state ? obj.state.val : "");
                                });
                                // Sequenzial_Down (ms)
                                on({id: 'Aqua_Control.0.Tunze_Steuerung.Sequenzial_Wave_Down', change: "ne"}, function (obj) {
                                  var value = obj.state.val;
                                  var oldValue = obj.oldState.val;
                                  dec = -1750 + (obj.state ? obj.state.val : "");
                                });
                                

                                Dann gibt es diese Datenpunkte:
                                Bildschirmfoto 2019-09-14 um 17.03.11.png
                                Die switch Datenpunkte mal bei seite lassen.
                                Den Datenpunkt Tunze Wellen Auswahl erstellt mit 0:Aus;1:Sequenzial;2:Intervall;3:Pulse;4:Wellengang
                                den hab ich verknüpft damit je nach dem was in dem Datenpunkt steht soll die jeweilige Steuerung anspringen. Nur Leider will die Zeitsteuerung nicht so wie ich das will.
                                Sicherlich ist ein Fehler darin das man nur für 10 sek testet.
                                Zeitsteuerung:

                                var Wellenauswahl, Sequenzial, Intervall, timeout, timeout3, timeout4;
                                
                                
                                Wellenauswahl = getState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl").val;
                                Sequenzial = schedule('59 16 * * *', function () {
                                  setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 1);
                                  timeout = setTimeout(function () {
                                    setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 0);
                                    (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                                  }, 10000);
                                  setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 0);
                                });
                                Intervall = schedule('0 17 * * *', function () {
                                  setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 2);
                                  timeout3 = setTimeout(function () {
                                    setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 0);
                                    (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                                  }, 10000);
                                  timeout4 = setTimeout(function () {
                                    setState("Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl"/*Tunze Wellen Auswahl*/, 0);
                                    (function () {if (timeout2) {clearTimeout(timeout2); timeout2 = null;}})();
                                  }, 5000);
                                });
                                
                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von
                                #40

                                @Aphofis
                                Weshalb schaltest Du das Intervall 2 mal aus (nach 10 s und 5 s) ? Wozu dienen die stop timeout und stop timeout2 ?

                                Sequenzial wird sofort nach dem Einschalten wieder ausgeschalten ?

                                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 Antworten Letzte Antwort
                                0
                                • AphofisA Offline
                                  AphofisA Offline
                                  Aphofis
                                  schrieb am zuletzt editiert von
                                  #41

                                  Teste ich nachher! Ich muss erstmal au einen Geburtstag!

                                  1 Antwort Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @Aphofis
                                    Weshalb schaltest Du das Intervall 2 mal aus (nach 10 s und 5 s) ? Wozu dienen die stop timeout und stop timeout2 ?

                                    Sequenzial wird sofort nach dem Einschalten wieder ausgeschalten ?

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

                                    mann schon wieder

                                    1 Antwort Letzte Antwort
                                    0
                                    • paul53P paul53

                                      @Aphofis
                                      Weshalb schaltest Du das Intervall 2 mal aus (nach 10 s und 5 s) ? Wozu dienen die stop timeout und stop timeout2 ?

                                      Sequenzial wird sofort nach dem Einschalten wieder ausgeschalten ?

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

                                      @paul53 sagte in PWM Steuerung mit Fade:

                                      @Aphofis
                                      Weshalb schaltest Du das Intervall 2 mal aus (nach 10 s und 5 s) ? Wozu dienen die stop timeout und stop timeout2 ?

                                      Sequenzial wird sofort nach dem Einschalten wieder ausgeschalten ?

                                      Du sagtest zwischen den steuerungen müssen 5 sek pause sein und die 10 sek waren nur als Test nachher sollen die einzelnen steuerungen zw 10 bis 30 min laufen.

                                      1 Antwort Letzte Antwort
                                      0
                                      • paul53P paul53

                                        @Aphofis sagte:

                                        Dann gibt es diese Datenpunkte:

                                        Der Datenpunkt "Tunze Wellen Auswahl" ist keine Werteliste, denn der Wert einer Werteliste sieht so aus:
                                        Werteliste_Aus.JPG
                                        Poste mal die RAW-Daten des Datenpunktes in Code Tags.

                                        Man kann nicht auf Werte bzw. Vergleiche triggern, sondern nur auf Datenpunkt-IDs ! Der Vergleich muss mit einem falls-Logik-Baustein innerhalb des Triggers erfolgen.

                                        Blockly_temp.JPG

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

                                        @paul53 sagte in PWM Steuerung mit Fade:

                                        @Aphofis sagte:

                                        Dann gibt es diese Datenpunkte:

                                        Der Datenpunkt "Tunze Wellen Auswahl" ist keine Werteliste, denn der Wert einer Werteliste sieht so aus:
                                        Werteliste_Aus.JPG
                                        Poste mal die RAW-Daten des Datenpunktes in Code Tags.

                                        Man kann nicht auf Werte bzw. Vergleiche triggern, sondern nur auf Datenpunkt-IDs ! Der Vergleich muss mit einem falls-Logik-Baustein innerhalb des Triggers erfolgen.

                                        Blockly_temp.JPG

                                        Hatte jetzt Zeichenkette genommen.
                                        Wo soll denn werteliste sein !?

                                        {
                                          "from": "system.adapter.admin.0",
                                          "user": "system.user.admin",
                                          "ts": 1568470775091,
                                          "common": {
                                            "name": "Tunze Wellen Auswahl",
                                            "role": "value",
                                            "type": "string",
                                            "desc": "0:Aus;1:Sequenzial;2:Intervall;3:Pulse;4:Wellengang",
                                            "min": 0,
                                            "max": 4,
                                            "def": 0,
                                            "read": true,
                                            "write": true
                                          },
                                          "native": {},
                                          "acl": {
                                            "object": 1632,
                                            "owner": "system.user.iobroker",
                                            "ownerGroup": "system.group.administrator",
                                            "state": 1632
                                          },
                                          "_id": "Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl",
                                          "type": "state"
                                        }
                                        
                                        paul53P 2 Antworten Letzte Antwort
                                        0
                                        • AphofisA Aphofis

                                          @paul53 sagte in PWM Steuerung mit Fade:

                                          @Aphofis sagte:

                                          Dann gibt es diese Datenpunkte:

                                          Der Datenpunkt "Tunze Wellen Auswahl" ist keine Werteliste, denn der Wert einer Werteliste sieht so aus:
                                          Werteliste_Aus.JPG
                                          Poste mal die RAW-Daten des Datenpunktes in Code Tags.

                                          Man kann nicht auf Werte bzw. Vergleiche triggern, sondern nur auf Datenpunkt-IDs ! Der Vergleich muss mit einem falls-Logik-Baustein innerhalb des Triggers erfolgen.

                                          Blockly_temp.JPG

                                          Hatte jetzt Zeichenkette genommen.
                                          Wo soll denn werteliste sein !?

                                          {
                                            "from": "system.adapter.admin.0",
                                            "user": "system.user.admin",
                                            "ts": 1568470775091,
                                            "common": {
                                              "name": "Tunze Wellen Auswahl",
                                              "role": "value",
                                              "type": "string",
                                              "desc": "0:Aus;1:Sequenzial;2:Intervall;3:Pulse;4:Wellengang",
                                              "min": 0,
                                              "max": 4,
                                              "def": 0,
                                              "read": true,
                                              "write": true
                                            },
                                            "native": {},
                                            "acl": {
                                              "object": 1632,
                                              "owner": "system.user.iobroker",
                                              "ownerGroup": "system.group.administrator",
                                              "state": 1632
                                            },
                                            "_id": "Aqua_Control.0.Tunze_Steuerung.Tunze_Wellen_Auswahl",
                                            "type": "state"
                                          }
                                          
                                          paul53P Offline
                                          paul53P Offline
                                          paul53
                                          schrieb am zuletzt editiert von paul53
                                          #45

                                          @Aphofis sagte:

                                          Wo soll denn werteliste sein !?

                                          Nicht "desc", sondern "states" und "type": "number".

                                            "type": "state",
                                            "common": {
                                              "name": "Tunze Wellen Auswahl",
                                              "role": "",
                                              "type": "number",
                                              "desc": "Auswahl Wellen",
                                              "states": "0:Aus;1:Sequenzial;2:Intervall;3:Pulse;4:Wellengang",
                                              "min": 0,
                                              "max": 4,
                                              "def": 0,
                                              "read": true,
                                              "write": true
                                            },
                                          

                                          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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          325

                                          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