¡Hola a todos de nuevo!, después de mi tutorial sobre cómo domotizar nuestro termostato utilizando un relé RF, hoy quiero compartir con ustedes una alternativa diferente usando un NodeMCU. Esta opción no solo nos proporcionará mayor seguridad en la comunicación con nuestra caldera, sino que también eliminará la necesidad de un bridge RF.
Lista de elementos para montar la instalación:
Vamos a coger el nodemcu y vamos a cambiarle el firmware. Tenemos varios métodos, con el programa Arduino (Como a los sonoff) o como lo he realizado yo con el programa NodemcuPyFlasher. Nos descargaremos el software y la ultima versión BIN del tasmota (sonoff.bin) En este caso usamos la version 6.4.1 (Si tuviéramos problemas con los drivers, aquí os dejo el link de los que funcionan para el nodemcu/wemos mini) Después de descargar los dos archivos, abre NodeMCU PyFlasher y conecta el NodeMCU a tu computadora mediante un cable USB. Luego, carga el archivo binario en el programa siguiendo estos pasos: primero selecciona el puerto al que está conectado el NodeMCU, a continuación elige el archivo sonoff.bin
, y por último, haz clic en "Flashear" para iniciar el proceso. Una vez que la consola nos muestre el OK, desconectaremos el nodemcu y al cabo de unos segundos veremos que si buscamos redes wifi nos ha generado una nueva que se llamaría Sonoff XXX o ESP XXX. Nos conectamos a ella ya que no pide contraseña. Accedemos por web a la pagina http://192.168.4.1/ Ahí nos pedirá nuestro ID Wifi y nuestra contraseña en el API1. Lo ponemos y le damos a salvar. Se reiniciara el nodemcu y ya estaría conectado a nuestra wifi.
En el tutorial anterior, conectábamos el relé RF a los extremos de los cables del termostato local. En este caso, seguiremos un esquema similar, pero ahora conectaremos directamente el termostato local a la placa. Como vemos en la imagen los dos cables que salen del termostato local los conectaríamos por ejemplo a las entradas del Nodemcu: D3 y G, luego los 3 cables del Rele los conectaríamos a las salidas: D4 3V y G. Por la parte de la salida del rele los conectaríamos igual que como vimos en las fotos del anterior tutorial a la entrada de la caldera. Un cable al Común y el otro al NO (Normalmente Abierto) Una vez realizado esta parte ya estaría el tema de la instalación.
Nos metemos por web a la dirección ip que nos haya cogido nuestro nodemcu, en mi caso http://192.168.0.166. Nos iremos al apartado Configure Module y elegiríamos de la lista el Numero 18 y le daríamos a SAVE. Después de completar el paso anterior, configuraremos los pines de entrada y salida. Para ello, accedemos a la opción de configuración del NodeMCU y lo ajustamos tal como se muestra en la imagen siguiente:
Hasta aquí ya tendríamos la configuración correcta de nuestro nodemcu.
Deberemos crearnos primero un switch de calefaccion_local para que así sepamos en todo momento el estado de nuestra caldera independientemente si la activamos mediante HA o mediante Termostato Local.
1 2 3 4 5 6 7 8 9 |
switch: - platform: mqtt name: "calefaccion_local" state_topic: "stat/esp8266/POWER1" command_topic: "cmnd/esp8266/POWER1" qos: 1 payload_on: "ON" payload_off: "OFF" retain: false |
Debemos tener en cuenta como tenemos el topic de nuestro nodemcu, el mio es esp8266 Por otra parte nos crearemos un archivo climate. Podremos configurarlo como queramos pero esta es la configuración que tengo yo personalmente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
climate: - platform: generic_thermostat name: Calefaccion Casa heater: switch.calefaccion_local target_sensor: sensor.salon_bt_temperature min_temp: 16 max_temp: 25 target_temp: 17 cold_tolerance: 0.3 hot_tolerance: 0.3 min_cycle_duration: seconds: 5 keep_alive: minutes: 3 away_temp: 14 |
En el anterior apartado deberemos cambiar el target_sensor por el que queramos que revise para activar o no la calefacción mediante HA. Ahora les voy a compartir una automatización. Dado que tenemos ambos sistemas, el local y el de Home Assistant, funcionando simultáneamente, podría ocurrir que se produzca un apagado no deseado si activamos el termostato local mientras el de Home Assistant está funcionando. La siguiente automatización está diseñada para desactivar el termostato de Home Assistant cuando activamos el sistema local, evitando así apagados inesperados.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
automation: - alias: condicion calefaccion hide_entity: true initial_state: true trigger: platform: state entity_id: switch.calefaccion_local from: 'off' to: 'on' condition: condition: state entity_id: switch.calefaccion_local state: 'idle' action: - service: climate.turn_off entity_id: climate.calefaccion_casa |
Aquí pongo que si se activa la calefacción de modo local y el de HA esta en reposo que lo desactive por completo. Eso si, cuando volvamos a querer usar el de HA deberemos activarlo de nuevo.
En el caso de lovelace deberemos agregar lo siguiente en nuestra configuración:
1 2 |
- type: thermostat entity: climate.calefaccion_casa |
Si aun usamos el antiguo frontend seria solo poner:
1 |
- climate.calefaccion_casa |
Hasta aquí el tutorial de hoy, ya se que no es perfecto, pero si lo que queremos es activar/desactivar y programar la calefacción de nuestra casa es mas que suficiente.