Innerhalb von 20 Sekunden wird bei einer Multisplit die Leistung erfahrungsgemäß nicht angepasst werden, also kann mans auch so lassen. Wie gesagt, es würde aber auch nicht schaden den Versatz zu entfernen.
Gerade bei einer Singlesplit will man das vielleicht nicht - die reagieren schneller auf Änderungen, das könnte zu ungewollten Leistungssprüngen führen.
Interessant ist das vor allem, wenn die Cloud benutzt wird. Da erfolgt alles verzögert.. Dann hätte ich Angst, dass doch ein Taktvorgang ausgelöst wird.
Zu Teil 2 des Skripts noch: Ja, die Singlesplit fahre ich auch mit einem Grad unter Soll. Bei Multisplit ist das allerdings nicht nötig.
Zusätzlich zur Anti-Takten-Programmierung ist es bei einer Multisplitanlage sinnvoll, die Innengeräte nicht alle gleichzeitig einzuschalten, sondern im Abstand von ca. 10 Minuten. Dann pendelt sich der Stromverbrauch viel schneller auf einem niedrigeren Wert ein. (Ich schalte sie automatisiert ein, in Abhängigkeit von der Stromerzeugung.)
Hast du eigentlich deine ganzen Scripte, Automatisierungen,Sensoren etc. mal als Dateien irgendwo gesammelt veröffentlicht?
Jeden das Rad neu erfinden zu lassen indem man nur mal Codefetzen oder Links zu "auf dieser Basis habe ich das gemacht" Seiten zu verraten, ist nicht wirklich effektiv.
Wenns an Speicherplatz fehlt, stelle ich dir gerne was zur Verfügung...
Wenn man die vom Fühler gemessen Temperatur mit einem externen Fühler vergleicht, ergeben sich da signifikante Unterschiede. Beim Abtauvorgang ist da von 14 bis 23 Grad alles dabei bei Raumtemperatur 21 Grad.
Meine letzte gepostete Automatisierung mit Code (Beitrag #106) ist grundsätzlich alles was man braucht. Ich werde es nachher noch einmal Schritt für Schritt und mit Anmerkungen im Code erläutern, dann wird es vielleicht deutlicher.
Der Thread wurde auch im alten Forum begonnen, wo es unmöglich war einen Code zu posten. Das zu meiner Verteidigung.
Jetzt kann ich gerne eine Schritt-für-Schritt-Anleitung mit Bildern und Code machen.
Verteidigen muss sich keiner.
Der Thread ist aber erneut ein gutes Beispiel, dass ich in der alten Sotware massenweise interessante Threads nicht gesehn oder gefunden habe...
Das heisst bei dir zeigt der Sensor auch alles mögliche an? Hier eine Schwankung von gestern. Die blaue Kurve ist die von IG gemessene Temperatur von 14-23°C, die grüne Kurve ist die Raumtemperatur. Bei mir treten die Schankungen nur bei Geräten auf die an der Aussenwand angebracht sind. 3 weitere IGs an Innenwänden befestigt haben diese Schwankungen der IG-Temperatur nicht. Ich verstehe aber nicht genau warum. Hast du eine Erklärung wie das mit dem Wärmetauscher zusammenhängt?
Wenn das Aussengerät abtaut, kann der Wärmetauscher innen vereisen. Da der Temperaturfühler je nach Innengerät 10 bis 20mm vom Wärmetauscher entfernt ist, misst der dann keine Raumtemperatur mehr. Gleiches passiert, wenn der Lüfter des IG stoppt. Der Wärmetaucher wird weiterhin warm und man bekommt wieder irgendwas als Raumtemperatur. Ist halt ein sehr optimistisches Design so nah am Wärmetauscher eine Raumtemperatur messen zu wollen. Den Fühler zu verlegen ist kein Hexenwerk, aber bitte spannungsfrei machen.
So, ich versuche mich nochmal an einer vollständigen Anleitung.
Man könnte sicher einen Blueprint erstellen, aber dafür bin ich jetzt auch noch zu blöd und ein bisschen Denkarbeit muss ich dem geneigten Leser auch noch lassen.
Zunächst muss man wählen, ob das Ganze per Cloud oder mit ESPs realisiert werden soll.
Per Cloud:
Es muss HACS installiert sein. Via HACS kann dann die Integration Panasonic Comfort Cloud installiert werden.
Per ESP:
Grundsätzlich reicht irgendein ESP32 und ein passendes Kabel. Dazu braucht man auf jeden Fall Platz im Gehäuse. Dieser ist hinter dem Original-WLAN-Modul vorhanden - dazu muss allerdings das Gehäuse einmal abgenommen werden (ist auch nicht sonderlich kompliziert).
Schicker ist die Lösung von espthings.io. Damals musste man die noch selbst zusammenlöten, nach meinen letzten Informationen kann das bei PCBWay mittlerweile auch schon zusammengelötet geordert werden.
Anmerkung: [Gerät] muss natürlich immer durch den Namen des Geräts ersetzt werden. Ansonsten muss alles in eckigen Klammern durch den entsprechenden erstellten oder vorhandenen Sensor ersetzt werden.
(1) Entscheidet man sich für die (bessere) Lösung per ESP, dann muss man sich einen Helfer einrichten, der die Temperatur des Innentemperatursensors ausgibt:
Einstellungen > Geräte & Dienste > Helfer > Helfer erstellen > Template > Template für einen Sensor erstellen >
Name: [Gerät] Sensortemperatur
Zustandstemplate: {{ state_attr('climate.[Gerät]', 'current_temperature') }}
Maßeinheit: °C
Geräteklasse: Temperatur
Zustandsklasse: Messung
Bei der Cloud-Lösung gibt es schon eine solche Entität (sensor.[Gerät]_inside_temperature)
Optional: Auch die eingestellte Temperatur wird sowohl beim ESP als auch per Cloud nicht per Entität ausgegeben. Das ist aber für potentielle Automatisierungstrigger interessant, weshalb ich das analog auch empfehlen würde:
Einstellungen > Geräte & Dienste > Helfer > Helfer erstellen > Template > Template für einen Sensor erstellen >
Name: [Gerät] Eingestellte Solltemperatur
Zustandstemplate: {{ state_attr('climate.[Gerät]', 'temperature') }}
Maßeinheit: °C
Geräteklasse: Temperatur
Zustandsklasse: Messung
(2) Erstellen des Solltemperaturreglers:
Jetzt erstellen wir uns den Regler für die Solltemperatur. Wird der Wert dieser Entität beim Heizen überschritten, wird die spätere Automatisierung die Temperatur nach oben anpassen. Beim Kühlen genau umgekehrt.
Einstellungen > Geräte & Dienste > Helfer > Helfer erstellen > Zahlenwert-Eingabe
Name: Solltemperatur [Gerät]
Minimalwert: 16
Maximalwert: 30
Schrittweite: 0,5
Maßeinheit: °C
Anzeigemodus: hier kann man zwischen Eingabefeld und Schieberegler wählen
(3) Jetzt sind wir bereit zum Erstellen der Automatisierung.
Einstellungen > Automatisierungen & Szenen > Automatisierung erstellen > Neue Automatisierung erstellen > drei Punkte oben rechts > In YAML bearbeiten
Und nun fügt man folgenden Code ein und passt ihn da an, wo die Hashtags hinter den Zeilen stehen:
alias: Temperaturautomatik [Gerät]
description: ""
triggers:
- entity_id: # löst bei jeder Änderung der Temperatur am Sensor aus
- sensor.[Innentemperatursensor] # siehe (1)
trigger: state
- entity_id:
- input_number.[Solltemperaturregler] # löst bei Änderung der Solltemperatur aus (siehe (3))
trigger: state
- trigger: state
entity_id:
- sensor.[Eingestellte Solltemperatur, siehe oben] # löst bei Änderung der am Gerät eingestellten Solltemperatur aus; dieser Trigger ist dann nützlich, wenn man vermeiden möchte, dass externe Änderungen zugelassen werden - eine Verstellung der Solltemperatur an der Fernbedienung ist somit sofort wirkungslos
- trigger: state
entity_id:
- climate.[Gerät] # löst bei Änderung des Zustands des Innengeräts aus (bspw. beim Einschalten oder wechseln von Trocknen auf Kühlen)
conditions: []
actions:
- if:
- condition: state
entity_id: climate.[Gerät]
state: heat
for:
hours: 0
minutes: 0
seconds: 0
then:
- if:
- condition: template
value_template: >-
{{ states('sensor.[siehe (1)]') | float <=
states('input_number.[Solltemperaturregler]') | float }}
then:
- data:
temperature: "{{ states('input_number.[Solltemperaturregler]') | float(0) }}"
target:
entity_id: climate.[Gerät]
action: climate.set_temperature
else:
- data:
temperature: "{{ states('sensor.[siehe (1)]') | float(0) }}"
target:
entity_id: climate.[Gerät]
action: climate.set_temperature
alias: Heizen
- alias: Trocknen/Kühlen
if:
- condition: or
conditions:
- condition: state
entity_id: climate.[Gerät]
state: dry
for:
hours: 0
minutes: 0
seconds: 0
- condition: state
entity_id: climate.[Gerät]
state: cool
for:
hours: 0
minutes: 0
seconds: 0
then:
- if:
- condition: template
value_template: >-
{{ states('sensor.[siehe (1)') | float >=
states('input_number.[siehe (3)') | float }}
then:
- data:
temperature: "{{ states('input_number.[siehe (3)]') | float(0) }}"
target:
entity_id: climate.[Gerät]
action: climate.set_temperature
else:
- data:
temperature: "{{ states('sensor.[siehe (1)]') | float(0) }}"
target:
entity_id: climate.[Gerät]
action: climate.set_temperature
mode: single
Ok... Nachdem ich mir das Skript des Kollegen bfr nochmal angesehen habe, ist mir dann aufgefallen, dass die von mir erstellten Helfer für die Soll- und Isttemperatur gar nicht notwendig sind.
Der Regler für die Solltemperatur bleibt natürlich.
Vielmehr kann man das komplett vergessen, dann sieht die Automatisierung so aus:
HA Automation fuer Minisplits mit Hilfe eines beliebigen externen Temperatursensors -- kein Takten mehr
Unten im Post, eine HA Automation fuer meine Mitsubishi SRK/SRC bzgl. Taktvermeidung. Funktioniert auch wahrscheinlich fuer Daikin, usw.
Leider war es nicht moeglich Kommentare im YAML einzufuegen, weil HA diese sofort wieder entfernt.....
Dieses Script ist ein Spin-off von friedolin1 Taktvermeidung bei LLWP - #138 von friedolin1 . Damit dieses Script funktioniert brauchst Du einen externen Raumtemperatursensor, welcher in HA sichtbar ist. Dieser sollte so im Raum plaziert sein dass er nicht von der Minisplit angeblasen wird.
Passe Script folgendermassen an:
-Ersetzte [Gerät] mit deiner Klimaanlage (z.B. climate.ac_kueche)
-Ersetzte [Solltemperaturregler] mit deinem Temperaturregler (z.B. input_number.solltemp_kueche)
-Ersetzte [Boolean] mit einem Helfer (z.B. input_boolean.boolkuechewarzuwarm)
-Ersetzte [RaumTemperaturSensor] mit deinem TemperaturSensor (z.B. sensor.zigbeekueche_temperatur)
Beachte: Beim Ersetzen verschwinden die eckigen Klammern [ ] der Platzhalter. Alles was nach " - alias: Trocknen/Kühlen" kommt braucht noch Arbeit. In anderen Worten: Diese Automation ist momentan nur zum Heizen geeignet.
Die Klimaanlage wird nur hoch/runtergeregelt. Ein-/Ausschalten, Fan-Speeds, Eco-modes werden im Script nicht veraendert
Wenn Raumtemperatur < Solltemperaturregler , dann wird SolltemperaturKlima=KlimaanlagenInnentemperatur gesetzt . Meine Klima heizt hiermit etwas flotter.
Wenn Raumtemperatur > Solltemperaturregler , dann wird (SolltemperaturKlima = KlimaanlagenInnentemperatur -2Grad) gesetzt . Meine Klima heizt dann mit kleinstmoeglicher Leistung (immer knapp vorm 'Abschalten' ... man kann auch mal -2.2 oder -2.3 Grad probieren, bei -2.5 taktet meine Minisplit ab und zu, bevor die Raumtemperatur >= Solltemperaturregler +1.2Grad)
Wenn (Raumtemperatur >= Solltemperaturregler +1.2Grad), dann wird SolltemperaturKlima=16 Grad gesetzt (niedriger geht nicht bei Mitsubishi). Die Klimaanlage regelt dann auf "Fast 0 Watt" runter bis die Raumtemperatur wieder unter den Solltemperaturregler sinkt.
Die SolltemperaturKlima kann hierbei auch mal auf 25 / 27 Grad hochgehen, aber die Raumtemperatur (gemessen vom externen Temperatursensor), bleibt im Bereich Solltemperaturregler (+1.2Grad).
Takten ist weg bei mir. Sieht folgendermassen aus: (gelbe Punkte = DefrostCycle). Eine Verlegung/Isolierung des Temperatursensors vom Klima Innengeraet ist mit diesem Script nicht mehr notwendig.