Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Vorlage] Ventilsteuerung PWM-Ansatz für FBH/IR-Panele o.ä.

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] Ventilsteuerung PWM-Ansatz für FBH/IR-Panele o.ä.

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      homecineplexx @apollon77 last edited by

      @apollon77 said in [Vorlage] Ventilsteuerung PWM-Ansatz für FBH/IR-Panele o.ä.:

      @homecineplexx Dann entweder einen Aktor nehmen der es kann oder du musst einen javascript state nehmen mit nem Skript der das dann simuliert. Kann der das wirklich nicht ?

      also nein...ich würde dann einfach den Aktor nehmen, an dem mein IR-Paneel bis dato hing. das ist ein Tasmota-Device
      f65f7e5c-5482-4036-bdd7-bc0f654f5008-image.png

      Du meinst ich müßte mir für diesen ON-TIME ein eigenes Skript bauen, der mir den aktor nach den eingetragen Zeit (Sekunden) ausschaltet?

      @Homoran wir gehen doch davon aus, dass die Logik nicht abraucht 🙂

      Homoran 1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @homecineplexx last edited by

        @homecineplexx sagte in [Vorlage] Ventilsteuerung PWM-Ansatz für FBH/IR-Panele o.ä.:

        Du meinst ich müßte mir für diesen ON-TIME ein eigenes Skript bauen

        ich habe mir das skript nicht angeshene, aber das müsstest du wahrscheinlich in dem gleichen skript mit/nach dem anschalten, verzögert um... (on_time) ausschalten

        H 1 Reply Last reply Reply Quote 0
        • H
          homecineplexx @Homoran last edited by

          also der console.log funktioniert nicht wirklich, obwohls auf debug steht. da kommt einfach nichts in der console 😞 aber das ist wahrscheinlich ein allgemeines problem

          H 1 Reply Last reply Reply Quote 0
          • H
            homecineplexx @homecineplexx last edited by

            @apollon77 sorry das ich nerve, aber.....diese ON_TIME sind das Sekunden?

            apollon77 1 Reply Last reply Reply Quote 0
            • apollon77
              apollon77 @homecineplexx last edited by

              @homecineplexx ja

              1 Reply Last reply Reply Quote 1
              • M
                Marc12345 last edited by

                Vielen Dank Apollon77 für die tolle iobroker-Integration. Ich hatte bisher die ursprünglichen Scripte von Twoxx genutzt und war total zufrieden mit der exakten Temperatursteuerung.

                Da jetzt (hoffentlich) der Sommer kommt und unsere Fussbodenheizung i.V.m. einer Luft-Wasser-Wärmepumpe auch kühlen kann, würde ich das gerne auch dafür nutzen. Hat dies evtl. schon jemand umgesetzt oder kann mir einen Tipp geben, an welchen Punkten ich hier eine Anpassung vornehmen sollte?

                Ich frage bewusst hier, da im anderen Forum bei sowas oftmals nur Grundsatzdiskussionen über den Sinn einer PWM entstehen. 😞

                Vielen Dank für eine Hilfe!
                Marc

                1 Reply Last reply Reply Quote 0
                • M
                  Matt77CHE last edited by

                  Guten Tag zusammen
                  Hallo @apollon77
                  Auf der Suche nach einem Script für meine Fussbodenheizung bin ich hier gelandet - ist zwar schon etwas älter, macht aber nichts - hoffe ich zumindest 😊

                  Ich möchte meine Fussbodenheizung mit dem HM IP Fußbodenheizungsaktor 12fach motorisch und dem Homematic IP Stellantrieb - motorisch steuern.

                  So wie ich dein Script verstanden habe, schaltet es die Stellantriebe "einfach" aus- und ein....
                  Der HM IP Stellantrieb motorisch kann jedoch verschiedene Stufen - Passt das auch mit dem Script, oder müsste man da das ganze umbauen um die Stufen der Stellantriebe regeln zu können?

                  Ich habe mit der Suche nur noch einen alten Adapter gefunden, welcher etwas ähnliches wie hier macht - der macht aber so wie es aussieht auch nur on/off...

                  Vielen Dank im Voraus & Beste Grüsse

                  apollon77 Homoran 2 Replies Last reply Reply Quote 0
                  • apollon77
                    apollon77 @Matt77CHE last edited by

                    @matt77che sagte in [Vorlage] Ventilsteuerung PWM-Ansatz für FBH/IR-Panele o.ä.:

                    Der HM IP Stellantrieb motorisch kann jedoch verschiedene Stufen - Passt das auch mit dem Script, oder müsste man da das ganze umbauen um die Stufen der Stellantriebe regeln zu können?

                    Das Skript arbeitet nach einem PWM ansatz und das ist primär auf und zu ... Am Ende korreliert die "Zeit" ja aber mit der menge an Energie die man haben will im (ich glaube) 20 Minuten Intervall ... das müsste sich also easy in einen % Wert umrechnen lassen und dann so setzen lassen?

                    Aber ja das müsstest Du anpassen.

                    Kannst die Angepasste Version ja dann gern hier bereitstellen.

                    1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @Matt77CHE last edited by Homoran

                      @matt77che da wäre eher dieser Thread interessant
                      https://forum.iobroker.net/post/759799
                      Insbesondere wenn du den falmot noch nicht hast

                      1 Reply Last reply Reply Quote 0
                      • M
                        Matt77CHE last edited by

                        Besten Dank @apollon77 und @Homoran für eure Informationen und Denkanstösse

                        Ich muss mir das Ganze mal durch den Kopf gehen lassen - evtl kommt auch die Komplett-Lösung Homematic IP zum Zuge (go big or go Home 💲 )....

                        Der Vorteil wäre alles in einem (Thermostate, Stellmotoren und Steuerung) und eine Einbindung im IoBroker gibt es ja auch....

                        1 Reply Last reply Reply Quote 0
                        • R
                          RealPeterPan last edited by

                          Hallo Apollon77.

                          Auch nach 8 Jahren noch ein Lob für deine Arbeit mit dem Script.

                          👍

                          Ich bin auf der Suche nach einer Alternative zu der Thermostat-Regelung in der Shelly-App auf dieses Tread gestoßen.
                          Da es genau das ist was ich dort vermisse.
                          Eine Regelung welche sich anpasst um frühzeitig die Energiezufur zu drosseln um gut gedämmte Räume nicht ständig zu überheizen.

                          Daher habe ich versucht das Script mit den Objekten aus meinen Shellys zu füttern, scheitere damit aber kläglich.
                          Zwei Probleme ergeben sich:
                          Ich habe erstens keine Sollwertvorgabe in meinen Geräten gespeichert und habe daher einfach einen Wert (20) bei stateIdSollTemperatur eingetragen.
                          Diesen will er aber nicht ohne "" akzeptieren und meckert sonst mit:
                          script.js.PWM-Thermostate: getState has been called with id of type "number" but expects a string
                          Wenn ich den Wert so schreibe: "20" meckert er nicht aber gibt mir nur einen Nullwert raus.
                          Leider gibt er außerdem auch bei meiner Raumtemperatur stateIdIstTemperatur:
                          gemessen über ein Hue Bewegungsmelder nur einen Nullwert.
                          Und da kann ich jedes Gerät im Haus nehmen welches eine Temperatur ausgibt.
                          Immer ist der Wert Null.

                          Kann man das Script nicht universal für egal welche Sensoren und Aktoren verwenden?
                          Es würde die Reichweite des Scripts enorm erhöhen und so in vielen vielen Haushalten zum Ernergiesparen beitragen.

                          Hier mal meine Änderungen an dem Script und die Rückmeldungen.
                          Vielleicht kann mich ja doch jemand in die richtige Richtung schubsen.

                          Besten Dank auf jeden Fall schon im Voraus für jede Art von Hilfe.

                          var rooms= {
                              'Badezimmer': {
                                  stateIdHeizungAktor: "shelly.0.SHSW-1#3494546A3108#1.Relay0.Switch",
                                  stateIdHeizungAktorOnTime: "shelly.0.SHSW-1#3494546A3108#1.Relay0.AutoTimerOn",
                                  stateIdSollTemperatur: "22",
                                  stateIdIstTemperatur: "hue.0.Hue_temperature_sensor_4"
                              },
                          
                          javascript.0	21:15:13.976	info	Start JavaScript script.js.PWM-Thermostate (Javascript/js)
                          javascript.0	21:15:13.981	info	script.js.PWM-Thermostate: Ventillogik für Raum Badezimmer initialisiert
                          javascript.0	21:15:13.981	warn	at ventilLogik (script.js.PWM-Thermostate:87:25)
                          javascript.0	21:15:13.982	warn	at initialize (script.js.PWM-Thermostate:50:9)
                          javascript.0	21:15:13.982	warn	at script.js.PWM-Thermostate:20:1
                          javascript.0	21:15:13.982	warn	at script.js.PWM-Thermostate:393:3
                          javascript.0	21:15:13.982	warn	at ventilLogik (script.js.PWM-Thermostate:88:26)
                          javascript.0	21:15:13.982	warn	at initialize (script.js.PWM-Thermostate:50:9)
                          javascript.0	21:15:13.982	warn	at script.js.PWM-Thermostate:20:1
                          javascript.0	21:15:13.982	warn	at script.js.PWM-Thermostate:393:3
                          javascript.0	21:15:13.982	info	script.js.PWM-Thermostate: Start Ventillogik Badezimmer: IstTemp=null, VergleichTemp=0, SollTemp=null, Aktor=false (seit 0m)
                          javascript.0	21:15:13.982	info	script.js.PWM-Thermostate: Start FBStartTemp=null
                          javascript.0	21:15:13.982	info	script.js.PWM-Thermostate: TempDiff <= 0: 0 --> 0.01
                          javascript.0	21:15:13.982	info	script.js.PWM-Thermostate: Isttemperatur <= Solltemperatur
                          javascript.0	21:15:13.982	info	script.js.PWM-Thermostate: heizzeit im original übernommen (heizleistung=13.333333333333334, Scriptintervall=2)
                          javascript.0	21:15:13.983	info	script.js.PWM-Thermostate: Errechnete Heizzeit=16 --> Neue-Ist-Temp=0.03999933334444426 (+0.03999933334444426)
                          javascript.0	21:15:13.983	info	script.js.PWM-Thermostate: innerhalb toleranz
                          javascript.0	21:15:13.983	info	script.js.PWM-Thermostate: innerhalb stille
                          javascript.0	21:15:13.983	info	script.js.PWM-Thermostate: ist ausgeschaltet und soll ausgeschaltet sein
                          javascript.0	21:15:13.983	info	script.js.PWM-Thermostate: Ende Badezimmer, Nächster Lauf in 2m
                          javascript.0	21:15:13.983	info	script.js.PWM-Thermostate: registered 2 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                          
                          R apollon77 2 Replies Last reply Reply Quote 0
                          • R
                            RealPeterPan @RealPeterPan last edited by

                            @realpeterpan

                            ansonsten ist es bis auf die verkürzte Zykluszeit das original Script

                            1 Reply Last reply Reply Quote 0
                            • apollon77
                              apollon77 @RealPeterPan last edited by

                              @realpeterpan lkeg doch einfach in 0_userdata.0 einen Stat an und referenziere den... und da schreibst du 22 rein als zahl

                              R 1 Reply Last reply Reply Quote 0
                              • R
                                RealPeterPan @apollon77 last edited by RealPeterPan

                                @apollon77 said in [Vorlage] Ventilsteuerung PWM-Ansatz für FBH/IR-Panele o.ä.:

                                @realpeterpan lkeg doch einfach in 0_userdata.0 einen Stat an und referenziere den... und da schreibst du 22 rein als zahl

                                Manchmal steht man einfach auf dem Schlauch...DANKE! Das hat schon mal geholfen.
                                Ich bekomme allerdings immer noch nur Null-Werte:

                                javascript.0	13:00:20.854	info	Stopping script script.js.PWM-Thermostate
                                javascript.0	13:00:21.868	info	Start JavaScript script.js.PWM-Thermostate (Javascript/js)
                                javascript.0	13:00:21.884	info	script.js.PWM-Thermostate: Ventillogik für Raum Badezimmer initialisiert
                                javascript.0	13:00:21.884	warn	at ventilLogik (script.js.PWM-Thermostate:87:25)
                                javascript.0	13:00:21.884	warn	at initialize (script.js.PWM-Thermostate:50:9)
                                javascript.0	13:00:21.884	warn	at script.js.PWM-Thermostate:20:1
                                javascript.0	13:00:21.885	warn	at script.js.PWM-Thermostate:393:3
                                javascript.0	13:00:21.885	warn	at ventilLogik (script.js.PWM-Thermostate:88:26)
                                javascript.0	13:00:21.885	warn	at initialize (script.js.PWM-Thermostate:50:9)
                                javascript.0	13:00:21.885	warn	at script.js.PWM-Thermostate:20:1
                                javascript.0	13:00:21.885	warn	at script.js.PWM-Thermostate:393:3
                                javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: Start Ventillogik Badezimmer: IstTemp=null, VergleichTemp=0, SollTemp=null, Aktor=false (seit 0m)
                                javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: Start FBStartTemp=null
                                javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: TempDiff <= 0: 0 --> 0.01
                                javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: Isttemperatur <= Solltemperatur
                                javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: heizzeit im original übernommen (heizleistung=13.333333333333334, Scriptintervall=2)
                                javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: Errechnete Heizzeit=16 --> Neue-Ist-Temp=0.03999866671110963 (+0.03999866671110963)
                                javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: innerhalb toleranz
                                javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: innerhalb stille
                                javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: ist ausgeschaltet und soll ausgeschaltet sein
                                javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: Ende Badezimmer, Nächster Lauf in 2m
                                javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: registered 2 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                

                                Woran kann das liegen? Auch der neue Sollwert als Objekt wird anscheinend weiter als =Null gelesen.

                                R 1 Reply Last reply Reply Quote 0
                                • R
                                  RealPeterPan @RealPeterPan last edited by

                                  @realpeterpan said in [Vorlage] Ventilsteuerung PWM-Ansatz für FBH/IR-Panele o.ä.:

                                  @apollon77 said in [Vorlage] Ventilsteuerung PWM-Ansatz für FBH/IR-Panele o.ä.:

                                  @realpeterpan lkeg doch einfach in 0_userdata.0 einen Stat an und referenziere den... und da schreibst du 22 rein als zahl

                                  Manchmal steht man einfach auf dem Schlauch...DANKE! Das hat schon mal geholfen.
                                  Ich bekomme allerdings immer noch nur Null-Werte:

                                  javascript.0	13:00:20.854	info	Stopping script script.js.PWM-Thermostate
                                  javascript.0	13:00:21.868	info	Start JavaScript script.js.PWM-Thermostate (Javascript/js)
                                  javascript.0	13:00:21.884	info	script.js.PWM-Thermostate: Ventillogik für Raum Badezimmer initialisiert
                                  javascript.0	13:00:21.884	warn	at ventilLogik (script.js.PWM-Thermostate:87:25)
                                  javascript.0	13:00:21.884	warn	at initialize (script.js.PWM-Thermostate:50:9)
                                  javascript.0	13:00:21.884	warn	at script.js.PWM-Thermostate:20:1
                                  javascript.0	13:00:21.885	warn	at script.js.PWM-Thermostate:393:3
                                  javascript.0	13:00:21.885	warn	at ventilLogik (script.js.PWM-Thermostate:88:26)
                                  javascript.0	13:00:21.885	warn	at initialize (script.js.PWM-Thermostate:50:9)
                                  javascript.0	13:00:21.885	warn	at script.js.PWM-Thermostate:20:1
                                  javascript.0	13:00:21.885	warn	at script.js.PWM-Thermostate:393:3
                                  javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: Start Ventillogik Badezimmer: IstTemp=null, VergleichTemp=0, SollTemp=null, Aktor=false (seit 0m)
                                  javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: Start FBStartTemp=null
                                  javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: TempDiff <= 0: 0 --> 0.01
                                  javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: Isttemperatur <= Solltemperatur
                                  javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: heizzeit im original übernommen (heizleistung=13.333333333333334, Scriptintervall=2)
                                  javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: Errechnete Heizzeit=16 --> Neue-Ist-Temp=0.03999866671110963 (+0.03999866671110963)
                                  javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: innerhalb toleranz
                                  javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: innerhalb stille
                                  javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: ist ausgeschaltet und soll ausgeschaltet sein
                                  javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: Ende Badezimmer, Nächster Lauf in 2m
                                  javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: registered 2 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                  

                                  Woran kann das liegen? Auch der neue Sollwert als Objekt wird anscheinend weiter als =Null gelesen.

                                  Hat hier keiner eine Idee? Braucht ihr mehr Informationen von mir?
                                  Im Netz finde ich nichts brauchbares wie man Nullwerte "repariert".

                                  R 1 Reply Last reply Reply Quote 0
                                  • R
                                    RealPeterPan @RealPeterPan last edited by

                                    @realpeterpan said in [Vorlage] Ventilsteuerung PWM-Ansatz für FBH/IR-Panele o.ä.:

                                    @realpeterpan said in [Vorlage] Ventilsteuerung PWM-Ansatz für FBH/IR-Panele o.ä.:

                                    @apollon77 said in [Vorlage] Ventilsteuerung PWM-Ansatz für FBH/IR-Panele o.ä.:

                                    @realpeterpan lkeg doch einfach in 0_userdata.0 einen Stat an und referenziere den... und da schreibst du 22 rein als zahl

                                    Manchmal steht man einfach auf dem Schlauch...DANKE! Das hat schon mal geholfen.
                                    Ich bekomme allerdings immer noch nur Null-Werte:

                                    javascript.0	13:00:20.854	info	Stopping script script.js.PWM-Thermostate
                                    javascript.0	13:00:21.868	info	Start JavaScript script.js.PWM-Thermostate (Javascript/js)
                                    javascript.0	13:00:21.884	info	script.js.PWM-Thermostate: Ventillogik für Raum Badezimmer initialisiert
                                    javascript.0	13:00:21.884	warn	at ventilLogik (script.js.PWM-Thermostate:87:25)
                                    javascript.0	13:00:21.884	warn	at initialize (script.js.PWM-Thermostate:50:9)
                                    javascript.0	13:00:21.884	warn	at script.js.PWM-Thermostate:20:1
                                    javascript.0	13:00:21.885	warn	at script.js.PWM-Thermostate:393:3
                                    javascript.0	13:00:21.885	warn	at ventilLogik (script.js.PWM-Thermostate:88:26)
                                    javascript.0	13:00:21.885	warn	at initialize (script.js.PWM-Thermostate:50:9)
                                    javascript.0	13:00:21.885	warn	at script.js.PWM-Thermostate:20:1
                                    javascript.0	13:00:21.885	warn	at script.js.PWM-Thermostate:393:3
                                    javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: Start Ventillogik Badezimmer: IstTemp=null, VergleichTemp=0, SollTemp=null, Aktor=false (seit 0m)
                                    javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: Start FBStartTemp=null
                                    javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: TempDiff <= 0: 0 --> 0.01
                                    javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: Isttemperatur <= Solltemperatur
                                    javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: heizzeit im original übernommen (heizleistung=13.333333333333334, Scriptintervall=2)
                                    javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: Errechnete Heizzeit=16 --> Neue-Ist-Temp=0.03999866671110963 (+0.03999866671110963)
                                    javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: innerhalb toleranz
                                    javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: innerhalb stille
                                    javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: ist ausgeschaltet und soll ausgeschaltet sein
                                    javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: Ende Badezimmer, Nächster Lauf in 2m
                                    javascript.0	13:00:21.885	info	script.js.PWM-Thermostate: registered 2 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                    

                                    Woran kann das liegen? Auch der neue Sollwert als Objekt wird anscheinend weiter als =Null gelesen.

                                    Hat hier keiner eine Idee? Braucht ihr mehr Informationen von mir?
                                    Im Netz finde ich nichts brauchbares wie man Nullwerte "repariert".

                                    Okay, ich hab auch dieses Problem jetzt behoben.
                                    Beim Kopieren der Objekte wurden Anführungszeichen gesetzt.
                                    Durch einen Versuch über Blockly habe ich gesehen das darüber keine Anführungszeichen sondern ' (Hochkommata?) gesetzt wurden.
                                    Außerdem sind auch Leerzeichen aus den DP-Namen einfach übernommen worden anstatt sie durch Unterstriche zu ersetzen. Auch hier hat die "Blockly-Übersetzung" geholfen den Fehler zu finden.

                                    Warum mir die Protokolle dann einen Null-Wert statt einen Fehler geben ist mir leider nicht ganz klar.
                                    Dann hätte ich schon eher in dieser Richtung nach Lösungen gesucht.

                                    Ist leider nix für Einsteiger das Skripten.

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    735
                                    Online

                                    31.7k
                                    Users

                                    79.7k
                                    Topics

                                    1.3m
                                    Posts

                                    22
                                    83
                                    13299
                                    Loading More Posts
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                    The ioBroker Community 2014-2023
                                    logo