Splitklima verzögert einschalten
-
- Beiträge: 20
- Registriert: 2. Sep 2023 20:53
Re: Splitklima verzögert einschalten
Die Abschaltung sollte dann idealerweise umgekehrt laufen.
#1 item: Daikin_Onecta_AC_EG_Power OFF (wenn "itemName: SF_Power_total state" für 60 Sekunden kleiner 2500 ist)
#2 item: Daikin_Onecta_AC_1OG_Power OFF (wenn "#1 = OFF" und "itemName: SF_Power_total state" für 60 Sekunden kleiner 2000 ist)
#3 item: Daikin_Onecta_AC_DG_Power OFF (wenn "#2 = OFF" und "itemName: SF_Power_total state" für 60 Sekunden kleiner 3000 ist)
Auch hier soll "itemName: AC_AUTOMATIC_TEST = ON" sein damit mach die Automatik abschalten kann damit manuelles schalten möglich ist
Mach das so Sinn?
#1 item: Daikin_Onecta_AC_EG_Power OFF (wenn "itemName: SF_Power_total state" für 60 Sekunden kleiner 2500 ist)
#2 item: Daikin_Onecta_AC_1OG_Power OFF (wenn "#1 = OFF" und "itemName: SF_Power_total state" für 60 Sekunden kleiner 2000 ist)
#3 item: Daikin_Onecta_AC_DG_Power OFF (wenn "#2 = OFF" und "itemName: SF_Power_total state" für 60 Sekunden kleiner 3000 ist)
Auch hier soll "itemName: AC_AUTOMATIC_TEST = ON" sein damit mach die Automatik abschalten kann damit manuelles schalten möglich ist
Mach das so Sinn?
- udo1toni
- Beiträge: 13986
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Splitklima verzögert einschalten
JA, sicher, Du musst aber daran denken, was die Aggregate "abkönnen". Wie oft darf das Aggregat in einer bestimmten Zeit ein- und ausgeschaltet werden, und wie schnell hintereinander...
Wie schaltest Du die Geräte? ist das eine eingebaute Schaltfunktion, die Du fernsteuerst, oder handelt es sich um eine externe Steuerung?
Wie schaltest Du die Geräte? ist das eine eingebaute Schaltfunktion, die Du fernsteuerst, oder handelt es sich um eine externe Steuerung?
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 20
- Registriert: 2. Sep 2023 20:53
Re: Splitklima verzögert einschalten
Ich schaltest die Geräte via Daikin Binding. Funktioniert genauso wie die APP fürs smartphone oder die gute alte Fernbedienung. Also keine harte Abschaltung über ein Relais.
Die Schaltzyklen möchte ich auch auf ein Minimum reduzieren. Deswegen die 60 Sekunden Verzögerung, und ich habe auch einen relativ hohen Einschaltwert. Den Ausschaltwert werde ich eventuell um ca. 1500 reduzieren.
Macht man das mit einer neuen Regel? Wie würde die aussehen?
Die Schaltzyklen möchte ich auch auf ein Minimum reduzieren. Deswegen die 60 Sekunden Verzögerung, und ich habe auch einen relativ hohen Einschaltwert. Den Ausschaltwert werde ich eventuell um ca. 1500 reduzieren.
Macht man das mit einer neuen Regel? Wie würde die aussehen?
- udo1toni
- Beiträge: 13986
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Splitklima verzögert einschalten
Eigentlich wäre es das Einfachste, das in die bestehende Regel mit einzubauen, die wird halt etwas umfangreicher...
Allerdings müssen die Schwellwerte vermutlich anders dimensioniert sein.
Bedingung Start 2. Aggregat: Wert über 2000, Aggregat 1 läuft und Aggregat 2 läuft nicht.
Bedingung Stopp 1.Aggregat: Wert unter 3000 Aggregat 1 läuft und Aggregat 2 läuft nicht.
Daraus ergibt sich, dass zwischen 2000 und 3000 das 2. Aggregat gestartet werden soll, während das 1. Aggregat gestoppt werden soll. Das wird nicht in Deinem Sinn sein...
Überhaupt... beinhaltet SF_Power_total den Verbrauch der Aggregate? Auf der einen Seite wäre das verständlich, aber dann ergäben sich definitiv andere Schaltpunkte, dann würde ich erst abschalten, wenn unterhalb (z.B.) 100 liegt, denn nach dem Ausschalten steigt dann SF_Power_total direkt um den Verbrauch des ausgeschalteten Aggregats.
Allerdings müssen die Schwellwerte vermutlich anders dimensioniert sein.
Bedingung Start 2. Aggregat: Wert über 2000, Aggregat 1 läuft und Aggregat 2 läuft nicht.
Bedingung Stopp 1.Aggregat: Wert unter 3000 Aggregat 1 läuft und Aggregat 2 läuft nicht.
Daraus ergibt sich, dass zwischen 2000 und 3000 das 2. Aggregat gestartet werden soll, während das 1. Aggregat gestoppt werden soll. Das wird nicht in Deinem Sinn sein...
Überhaupt... beinhaltet SF_Power_total den Verbrauch der Aggregate? Auf der einen Seite wäre das verständlich, aber dann ergäben sich definitiv andere Schaltpunkte, dann würde ich erst abschalten, wenn unterhalb (z.B.) 100 liegt, denn nach dem Ausschalten steigt dann SF_Power_total direkt um den Verbrauch des ausgeschalteten Aggregats.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 20
- Registriert: 2. Sep 2023 20:53
Re: Splitklima verzögert einschalten
"Daraus ergibt sich, dass zwischen 2000 und 3000 das 2. Aggregat gestartet werden soll, während das 1. Aggregat gestoppt werden soll. Das wird nicht in Deinem Sinn sein.."
Das 2. Aggregat soll nur starten wenn das 1. Aggregat schon 60 Sekunden läuft.
Ja, die Abschaltwerte werden wohl am Ende viel niedriger werden.
SF_Power_total beinhaltet den Gesamtverbrauch des Hauses. Wird direkt hinter dem Zähler vom Energieversorger gemessen.
Das 2. Aggregat soll nur starten wenn das 1. Aggregat schon 60 Sekunden läuft.
Ja, die Abschaltwerte werden wohl am Ende viel niedriger werden.
SF_Power_total beinhaltet den Gesamtverbrauch des Hauses. Wird direkt hinter dem Zähler vom Energieversorger gemessen.
- udo1toni
- Beiträge: 13986
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Splitklima verzögert einschalten
Ja, das spielt aber keine Rolle, denn beide Funktionen überlappen sich. Aggregat 1 läuft und die zur Verfügung stehende Einspeisung liegt über 2000 -> Aggregat 2 einschalten. Gleichzeitig aber auch unter 3000 -> Aggregat 1 ausschalten. Die Schwellwerte müssen IMMER so bemessen sein, dass die Ausschaltschwelle unter der Einschaltschwelle liegt.
Das ist ein wichtiger Punkt. In dem Moment, wo das Aggregat eingeschaltet wird, wird die Menge an eingespeistem Strom (erheblich) sinken.
Ich nehme an, die Aggregate passen dann von ihrer Leistungsaufnahme ungefähr zu den gewählten Werten? Man muss natürlich aufpassen, weil die Aggregate selbst ja eine eigene Steuerung haben, die dann mindestens mal temperaturgesteuert ist.
Was bildet das Item Daikin...Power exakt ab? ist das eine Art "Freigabe", die den Zustand erst wieder ändert, wenn man den Ausschaltbefehl sendet? Dann könnte es zu folgender Situation kommen:
1. Aggregat wird aktiviert weil Einspeisung über 3000
1. Aggregat schaltet wegen Erreichen der Solltemperatur ab. Damit steigt die Einspeisung.
2. Aggregat schaltet ein weil die Einspeisung über 2000 ist.
1. Aggregat schaltet wegen Unterschreiten der Solltemperatur ein
gemeinsame Leistungsaufnahme führt zu negativer Einspeisung (also Strombezug)
2. Aggregat wird wieder ausgeschaltet aber 1. Aggregat schaltet ebenfalls aus usw.
Die Rule sieht jetzt natürlich viel komplizierter aus.
Code: Alles auswählen
// globale Variablen müssen vor der ersten Rule in der Datei definiert werden!
var Timer tSplitstart = null // Zeiger für Timer
// 1. Rule in der Datei...
rule "Starte Splitgerät falls Überschuss"
when
Item SF_Power_total changed // Leistung geändert
then
if(AC_AUTOMATIC_TEST.state != ON) { // Automatik inaktiv?
tSplitstart?.cancel // dann Timer abbrechen
tSplitstart = null // Zeiger löschen
return; // und Rule abbrechen
}
val nPower = if(SF_Power_total.state instanceof Number) // falls gültiger Messwert
- (SF_Power_total.state as Number).floatValue // hole Wert
else // ansonsten
0 // nimm 0
var nThresholdOn = 3000 // Schwellwert an für 1. Aggregat
var nThresholdOff = 0 // Dummy Schwellwert aus
if(Daikin_Onecta_AC_DG_Power.state == ON) { // falls 1. Aggregat läuft
nThresholdOn = 2000 // Schwellwert an für 2. Aggregat
nThresholdOff = 1000 // Schwellwert aus für 1. Aggregat
}
if(Daikin_Onecta_AC_1OG_Power.state == ON) { // falls 2. Aggregat läuft
nThresholdOn = 2500 // Schwellwert an für 3. Aggregat
nThresholdOff = 1500 // Schwellwert aus für 2. Aggregat
}
if(Daikin_Onecta_AC_EG_Power.state == ON) { // falls 3. Aggregat läuft
nThresholdOn = 10000 // Dumm Schwellwert an
nThresholdOff = 2500 // Schwellwert aus für 3. Aggregat
}
if(tSplitstart !== null) { // Timer aktiv
if(nPower < nThresholdOn && nPower > nThresholdOff) { // akt. Wert zwischen Grenzwerten
tSplitstart.cancel // Timer abbrechen
tSplitstart = null // Zeiger löschen
}
} else { // Timer inaktiv
if(nPower > nThresholdOn) { // oberer Grenzwert überschritten
tSplitstart = createTimer(now.plusSeconds(60), [| // lege Timer für nächsten Aggregatstart an
if(Daikin_Onecta_AC_DG_Power.state != ON) // Falls Aggregat 1 aus
Daikin_Onecta_AC_DG_Power.sendCommand(ON) // schalte Aggregat 1 ein
else if(Daikin_Onecta_AC_1OG_Power.state != ON) // ansonsten, falls Aggregat 2 aus
Daikin_Onecta_AC_1OG_Power.sendCommand(ON) // schalte Aggregat 2 ein
else if(Daikin_Onecta_AC_EG_Power.state != ON) // ansonsten, falls Aggregat 3 aus
Daikin_Onecta_AC_EG_Power.sendCommand(ON) // schalte Aggregat 3 ein
tSplitstart = null // lösche Zeiger
])
} else if(nPower < nThresholdOff) { // unterer Grenzwert unterschritten
tSplitstart = createTimer(now.plusSeconds(60), [| // lege Timer für nächsten Aggregatstop an
if(Daikin_Onecta_AC_EG_Power.state != OFF) // Falls Aggregat 3 nicht aus
Daikin_Onecta_AC_EG_Power.sendCommand(OFF) // schalte Aggregat 3 aus
else if(Daikin_Onecta_AC_1OG_Power.state != OFF) // ansonsten, falls Aggregat 2 nicht aus
Daikin_Onecta_AC_1OG_Power.sendCommand(OFF) // schalte Aggregat 2 aus
else if(Daikin_Onecta_AC_DG_Power.state != OFF) // ansonsten, falls Aggregat 1 nicht aus
Daikin_Onecta_AC_DG_Power.sendCommand(OFF) // schalte Aggregat 1 aus
tSplitstart = null // lösche Zeiger
])
}
}
end
Ich habe die Schwellwerte mal so definiert, wie ich denke, dass es sein muss. Die Größen werden aber entscheidend auch von der Leistungsaufnahme der drei Aggregate abhängen, das muss gut zueinander passen. Letztlich muss die Einschaltschwelle über der Leistungsaufnahme liegen, die Ausschaltschwelle dann aber so niedrig, dass die Einspeisung auch mit der Leistungsaufnahme des Aggregats über der Ausschaltschwelle liegt (sonst Taktung)
Warum nur eine Rule?
Es gibt im Grunde nur eine Eingangsgröße, das ist die Einspeisung. Die Rule muss jedes Mal triggern, wenn sich die Einspeisung ändert. Man könnte nun also viele kleine Rules bauen, die aber alle auf den gleichen (nein, sogar den selben) Trigger auslösen müssen.
Weiterhin steuert diese eine Rule drei Geräte, aber in Abhängigkeit genau dieser drei Geräte. Würde ich nun die Funktion auf mehrere Rules aufteilen, dann müsste ich mich zusätzlich versichern, dass nicht evtl. eine der anderen Rules gerade an den verwendeten Items rumdoktort...
Man könnte auch eine State Machine programmieren, ich fürchte aber, dass der Code dadurch weder kürzer noch verständlicher wird.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 20
- Registriert: 2. Sep 2023 20:53
Re: Splitklima verzögert einschalten
Das Item "Daikin...Power" ist vergleichbar mit der ON/OFF Taste der Fernbedienung.
Wenn ON, dann startet das Gerät die Regelung.
Die Aggregate sind modulierend, Leistungsaufnahme während der Kompressor läuft variert:
DG: 320W - 2400W
1OG: 290W - 1300W
EG: 320W - 2400W
Bei Überschreitung der eingestellten Temperatur geht das Aggregat in standby und moduliert bei unterschreitung wieder weiter.
DG: Einschaltschwelle= 3000 Ausschaltschwelle=2500
1OG: Einschaltschwelle= 2000 Ausschaltschwelle=1500
EG: Einschaltschwelle= 3000 Ausschaltschwelle=2500
Das sollte nur ausschalten wenn:
a) 2. Aggregat=AUS
b) und erst nachdem "a)" erfüllt ist muss für 60 Sekunden die Ausschaltschwelle 1.Aggregat unterschritten sein
"Schwellwert an für 3. Aggregat" = 2500
"Schwellwert aus für 3. Aggregat" = 2500
Wenn ON, dann startet das Gerät die Regelung.
Die Aggregate sind modulierend, Leistungsaufnahme während der Kompressor läuft variert:
DG: 320W - 2400W
1OG: 290W - 1300W
EG: 320W - 2400W
Bei Überschreitung der eingestellten Temperatur geht das Aggregat in standby und moduliert bei unterschreitung wieder weiter.
Bemessung Ausschaltschwelle unter der Einschaltschwelle = Aggregatbezogen? Z.B.:udo1toni hat geschrieben: ↑12. Sep 2023 18:22Ja, das spielt aber keine Rolle, denn beide Funktionen überlappen sich. Aggregat 1 läuft und die zur Verfügung stehende Einspeisung liegt über 2000 -> Aggregat 2 einschalten. Gleichzeitig aber auch unter 3000 -> Aggregat 1 ausschalten. Die Schwellwerte müssen IMMER so bemessen sein, dass die Ausschaltschwelle unter der Einschaltschwelle liegt.
DG: Einschaltschwelle= 3000 Ausschaltschwelle=2500
1OG: Einschaltschwelle= 2000 Ausschaltschwelle=1500
EG: Einschaltschwelle= 3000 Ausschaltschwelle=2500
"1. Aggregat schaltet ebenfalls aus "udo1toni hat geschrieben: ↑12. Sep 2023 18:22 Dann könnte es zu folgender Situation kommen:
1. Aggregat wird aktiviert weil Einspeisung über 3000
1. Aggregat schaltet wegen Erreichen der Solltemperatur ab. Damit steigt die Einspeisung.
2. Aggregat schaltet ein weil die Einspeisung über 2000 ist.
1. Aggregat schaltet wegen Unterschreiten der Solltemperatur ein
gemeinsame Leistungsaufnahme führt zu negativer Einspeisung (also Strombezug)
2. Aggregat wird wieder ausgeschaltet aber 1. Aggregat schaltet ebenfalls aus usw.
Das sollte nur ausschalten wenn:
a) 2. Aggregat=AUS
b) und erst nachdem "a)" erfüllt ist muss für 60 Sekunden die Ausschaltschwelle 1.Aggregat unterschritten sein
Das ist ein Tipfehler in der Rule:?
"Schwellwert an für 3. Aggregat" = 2500
"Schwellwert aus für 3. Aggregat" = 2500
- udo1toni
- Beiträge: 13986
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Splitklima verzögert einschalten
Ich denke, das Problem ist noch nicht klar..
Es kommt ein Messwert rein. Abhängig vom Messwert gibt es verschiedene Reaktionen, das sind die verzögerten Schaltvorgänge. Durch die Verzögerung muss die Bedingung für eine bestimmte Reaktion eine gewisse Zeit (eben eine Minute) ohne Unterbrechung erfüllt sein.
Ich lasse die Verzögerung hier mal außer Acht, weil das für das Problem keine Rolle spielt.
Wenn kein Aggregat läuft, gibt es nur zwei Möglichkeiten, nämlich das erste Aggregat starten oder eben nicht. Hier ist die Lösung unproblematisch.
Wenn das erste Aggregat läuft, gibt es drei Möglichkeiten, das erste Aggregat stoppen, das zweite Aggregat starten oder nichts tun.
Wenn Du nun den Grenzwert für stoppen ÜBER dem Grenzwert für STARTEN anordnest und der Messwert zwischen den beiden Zonen ist, sind die Bedingungen für beide Vorgänge gleichzeitig erfüllt. Die dritte Möglichkeit (es passiert gar nichts) kann hingegen niemals eintreten.
Deshalb muss der Stopp-Grenzwert IMMER unter dem Start-Grenzwert liegen (wobei sich die beiden Grenzwerte auf unterschiedliche Aggregate beziehen)
Es kommt ein Messwert rein. Abhängig vom Messwert gibt es verschiedene Reaktionen, das sind die verzögerten Schaltvorgänge. Durch die Verzögerung muss die Bedingung für eine bestimmte Reaktion eine gewisse Zeit (eben eine Minute) ohne Unterbrechung erfüllt sein.
Ich lasse die Verzögerung hier mal außer Acht, weil das für das Problem keine Rolle spielt.
Wenn kein Aggregat läuft, gibt es nur zwei Möglichkeiten, nämlich das erste Aggregat starten oder eben nicht. Hier ist die Lösung unproblematisch.
Wenn das erste Aggregat läuft, gibt es drei Möglichkeiten, das erste Aggregat stoppen, das zweite Aggregat starten oder nichts tun.
Wenn Du nun den Grenzwert für stoppen ÜBER dem Grenzwert für STARTEN anordnest und der Messwert zwischen den beiden Zonen ist, sind die Bedingungen für beide Vorgänge gleichzeitig erfüllt. Die dritte Möglichkeit (es passiert gar nichts) kann hingegen niemals eintreten.
Deshalb muss der Stopp-Grenzwert IMMER unter dem Start-Grenzwert liegen (wobei sich die beiden Grenzwerte auf unterschiedliche Aggregate beziehen)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 20
- Registriert: 2. Sep 2023 20:53
Re: Splitklima verzögert einschalten
Ist leider für mich immer noch nicht klar.
geht das mit der Rule wie sie jetzt ist so:
DG: Einschaltschwelle= 3000 Ausschaltschwelle=2500
1OG: Einschaltschwelle= 2000 Ausschaltschwelle=1500
EG: Einschaltschwelle= 3000 Ausschaltschwelle=2500
oder nur so:
DG: Einschaltschwelle= 3000 Ausschaltschwelle=1999
1OG: Einschaltschwelle= 2000 Ausschaltschwelle=1999
EG: Einschaltschwelle= 3000 Ausschaltschwelle=1999
geht das mit der Rule wie sie jetzt ist so:
DG: Einschaltschwelle= 3000 Ausschaltschwelle=2500
1OG: Einschaltschwelle= 2000 Ausschaltschwelle=1500
EG: Einschaltschwelle= 3000 Ausschaltschwelle=2500
oder nur so:
DG: Einschaltschwelle= 3000 Ausschaltschwelle=1999
1OG: Einschaltschwelle= 2000 Ausschaltschwelle=1999
EG: Einschaltschwelle= 3000 Ausschaltschwelle=1999
- udo1toni
- Beiträge: 13986
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Splitklima verzögert einschalten
Letztere Variante funktioniert, erstere wird nicht funktionieren.
Mein Tipp wäre aber, die Ausschaltschwelle noch wesentlich niedriger zu wählen.
Beispielwerte für 1. Aggregat:
Das Aggregat wird gestartet bei Überschuss 3000 W, es kann aber ab kurz nach dem Einschaltzeitpunkt durchaus 2400 W ziehen (und selbst wenn es das nicht unmittelbar tut, so ist es doch möglich, dass dies relativ schnell nach dem Anlaufen geschieht).
Wenn Du also gerade die 3000 überschreitest (total sonnig, wolkenlos...) und das Aggregat zugeschaltet wird, sinkt der Wert sofort auf 2680 (weil 320 W Verbrauch) und kann durchaus schnell auf 600 W sinken, obwohl immer noch wolkenlos und sonnig. Dieses Takten aus sich selbst heraus solltest Du versuchen zu verhindern.
Die Ausschaltschwelle sollte also eher bei, meinetwegen, 800 liegen, nicht bei 1999.
Lass eine großzügige Totzone zu (in der die Rule weder ein- noch ausschaltet).
Mein Tipp wäre aber, die Ausschaltschwelle noch wesentlich niedriger zu wählen.
Beispielwerte für 1. Aggregat:
Das Aggregat wird gestartet bei Überschuss 3000 W, es kann aber ab kurz nach dem Einschaltzeitpunkt durchaus 2400 W ziehen (und selbst wenn es das nicht unmittelbar tut, so ist es doch möglich, dass dies relativ schnell nach dem Anlaufen geschieht).
Wenn Du also gerade die 3000 überschreitest (total sonnig, wolkenlos...) und das Aggregat zugeschaltet wird, sinkt der Wert sofort auf 2680 (weil 320 W Verbrauch) und kann durchaus schnell auf 600 W sinken, obwohl immer noch wolkenlos und sonnig. Dieses Takten aus sich selbst heraus solltest Du versuchen zu verhindern.
Die Ausschaltschwelle sollte also eher bei, meinetwegen, 800 liegen, nicht bei 1999.
Lass eine großzügige Totzone zu (in der die Rule weder ein- noch ausschaltet).
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet