Home Assistant #21: Controla tu aire acondicionado con un sonoff basic por infrarrojos e integrarlo en Home Assistant

Tutoriales

Primero, que vas a necesitar para controlar nuestro aire acondicionado por infrarrojos:

  • 1 Sonoff Basic. Puedes comprarlo en eBay o Aliexpress
  • 1 emisor de infrarrojos. Aquí puedes elegir varias opciones o construirlo, en mi caso he comprado el siguiente de aliexpress .También está la opción de construirlo como indica Tasmota aquí.
  • 1 Programador USB TTL a 3.3v (e.g. CP2102, CH340G, FT232, PL2303) .
  • Para flashear esptool.py. Necesitas python y pip.

Software que vamos a necesitar, pues esptool para flashear el sonoff y ya dependiendo del uso que queramos darle podemos usar cualquier software MQTT (por ejemplo mosquitto, podéis ver el tutorial para instalar un servidor MQTT) y Home Assistant o una aplicación Android para controlar via MQTT nuestro aire acondicionado.
Para Android podéis usar la aplicación MQTT Dash
Este firmware se ha generado usando la última versión estable de EspEasy R120 que podemos descargar aquí. A día de hoy está la 2.0.0 pero cuando se empezó a desarrollar no estaba liberada como estable. También se ha usado la librería HeatpumpIR de ToniA.

Manos a la obra: flasheando nuestro sonoff

Descarga la imagen el firmware de aquí

Descarga e instala la versión de python más reciente 3.x y luego instala pip con el siguiente comando:

pip install esptool

NOTA: En algunos sistemas puede dar error, intenta con los siguientes comandos: python -m pip install esptool o pip2 install esptool

Conectar el FTDI con el sonoff

Para flashear el dispositivo suponiendo que tenemos el FTDI en el puerto COM7, podéis mirar por internet como comprobar el puerto en el administrador de dispositivos.

esptool.py --port COM7 write_flash -fs 1MB -fm dout 0x0 ESPEasy.sonoff-HVAC.bin

Una vez flasheado, se reiniciará y podéis configurarlo con el FTDI conectado o conectarlo a la corriente. Con el FTDI es más seguro.

Configurando nuestro Sonoff/EspEasy

Cuando inicie el EspEasy creará una red que se llama ESP_0, la clave para acceder a la red el password por defecto es configesp.

Si tenéis el DHCP configurado en vuestra red, os asignará una IP y para acceder al sonoff tenéis que poner la siguiente ip en el navegador: 192.168.4.1 aunque creo que si ponéis otra distinta os redirecciona a esa.

En este punto, configurar vuestra wifi como sigue:

Seleccionad vuestra red, poner el password y darle a conectar. Se reiniciará y os indicará la IP que os ha dado vuestra red.

Accedéis a la IP que os indica y configuraremos los apartados siguientes como os indico:

Os voy a indicar lo más importante que debéis configurar, el resto de opciones las tenéis documentadas en la web de EspEasy.

  • Name: Nombre de vuestro dispositivo, influirá a la hora de configurar el mqtt en vuestro Home Assistant.
  • Protocol: En nuestro caso vamos a usar Openhab MQTT que es compatible con Home Assistant.
  • Locate controller: Ip Addres para poner la dirección de nuestro servidor MQTT.
  • Controller port: puerto del servidor MQTT
  • Controller user: usuario de conexión al servidor MQTT
  • Controller Password: Password del usuario.

Le damos a submit y habremos terminado esta parte

Conexión y configuración del infrarrojos

VCC → Sonoff PIN 1 (3.3v)
GND → Sonoff PIN 4 (GND)
DAT → Sonoff PIN 5 (GPIO14) Se podría conectar al RX, TX u otro GPIO pero no se ha probado.

Para configurar el Infrarrojos, iremos al apartado devices del firmware.

Le daremos a edit en el primero, en mi captura ya está configurado para un aire acondicionado de Daikin.

Procederemos a configurar el dispositivo y el tipo de aire acondicionado. En el name hay que indicar uno de los siguientes según vuestra marca.

  • Daikin (mirar vuestro mando 433 y compatibles)
  • daikin_arc417 (mirar vuestro mando)
  • panasonic_ckp
  • panasonic_dke
  • panasonic_jke
  • panasonic_nke
  • panasonic_lke
  • carrier_nqv
  • carrier_mca
  • midea
  • fujitsu_awyz
  • mitsubishi_fd
  • mitsubishi_fe
  • mitsubishi_msy
  • mitsubishi_fa
  • mitsubishi_heavy_zj
  • mitsubishi_heavy_zm
  • samsung_aqv
  • samsung_fjm
  • sharp
  • hyundai
  • hisense_aud
  • gree (generico)
  • greeyan
  • fuego
  • toshiba

