Modificar Nivian Smart Infrared Controller IR Controller (NVS-SMARTIR-W2) con tasmota-ir e integración de un aire acondicionado Daikin en Home Assistant

En esta ocasión cambiaremos el firmware de este controlador de infrarrojos para poder usarlo desde nuestro Home Assistant

Yo compre en este enlace de pccomponentes un par de ellos por unos 14€ cada uno

En el interior tiene un ESP8266EX soldado directamente en la placa de circuito impreso , lo abriremos introduciendo con bastante cuidado un destornillador en la parte del conector USB y sacando cada uno de los cuatro clips de plástico que lleva.

Ubicación de cada uno de los clips de plástico

Después de abrirlo tendremos que flashearlo con el fichero tasmota-ir.bin via puerto seria , el fichero es el que podéis encontrar adjunto mas abajo

Soldaremos unos cables en los puntos indicados , yo además por comodidad soldé uno mas en la parte del regulador que pone 3,3V . que en realidad es GND para llevar a masa la señal GPIO0 , cuando alimentamos el dispositivo sin cruzar GPIO0 se enciende durante un momento el led blanco , cuando ponemos a masa GPIO0 al arrancar dicho led no se enciende , esto indica que esta en modo programación

las señales RX y TX van cruzadas , es decir del adaptador 232 RX a la señal TX del modulo , y la TX al RX del modulo

Podemos utilizar varias herramientas para flashear el modulo , en este caso para programar usare esptool.py

Con este comando sacaremos una copia de seguridad del contenido de la flash del dispositivo

python esptool.py --port COM3 --baud 115200 read_flash 0x00000 0x100000 backup-nivian1.bin

Con este comando borraremos la flash del dispositivo antes de proceder a grabarlo

python esptool.py --port COM3 --baud 115200 erase_flash

Procedemos a grabar el fichero con el firmware nuevo

python esptool.py --port COM3  --baud 115200 write_flash -fs detect -fm dout 0x00000 tasmota-ir.bin

Si todo es correcto nos debería aparecer la nueva red wifi al arrancar , desoldamos los cables y cerramos el equipo

Al conectarnos a la nueva red en la dirección 192.168.4.1 procederemos a programar el modulo

Aplicaremos la siguiente plantilla según este enlace

{"NAME":"Nivian NVS-SMARTIR-W2","GPIO":[0,3200,0,3232,320,1088,0,0,0,32,1056,0,0,0],"FLAG":0,"BASE":62}

Configuraremos toda la parte del wifi y de mqtt

Para ver que todo es correcto desde la consola enviamos el comando IRHVAC {“vendor”:”xx”} y nos devolverá la lista de marcas soportadas

23:57:17.154 CMD: IRHVAC {"Vendor":"xx"}
23:57:17.180 MQT: stat/tasmota_IR_1/RESULT = {"IRHVAC":"Wrong Vendor (LG|COOLIX|DAIKIN|KELVINATOR|MITSUBISHI_AC|GREE|ARGO|TROTEC|TOSHIBA_AC|FUJITSU_AC|MIDEA|HAIER_AC|HITACHI_AC|HITACHI_AC1|HAIER_AC_YRW02|WHIRLPOOL_AC|SAMSUNG_AC|ELECTRA_AC|PANASONIC_AC|LG2|DAIKIN2|VESTEL_AC|TECO|TCL112AC|MITSUBISHI_HEAVY_88|MITSUBISHI_HEAVY_152|DAIKIN216|SHARP_AC|GOODWEATHER|DAIKIN160|NEOCLIMA|DAIKIN176|DAIKIN128|AMCOR|DAIKIN152|MITSUBISHI136|MITSUBISHI112|HITACHI_AC424|DAIKIN64|AIRWELL|DELONGHI_AC|CARRIER_AC64|HITACHI_AC344|CORONA_AC|SANYO_AC|VOLTAS|TRANSCOLD|TECHNIBEL_AC|MIRAGE|PANASONIC_AC32|ECOCLIM|TRUMA|HAIER_AC176|TEKNOPOINT|KELON|TROTEC_3550|SANYO_AC88|RHOSS|AIRTON|HITACHI_AC264|HITACHI_AC296|HAIER_AC160|BOSCH144)"}

Apuntaremos con el mando y en la consola veremos los comandos que estamos recibiendo

00:07:37.168 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000132007F000000000000C5000089","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":25,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:07:38.418 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000132007F000000000000C5000089","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":25,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:07:50.166 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000134007F000000000000C500008B","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":26,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:07:52.465 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000136007F000000000000C500008D","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":27,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:07:54.001 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000134007F000000000000C500008B","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":26,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:07:55.168 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000132007F000000000000C5000089","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":25,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:07:56.515 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000130007F000000000000C5000087","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":24,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:07:59.002 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA27000021C000AF000000000000C5000067","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Dry","Power":"On","Celsius":"On","Temp":96,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}

Usaremos un componente custom externo , el Tasmota-IRHVAC que podemos encontrar aquí , ya que smartir va muy bien con el RMini 3 , pero no acepta comandos via MQTT que es como trabajaremos con este mando

