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

                        957
                        Online

                        31.7k
                        Users

                        79.7k
                        Topics

                        1.3m
                        Posts

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