El IDX/ VAR debe de ser distinto a cualquier otro device (dispositivo), en mi caso solo tengo 1 por lo que pongo 1.

El 1st GPIO, en mi caso GPIO-14 pero como digo se pueden usar otros, si tenéis WEMOS o NodeMCU podéis usar otros.

Le damos a submit y estaría todo lo básico listo.

Para terminar tendríamos que ir al apartado TOOLS→ Advanced y lo configuramos como sigue:

Lo importante es el apartado subscribe template: /%sysname%/#

y Publish Template: /%sysname%/%tskname%/%valname%

Lo demás es para sincronizar el reloj. Con esto dejaríamos terminada la configuración del sonoff.

Configuración de Home Assistant

Para el que solo quiera encenderlo y apagarlo podéis hacerlo de la siguiente forma:

switch:
- platform: mqtt
  name: "Daikin Salón" # el nombre que queráis
  command_topic: "/sonoff-daikin/cmd" # el sonoff-daikin o el que hayáis configurado en el apartado config de EspEasy. 
  payload_on: "heatpumpir,1"
  payload_off: "heatpumpir,0"
  qos: 1
  retain: true

Si queréis tener un control completo tendréis que usar el componente climate mqtt (https://www.home-assistant.io/components/climate.mqtt/)

climate:
- platform: mqtt
  name: 'Aire acondicionado salón'
  initial: 27
  min_temp: 18
  max_temp: 32
#current_temperature_topic: /status/sonoff-daikin/HEATPUMPIR
  modes:
    - 'off'
    - 'on'
    - heat
    - cool
    - dry
    - fan
    - maint
    - auto
  swing_modes:
    - auto
    - swing
    - up
    - mup
    - middle
    - mdown
    - down
  fan_modes:
    - auto
    - maximum
    - high
    - medium
    - low
    - silent
  power_command_topic: /sonoff-daikin/HEATPUMPIR/POWER
  payload_on: 1
  payload_off: 0
  mode_command_topic: /sonoff-daikin/HEATPUMPIR/MODE
  temperature_command_topic: /sonoff-daikin/HEATPUMPIR/TEMP
  fan_mode_command_topic: /sonoff-daikin/HEATPUMPIR/FAN
  swing_mode_command_topic: /sonoff-daikin/HEATPUMPIR/HSWING
  qos: 1

Agradecer a let’s control it  y ToniA no hubiera sido posible construir este firmware.

Espero que os haya gustado. Saludos!

IMPORTANTE: Con el fin de ayudaros de una forma más directa, he creado un grupo en Telegram de Home Assistant en Español donde podemos ayudarnos todos así como evitar que os quedéis atascados, si tenéis Telegram podéis pulsar aquí para uniros y si no lo tenéis, os recomiendo que os lo instaléis ya que lo usaremos en el tutorial para notificarnos.

¿Quieres montarte tu propio sistema Smart Home?

¿Te gustaría empezar poco a poco teniendo Google Home, Alexa o Home Assistant para controlar las luces, calefacción y otros electrodomésticos de la casa? ¡Te ayudamos! Entra en nuestro Grupo de Telégram de Domótica y también puedes entrar a nuestro Foro de Domótica donde podrás empezar a leer y preguntar tus dudas. Además, si quieres estar al tanto de las ofertas de domótica que salen a diario para poder hacerte un sistema de domótica low cost, entra a nuestro Canal de ofertas de domótica y no te perderás ni una o si lo prefieres y no tienes Telegram, puedes entrar a nuestra página de ofertas de domótica o Smart Home en Facebook. ¡Síguenos también en nuestro Facebook, Twitter o Instagram! ¡Te esperamos!

4 Comentarios

  1. xavi

    Como puedo generar un firm para Sonoff TH10/16 Ver 2.1?
    Hay alguna version para Espurna?

    Gracias!

    Reply
  2. diego

    se puede manejar otro dispositivo que no sea un aire acondicionado?

    Reply
    • eduardo

      En principio, el firmware que lleva soporta aires, de diferentes marcas, pero solo aires.

      Reply
  3. Sergio

    Buenas tardes, tengo un problema y es que mi sonoff que me he comprado es el basic R2 v1.3 y no trae el pin 14 ese para poder conectar el transmisor.
    Qué debería hacer para poder conectarlo, he pensado en usar el RX o TX pero no se si es posible y si lo fuese cómo hacerlo.
    Gracias y un saludo

    Reply

Contestar

Tu e-mail no será publicadoRequired fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Lost Password

Registro