HTTPMOD Configuration for Daikin Airconditioner with BRP069B42 WiFi Module

Begonnen von 7w7, 02 April 2021, 18:37:54

Vorheriges Thema - Nächstes Thema

7w7

Dear all,

Garnauf, Kirkan and Markusbloch generated a Wiki artcle 3-5 years ago, how to control Daikin airconditioners via HTTPMOD.
https://wiki.fhem.de/wiki/HTTPMOD_Beispielkonfiguration_zur_Anbindung_einer_Daikin_Klimaanlage_mit_WLAN-Modul

There are newer posts in this forum complaining that the HTTPMOD configuration does not work, however, if you modify a few details it works perfectly - at least for my BRP069B42 WiFi Module.

I would like to suggest to have the changes cross-checked by the FHEM community and potentially add them to the Wiki article.

The example configuration contained "set0Xdata" entries which in the original version would be added to generate the final URL for the Daikin "set_control_info" HTTP interface - this did not work for me.
Therefore, I added additional "set0XURL" entries to the configuration which allow to generate the control URLs for every control value needed and also allows to set the humidity.

Secondly, I added a homebridgemapping, which allows the integration of this HTTPMOD integration into Apple Homekit. However, it is not possible to control the fan speed at the moment. Suggestions highly appreciated!

Please find below the updated configuration:

