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.
    • 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

                          977
                          Online

                          31.7k
                          Users

                          79.7k
                          Topics

                          1.3m
                          Posts

                          22
                          83
                          13165
                          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