Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Raumtemperaturregelung mit Blockly

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Raumtemperaturregelung mit Blockly

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 last edited by

      @sound31:

      Der Heizkreis für das obere Stockwerk hat:

      1x Mischer einem Relais für "Auf" und für "Zu"

      (beide sind Elektrisch verriegelt um ein gleichzeitiges einschalten zu verhindern)

      1x Vorlauftemperatur

      1x Rücklauftemperatur

      beides nach dem Mischer

      1x Pumpe für den Kreislauf

      alles über KNX einzeln ansteuerbar bzw. einzelne Werte der Sensoren `
      Wenn dann noch die Außentemperatur zur Verfügung steht und die Mischerlaufzeit bekannt ist, sollte es sich realisieren lassen.

      1 Reply Last reply Reply Quote 0
      • S
        sound31 last edited by

        Außentemperatur ist auch vorhanden (habe ich in der Aufzählung nicht erwähnt)

        ebenfalls über KNX wie 95% im Haus.

        Mischerlaufzeit muss ich erst stoppen, allerdings gibt es auch hier Endschalter

        für "Auf" und "zu" welche ich noch nicht an den KNX gebracht habe.

        Welche "Widgets"kann ich verwenden um Temperaturen einzustellen zB. für Sollwert Raum?

        besser gesagt was macht Sinn deiner Meinung nach..

        1 Reply Last reply Reply Quote 0
        • paul53
          paul53 last edited by

          @sound31:

          Welche "Widgets"kann ich verwenden um Temperaturen einzustellen zB. für Sollwert Raum?

          besser gesagt was macht Sinn deiner Meinung nach.. `
          Dazu kann ich nichts sagen, denn ich verwende VIS nicht (außer zur Anzeige einiger Werte auf dem TV).

          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 last edited by

            @sound31:

            1x Mischer einem Relais für "Auf" und für "Zu"

            (beide sind Elektrisch verriegelt um ein gleichzeitiges einschalten zu verhindern) `
            Sind die beiden Relais direkt anzusteuern oder handelt es sich um eine Jalousieaktor, bei dem die Laufzeit als Parameter einstellbar ist?

            1 Reply Last reply Reply Quote 0
            • S
              sound31 last edited by

              Die Relais kann ich getrennt ansteuern.

              Die Verriegelung verhindert nur das beide gleichzeitig eingeschalten werden können.

              Ist rein Elektrisch ..

              1 Reply Last reply Reply Quote 0
              • S
                sound31 last edited by

                Hallo,

                @paul53

                zum Anfangen habe ich jetzt einen Beitrag von dir

                http://forum.iobroker.net/viewtopic.php … denheizung

                übernommen und versuche mich unter Javascript.

                // PI-Regler Fussbodenheizung mit PWM-Ansteuerung
                // für FBH Flur EG
                // P-Band in K, Nachstellzeit in s, PWM-Periode in Intervallen (Minuten)
                var Xp = 2;
                var Tn = 3600;
                var pwm = 60;
                
                var xid = "knx.0.Sensoren.Erdgeschoss.Temp-Sensor_Flur_EG"/*Flur-EG.Temperatur*/;
                // var wid = ("Sollwert"); FEHLT noch
                var wid = 20; // derzeitige Vorgabe für den Sollwert!
                var yid1 = "knx.0.Aktoren.Heizung-Technik.HK-Verteiler_EG_-_Solid_Stade_Relais_2"/*SSR1-Flur-EG*/;
                var yid2 = "knx.0.Aktoren.Heizung-Technik.HK-Verteiler_EG_-_Solid_Stade_Relais_3"/*SSR2-Flur-EG*/;
                var n = 0;  // Intervallzähler
                
                var  PI = require('pi-controller');
                
                var pi = new PI(Xp, Tn); 
                pi.setOutputMax(pwm);   // default: OutputMax = 100
                
                // Abfrage für Sommer/Winter noch einfugen
                
                function control() {
                  var x = getState(xid).val;  // Istwert in °C
                  var w = getState(wid).val;  // Sollwert in °C
                  var y = pi.Control(w - x);  // Stellsignal
                  n++;
                  if (n >= pwm) n = 0;
                  if (n < 4 && y > 0) setState(yid1, 1), setState(yid2, 1); // Mindesteinschaltdauer: 4 Intervalle
                  else if (n >= 4 && y <= n) setState(yid1, 0), setState(yid2, 0); // Zwei Ventile werden geschalten
                }  
                
                control();  // Script start
                
                setInterval(control, 60000 );  // Intervall: 1 Minute
                
                // http://forum.iobroker.net/viewtopic.php?f=21&t=5612&hilit=Fu%C3%9Fbodenheizung 
                // http://www.iobroker.net/docu/?page_id=3647&lang=de
                
                

                Was mir noch fehlt sind:

                • die Sollwerteinstellung - sollte ich hier einen Datenpunkt in KNX anlegen der verändert wird?

                • Wie könnte die Umschaltung Sommer/Winter funktionieren - eventuell mit einer art Zeitschaltuhr aus

                dem ioBroker heraus zB. vom September bis März "Ein" ansonsten "Aus"

                • Einschalten der Heizkreispumpe für FBH.

                • Erweiterungen um die Heizung vom Obergeschoss

                • Abschaltung der Heizpumpe wenn keine Wärme in den Heizkreisen gebraucht wird

                Aber alles nacheinander da ich das ganze ja auch verstehen will.

                Vielleicht gibt es hier vorschläge..

                Grüße, Andy

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 last edited by

                  @sound31:

                  Was mir noch fehlt sind:

                  • die Sollwerteinstellung - sollte ich hier einen Datenpunkt in KNX anlegen der verändert wird? `
                    Nein, nicht unter knx.0, denn die Datenpunkte werden automatisch erzeugt. Erzeuge die Sollwert-Datenpunkte im Reiter "Objekte" unter javascript.0, z.B. so

                  493_dp_bad.sollwert.jpg
                  @sound31:

                  • Wie könnte die Umschaltung Sommer/Winter funktionieren - eventuell mit einer art Zeitschaltuhr aus

                  dem ioBroker heraus zB. vom September bis März "Ein" ansonsten "Aus" `
                  Willst Du das wirklich automatisch machen und nicht witterungsabhängig per Hand / VIS ?

                  1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 last edited by

                    Da Du Solid state relais hast, kannst Du die Intervall-Zeit verringern. Dein Skript mit einigen Korrekturen:

                    // PI-Regler Fussbodenheizung mit PWM-Ansteuerung
                    // für FBH Flur EG
                    // P-Band in K, Nachstellzeit in s, PWM-Periode in Intervallen
                    var Xp = 2;
                    var Tn = 3600;
                    var pwm = 100;
                    
                    var xid = "knx.0.Sensoren.Erdgeschoss.Temp-Sensor_Flur_EG"/*Flur-EG.Temperatur*/;
                    // var wid = ("Sollwert"); FEHLT noch
                    var yid1 = "knx.0.Aktoren.Heizung-Technik.HK-Verteiler_EG_-_Solid_Stade_Relais_2"/*SSR1-Flur-EG*/;
                    var yid2 = "knx.0.Aktoren.Heizung-Technik.HK-Verteiler_EG_-_Solid_Stade_Relais_3"/*SSR2-Flur-EG*/;
                    var n = 0;  // Intervallzähler
                    
                    var  PI = require('pi-controller');
                    
                    var pi = new PI(Xp, Tn);
                    pi.setOutputMax(pwm);   // default: OutputMax = 100
                    
                    // Abfrage für Sommer/Winter noch einfugen
                    
                    function control() {
                      var x = getState(xid).val;  // Istwert in °C
                    //  var w = getState(wid).val;  // Sollwert in °C
                      var w = 20;  // zum Testen 20°C
                      var y = pi.Control(w - x);  // Stellsignal
                      n++;
                      if (n >= pwm) n = 0;
                      if (n < 8 && y > 0) {  // Mindesteinschaltdauer: 8 Intervalle
                         setState(yid1, 1);
                         setState(yid2, 1); 
                      } 
                      else if (n >= 8 && y <= n) {
                         setState(yid1, 0); 
                         setState(yid2, 0); // Zwei Ventile werden geschalten
                      }   
                    } 
                    
                    control();  // Script start
                    
                    setInterval(control, 30000 );  // Intervall: 0,5 Minuten
                    
                    // http://forum.iobroker.net/viewtopic.php?f=21&t=5612&hilit=Fu%C3%9Fbodenheizung
                    // http://www.iobroker.net/docu/?page_id=3647&lang=de
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 last edited by

                      @sound31:

                      • Erweiterungen um die Heizung vom Obergeschoss `
                        Da das eine witterungsgeführte Mischkreisregelung wird, passt die Überschrift (Raumtemperaturregelung mit Blockly) nicht mehr dazu. Erstelle dafür bitte ein neues Thema (ohne Blockly).

                      Ein JS-Programm für die Heizkurve habe ich bereits vorbereitet.

                      1 Reply Last reply Reply Quote 0
                      • S
                        sound31 last edited by

                        Hallo,

                        Vielen Dank.

                        Grüße, Andy

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        764
                        Online

                        31.7k
                        Users

                        79.8k
                        Topics

                        1.3m
                        Posts

                        3
                        22
                        4895
                        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