Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Heizungsregelung --- timeout?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Heizungsregelung --- timeout?

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

      @paul53 : Ich habe das Objekt jetzt vom Smartmeter genommen, hier ist Bezug und Einspeisung enthalten.

      Bei einem positiven Wert sollte der Regler hoch fahren, bei einem negativen Wert runter regeln, richtig? Dann sollte bei Bezug der Wert negativ sein und bei Einspeisung negativ??
      0d023815-5f37-4bac-aa51-ee49dce11a36-image.png

      Das mit der Nachstellzeit klappt noch nicht ganz. Der Output läuft zu schnell, vermutlich wird die Reaktion der Heizung (Stromaufnahme) nicht hinter her kommen.

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

        @samyd sagte: hier ist Bezug und Einspeisung enthalten.

        Bezug - Einspeisung?

        Ändere den Trigger auf "wurde aktualisiert", damit der I-Anteil kontinuierlich hoch-/runter läuft, auch wenn der Trigger-Wert konstant ist.

        @samyd sagte in Heizungsregelung --- timeout?:

        Das mit der Nachstellzeit klappt noch nicht ganz. Der Output läuft zu schnell

        Ja, 2 Minuten sind recht wenig für thermische Prozesse.

        S 1 Reply Last reply Reply Quote 0
        • S
          SamyD @paul53 last edited by

          @paul53 : das mit Tn scheint irgendwie nicht ganz zu klappen?! Der Regler läuft bei der Trigger-Aktualisierung zu schnell hoch bzw. runter und das nach ein paar Sekunden. Anscheinend regelt er nicht entsprechend der Einstellung bei Tn??

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

            @samyd sagte: Der Regler läuft bei der Trigger-Aktualisierung zu schnell hoch bzw. runter und das nach ein paar Sekunden. Anscheinend regelt er nicht entsprechend der Einstellung bei Tn??

            Mit welchem Zyklus wird getriggert?
            Wenn Tn keinen Einfluss hat, ist sicherlich noch ein Fehler enthalten. Poste mal den Blockly-Export in Code tags.

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

              @paul53 : Es wird alle 6 Sekunden getriggert.

              f7a58b20-3cc6-4dfe-9271-dd9925dcc70d-image.png

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

                @samyd
                Das ist nicht der Export. Poste bitte die Javascript-Ansicht ohne die letzte Zeile in Code tags. Etwa so:

                var i, Xp, Tn, p, lasti, output;
                
                
                i = 0;
                Xp = 1600;
                Tn = 300;
                // Einspeisung - Bezug
                on({id: 'default', change: "any"}, async function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  p = parseFloat((parseFloat(25) / Xp)) * (parseFloat((obj.state ? obj.state.val : "")) - 200);
                  lasti = i;
                  i = (typeof i == 'number' ? i : 0) + parseFloat(p) * (parseFloat((parseFloat((obj.state ? obj.state.ts : "")) - (obj.oldState ? obj.oldState.ts : ""))) / (parseFloat(1000) * Tn));
                  output = parseFloat(Math.round(parseFloat((parseFloat(15) + parseFloat(p) + i)) * 2)) / 2;
                  if (output > 30) {
                    output = 30;
                    i = lasti;
                  }
                  if (output < 5) {
                    output = 5;
                    i = lasti;
                  }
                  if (output != getState("0_userdata.0.Blockly.Soll_Temperatur").val) {
                    setState("0_userdata.0.Blockly.Soll_Temperatur"/*Sollwert*/, output);
                  }
                });
                
                S 1 Reply Last reply Reply Quote 0
                • S
                  SamyD @paul53 last edited by

                  @paul53 : sorry

                  @paul53 :

                  var i, Xp, Tn, p, lasti, output;
                  
                  
                  i = 0;
                  Xp = 1600;
                  Tn = 120;
                  // Einspeisung/Bezug
                  on({id: 'smartmeter.0.1-0:16_7_0__255.value', change: "any"}, async function (obj) {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    p = parseFloat((parseFloat(25) / Xp)) * (parseFloat(getState("javascript.0.variables.Einspeisung").val) - getState("javascript.0.variables.Netzbezug").val);
                    lasti = i;
                    i = (typeof i == 'number' ? i : 0) + parseFloat(p) * (parseFloat((parseFloat((obj.state ? obj.state.ts : "")) - (obj.oldState ? obj.oldState.ts : ""))) / (parseFloat(1000) * Tn));
                    output = parseFloat(Math.round(parseFloat((parseFloat(15) + parseFloat(p) + i)) * 2)) / 2;
                    if (output > 30) {
                      output = 30;
                      i = lasti;
                    }
                    if (output < 5) {
                      output = 5;
                      i = lasti;
                      setState("vaillant.0.xxx.systemcontrol.zones01.heating.configuration.mode"/*mode*/, ('' + 'OFF'));
                    }
                    if (output != getState("vaillant.0.xxx.systemcontrol.zones01.heating.configuration.setpoint_temperature").val) {
                      setState("vaillant.0.xxx.systemcontrol.zones01.heating.configuration.setpoint_temperature"/*setpoint_temperature*/, output);
                      console.warn(output);
                    }
                  });
                  
                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @SamyD last edited by

                    @samyd
                    Kein Fehler zu finden. Erhöhe mal Tn auf 600.

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      SamyD @paul53 last edited by

                      @paul53 : Tn steht auf 600, regelt aber immer noch krass hin und her...

                      2f26edbc-6ae5-4713-baa3-88832b1c9e82-image.png

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

                        @samyd sagte: regelt aber immer noch krass hin und her...

                        Dann muss die Leistung (Einspeisung - Bezug) stark schwanken, so dass diese Schwankungen des Ausgangs durch den P-Anteil bedingt sind. Da hilft nur, Xp zu vergrößern.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        726
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        2
                        16
                        726
                        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