define AC_s_WZ HTTPMOD http://192.168.xxx.YYY/aircon/get_sensor_info 600
setuuid AC_s_WZ 605ef580-f33f-c20b-a7fe-3a0a47e01551a777
attr AC_s_WZ enableControlSet 1
attr AC_s_WZ group AC
attr AC_s_WZ icon frost
attr AC_s_WZ reading01Name ret
attr AC_s_WZ reading01Regex ret=([^,]*)
attr AC_s_WZ reading02Name htemp
attr AC_s_WZ reading02Regex htemp=([^,]*)
attr AC_s_WZ reading03Name hhum
attr AC_s_WZ reading03Regex hhum=([^,]*)
attr AC_s_WZ reading04Name otemp
attr AC_s_WZ reading04Regex otemp=([^,]*)
attr AC_s_WZ reading05Name err
attr AC_s_WZ reading05Regex err=([^,]*)
attr AC_s_WZ reading06Name cmpfreq
attr AC_s_WZ reading06Regex cmpfreq=([^,]*)
attr AC_s_WZ room Homekit,Wohnzimmer
attr AC_s_WZ stateFormat Innen: htemp °C Aussen: otemp °C
define FileLog_AC_s_WZ FileLog ./log/AC_s_WZ-%Y-%m.log AC_s_WZ
setuuid FileLog_AC_s_WZ 605ef837-f33f-c20b-dbbe-a691d3976802664f
attr FileLog_AC_s_WZ logtype temp4hum6:Temp/Hum,text
attr FileLog_AC_s_WZ room Wohnzimmer
define SVG_AC_s_WZ SVG FileLog_AC_s_WZ:SVG_AC_s_WZ:CURRENT
setuuid SVG_AC_s_WZ 605ef8a4-f33f-c20b-787d-83593459f2aba142
attr SVG_AC_s_WZ label "Daikin WZ Min $data{min1}, Max $data{max1}, Last $data{currval1} , Daikin Dach Min $data{min2}, Max $data{max2}, Last $data{currval2}"
attr SVG_AC_s_WZ room Plots,Wetter
define AC_c_WZ HTTPMOD http://192.168.xxx.YYY/aircon/get_control_info 60
setuuid AC_c_WZ 605ef90f-f33f-c20b-801c-dcaccea40b95b4a9
attr AC_c_WZ userattr reading11OMap reading12OMap reading33OMap reading34OMap set03Hint setURL
attr AC_c_WZ devStateIcon off.*:frost@grey:on on.*:frost@blue:off
attr AC_c_WZ enableControlSet 1
attr AC_c_WZ genericDeviceType thermostat
attr AC_c_WZ group AC
attr AC_c_WZ homebridgeMapping TargetTemperature=stemp::stemp,minValue=18,maxValue=30,minStep=0.5 \
CurrentTemperature=AC_s_WZ:htemp\
TargetHeatingCoolingState=mode::mode,cmds=OFF:off;;COOL:on+;;;;+mode+3;;HEAT:on+;;;;+mode+4;;AUTO:on+;;;;+mode+7\
CurrentHeatingCoolingState=mode::mode,values=COOL:mode+3;;HEAT:mode+4;;AUTO:mode+7\
TargetRelativeHumidity=shum::shum,,minValue=0,maxValue=100,minStep=1\
CurrentRelativeHumidity=AC_s_WZ:hhum\
RotationSpeed=f_rate::f_rate,cmds=AUTO:AC_c_WZ+f_rate+A,silence:AC_c_WZ+f_rate+B,lvl_1:AC_c_WZ+f_rate+3,lvl_2:AC_c_WZ+f_rate+4,lvl_3:AC_c_WZ+f_rate+5,lvl_4:AC_c_WZ+f_rate+6,lvl_5:AC_c_WZ+f_rate+7
attr AC_c_WZ icon frost
attr AC_c_WZ reading10Name ret
attr AC_c_WZ reading10Regex ret=([^,]*)
attr AC_c_WZ reading11Name pow
attr AC_c_WZ reading11Regex pow=([^,]*)
attr AC_c_WZ reading12Name mode
attr AC_c_WZ reading12Regex mode=([^,]*)
attr AC_c_WZ reading13Name adv
attr AC_c_WZ reading13Regex adv=([^,]*)
attr AC_c_WZ reading14Name stemp
attr AC_c_WZ reading14Regex stemp=([^,]*)
attr AC_c_WZ reading15Name shum
attr AC_c_WZ reading15Regex shum=([^,]*)
attr AC_c_WZ reading16Name dt1
attr AC_c_WZ reading16Regex dt1=([^,]*)
attr AC_c_WZ reading17Name dt2
attr AC_c_WZ reading17Regex dt2=([^,]*)
attr AC_c_WZ reading18Name dt3
attr AC_c_WZ reading18Regex dt3=([^,]*)
attr AC_c_WZ reading19Name dt4
attr AC_c_WZ reading19Regex dt4=([^,]*)
attr AC_c_WZ reading20Name dt5
attr AC_c_WZ reading20Regex dt5=([^,]*)
attr AC_c_WZ reading21Name dt7
attr AC_c_WZ reading21Regex dt7=([^,]*)
attr AC_c_WZ reading22Name dh1
attr AC_c_WZ reading22Regex dh1=([^,]*)
attr AC_c_WZ reading23Name dh2
attr AC_c_WZ reading23Regex dh2=([^,]*)
attr AC_c_WZ reading24Name dh3
attr AC_c_WZ reading24Regex dh3=([^,]*)
attr AC_c_WZ reading25Name dh4
attr AC_c_WZ reading25Regex dh4=([^,]*)
attr AC_c_WZ reading26Name dh5
attr AC_c_WZ reading26Regex dh5=([^,]*)
attr AC_c_WZ reading27Name dh7
attr AC_c_WZ reading27Regex dh7=([^,]*)
attr AC_c_WZ reading28Name dhh
attr AC_c_WZ reading28Regex dhh=([^,]*)
attr AC_c_WZ reading29Name b_mode
attr AC_c_WZ reading29Regex b_mode=([^,]*)
attr AC_c_WZ reading30Name b_stemp
attr AC_c_WZ reading30Regex b_stemp=([^,]*)
attr AC_c_WZ reading31Name b_shum
attr AC_c_WZ reading31Regex b_shum=([^,]*)
attr AC_c_WZ reading32Name alert
attr AC_c_WZ reading32Regex alert=([^,]*)
attr AC_c_WZ reading33Name f_rate
attr AC_c_WZ reading33Regex f_rate=([^,]*)
attr AC_c_WZ reading34Name f_dir
attr AC_c_WZ reading34Regex f_dir=([^,]*)
attr AC_c_WZ reading35Name b_f_rate
attr AC_c_WZ reading35OMap A:auto, B:silent, 3:very_low, 4:low, 5:medium, 6:high, 7:very_high
attr AC_c_WZ reading35Regex b_f_rate=([^,]*)
attr AC_c_WZ reading36Name b_f_dir
attr AC_c_WZ reading36OMap 0:stopped, 1:vertical, 2:horizontal, 3:vertical&horizontal
attr AC_c_WZ reading36Regex b_f_dir=([^,]*)
attr AC_c_WZ reading37Name dfr1
attr AC_c_WZ reading37Regex dfr1=([^,]*)
attr AC_c_WZ reading38Name dfr2
attr AC_c_WZ reading38Regex dfr2=([^,]*)
attr AC_c_WZ reading39Name dfr3
attr AC_c_WZ reading39Regex dfr3=([^,]*)
attr AC_c_WZ reading40Name dfr4
attr AC_c_WZ reading40Regex dfr4=([^,]*)
attr AC_c_WZ reading41Name dfr5
attr AC_c_WZ reading41Regex dfr5=([^,]*)
attr AC_c_WZ reading42Name dfr6
attr AC_c_WZ reading42Regex dfr6=([^,]*)
attr AC_c_WZ reading43Name dfr7
attr AC_c_WZ reading43Regex dfr7=([^,]*)
attr AC_c_WZ reading44Name dfrh
attr AC_c_WZ reading44Regex dfrh=([^,]*)
attr AC_c_WZ reading45Name dfd1
attr AC_c_WZ reading45Regex dfd1=([^,]*)
attr AC_c_WZ reading46Name dfd2
attr AC_c_WZ reading46Regex dfd2=([^,]*)
attr AC_c_WZ reading47Name dfd3
attr AC_c_WZ reading47Regex dfd3=([^,]*)
attr AC_c_WZ reading48Name dfd4
attr AC_c_WZ reading48Regex dfd4=([^,]*)
attr AC_c_WZ reading49Name dfd5
attr AC_c_WZ reading49Regex dfd5=([^,]*)
attr AC_c_WZ reading50Name dfd6
attr AC_c_WZ reading50Regex dfd6=([^,]*)
attr AC_c_WZ reading51Name dfd7
attr AC_c_WZ reading51Regex dfd7=([^,]*)
attr AC_c_WZ reading52Name dfdh
attr AC_c_WZ reading52Regex dfdh=([^,]*)
attr AC_c_WZ replacement01Mode expression
attr AC_c_WZ replacement01Regex {{([^}]+)}}
attr AC_c_WZ replacement01Value ReadingsVal($name, $1, "")
attr AC_c_WZ room Homekit,Wohnzimmer
attr AC_c_WZ set01Data pow=$val&mode={{mode}}&stemp={{stemp}}&shum={{shum}}&f_rate={{f_rate}}&f_dir={{f_dir}}
attr AC_c_WZ set01Hint 0,1
attr AC_c_WZ set01Max 1
attr AC_c_WZ set01Min 0
attr AC_c_WZ set01Name power
attr AC_c_WZ set01URL http://192.168.178.61/aircon/set_control_info?pow=$val&mode={{mode}}&stemp={{stemp}}&shum={{shum}}&f_rate={{f_rate}}&f_dir={{f_dir}}
attr AC_c_WZ set02Max 50
attr AC_c_WZ set02Min 0
attr AC_c_WZ set02Name shum
attr AC_c_WZ set02URL http://192.168.xxx.YYY/aircon/set_control_info?pow={{pow}}&mode={{mode}}&stemp={{stemp}}&shum=$val&f_rate={{f_rate}}&f_dir={{f_dir}}
attr AC_c_WZ set03Data pow={{pow}}&mode={{mode}}&stemp=$val&shum={{shum}}&f_rate={{f_rate}}&f_dir={{f_dir}}
attr AC_c_WZ set03Max 30
attr AC_c_WZ set03Min 18
attr AC_c_WZ set03Name stemp
attr AC_c_WZ set03URL http://192.168.xxx.YYY/aircon/set_control_info?pow={{pow}}&mode={{mode}}&stemp=$val&shum={{shum}}&f_rate={{f_rate}}&f_dir={{f_dir}}
attr AC_c_WZ set04Name mode
attr AC_c_WZ set04URL http://192.168.xxx.YYY/aircon/set_control_info?pow={{pow}}&mode=$val&stemp={{stemp}}&shum={{shum}}&f_rate={{f_rate}}&f_dir={{f_dir}}
attr AC_c_WZ stateFormat {(ReadingsVal($name,"pow","") == 1) ? ("on") : ("off") }
attr AC_c_WZ verbose 3
attr AC_c_WZ webCmd stemp
attr AC_c_WZ widgetOverride stemp:slider,18,1,30


