Hace unas semanas compre un par de regletas diferentes para jugar un poco con ellas en integrarlas en Home Assistant , la segunda de ellas es la Gosund P1
Es una regleta wifi con tres enchufes y tres salidas USB

Este serian las señales que irían al ESP

Lo primero que vamos a hacer será abrirlas quitando los tapones de goma que lleva en la parte inferior

Allí veremos unos tornillos triangulares de 2.3 que quitaremos para poder acceder al interior de la regleta.

Una vez abierta podemos ver la placa con el ESP

La parte del ESP queda en la izquierda

Aquí tenemos cada una de las señales a las que tendremos que conectar nuestro adaptador FTDI USB a TTL

Yo personalmente prefiero soldar GPIO0 directo al adaptador me resulta mas cómodo para llevar esta señal a cero y que entre en modo de programación

TRABAJAREMOS SIEMPRE SIN CONECTAR LA REGLETA A 220Vac , YA QUE LA ALIMENTACION LA COGERA DIRECTAMENTE DEL ADAPTADOR FTDI USB A TTL , SI ENCHUFAMOS EL ADAPTADOR CON 220Vac ES POSIBLE QUE FRIAMOS ALGO.
Soldaremos los cables con cuidado teniendo en cuenta que Rx y Tx van cruzados

Todo el invento quedaria mas o menos así , con este alargo usb puedo conectar y desconectar muy fácilmente

Descargaremos este firmware para flashear el modulo con el
Por facilidad últimamente suelo usar tasmotizer , pero antes de flashear el nuevo firmware siempre saco una copia del dispositivo

Marcaremos “save original firmware” y elegimos el fichero previamente descargado , en este caso tenemos que desmarcar el auto reset , y siempre “erase before flashing” así evitaremos problemas de corrupción.
Una vez pulsemos Tasmotize empezara a leer y guardar el firmware original del dispositivo

Lo quitaremos del alargo usb y pulsamos OK

Empieza a borrar las flash del dispositivo y a escribir el nuevo firmware

Si todo es correcto reiniciaremos el dispositivo pero antes debemos quitar la señal GPIO0 de masa

Al arrancar deberemos ver que aparece una nueva wifi

Una vez comprobado esto podemos proceder a montar de nuevo la regleta
Al conectarla después de unos segundos nos aparecerá la wifi que hemos comentado previamente , al conectarnos nos debería llevar directamente a la dirección 192.168.4.1 , si no es así pondremos esta ip en el navegador.
Nos debe aparecer esta configuración inicial
Elegiremos la wifi primaria a la que queremos que se conecte , y también si queremos podemos configurar una wifi alternativa.

Lo siguiente será definir toda la parte de MQTT

Y después de reiniciarse el dispositivo nos debería aparecer en nuestro servidor MQTT

Configuraremos la plantilla del modulo para que podamos acceder a todas las funciones del dispositivo
{"NAME":"Gosund_P1","GPIO":[0,3072,544,3104,0,259,0,0,225,226,224,0,35,4704],"FLAG":0,"BASE":18}
En este enlace tendremos mas información https://templates.blakadder.com/gosund_P1.html

Una vez reiniciado nos aparecerán las cuatro salidas

Desde la consola de tasmota añadiremos esta regla para que al pulsar el botón de la regleta se activen las salidas USB y luego en función de cada uno de los botones la salida correspondiente
Rule1 ON Button1#State DO Power4 2 ENDON Rule2 ON Analog#A0div10<30 DO Power3 2 BREAK ON Analog#A0div10<60 DO Power2 2 BREAK ON Analog#A0div10<80 DO Power1 2 ENDON Backlog Rule1 1; Rule2 1; Rule2 5
Desde la consola podremos ver toda la mensajería mqtt del dispositivo

En Home Assistant podremos configurarla con algo similar a esto
- name: "regleta_comedor_1" state_topic: "stat/tasmota_5DF2B9/POWER1" command_topic: "stat/tasmota_5DF2B9/cmnd/POWER1" availability_topic: "stat/tasmota_5DF2B9/LWT" qos: 1 payload_on: "ON" payload_off: "OFF" payload_available: "Online" payload_not_available: "Offline" retain: false - name: "regleta_comedor_2" state_topic: "stat/tasmota_5DF2B9/POWER2" command_topic: "stat/tasmota_5DF2B9/cmnd/POWER2" availability_topic: "stat/tasmota_5DF2B9/LWT" qos: 1 payload_on: "ON" payload_off: "OFF" payload_available: "Online" payload_not_available: "Offline" retain: false - name: "regleta_comedor_3" state_topic: "stat/tasmota_5DF2B9/POWER3" command_topic: "stat/tasmota_5DF2B9/cmnd/POWER3" availability_topic: "stat/tasmota_5DF2B9/LWT" qos: 1 payload_on: "ON" payload_off: "OFF" payload_available: "Online" payload_not_available: "Offline" retain: false - name: "regleta_comedor_usb" state_topic: "stat/tasmota_5DF2B9/POWER4" command_topic: "stat/tasmota_5DF2B9/cmnd/POWER4" availability_topic: "stat/tasmota_5DF2B9/LWT" qos: 1 payload_on: "ON" payload_off: "OFF" payload_available: "Online" payload_not_available: "Offline" retain: false
Para calibrar la tensión y el consumo seguiremos los pasos de este enlace https://tasmota.github.io/docs/Power-Monitoring-Calibration/
Y con esto y un bizcocho ………