Warmwasser boost funktion.

Allgemeine Fragen rund um die "Smart Home" Hardware/Komponenten

Moderatoren: seppy, udo1toni

mad-mike
Beiträge: 403
Registriert: 6. Jan 2021 18:05
Answers: 2

Re: Warmwasser boost funktion.

Beitrag von mad-mike »

Urlaub dauert ja noch ein wenig, (kann sich ja eh keiner mehr leisten :roll: :x ) aber das werde ich über den Betrieb modus String = OFF - ON -> Auto usw. Abfragen..

Aktuell läuft es gut. Werde jetzt die nächsten 2 Wochen lang versuchen die Warmwasser bevorratung im Speicher kontinuierlich senken. Aktuell steht es auf 50 Grad. Werde jetzt auf 48 Senken.

Damit die Einstellung der Regelung nach Beendigung der ""BOOST"" funktion zurück geschrieben wird, speicher ich diese 1 x zwischen...

Code: Alles auswählen

rule "Ladetemperatur steuern"
 when
    Item dhw1_actualTemp changed
 then
    if(!(newState instanceof Number)) {
        logWarn("chargeTemp","Ungültige Ist Temperatur ({})! Abbruch.",newState)
        return;
     }
    val fIst = (newState as Number).floatValue
    if(fIst < 40){                                                              // Start boost, bei kleiner 40 gemessen
        if (dhwboost.state != OFF)                                              // Abfrage Hilfsschalter
            return;                                                             // Dann Abbruch
            dhwboost.sendCommand(ON)                                            // Hilfsschalter für 1x Rule
            dhwset.postUpdate(dhw1_currentSetpoint.state as Number)             // Zwischenspeicher für WW Temperatur
            dhw1_high.sendCommand(55)                                           // Boost erhöhung 55 Grad
            sendBroadcastNotification("Boost ON ")                              // Nachricht
        }
    else if(fIst > 45){                                                         // Ende Boost bei größer 45 Grad gemessen
        if (dhwboost.state != ON)                                               // Abfrage Hilfsschalter
            return;                                                             // Dann Abbruch
                dhw1_high.sendCommand(dhwset.state as Number)                   // Wert aus Zwischenspecher zurück schreiben
                dhwboost.sendCommand(OFF)                                       // Hilfsschalter für 1x rule
                sendBroadcastNotification("Boost OFF ")                         // Nachricht
       }
    end

Ob es jetzt die Tage wirklich schon eine Einsparung gegeben hat, kann ich nicht sagen, da die betrachtungs- Zeit zu kurz ist. Die Regelung zeigt jedenfalls weniger kwh für WW an..
Gruss mad-mike

openHABian 4.1.1 auf Raspberry Pi 4 Mod. b (8GB) ;)

mad-mike
Beiträge: 403
Registriert: 6. Jan 2021 18:05
Answers: 2

Re: Warmwasser boost funktion.

Beitrag von mad-mike »

Moin.

Ich bin ja noch am Versuchen. Da nach "boost Off" eine zu große Temperatur Differenz geschickt wird, geht der Brenner erstmal ruckartig aus, und startet neu. Vermutlich kann er so schnell nicht runter modulieren....


Nun dachte ich mir, ich mache dies nicht mit 2 fixen werten sondern mit einer Berechnung.

Kann ich das Ergebnis vom Wert her begrenzen?

Ich dachte an Temperatur soll - Temperatur ist gleich Differenz. Und diese Zahl soll wiederum plus Temperatur soll....

Beispiel: sollwert 48 - istwert 40 = Differenz 8.

Diese 8 plus 48 ergeben "neuer Sollwert" von 56....

Ich möchte aber nicht das der neue Sollwert über 60 geht, und es sollte auch nicht passieren, das die Differenz mit einem negativen Wert berechnet wird.

Kann man also ein Ergebnis dahin begrenzen?

Edit:

und das Ergebnis darf keine nachkomma stelle haben..

Gruss
Gruss mad-mike

openHABian 4.1.1 auf Raspberry Pi 4 Mod. b (8GB) ;)

Benutzeravatar
udo1toni
Beiträge: 13977
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Warmwasser boost funktion.

Beitrag von udo1toni »

Du kannst in einer Rule ja einfach Abfragen erstellen. Zum Beispiel:

Code: Alles auswählen

var iDiff = Math::abs(Temperatur1 - temperatur2).intValue
if(iDff > 10) iDiff = 10
Math::abs() ist der Betrag einer Zahl.
Wobei es ja eigentlich nicht vorkommen sollte, dass der Sollwert unter dem Istwert liegt.
.intValue erzeugt aus dem gelieferten Wert den Ganzzahligen Anteil. Soll die Zahl arithmetisch gerundet werden, so muss zum Betrag noch 0.5 addiert werden. Damit ist der Ganzzahlanteil dann um eins höher, wenn der NAchkommaanteil 0.5 oder größer ist.

Eigentlich nutzt man für sowas heutzutage einen PID-Regler, allerdings ist es nicht trivial, den korrekt zu konfigurieren. Wenn Du kein Heizungstechniker bist, kannst Du eigentlich nur verlieren ;)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

mad-mike
Beiträge: 403
Registriert: 6. Jan 2021 18:05
Answers: 2

Re: Warmwasser boost funktion.

Beitrag von mad-mike »