And the according homebridge mapping:

TargetTemperature=stemp::stemp,minValue=18,maxValue=30,minStep=0.5
CurrentTemperature=AC_s_WZ:htemp
TargetHeatingCoolingState=mode::mode,cmds=OFF:off;COOL:on+;;+mode+3;HEAT:on+;;+mode+4;AUTO:on+;;+mode+7
CurrentHeatingCoolingState=mode::mode,values=COOL:mode+3;HEAT:mode+4;AUTO:mode+7
TargetRelativeHumidity=shum::shum,,minValue=0,maxValue=100,minStep=1
CurrentRelativeHumidity=AC_s_WZ:hhum
RotationSpeed=f_rate::f_rate,cmds=AUTO:AC_c_WZ+f_rate+A,silence:AC_c_WZ+f_rate+B,lvl_1:AC_c_WZ+f_rate+3,lvl_2:AC_c_WZ+f_rate+4,lvl_3:AC_c_WZ+f_rate+5,lvl_4:AC_c_WZ+f_rate+6,lvl_5:AC_c_WZ+f_rate+7



Bronze

Zum Testen kann ich noch nichts beisteuern - ich stehe kurz vor einer Kaufentscheidung - und schwanke zwischen einer KNX-Anbindung der Raumgeräte - deren Anschluss aufwendig wäre (Schlitzen, Malerarbeiten) - oder der Nutzung der FHEM-WLAN-Lösung.
Läuft die WLAN-Anbindung denn wirklich zuverlässig bei Dir, sind die Geräte gut ansprechbar bei entsprechend guter WLAN-Versorgung?

7w7

Ja, läuft bei mir sehr zuverlässig. Die Klimaanlage lässt sich auch sehr gut über das fhem homebridge Modul über Apple Home kontrollieren. Das funktioniert in meinem Fall sogar für die Luftfeuchte, da das Klimagerät diese Funktion hat. Allerdings sind nicht alle Funktionen der Klimaanlage über das WLAN Interface ansteuerbar sondern nur über die IR Fernbedienung (wie zum Beispiel Frischluftzufuhr oder Filterreinigung) was für mich keine große Rolle spielt, da man diese Funktionen nicht so oft braucht. Habe leider keine Infos, inwieweit hier eine KNX Anbindung Vorteile hätte. Ich bin mit der WLAN Ansteuerung aber sehr zufrieden.