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.
    • S
      sound31 last edited by

      Hallo,

      ich bin seit einigen Tagen am werkeln mit ioBroker.

      Nun stehe ich vor den Themen Einzelraumregelung, Vorlauftemperatur und

      Witterungsgeführte Heizkreisregelung.

      Meine Daten der Temperaturen kommen über KNX und auch die

      Mischer und Pumpen werden über KNX geschalten.

      zB. Raumtemperatur GA 9/1/2 (2bytes)

      Stellventiel-schalten GA 1/2/1 (1bit)

      Stellventiel-Status GA 1/2/2 (1bit)

      Vielleicht kann mir jemand sagen oder an einem Beispiel zeigen wie

      ich mit Blockly so eine Logik nachbauen kann.

      Danke, Andy

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

        @sound31:

        ich bin seit einigen Tagen am werkeln mit ioBroker.

        Nun stehe ich vor den Themen Einzelraumregelung, Vorlauftemperatur und

        Witterungsgeführte Heizkreisregelung. `
        Bevor man sich an solche Aufgaben ranmacht, sollte man vorher etwas mit Blockly "spielen".

        Lampe ein/aus schalten zum Beispiel. 😉
        @sound31:

        Meine Daten der Temperaturen kommen über KNX und auch die

        Mischer und Pumpen werden über KNX geschalten.

        zB. Raumtemperatur GA 9/1/2 (2bytes)

        Stellventiel-schalten GA 1/2/1 (1bit)

        Stellventiel-Status GA 1/2/2 (1bit) `
        Mit KNX habe ich gar keine Erfahrungen.

        Du führst da sehr merkwürdige Datenpunkte auf. :roll:
        @sound31:

        Vielleicht kann mir jemand sagen oder an einem Beispiel zeigen wie

        ich mit Blockly so eine Logik nachbauen kann. `
        Beispiele für grundsätzliche Logiken in Blockly gibt es hier im Forum einige.

        Einfach mal suchen und lesen und ausprobieren.

        Gezielte Verständnisfragen, werden Dir hier sicherlich beantwortet.

        Grüße

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

          @sound31:

          …Einzelraumregelung, Vorlauftemperatur und Witterungsgeführte Heizkreisregelung. `
          Willst Du die Vorlauftemperatur-Regelung tatsächlich über ioBroker und den Bus machen ?

          Mit Blockly wird es sehr unübersichtlich, da die Sache recht komplex wird. Mit Javascript ist es machbar.
          @sound31:

          Stellventiel-schalten GA 1/2/1 (1bit)

          Stellventiel-Status GA 1/2/2 (1bit) `
          Mt 1 bit ist das ein Umschalt- oder Auf-/Zu-Ventil und kein Stellventil.

          Wie sieht die Hydraulik aus ?

          Wie wird die Vorlauftemperatur gegenwärtig geregelt ?

          Soll eine Mischkreisregelung erfolgen ?

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

            Hallo,

            @paul53:

            Die Stellventile an der Heizung (Fußbodenheizung) sind natürlich normale Auf/Zu.

            Alle Regelungen laufen derzeit über denn Miniserver von Loxone.

            Natürlich möchte ich die Heizungsregelung über ioBroker machen.

            In der ioBroker Dokumentation habe ich eine Script in Java gefunden welches sich

            mit Homematic Geräten befasst aber wie ich das umsetzen kann ist mir nicht klar.

            Derzeit habe ich einen Heizkreis der in Abhängigkeit der Außentemperatur und der

            Vorlauftemp. einen Mischer steuert.

            Sowie 4 Heizkreise welche über Raumthermostate und Vorgabe einer Solltemp.

            Stellventile ansteuern.

            Grüße, Andy.

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

              @sound31:

              Derzeit habe ich einen Heizkreis der in Abhängigkeit der Außentemperatur und der Vorlauftemp. einen Mischer steuert. `
              Was gefällt Dir an der bestehenden Mischkreisregelung nicht ?
              @sound31:

              Sowie 4 Heizkreise welche über Raumthermostate und Vorgabe einer Solltemp. Stellventile ansteuern. `
              Was sind das für Raumthermostate ?

              Kommt die Sollwertvorgabe aus den Thermostaten ?

              Sind das 4 Fußbodenheizkreise, deren Ventile über thermoelektrische Stellantriebe gesteuert werden ?

              Poste mal einen Screenshot aller heizungsbezogenen Datenpunkte des KNX-Adapters (Reiter "Objekte").

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

                @paul53:

                Was gefällt Dir an der bestehenden Mischkreisregelung nicht ? `
                Das diese über die Loxone läuft welche ich entfernen will.

                Die Raumthermostate sind in den KNX-Schaltern verbaut.

                Die Sollvorgaben sollten in der Viso einstellbar sein.

                @paul53:

                Sind das 4 Fußbodenheizkreise, deren Ventile über thermoelektrische Stellantriebe gesteuert werden ? `
                Ja richtig, die werden auch über KNX geschalten
                4002_screenshot.28.png
                4002_screenshot.29.png

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

                  Die Datenpunkt-IDs sind leider nicht selbsterklärend: 4 Heizkreisventile, aber 12 Datenpunkte ? Bitte erläutern !

                  Was bedeuten die vielen Temperatur-Datenpunkte (-A1, -A2) ?

                  Datenpunkte für Mischer, Mischkreispumpe und Außentemperatur vermisse ich.

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

                    Hallo Paul53

                    Das war etwas Unübersichtlich, sorry.

                    z.B der Heizkreis Fußbodenheizung Küche besteht aus:

                    1x Tem-Sensor_Küche_EG – Type "state" -- Rolle "value" (KNX Datenpunkt)

                    1x Sollwert - soll von der Visu einstellbar sein

                    1x Relais für das Ventiel -- Type "state" -- Rolle "switch" (KNX Datenpunkt)

                    1x Relais für die Pumpe -- Type "state" -- Rolle "switch" (KNX Datenpunkt)

                    (wobei die Pumpe noch von zwei anderen Kreisen angefordert werden kann)

                    1x Umschalung Sommer/Winter auch über die Visu

                    1x Warteungslauf - das soll später eine Schaltuhr übernehmen ca. 1x im Monat

                    Die anderen Datenpunkte die im vorherigen Post waren sind Temperaturfühler

                    die zum Teil nur in der Visu angezeigt werden z.B. Temperatur Solarboiler.

                    Grüße, Andy

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

                      @sound31:

                      1x Tem-Sensor_Küche_EG – Type "state" -- Rolle "value" (KNX Datenpunkt) `
                      Raumtemperatur Küche aus dem Thermostaten ?
                      @sound31:

                      1x Relais für die Pumpe – Type "state" -- Rolle "switch" (KNX Datenpunkt)

                      (wobei die Pumpe noch von zwei anderen Kreisen angefordert werden kann) `
                      Mischkreispumpe FBH ? Anforderungskontakte sind parallel geschaltet ?
                      @sound31:

                      1x Umschalung Sommer/Winter auch über die Visu `
                      Was bewirkt die Umschaltung hardwareseitig ?
                      @sound31:

                      1x Warteungslauf - das soll später eine Schaltuhr übernehmen ca. 1x im Monat `
                      Pumpenwartungslauf oder Ventilwartungslauf ? Das kann auch ioBroker übernehmen.

                      Was schalten die Solid state relais ?

                      Die Datenpunkte für Mischer und Außentemperatur vermisse ich immer noch. Diese sind für eine witterungsgeführte Vorlauftemperaturregelung erforderlich. Bist Du sicher, dass die Regelung über Loxone erfolgt ?

                      EDIT: Ich sehe nur 2 Raumtemperatur-Datenpunkte (Küche, Flur). Damit können auch nur 2 Raumtemperatur-Regelkreise realisiert werden.

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

                        Die Raumthemperatur Küche kommt von KNX Thermostaten

                        das sind 1-Wire Fühler die an Analogen Modulen hängen

                        Die Werte sind in °C

                        Die Fußbodenheizung hat keinen Mischkreis sondern eine Thermostatregelung

                        am Heizkreisverteiler selber dieser lässt max. 36°C in die Fußbodenheizungen.

                        Die Pumpe ist lediglich die Zirkulationspumpe für alle Fußboden-Heizkreise.

                        Die Sommer/Winter Schaltung ist eine Freigabe von der Viso das des jetzt Zeit

                        wird zu heizen im also ein reiner "Ein/Aus" Schalter.

                        Mit der Viso meinte ich eigentlich ioBroker als solche.

                        Diese soll Wartungslauf übernehmen.

                        –--------------------

                        Die Witterungsgeführte Regelung soll für den Heizkreis des oberen Stockwerkes sein

                        hier hängen ausschließlich Heizkörper die später mit Homematik Thermostaten versehen werden sollen.

                        Zu der frage mit den Raumthemperatur-Datenpunkten hier habe ich noch nicht alle Bezeichnungen geändert.

                        Temp1_Technikraum-A1 ist zB das Thermostat vom Badezimmer.

                        und Temp1_Technikraum-A2 ist vom Wohnzimmer.

                        Die Solid_Stade_Relais im HK-Verteiler EG schalten die Ventile der Fußbodenheizungen.

                        Alle anderen sind Reserve.

                        Die Pumpe FBH hängt an einem Relais im HK Verteiler EG.

                        Ich wollte als erstes mal so eine FBH aufbauen mit Logik und dann alles erweitern.

                        Grüße, Andy

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

                          @sound31:

                          Die Fußbodenheizung hat keinen Mischkreis sondern eine Thermostatregelung

                          am Heizkreisverteiler selber dieser lässt max. 36°C in die Fußbodenheizungen. `
                          Wer baut denn sowas ? Das ist nicht Stand der Technik (schon seit den 80ern). Bei konstanter FBH-Vorlauftemperatur muss die Regelung der Raumtemperatur per PWM-Ansteuerung der Ventilstellantriebe erfolgen.
                          @sound31:

                          Die Witterungsgeführte Regelung soll für den Heizkreis des oberen Stockwerkes sein

                          hier hängen ausschließlich Heizkörper die später mit Homematik Thermostaten versehen werden sollen. `
                          Und dafür gibt es einen Mischer / Pumpe und einen Außenfühler (mit zugehörigen Datenpunkten) ? Oder soll das die Regelung des Wärmeerzeugers (Brenner-Steuerung) machen ?
                          @sound31:

                          Die Solid_Stade_Relais im HK-Verteiler EG schalten die Ventile der Fußbodenheizungen. `
                          Sehr gut, das kommt der Ansteuerung per PWM entgegen.

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

                            @paul53:

                            Wer baut denn sowas ? Das ist nicht Stand der Technik (schon seit den 80ern)….. `
                            Naja was soll ich sagen, der Installateur halt..

                            Das sind fertige Module die Hausbau eingesetzt werden.. noch immer..

                            Wie im Bild zu sehen..(ist nicht mein Verteiler war nur zu Faul die Verkleidung zu entfernen)

                            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
                            4002_1-festwertregler-set-kpl.jpg

                            1 Reply Last reply Reply Quote 0
                            • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            839
                                            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