[OBSOLET]Daikin Klimaanlage per HTTPMOD ansteuern und regeln

Begonnen von hugomckinley, 28 Juli 2019, 22:05:04

Vorheriges Thema - Nächstes Thema

hugomckinley

Durch das Modul HVAC_DaikinAC ist es nicht mehr nötig per HTTPMOD auf die Anlage zuzugreifen. THX to Roelb!
Für die Regelung gibt es ein neues Script. Siehe: https://forum.fhem.de/index.php/topic,114897.0.html


--------------------------------------------------------------------

Für alle Besitzer einer Daikinklimaanlage mit WLAN-Modul. (Ich habe einen WLAN-Adapter mit einem "B" in der Typenbezeichnung)
Eine Bitte an Besitzer mit einem "A"-Adapter: Könnte jemand probieren, ob die "alten" A-Adapter sich auch mit diesem Scrip ansteuern lassen? Danke!

Achtung: Dieses Script befindet ich noch im Beta-Stadium
Die Ansteuerung der Anlage per HTTPMOD ist davon jedoch unabhängig und funktioniert.

Ich werde diesen Artikel immer auf dem aktuellen Stand halten, damit jeder die aktuelle Version des Scripts herunterladen kann.
Da ich mit dem Ein-/und Ausschalten der Anlage auskomme, wird sich die Weiterentwicklung dieses Scripts jedoch in Grenzen halten.
Wenn jemand einen Wunsch hat, der unbedingt/sinnvoll implementiert gehört, bin ich aber natürlich offen für Vorschläge.

Herzlichen Dank an Gamauf der diesen Wikiartikel geschrieben hat, auf dem diese Lösung basiert. (https://wiki.fhem.de/wiki/HTTPMOD_Beispielkonfiguration_zur_Anbindung_einer_Daikin_Klimaanlage_mit_WLAN-Modul)

Wenn jemand weiter machen möchte:
Viel Wissen stammt von hier: https://github.com/Apollon77/daikin-controller

Meine Anforderungen waren:

  • maximaler Komfort (Temperatur sollte immer angenehm sein)
  • maximale Energieeinsparung unter Berücksichtigung vom vorherigen Punkt ;-)
  • offene Fenster müssen Klimaanlage ausschalten und das Schließen der Fenster diese wieder einschalten
  • kein manueller Eingriff nötig (Hausautomatisierung)

Voraussetzungen:

  • Daikin-Klimaanlage mit WLAN-Modul

Bedienungsanleitung:

  • Die Datei 99_daikinUtils.pm ins Verzeichnis <fhemdir>/FHEM/ kopieren und Rechte passend setzen
  • {daikin_define_ac("AC_SZ","192.168.64.7","Schlafzimmer")}
    legt eine Anlage mit dem Namen AC_SZ und der IP 192.168.64.7 im Raum Schalfzimmer an.
    Hier werden die Werte der Anlage im 10 Minuten Abstand ausgelesen und in passende Readings geschrieben.
    Man kann die Anlage über verschiedene set-Befehle steuern, es erfolgt jedoch keine automatische Regelung der Anlage!
  • Optional: Fensterkontakte eintragen im Attribut windows
    Format: Devicename1 Devicename2 (durch Leerzeichen getrennte Liste)
  • {daikin_init_control("AC_SZ","fhem")}
    hiermit wird für die Anlage AC_SZ die automatische Regelung aktiviert. Dies erfolgt durch ein at, das alle 10 Minuten läuft und überwacht, ob die Anlage ein- oder ausgeschaltet werden muss. Weiters erscheint ein neues webCmd, welches die sofortige Fensterüberwachung aktiviert. Diese hat nur dann eine Auswirkung, wenn auch Fensterkontakte definiert wurden. Vorteil: man muss nicht den nächsten Regelzyklus abwarten (bis zu 10 Minuten), sondern die Anlage wird beim Öffnen eines Fensters sofort ausgeschaltet. Ebenso wird die Anlage sofort nach dem Schließen eines Fensters wieder aktiviert (wenn die Sperrzeit(t_off) abgelaufen ist).
  • {daikin_init_control("AC_SZ","manual")}
    Hier wird die Regelung wieder deaktiviert (löschen des at und des notifys)