Wobei es ja eigentlich nicht vorkommen sollte, dass der Sollwert unter dem Istwert liegt.
Oh doch. Eine Nachlaufzeit, oder Rücklaufregelungen oder Verdichter druck stufe Schaltungen, sowie einfach neue Komponenten können die Temperatur über schwingen lassen, das der ""Soll"" wert unter dem ""Ist"" wert liegt...
Eigentlich nutzt man für sowas heutzutage einen PID-Regler, allerdings ist es nicht trivial, den korrekt zu konfigurieren
Ich hatte dies Installiert, aber irgendwie haut das nicht hin. Wenn ich in der UI eine neue Rule erstellen möchte, dann kann ich den PID auswählen. Dann steht dort :
Template Configuration
Aber mehr gibts da nicht...

Ich habe keine ahnung, wie ich hier anfangen muss...

Code: Alles auswählen

Wenn Du kein Heizungstechniker bist, kannst Du eigentlich nur verlieren
Das schon, aber mein Schwerpunkt liegt nicht auf dem Programmieren... :D
Gruss mad-mike

openHABian 4.1.1 auf Raspberry Pi 4 Mod. b (8GB) ;)

Benutzeravatar
udo1toni
Beiträge: 13977
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Warmwasser boost funktion.

Beitrag von udo1toni »

Na, aber wenn Du vom Fach bist, sollte es ja eigentlich ein "Kinderspiel" sein, den PID-Regler zu konfigurieren. :D

Wenn Du den PID-Regler installierst, kannst Du ihn in den Rules auswählen.
Der Controller ist etwas kompliziert einzurichten. Zunächst wählst Du add rule aus und im Folgefenster wählst Du Create from Template PID Controller aus.
Anschließend musst Du noch einen Namen und eine UID für die Rule setzen und auf Save gehen.

Danach öffnest Du die Rule, welche nun auf HANDLER_INITIALIZING_ERROR steht. Wenn Du nun auf PID Controller Trigger klickst, kommst Du an jede Menge Parameter, unter anderem kannst Du die beiden Messwert Items setzen (also Soll- und Ist-Temperatur). Die weiteren Items sind lediglich Hilfsitems, um der Controller auf die Finger zu schauen.
Anschließend definierst Du eine Item Action und trägst Du Dein Ausgangsitem ein. Allerdings trägst Du kein Command ein. Abschließend speicherst Du die Änderungen der Rule ab.

Jetzt sieht der yaml Code ungefähr so aus:

Code: Alles auswählen

configuration: {}
triggers:
  - id: f1dc7902-a92b-4aa6-a80d-bb3e828e5f86
    label: PID Controller Trigger
    configuration:
      kd: 1
      kdTimeConstant: 1
      kp: 1
      ki: 1
      loopTime: 1000
      input: tempIs
      setpoint: tempSet
    type: pidcontroller.trigger
conditions: []
actions:
  - id: "1"
    configuration:
      itemName: PID_Out
    type: core.ItemCommandAction
und die Rule sollte idle anzeigen, nicht mehr error:handler

Ach so... Was auch immer man mit dem Wert anfangen kann... Du wirst das besser wissen als ich... muss vermutlich in einer weiteren Rule stattfinden.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

mad-mike
Beiträge: 403
Registriert: 6. Jan 2021 18:05
Answers: 2

Re: Warmwasser boost funktion.

Beitrag von mad-mike »

Ja Danke, Habe ich zum laufen bekommen...

Habe ihn erstmal mit meiner Fussbodenheizung verknüpft, und dann fängt er an zu rechnen...

Ich kenne diese Werte Zahlen von Wärmepumpen als Integral Steuerung.

Soll wert und ist wert differenz berechnung vs. Zeit faktor.

Im Falle der Wärmepumpe spring bei einem negativen wert von -120 der Verdichter an, und bei - 600 der Zusatzheizstab.

bei -800 läuft der ZH (Zusatz heizer) mit 100%
bei einem Integral von 0 und positiv ist die Anlage aus...
Gruss mad-mike

openHABian 4.1.1 auf Raspberry Pi 4 Mod. b (8GB) ;)

mad-mike
Beiträge: 403
Registriert: 6. Jan 2021 18:05
Answers: 2

Re: Warmwasser boost funktion.

Beitrag von mad-mike »

Kann das sein, das diese PID Rule erweiterung am system zehrt??

Der hat mir die ""Rules"" über die Oberfläche nicht mehr geöffnet.

Alle anderen reiter hat er geöffnet. Zufall??

Habe PID erweiterung gelöscht. Brachte keinen erfolg. habe dann einen reboot gemacht. nun komme ich wieder rein. Weil ich es ja gelöscht habe, zeigt er mir natürlich einen ""Error - Handler"" an...
:|
Gruss mad-mike

openHABian 4.1.1 auf Raspberry Pi 4 Mod. b (8GB) ;)

Benutzeravatar
udo1toni
Beiträge: 13977
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Warmwasser boost funktion.

Beitrag von udo1toni »

Über die Systemlast kann ich nichts sagen. Die grundsätzlichen Berechnungen werden nicht so wild sein (Integral hörtsich immer schlimm an, dabei geht es "nur" um den Flächeninhalt unter einer unregelmäßigen Kurve, für den letztlich eine Näherung über Rechtecke berechnet wird. Vielleicht ist im englischen Forum mehr dazu zu finden.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

mad-mike
Beiträge: 403
Registriert: 6. Jan 2021 18:05
Answers: 2

Re: Warmwasser boost funktion.

Beitrag von mad-mike »

Die Rule mit der boost funktion habe ich wieder deaktiviert, weil meine Regelung eine erhöhten Energie bedarf angezeigt hatte...
Es hat zwar funktioniert, aber Sinn war weniger zu verbrauchen.
Gruss mad-mike

openHABian 4.1.1 auf Raspberry Pi 4 Mod. b (8GB) ;)

Antworten