oy vamos a hablar del enchufe BlitzWolf SHP5 y de como cambiarle el firmware para añadirlo mediante tasmota y mqtt a Home Assistant.
Si no queremos liarnos la manta a la cabeza se puede añadir a Home Assistant a través de TUYA aqui. Pero en este tutorial vamos un paso mas allá y podernos quitar servidores de terceros del medio ya que caso de fallo de su servidor no podremos acceder a el de forma remota ni local.
Le damos la vuelta y aflojamos el tornillo que tenemos en la indicación:
Una vez retirado la placa le damos la vuelta y seguimos el siguiente esquema de conexiones para soldarlo a nuestro TTL y poder tasmotearlo.
ENCHUFE BLITZWOLF | USB-TTL |
RX | TX |
TX | RX |
GND | GND |
5V | 5V |
Una vez tengamos nuestras conexiones realizadas deberemos descargarnos la ultima versión de sonoff.bin de la pagina oficial aqui
Una vez descargado nuestro .bin lo flashearemos mediante Arduino-IDE o mediante nodemcupyflasher. La manera de poner nuestro blitz en modo programación es haciéndole un puente entre GND Y IO0 a la vez que conectamos nuestro USB al PC y a los 2 segundos quitamos el puente y ya podremos tasmotearlo.
Una vez cargado el firmware y accedido a su Wifi, configuraremos nuestro wifi, una vez hecho ese paso accedemos a la configuración del blitzwolf y lo configuramos tal que asi:
Una vez hecho esto crearemos una template (Versión 6.5.0.) para configurar los pines exactos de nuestro SHP5, si tenemos la versión 6.6 en adelante ya esta configurado el modulo Blitzwolf SHP5 y no hace falta el template.
Y dejaremos las opciones tal como siguen:
Le daremos a guardar y ya lo tenemos casi listo. Yo particularmente le tengo puesto una regla que cuando le de al botón físico se encienda o apague tanto el enchufe como los USB en modo TOGGLE.
Si queremos tenerlo así, debemos ir a la opción consola de nuestro tasmota y ponerle los códigos siguientes:
1 |
rule on button1#state do backlog POWER1 toggle; POWER2 toggle endon |
a continuación para activar esa regla es poner en la consola:
1 |
rule 1 |
Yo me he ayudado de un polimetro para la toma de datos. Imaginemos que nos saca que en nuestro enchufe tenemos 230v pues vamos a la consola de tasmota y ponemos el siguiente código:
1 |
VoltageSet 230 |
Luego yo enchufe una bombilla al Blitzwolf que sabia que consumía exactamente 60w, pues en nuestra consola deberíamos poner:
1 |
PowerSet 60.0 |
Esta es la manera de poder calibrar nuestro BlitzWolf si vemos que no nos marca bien los valores que nos aparecen en la pantalla principal.
El código del topic variara según lo hayamos modificado nosotros. En mi caso es así la parte de los switchs:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
switch: - platform: mqtt name: "Enchufe 220v" state_topic: "stat/blitzwolf/POWER1" command_topic: "cmnd/blitzwolf/POWER1" qos: 1 payload_on: "ON" payload_off: "OFF" retain: false - platform: mqtt name: "Enchufe USB" state_topic: "stat/blitzwolf/POWER2" command_topic: "cmnd/blitzwolf/POWER2" qos: 1 payload_on: "ON" payload_off: "OFF" retain: false |
Ahora vamos con la parte de sensores para que nos muestre datos del consumo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
sensor: - platform: mqtt name: "Voltaje Blitzwolf" state_topic: "tele/blitzwolf/SENSOR" value_template: "{{ value_json['ENERGY'].Voltage }}" unit_of_measurement: "V" - platform: mqtt name: "Corriente Actual Blitzwolf" state_topic: "tele/blitzwolf/SENSOR" value_template: "{{ value_json['ENERGY'].Current }}" unit_of_measurement: "A" - platform: mqtt name: "Consumo Blitzwolf Actual" state_topic: "tele/blitzwolf/SENSOR" value_template: "{{ value_json['ENERGY'].Power }}" unit_of_measurement: "W" - platform: mqtt name: "Consumo Blitzwolf Acumulado hoy" state_topic: "tele/blitzwolf/SENSOR" value_template: "{{ value_json['ENERGY'].Today }}" unit_of_measurement: "kWh" - platform: mqtt name: "Consumo Blitzwolf Ayer" state_topic: "tele/blitzwolf/SENSOR" value_template: "{{ value_json['ENERGY'].Yesterday }}" unit_of_measurement: "kWh" - platform: mqtt name: "Consumo Blitzwolf TOTAL" state_topic: "tele/blitzwolf/SENSOR" value_template: "{{ value_json['ENERGY'].Total }}" unit_of_measurement: "kWh" |
Con esto doy por concluido el tutorial y nos vemos próximamente!