Damit die Regelung funktioniert gibt es ein paar Attribute die man setzen muss/kann:

  • T_out: Format: Device:reading, die Außentemperatur, welche als Schaltschwelle verwendet wird, um ein Aufheizen des Raums zu verhindern, bevor es drinnen warm wird.
    Ich verwende hier KWL_OG_DG:v00105, was die Zulufttemperatur meiner Lüftungsanlage ist. Es kann aber auch z.B. die Temperatur eines Außenthermometers o.ä. sein. (Auch der Außen-Fühler der Klimaanlage selbst geht)
  • hyst: Schalthysterese der Temperaturen für ein/aus (nur ganze °C sinnvoll, da die Klimaanlage nur ganze Grad liefert.
  • t_min: Sperrzeit in sec. bevor die Anlage wieder in Betrieb gehen darf. (Verhindert oftmaliges Ein-/Ausschalten)
  • windows: Fenster die sich im Raum der Klimaanlage befinden. Leerzeichen getrennte Liste der Devices z.B.: OG_SZ_Ost_SEC OG_SZ_West_SEC

Hier noch ein paar Details zu Regelung:
Als Einschaltkriterien müssen erfüllt sein: Raumtemperatur >= T_soll + hysterese oder Aussen-/Zulufttemperatur > T_soll + hysterese (Raum ist warm, oder Zuluft/Außentemperatur ist warm)
Als Auschaltkriterien müssen erfüllt sein: Innentemperatur < T_soll + hysterese und $T_out + $hysterese < $T_soll (Raum ist nicht zu warm und Zuluft/Außentemperatur ist kühl)

Weiters gibt es einige Readings die man verwenden kann, um die Anlage zu steuern:
enabled = yes/no
cooling_allowed =yes/no
presence = yes/no
(können mit z.B. hier setreadig AC_SZ presence no gesetzt werden)

enabled: z.B. Ausschalten der Anlage per Knopfdruck (Zugluft verhindern im Schlafzimmer)
cooling_allowed: z.B. Globale Kühlfreigabe des Gebäudes gegeben (z.B. Lüftungsanlage muss auch im Sommerbetrieb sein und nicht die Zuluft mit dem Wärmetauscher vorwärmen!)
presence: z.B. Räume nur kühlen, wenn auch jemand im Haus ist. (z.B. Urlaub)

Offene Punkte:

  • evtl. vollständige Implementierung der Funktionen der App von Daikin. Werde ich aber vermutlich nicht machen, da mir prinzipiell ein/aus reicht, zumindest bisher ;-).

Für jegliche Anregung und Kritik/gefunden Fehler bin ich dankbar. Ansonsten bastle ich im stillen Kämmerlein weiter und melde mich bei Neuigkeiten.

Grüße,
Hugo
----------------------------------------------------
FHEM in TrueNAS-Jail
HMLGW + HM-Komponenten, alexa-fhem, Modbus/TCP, Modbus/RS485, LG-WebOS, Firmata, 1wire, ESP-RGBWW, DaikinAC per WLAN, Shellys, Denon AVR, Fronius WR, Helios Wohnraumlüftung, ...

hugomckinley

#1
# Changelog:
#
#    V0.9:
#       - initial release
#
#   V0.91:
#      - bugfix: corrected offtime saving point
#      - bugfix: corrected temperature-level-calculation point
#      - bugfix: moved rebootAP from get to set
#      - bugfix: cleanup when switched back to manual controll
#      - bugfix: cleanup code
#      - bugfix: disabled debug-code
#      - feature: show powerstate as frost-symbol
#      - feature: instant on/off when window is closed/opened

#Known Bugs:
#
#ToDo:
#      - add special-modes to Object (econo/powerfull/streamer)
#
----------------------------------------------------
FHEM in TrueNAS-Jail
HMLGW + HM-Komponenten, alexa-fhem, Modbus/TCP, Modbus/RS485, LG-WebOS, Firmata, 1wire, ESP-RGBWW, DaikinAC per WLAN, Shellys, Denon AVR, Fronius WR, Helios Wohnraumlüftung, ...

hugomckinley

#2
V0.91 ist online

- Status der Anlage wird jetzt als graue oder blaue Schneeflocke angezeigt
- InstantSwitch: Beim Öffen/Schließen eines Fensters wird die Anlage sofort Aus/Ein geschaltet und man muss den nächsten Regelzyklus (bis zu 10Minuten) abwarten. (Beim Schließen muss jedoch die Sperrzeit abgelaufen sein)
- Zum Aktivieren muss man einmal auf daikin_instant_switch klicken.
- Diverse Fehlerkorrekturen

Kurzanleitung für Update:
- Anlage mit gleichem Namen anlegen --> führt zu einem Update
Achtung: Ein Update überschreibt bestehende Attribute -> Temperatursensor für die Außenluft und Fenstersensoren müssen neu gesetzt werden.
- {daikin_init_control(daikin)} und dann {daikin_init_control(fhem)} ausführen.
- Klick auf daikin_instant_switch um das sofortige Schalten zu aktivieren.
----------------------------------------------------
FHEM in TrueNAS-Jail
HMLGW + HM-Komponenten, alexa-fhem, Modbus/TCP, Modbus/RS485, LG-WebOS, Firmata, 1wire, ESP-RGBWW, DaikinAC per WLAN, Shellys, Denon AVR, Fronius WR, Helios Wohnraumlüftung, ...

oli82

Hallo Hugo.

Habe das Modul mal getestet.
Muss ich ebenfalls 10 Minuten warten, bis die Klima einschaltet?
Durch set power 0/1 ändert sich nämlich nichts an der Klima.

Danke und Gruß
Oli

hugomckinley

Hallo Oli,
nein die Schaltfunktionen sind völlig unabhängig von der Regelung.