Una vez instalado el componente tendremos que mirar todos los modos para poder configurar el climate correctamente , a mi despues de pasar por todos los modos me salio esto

00:18:32.529 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA27000025C000AF0000C0030000C500002E","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Dry","Power":"On","Celsius":"On","Temp":96,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:18:33.677 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA27000025C000AF000080070000C50000F2","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Dry","Power":"On","Celsius":"On","Temp":96,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:18:36.477 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA27000025C000AF0000400B0000C50000B6","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Dry","Power":"On","Celsius":"On","Temp":96,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:18:41.328 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA27000021C000AF000000000000C5100077","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Dry","Power":"On","Celsius":"On","Temp":96,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:18:42.126 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA27000021C000AF000000000000C5100077","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Dry","Power":"On","Celsius":"On","Temp":96,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:18:44.180 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA27000020C000AF000000000000C54000A6","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Dry","Power":"Off","Celsius":"On","Temp":96,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:18:51.431 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA27000020C000AF000000000000C54000A6","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Dry","Power":"Off","Celsius":"On","Temp":96,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:18:56.631 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000130007F000000000000C5000087","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":24,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:19:01.033 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000130007F000000000000C5000087","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":24,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:19:08.967 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700003124007F000000000000C50000AB","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Cool","Power":"On","Celsius":"On","Temp":18,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:19:10.869 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA27000021C000AF000000000000C5000067","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Dry","Power":"On","Celsius":"On","Temp":96,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:19:14.120 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700004132007F000000000000C50000C9","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Heat","Power":"On","Celsius":"On","Temp":25,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:19:16.719 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700006132007F000000000000C50000E9","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Fan","Power":"On","Celsius":"On","Temp":25,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:19:21.684 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA270000613200AF000000000000C5000019","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Fan","Power":"On","Celsius":"On","Temp":25,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:19:22.824 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA270000613200BF000000000000C5000029","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Fan","Power":"On","Celsius":"On","Temp":25,"FanSpeed":"Min","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:19:28.980 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700006132003F000000000000C50000A9","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Fan","Power":"On","Celsius":"On","Temp":25,"FanSpeed":"Low","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:19:30.681 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700006132004F000000000000C50000B9","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Fan","Power":"On","Celsius":"On","Temp":25,"FanSpeed":"Medium","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:19:34.918 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700006132005F000000000000C50000C9","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Fan","Power":"On","Celsius":"On","Temp":25,"FanSpeed":"Medium","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:19:44.001 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700006132006F000000000000C50000D9","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Fan","Power":"On","Celsius":"On","Temp":25,"FanSpeed":"High","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:19:50.599 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700006132007F000000000000C50000E9","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Fan","Power":"On","Celsius":"On","Temp":25,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:20:15.507 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000130007F000000000000C5000087","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":24,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:20:24.114 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000130007F000000000000C504008B","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":24,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:20:29.831 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000130007F000000000000C5000087","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":24,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:20:33.830 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000130007F000000000000C504008B","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":24,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:20:36.781 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000130007F000000000000C5000087","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":24,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:20:42.088 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000130007F000000000000C504008B","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":24,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:20:48.745 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000132007F000000000000C504008D","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":25,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:20:51.952 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000134007F000000000000C504008F","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":26,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:20:54.163 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000136007F000000000000C5040091","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":27,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:20:57.133 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000138007F000000000000C5040093","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":28,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:20:59.567 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA270000013A007F000000000000C5040095","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":29,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:21:02.076 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA270000013C007F000000000000C5040097","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":30,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:21:05.426 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA270000013C007F000000000000C5040097","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":30,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:21:07.711 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA270000013A007F000000000000C5040095","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":29,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:21:09.974 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000138007F000000000000C5040093","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":28,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:21:12.539 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000136007F000000000000C5040091","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":27,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:21:15.001 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000134007F000000000000C504008F","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":26,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:21:18.001 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000132007F000000000000C504008D","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":25,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:21:19.555 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000130007F000000000000C504008B","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":24,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:21:21.000 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA270000012E007F000000000000C5040089","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":23,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:21:25.155 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA270000012C007F000000000000C5040087","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":22,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:21:27.754 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA270000012A007F000000000000C5040085","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":21,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:21:29.334 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000128007F000000000000C5040083","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":20,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:21:31.347 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000126007F000000000000C5040081","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":19,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:21:32.546 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000124007F000000000000C504007F","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":18,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:21:34.533 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA2700000124007F000000000000C504007F","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":18,"FanSpeed":"Max","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:21:39.934 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA270000012400A0000000000000C50600A2","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":18,"FanSpeed":"Auto","SwingV":"Off","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"On","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:21:45.034 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA270000012400A0000000000100C500009D","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":18,"FanSpeed":"Auto","SwingV":"Off","SwingH":"Off","Quiet":"Off","Turbo":"On","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:21:50.080 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA270000012400AF000000000100C50000AC","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":18,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"On","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:22:06.030 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA270000012400AF000000000100C50000AC","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"On","Celsius":"On","Temp":18,"FanSpeed":"Auto","SwingV":"Auto","SwingH":"Off","Quiet":"Off","Turbo":"On","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
00:22:07.479 MQT: tele/tasmota_IR_1/RESULT = {"IrReceived":{"Protocol":"DAIKIN152","Bits":152,"Data":"0x11DA270000002400A0000000000000C54200DD","Repeat":0,"IRHVAC":{"Vendor":"DAIKIN152","Model":-1,"Mode":"Auto","Power":"Off","Celsius":"On","Temp":18,"FanSpeed":"Auto","SwingV":"Off","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}

Con esta información configuraremos el climate correctamente con algo similar a esto

  - platform: tasmota_irhvac
    name: "ac daikin"
    unique_id: daikin_AC    
    command_topic: "cmnd/tasmota_IR_1/irhvac"
    state_topic: "tele/tasmota_IR_1/RESULT"
    # State is updated when the tasmota device completes IR transmissionm, should be pretty reliable.
    #state_topic: "stat/tasmota_IR_1/RESULT"
    # Uncomment if your 'available topic' of Tasmota IR device are different (if device in HA is disabled)
    availability_topic: "tele/tasmota_IR_1/LWT"
    temperature_sensor: sensor.temperatura_matrimonio_calibrada
    humidity_sensor: sensor.humedad_matrimonio_calibrada
    # power_sensor: binaly_sensor.kitchen_ac_power #optional - default None
    vendor: "DAIKIN152"
    min_temp: 18 #optional - default 16 int value
    max_temp: 30 #optional - default 32 int value
    target_temp: 25 #optional - default 26 int value
    initial_operation_mode: "off" # optional - default "off" string value (one of the "supported_modes")
    away_temp: 24 #optional - default 24 int value
    precision: 1 #optional - default 1 int or float value. Can be set to 1, 0.5 or 0.1
    supported_modes:
      - "heat"
      - "cool"
      - "dry"
      - "fan_only" # Use "fan_only" even if Tasmota shows "Mode":"Fan"
      - "auto"
      - "off" #Turns the AC off - Should be in quotes
      # Some devices have "auto" and "fan_only" switched
      # If the following two lines are uncommented, "auto" and "fan" shoud be commented out
      #- "auto_fan_only" #if remote shows fan but tasmota says auto
      #- "fan_only_auto" #if remote shows auto but tasmota says fan
    supported_fan_speeds:
      # Some devices say max,but it is high, and auto which is max
      # If you uncomment the following two, you have to comment high and max
      # - "auto_max" #woud become max
      # - "max_high" #would become high
      #- "on"
      #- "off"
      #- "middle"
      #- "focus"
      #- "diffuse"
      - "min"
      - "low"
      - "medium"
      - "high"
      - "max"
      - "auto"      
    supported_swing_list:
      - "off"
      - "vertical" #up to down
      # - "horizontal" # Left to right
      # - "both"
    default_quiet_mode: "Off" #optional - default "Off" string value
    default_turbo_mode: "Off" #optional - default "Off" string value
    default_econo_mode: "Off" #optional - default "Off" string value
    hvac_model: "-1" #optional - default "1" string value
    celsius_mode: "On" #optional - default "On" string value
    default_light_mode: "Off" #optional - default "Off" string value
    default_filter_mode: "Off" #optional - default "Off" string value
    default_clean_mode: "Off" #optional - default "Off" string value
    default_beep_mode: "Off" #optional - default "Off" string value
    default_sleep_mode: "-1" #optional - default "-1" string value
    default_swingv: "high" #optional - default "" string value
    default_swingh: "left" #optional - default "" string value 
    keep_mode_when_off: True #optional - default False boolean value : Must be True for MITSUBISHI_AC, ECOCLIM, etc.
    toggle_list: #optional - default []
      # The toggled property is a setting that does not retain the On state.
      # Set this if your AC properties are toggle function.
      #- Beep
      #- Clean
      #- Econo
      #- Filter
      #- Light
      #- Quiet
      #- Sleep
      #- SwingH
      #- SwingV
      #- Turbo    

Lo tuneamos en el customize

climate.ac_daikin:
  friendly_name: AC Daikin Matrim.
  icon: mdi:air-conditioner

Lo añadiremos a nuestro panel Lovelace

      - type: entities
        title: Habitación matrimonio
        show_name: true
        show_state: false
        show_header_toggle: false
        columns: 3     
        entities:
          - climate.ac_daikin
          - type: divider

Y una vez en marcha si vamos cambiando los modos y temperaturas nuestro aire debería responder

aquí podemos poner los diferentes ajustes con mas definición …

Podemos añadir una card mini-climate

      - type: custom:mini-climate
        entity: climate.ac_daikin
        target_temperature:
          icons:
            up: mdi:chevron-up
            down: mdi:chevron-down
          unit: '°C'
          min: 18
          max: 30
          step: 0.5
          change_action: >
            (value, entity) => this.call_service('climate', 'set_temperature', { entity_id: entity.entity_id, temperature: value })  

Y ahora desde nuestro Home Assistant tendremos pleno control de nuestro aire Daikin

Con esto y un bizcocho ………………..

Deja un comentario