
En esta parte, le diré la opción de
integración "simple"
de un aire acondicionado (y, en general, de casi cualquier dispositivo controlado a través de IR) usando una puerta de enlace WiFi <=> IR.
Para hacerlo más interesante, elegí una puerta de enlace popular (por cierto, Yandex la usa para su Alice). Puedes comprar uno en Ali, el precio es de aproximadamente 1200 rublos (Yandex es más caro).
El dispositivo es bastante compacto (cabe fácilmente en la palma de su mano), desde los órganos visibles hay un pequeño LED azul discreto y un botón para emparejar. Todo lo demás está oculto detrás de una carcasa transparente infrarroja negra. Puede utilizar cualquier puerto USB disponible (fuente de alimentación, computadora, etc.) como fuente de alimentación. La puerta de enlace se conecta a ella mediante un cable microUSB (suministrado o de cualquier manera conveniente).
La peculiaridad de este dispositivo es que está construido sobre el esp8266 "conocido en círculos estrechos", lo que significa que puede ser "domesticado" con bastante facilidad.
Opción "para los más pequeños"
Antes de cambiar el dispositivo, intenté usarlo en modo normal: instalé la aplicación TuyaSmart en el teléfono (hay versiones para Android y iPhone), y luego todo es simple:
- registrarse en la aplicación,
- pasaremos por un pequeño asistente para conectar un nuevo dispositivo (para esto, la puerta de enlace debe estar conectada a la alimentación y entrar en el modo de "emparejamiento" con un solo botón,
- después de que la puerta de enlace aparece en la aplicación, creamos un nuevo "panel de control": otro pequeño asistente donde selecciona el tipo de dispositivo (en mi caso, aire acondicionado), luego se selecciona el fabricante (no hay Electrolux en la aplicación, pero funcionó muy bien al elegir Midea). Inmediatamente se nos ocurre el "nombre" de la nueva consola (elegí "Mr. White").
Eso es todo Después de eso, aparece el siguiente control remoto en el teléfono:

Con él, puede controlar las funciones básicas básicas:
- encendido / apagado
- ajuste de temperatura
- selección del modo de funcionamiento ("Auto", "Refrigeración", "Calefacción", "Ventilador"),
- selección de velocidad del ventilador ("Auto", "Bajo", "Medio", "Alto").
En general, ya es posible usarlo para el control remoto, pero ¿dónde está la "casa inteligente" y la integración?
Dado que esta es una manera simple, es malo con una casa inteligente, pero con la integración es algo mejor.
Primero, la mosca en la pomada: no hay integración con Apple HomeKit, por lo que Siri aún no está disponible, pero con otras plataformas de la competencia, todo es mucho más divertido:
- Para Amazon Alexa, hay una habilidad Tuya Smart. Es suficiente para activarlo e indicar en él su cuenta, que ingresó durante el registro en la aplicación; puede controlar por voz el aire acondicionado.
- Del mismo modo, puede conectar Tuya Smart al Asistente de Google.
En ambos casos, el idioma ruso no es compatible, pero la voz se controla de manera fácil y sencilla. Encontré los siguientes comandos:
- Alexa, enciende al Sr. White
- Hola, Google, pon al Sr. White a 24 grados
- Alexa, apaga al Sr.Blanco
Permítame recordarle que he implementado el control de voz usando Amazon Echo Dot y Google Home Mini: ambos dispositivos trabajan los comandos de manera idéntica.
Por cierto, qué comandos de voz puede controlar el modo de operación y la velocidad del flujo de aire, no lo encontré. Si alguien me lo dice, te lo agradeceré.
Y luego se hizo la integración "semiautomática" con UD: cuando la temperatura en la habitación sube por encima del umbral, el controlador UD envía un mensaje pidiendo encender el aire acondicionado, y yo, remotamente, usando la aplicación TuyaSmart, encendí el aire acondicionado en el modo requerido.
La solución es "regular", por supuesto, pero al menos de alguna manera puedes usarla.
Pero este no es nuestro camino, seguimos adelante:
Camino Jedi
Autopsia y preparación
Hay una opción para flashear el dispositivo sin abrirlo, el método se describe
aquí .
Este método me pareció innecesariamente complicado (tantos movimientos, cuando el firmware requiere solo 4 cables para soldar), y fue interesante mirar dentro.
Desafortunadamente, en el proceso me dejé llevar y olvidé tomar una foto, así que mostraré las fotos de otras personas:


Más fotos se pueden
ver aquí .
La foto muestra claramente que se utiliza el módulo TYWE3S (la
hoja de
datos en la cual es muy simple en Google).
Ahora necesitas flashear el módulo. El firmware original se sobrescribe y no se puede restaurar.
El firmware se realiza de manera muy simple: tomamos el entorno Arduino (o Atom, o algo más, elija a su gusto). Descargue el boceto con el firmware de
Tasmota en el
entorno de desarrollo . Luego nos conectamos en un módulo TYWE3S RX, TX, GND, VCC desde cualquier serie usb (no se mezcle; necesita 3.3V de potencia y los niveles de señal correspondientes, si hay 5V, tendrá que pedir una nueva puerta de enlace). Antes de aplicar energía, no olvide cerrar (de cualquier manera conveniente) el GPIO0 del módulo a tierra, poniendo así el módulo en modo firmware. Firmware
No es necesario configurar el firmware: todo se puede dejar en el código "tal cual", solo necesitamos "domar" el módulo.
Si todo se hace correctamente (después de desconectar los cables del firmware, por supuesto), encienda la puerta de enlace. En su teléfono o computadora, active la búsqueda de redes WiFi: debe aparecer una nueva red con el nombre sonoff-xxxx (donde xxxx son números), que nuestro dispositivo recoge.
Nos conectamos a esta red y vamos a la dirección:
192.168.4.1 : esta es la interfaz web de nuestra puerta de enlace.
Primero, en la configuración de la puerta de enlace, especifique la red WiFi doméstica y la contraseña (el dispositivo se reiniciará y se conectará a la red doméstica). Además, todas las acciones son más fáciles de hacer en él. Naturalmente, debe averiguar de manera conveniente qué dirección recibió la puerta de enlace en la red doméstica.
Vamos a la
página con las versiones de firmware de Tasmota . Descargue dos archivos: sonoff-minimal.bin y sonoff-ir.bin
Ahora, usando la interfaz web de la puerta de enlace, actualizamos el firmware en dos etapas: primero cosimos la versión "mínima" y el segundo paso es sonoff-ir.
Después de todas estas acciones simples, ya tendremos un módulo con la versión de firmware actual en nuestras manos, solo queda configurarlo de la siguiente manera:

En realidad, esta es la configuración mínima necesaria: en el ejemplo descrito interactuaremos con el módulo utilizando solicitudes GET (aunque también es posible a través de MQTT).
Puede verificar el funcionamiento del módulo y, al mismo tiempo, descubrir algo útil en su consola (hay un enlace disponible desde la página principal de la interfaz web). Abra la consola y vea cómo "vive" el módulo.
Ahora puede comenzar a aprender la interfaz de control del aire acondicionado. Para hacer esto, tome el control remoto estándar del aire acondicionado y presione el botón de encendido. Si todo está bien, entonces una línea como:
19:24:09 MQT: tele/IRbridge/RESULT = {"IrReceived":{"Protocol":"COOLIX","Bits":24,"Data":"0xB29F70","DataLSB":"0x4DF90E","Repeat":0,"IRHVAC":{"Vendor":"COOLIX","Model":-1,"Power":"on","Mode":"cool","Celsius":"on","Temp":22,"FanSpeed":"min","SwingV":"off","SwingH":"off","Quiet":"off","Turbo":"off","Econo":"off","Light":"on","Filter":"off","Clean":"on","Beep":"off","Sleep":-1}}}
El módulo recibió y "analizó" el comando IR del control remoto. Es decir de la consola se deduce inmediatamente qué protocolo (en mi caso es COOLIX) es utilizado por la unidad de aire acondicionado normal y qué parámetros están codificados en el paquete.
Genial, ahora ya puedes controlar el aire acondicionado. Para hacer esto de manera significativa, es mejor familiarizarse con
esta descripción de los comandos.
Para verificar a través de la consola de la puerta de enlace, le enviaremos, por ejemplo, este comando (le daré todos los comandos para mi aire acondicionado, puede que tenga un protocolo de control diferente):
IRhvac{"Protocol":"COOLIX","Power":"On","Mode":"Cool","FanSpeed":"min","Temp":22}
Milagrosamente, el aire acondicionado se enciende inmediatamente y en el modo requerido. Milagro!
Apague el aire acondicionado con el siguiente comando:
IRhvac{"Protocol":"COOLIX","Power":"Off"}
En general, el módulo está preparado y probado.
Ir a la integración!
Aire acondicionado + Domoticz = ¡amistad para siempre!
Utilizo Domoticz como el sistema de automatización principal, por lo que seremos "amigos" de este sistema en particular.
El plan de trabajo es el siguiente:
- Cree varios dispositivos virtuales: un interruptor, dos selectores (para seleccionar modos y caudal de aire) y un termostato.
- Agregue algunos scripts que, mediante acciones con dispositivos virtuales, enviarán comandos a la puerta de enlace.
- Verifique que todo se gestione como debería.
Dispositivos virtuales
Al crear dispositivos, debe especificar sus nombres. Traigo el mío, puedes elegir cualquier otro, solo recuerda arreglar los scripts para ellos más tarde.
Cree un interruptor regular (escriba "Switch") con el nombre "HVAC". Este interruptor se usará para encender / apagar un botón.
Para seleccionar los modos de funcionamiento del aire acondicionado, agregue un interruptor virtual "Modo HVAC" (tipo "Interruptor selector") con las siguientes características:
Tenga en cuenta que aquí creé solo dos modos: "calentamiento" y "enfriamiento". Aunque el aire acondicionado todavía tiene los modos "Automático" y "Ventilador", son inútiles para mí: el primero funciona de alguna manera extraño e incómodo para los hogares, y el segundo nunca fue necesario. Si usa estos modos, simplemente puede agregarlos al selector.
Del mismo modo, cree el selector "HVAC-FanSpeed":
Ahora solo queda crear el termostato HVAC-Temp (el tipo de dispositivo es el punto de ajuste del termostato).
Guiones
De alguna manera estoy más cerca de los scripts de Domoticz en Lua (Dispositivos), por lo que estoy haciendo lo que es más conveniente para mí.
Para mayor claridad: la dirección IP de la puerta de enlace IR en mi red doméstica es 10.40.20.254 y esta dirección aparece en uno de los scripts, deberá fijarla en la dirección de su puerta de enlace.
Crea los siguientes tres guiones.
HVACauto:
commandArray = {} for deviceName,deviceValue in pairs(devicechanged) do if (deviceName=='HVAC-Temp') then if (tonumber(deviceValue) < tonumber(otherdevices_temperature[''])) then commandArray['HVAC-Mode'] = 'Set Level: 10'
Este script compara la temperatura establecida del acondicionador de aire y la temperatura del sensor de "Habitación" para seleccionar el modo correcto: "enfriamiento" o "calefacción".
HVACpower:
commandArray = {} for deviceName,deviceValue in pairs(devicechanged) do if (deviceName == 'HVAC') then if deviceValue == "Off" then print(' ') commandArray['HVAC-Mode'] = 'Set Level: 0'
Este script monitorea el estado del interruptor "general" del aire acondicionado y selecciona el modo de operación deseado al encender o apagar el aire acondicionado.
Y el último script HVACmain:
commandArray = {} local cmnd for deviceName,deviceValue in pairs(devicechanged) do if (deviceName=='HVAC-Mode' or deviceName=='HVAC-FanSpeed' or deviceName=='HVAC-Temp') then if (otherdevices['HVAC-Mode']=='Off') then cmnd = 'http://10.40.20.254/cm?cmnd=IRhvac{"Protocol":"COOLIX","Power":"Off"}' else cmnd = 'http://10.40.20.254/cm?cmnd=IRhvac{"Protocol":"COOLIX","Power":"On","Mode":"'..otherdevices['HVAC-Mode']..'","FanSpeed":"'..otherdevices['HVAC-FanSpeed']..'","Temp":'..otherdevices['HVAC-Temp']..'}' end print(cmnd) os.execute("wget '"..cmnd.."'") end end return commandArray
Pero este guión es el más importante. Genera los comandos correctos con los parámetros necesarios e implementa una solicitud GET a la puerta de enlace. No olvide corregir la dirección IP de su puerta de enlace.
En realidad, eso es todo. Puede cambiar la interfaz de Domoticz a las pestañas correspondientes y "presionar botones" para controlar el aire acondicionado. Si todo se hace correctamente, el sistema de aire acondicionado se controlará según lo necesite.
Caracteristicas
Esta opción a través de una puerta de enlace IR tiene un inconveniente: la falta de comentarios. Es decir Si alguien usa un control remoto estándar, los estados en Domoticz no cambiarán y mostrarán información que ya no es relevante.
En general, esto realmente no interfiere (especialmente si no usa el control remoto IR, sino que usa solo las capacidades del UD).
Por supuesto, puede monitorear con la puerta de enlace IR qué comandos se envían a través de IR (la puerta de enlace transmite esta información a través de MQTT) y programar un poco más para que incluso cuando se usa el control remoto estándar, los estados y parámetros actuales se establezcan en el sistema DD.
Pero aunque no tengo tiempo para esto, y tampoco tengo una necesidad especial (es más fácil "mirar" en el sistema de video vigilancia y ver si el aire acondicionado está encendido).
Y entonces?
Naturalmente, no nos detenemos allí.
Como mínimo, la implementación de gestión actual ya es mucho más funcional que la opción "para los más pequeños".
Después de "reenviar" el aire acondicionado en Domoticz, también hice el control con Siri:

Después de que apareció la oportunidad de controlar el sistema UD (y especialmente, la voz a través de Siri), desapareció la necesidad de usar un control remoto IR estándar.
En un futuro cercano, escribiremos un guión de "invierno" que, en ausencia de los propietarios y a una temperatura "exterior" de al menos -10, utilice los recursos del aire acondicionado para calentar la casa (es más eficiente en energía en este modo que los pisos con calefacción eléctrica, pero menos cómodo), y Cuando los propietarios regresan, cambian nuevamente a calefacción por suelo radiante.
Por supuesto, habrá un script de "verano" que activará automáticamente el modo de enfriamiento y mantendrá la temperatura establecida de la casa.
Naturalmente, todos los casos de uso posibles están limitados solo por la imaginación. No te detengas;)
Parte III?
Por el momento, el módulo WiFi anunciado para controlar el aire acondicionado no ha aparecido a la venta.
Si hay tiempo (largas noches de invierno), adoptaré otro enfoque para el módulo de interfaz del aire acondicionado e intentaré "captar" los comandos internos del aire acondicionado.
Entonces ... ¡estad atentos!