Ich nehme fast an, dass du einen WLAN-Adapter vom Typ A hast. Meines Wissens nach sind die B Typen ab Mitte 2018 gebaut worden.

Versuch mal, dass du
attr AC_c_WZ set01Data pow=$val&mode={{mode}}&stemp={{stemp}}&shum=0&f_rate={{f_rate}}&f_dir={{f_dir}}
setzt. (AC_c_WZ durch den Namen deiner Anlage ersetzen) versuchst, dann sollte POST statt GET verwendet werden.

Wenn das funktioniert, versuche ich, ob das bei mir dann auch noch funktioniert, dann gibt es eine Version, die für beide Varianten funktioniert. Wenn nicht, muss ich das Script erweitern, und nach Typ A und B unterscheiden.

Gruß
Hugo
----------------------------------------------------
FHEM in TrueNAS-Jail
HMLGW + HM-Komponenten, alexa-fhem, Modbus/TCP, Modbus/RS485, LG-WebOS, Firmata, 1wire, ESP-RGBWW, DaikinAC per WLAN, Shellys, Denon AVR, Fronius WR, Helios Wohnraumlüftung, ...

oli82

Also Ich habe einen Typ A wie es scheint, aber einschalten lässt sich die Klima leider nicht.
Softwareversion ist die 3.3.6

hugomckinley

Hast du das Attribut gesetzt?

Wenn du noch
attr AC_c_WZ set01URL http://192.168.0.321/aircon/set_control_info?
setzt, dann sollte es auf jeden Fall funktionieren, denn das sollte dann der Stand aus dem Wiki-Artikel sein.
https://wiki.fhem.de/wiki/HTTPMOD_Beispielkonfiguration_zur_Anbindung_einer_Daikin_Klimaanlage_mit_WLAN-Modul

Aber bitte zuerst ohne geänderter SET01URL vesuchen, denn wenn das funktioniert wäre es zu beiden Varianten kompatibel.

Gruß
Hugo
----------------------------------------------------
FHEM in TrueNAS-Jail
HMLGW + HM-Komponenten, alexa-fhem, Modbus/TCP, Modbus/RS485, LG-WebOS, Firmata, 1wire, ESP-RGBWW, DaikinAC per WLAN, Shellys, Denon AVR, Fronius WR, Helios Wohnraumlüftung, ...

markusphi

Zitat von: hugomckinley am 05 August 2019, 21:47:25
Hallo Oli,
nein die Schaltfunktionen sind völlig unabhängig von der Regelung.

Hallo,
das Script funktioniert hier eigentlich.
Ich betreibe es im manuellen Modus und versuche die Klimaanlage mit einem DOIF ein/auszuschalten
Das führt in den meisten Fällen zu folgendem Fehler:
2019.08.31 22:01:44 3: Klimaanlage_WZ: Read callback: Error: http://192.168.178.39/aircon/set_control_info?pow=0&mode=3&stemp=27.0&shum=0&f_rate=B&f_dir=0: empty answer received
Und es passiert nichts.
Das DOIF ist so:

([klima_eingeschaltet] == 1 and [Wohnzimmer_Fensterkontakt] eq "closed") (set Klimaanlage_WZ power 1) DOELSE (set Klimaanlage_WZ power 0)

Wenn man aber auf der Kommandozeile
set Klimaanlage_WZ power 0
eingibt funktioniert das ausschalten immer.
Was kann das sein?

hugomckinley

Hallo Markus,
dass es im DOIF nicht (oder selten) funktioniert und per set Befehl immer, macht mich etwas stutzig. Ich verwende es nur per set Befehl und hatte auch noch nie einen Fehler.

Der Fehler an sich -würde ich schätzen- deutet auf ein Konfigurationsproblem mit HTTPMOD hin. Ist aber ein Schuss ins Blaue.
Hast du einen A oder einen B WLAN Adapter?

Gruß,
Hugo
----------------------------------------------------
FHEM in TrueNAS-Jail
HMLGW + HM-Komponenten, alexa-fhem, Modbus/TCP, Modbus/RS485, LG-WebOS, Firmata, 1wire, ESP-RGBWW, DaikinAC per WLAN, Shellys, Denon AVR, Fronius WR, Helios Wohnraumlüftung, ...

t1me2die

Moin, gehört vielleicht nicht ganz hier rein, aber gibt es eine Möglichkeit ein Temperatur Offset bei DAIKIN Klimageräten einzustellen?
Das Gerät zeigt mir eine Innentemperatur von 17Grad an, diverse andere Theromometer im Raume zeigen wir 18Grad an, ich würde also gerne die Innentemperatur +1Grad (Offset) einstellen.
Ist dies irgendwie möglich? Evtl. auch über die Fernbedienung?

Gruß
Mathze

roelb

FYI: I've created a new module to control a Daikin aircon, that solves all of the issues with the HTTPMOD generic module. I've also created a matching TabletUI template and some icons for full control. I need two positive reviews before the module is allowed into the FHEM base, so if any of you guys want to try, the code is here:

https://forum.fhem.de/index.php/topic,109562.msg1035490.html