¿Existe algún enchufe inteligente que pueda ser controlado por un script ?


En efecto sí, existen enchufes inteligentes basados en ESP32 que se pueden hackear para ser controlados con scripts en Python, especialmente aquellos que permiten cambiar su firmware o, directamente, los modelos DIY y genéricos que se encuentran en el mercado asiático.

Modelos y Alternativas Usados

  • Muchos enchufes inteligentes económicos, especialmente los compatibles con Tuya, Teckin, Sonoff y otros, utilizan chips ESP32 o ESP8266 y pueden «abrirse» para flashear un firmware personalizado como Tasmota, ESPHome o incluso MicroPython.
  • Hay marcas como SwitchBot mini que incluyen ESP32 y permiten flasheo OTA (over-the-air) según experiencias de usuarios. Esto facilita la modificación del firmware sin necesidad de abrir el dispositivo físicamente, en algunos casos.
  • Enchufes DIY o placas Smart Plug de Aliexpress que indican “ESP32 hack” o “ESP32 flashable” son buenas opciones, ya que suelen traer pines expuestos de programación UART y ejemplos de uso Python y MicroPython.

Control Desde Python

  • Si el enchufe permite ejecutar MicroPython (como muchos modelos basados en ESP32), es sencillo cargar un pequeño servidor web o script que pueda recibir comandos desde Python, ya sea usando sockets o HTTP.
  • Alternativamente, proyectos como Tasmota o ESPHome hacen que el enchufe sea controlable desde la red local, y existen bibliotecas en Python para interactuar con ellos por MQTT, HTTP REST o incluso desde Home Assistant.
  • Existen tutoriales y repos públicos (por ejemplo, “SmartUPy” en GitHub) que muestran cómo controlar enchufes inteligentes desde Python usando ESP32 y MicroPython—y explican cómo configurarlo y modificar el firmware.
  • Por tanto las opciones más accesibles son los enchufes basados en Tuya/Sonoff con ESP32, o los modelos de Aliexpress genéricos y DIY, flasheando Tasmota, ESPHome o MicroPython,

Cómo empezar

  • Para flashear estos dispositivos normalmente necesitas: conexión por USB-TTL al ESP32 (acceso físico), el firmware elegido (MicroPython, Tasmota, ESPHome, etc.), y una herramienta como esptool o similar para la carga.
  • Una vez flasheado, puedes desarrollar un script en Python que controle el enchufe por WiFi usando HTTP, MQTT, WebSocket o cualquier protocolo que soporte ese firmware personalizado.
  • Busca modelos en Aliexpress o Amazon que especifiquen ESP32 y tengan buena documentación para el flasheo y acceso a UART/GPIO.

Controlar enchufes inteligentes desde un PC con python

Y hablando de control también es totalmente posible controlar uno o varios enchufes inteligentes desde un PC usando scripts en Python, tanto para modelos comerciales (como TP-Link, Tuya, Sonoff) como para enchufes DIY con ESP32. Existen varias bibliotecas y métodos según la marca y el firmware del enchufe.

Opciones para control desde Python

  • Enchufes TP-Link (Kasa): Se pueden controlar localmente con la biblioteca python-kasa, que permite encender, apagar, y leer el estado fácilmente si están en la misma red.github+2
  • Enchufes compatibles con Tuya/Smart Life: Si el enchufe es compatible con la plataforma Tuya, existen herramientas como tinytuya y APIs Python que permiten el control local, siempre que consigas el Device ID, local key e IP. Esto es válido para marcas como Teckin y muchas otras económicas.isnum+2
  • Enchufes con firmware Tasmota o ESPHome: Si se flashea el enchufe con Tasmota/ESPHome, el dispositivo expone interfaces HTTP, MQTT o REST, lo cual facilita su control con cualquier script Python—esto aplica también para dispositivos basados en ESP32 y ESP8266.tinkeriot+3
  • MicroPython en ESP32: Para enchufes DIY o hackeados, si pueden ejecutar MicroPython, es posible cargar scripts personalizados y controlarlos por sockets, HTTP o MQTT, y enviar comandos desde Python en el PC.lemariva

Bibliotecas útiles

  • python-kasa: para TP-Link Kasa.
  • tinytuya: para enchufes Tuya/SmartLife.
  • Requests/MQTT: para dispositivos con Tasmota/ESPHome.

Consideraciones prácticas

  • Es recomendable configurar los enchufes con IP fija en tu red.
  • Necesitarás obtener credenciales básicas (ID/dispositivo y claves) para algunos enchufes.
  • Puedes controlar varios enchufes simultáneamente simplemente guardando sus datos (ID, IP, clave) y manejando cada uno desde tu script Python.

Ejemplos de código Python para enchufes Tuya usando tinytuya

Aquí tienes varios ejemplos de código en Python para controlar enchufes inteligentes Tuya usando la librería tinytuya. Debes obtener primero el Device ID, Local Key y la IP del enchufe (consulta la documentación oficial para extraerlos fácilmente):github . Para obtener el Device ID, Local Key y la IP de tu enchufe Tuya, existen varios métodos prácticos y accesibles:

Método oficial con cuenta Tuya Developer

  1. Regístrate en la plataforma Tuya IoT Developer y vincula tu cuenta de la app Tuya o Smart Life.
  2. En el panel de desarrollador, crea un proyecto y añade tus dispositivos (enchufes).
  3. En la sección «Devices» del proyecto, verás listados todos tus dispositivos con su Device ID y su IP si están conectados.
  4. Para obtener el Local Key, usa la API Explorer dentro de la plataforma Tuya, solicitando la información del dispositivo; la respuesta incluirá esa clave.

Este método es seguro y oficial para extraer las credenciales necesarias para control local de dispositivos Tuya.

Método manual y práctico (más simple)

  • Algunos usuarios extraen el Local Key con apps específicas o herramientas que interceptan el tráfico en la red local o acceden al almacenamiento de la app Tuya Smart o Smart Life en el móvil.
  • Hay tutoriales disponibles en video donde se explica paso a paso cómo usar versiones específicas de apps o herramientas externas para obtener estas claves directamente desde la app móvil o red local (requiere conocimientos técnicos y puede implicar riesgo de seguridad).

Información necesaria para control con tinytuya

  • Device ID: Identificador único del enchufe Tuya.
  • Local Key: Clave local para comunicación segura.
  • IP: Dirección local en red del enchufe (puedes obtenerla desde el router o la app Tuya).

Una vez que tengas estos datos, podrás controlar el enchufe con scripts Python usando tinytuya como en los ejemplos previos. Veamos los siguientes pasos para controlar uno o varios enchufes Tuya mediante Python:

Instalar la librería

python -m pip install tinytuya

Ejemplo básico: Leer estado y encender/apagar

import tinytuya

# Inicializa el enchufe
dev = tinytuya.OutletDevice('DEVICE_ID', 'IP_DEL_ENCHUFE', 'LOCAL_KEY')
dev.set_version(3.3) # Asegúrate de poner la versión correcta

# Leer estado actual
data = dev.status()
print("Estado del enchufe:", data)

# Encender el enchufe
dev.turn_on()

# Apagar el enchufe
dev.turn_off()

Ejemplo: Alternar estado

import tinytuya

dev = tinytuya.OutletDevice('DEVICE_ID', 'IP_DEL_ENCHUFE', 'LOCAL_KEY')
dev.set_version(3.3)
estado = dev.status()["dps"]["1"]
dev.set_status(not estado)

Múltiples enchufes en un solo script

import tinytuya

enchufes = [
{"id": "ID1", "ip": "192.168.1.50", "key": "LOCAL_KEY1"},
{"id": "ID2", "ip": "192.168.1.51", "key": "LOCAL_KEY2"}
]

for enchufe in enchufes:
dev = tinytuya.OutletDevice(enchufe["id"], enchufe["ip"], enchufe["key"])
dev.set_version(3.3)
dev.turn_on() # Enciende todos los enchufes

Encontrar dispositivos en la red (escaneo)

import tinytuya

devices = tinytuya.deviceScan()
for dev in devices:
print(devices[dev])

Estos ejemplos muestran cómo automatizar desde un PC el control de uno o varios enchufes inteligentes Tuya por red local usando Python, sin depender de la nube.github

  1. https://github.com/jasonacox/tinytuya

Introducción a ESPHome: guía para principiantes


¿Alguna vez soñó con crear sus propios dispositivos domésticos inteligentes pero se sintió abrumado por la compleja codificación y la jerga electrónica? No se preocupe, no está solo. ¡Ahí es donde entra ESPHome!

ESPHome es un sistema fácil de usar que te permite controlar y automatizar dispositivos en tu hogar sin tener que ser un experto en electrónica o un genio de la programación. Esta increíble herramienta te permite diseñar y controlar dispositivos, desde interruptores de luz inteligentes hasta sensores de temperatura, ¡directamente desde tu teléfono inteligente!

Comprensión de los fundamentos de ESPHome

ESPHome es una herramienta fantástica que ha aportado simplicidad al caótico mundo de la automatización del hogar y los dispositivos IoT. En esta sección, exploraremos más a fondo qué es ESPHome, por qué son importantes los ESP32/ESP8266 y los beneficios de usar ESPHome.

¿Qué es ESPHome?

ESPHome es un sistema simple y eficiente para controlar módulos ESP8266 y ESP32. ESPHome te permite hacer cosas avanzadas en dispositivos ESP sin necesidad de conocimientos profundos de programación. Funciona con el sistema de automatización del hogar Home Assistant, lo que te permite crear una automatización IoT potente y compleja.

La importancia de ESP32/ESP8266 en ESPHome

Estos dos conjuntos de chips son importantes para las operaciones de ESPHome debido a su compatibilidad y funcionalidad. ESP32 y ESP8266 son chips de bajo costo y bajo consumo de energía que son perfectos para dispositivos domésticos inteligentes. Vienen con Wi-Fi integrado, lo que los hace ideales para crear dispositivos IoT. En combinación con ESPHome, estos chips le permiten crear y personalizar fácilmente dispositivos IoT para sus necesidades específicas.

Los beneficios de utilizar ESPHome

El uso de ESPHome tiene muchas ventajas. Es sencillo, por lo que incluso si no eres un experto en programación, puedes crear dispositivos IoT complejos. ESPHome también ofrece una integración perfecta con Home Assistant, lo que significa que tus dispositivos inteligentes siempre funcionarán bien juntos.

Otra ventaja de ESPHome es su comunidad activa. Gracias a la gran cantidad de personas que utilizan y desarrollan para ESPHome, normalmente podrás encontrar la solución a cualquier problema que surja y siempre estarás al día con las últimas funciones y mejoras.

En resumen, ESPHome ofrece simplicidad, flexibilidad y una comunidad sólida para ayudarlo en su viaje hacia los dispositivos domésticos inteligentes que usted mismo crea.

esp8266 a6f

Configuración de ESPHome con ESP32/ES8266

Preparación para la instalación

Antes de comenzar con la configuración, debemos asegurarnos de que estamos listos. La preparación es clave para garantizar que todo funcione sin problemas. Necesitarás un dispositivo ESP32/ESP8266 y un dispositivo para configurar el software ESPHome, como una computadora. ¡Asegúrate también de tener una conexión a Internet estable!

Guía paso a paso para configurar ESPHome con ESP32/ESP8266

Con todo preparado, es hora de la parte divertida. ¡Ahora podemos comenzar con la configuración real! No te preocupes, hemos desglosado todo en pasos simples. Esta guía te ayudará a configurar ESPHome con tu dispositivo ESP32/ESP8266 en un abrir y cerrar de ojos:

  1. Descargar e instalar ESPHome: Puede descargar el software de ESPHome directamente desde el sitio web principal . Asegúrese de descargar la versión correcta para el sistema operativo de su computadora.
  2. Conecte su dispositivo ESP32/ESP8266 a su ordenador: Use un cable adecuado para realizar la conexión. Su ordenador debería poder reconocer su dispositivo ESP32/ESP8266.
  3. Inicie ESPHome y configure su dispositivo: abra ESPHome en su ordenador y siga las instrucciones paso a paso para configurar su dispositivo. Mantenga su dispositivo conectado durante todo el proceso de configuración.
  4. Implemente su configuración: después de completar la configuración en ESPHome, implemente su configuración en el dispositivo ESP32/ESP8266. ESPHome ofrece un proceso sencillo para hacerlo.

Problemas de configuración habituales y cómo solucionarlos

A veces, las cosas pueden no salir como se esperaba, pero no te preocupes, A continuación, se indican algunos problemas comunes que puedes encontrar durante el proceso de configuración y cómo resolverlos.

  1. ESPHome no reconoce el dispositivo ESP32/ESP8266: asegúrate de que el dispositivo esté conectado correctamente a tu ordenador. Intenta usar un cable diferente si es necesario para descartar problemas con el cable dado que muchos cables USB son solo para alimentación y no sirven para datos + alimentación..
  2. No se puede implementar la configuración: asegúrese de que su conexión a Internet sea estable. Reiniciar el router o el ordenador ayudar en ocasiones.

Recuerda que cada problema tiene una solución. Al final, lo importante es intentarlo, aprender y, lo más importante, divertirse mientras lo haces. ¡Buena suerte con tu configuración!

Uso de ESPHome con ESP32/ESP8266

Sumerjámonos en un mundo fascinante donde la tecnología se encuentra con la creatividad: el uso de ESPHome con ESP32 y ESP8266. En términos simples, ESPHome es un sistema que te permite controlar tus módulos ESP8266 o ESP32 de una manera altamente personalizable. Ya seas un profesional experimentado o un principiante curioso, ¡esta guía es para ti!

Funcionalidades básicas de ESPHome con ESP32/ESP8266

Para empezar, veamos los aspectos prácticos. Las funciones básicas de ESPHome con ESP32/ESP8266 incluyen control de entrada/salida, lectura de datos de sensores y capacidades de red. Con unos pocos comandos simples, puedes encender o apagar tu dispositivo, medir la temperatura o incluso controlarlo de forma remota a tu gusto. ¿No es increíble?

Funciones avanzadas que debes conocer

¿Estás listo para subir de nivel? Ahora, veamos algunas características avanzadas notables. ESPHome con ESP32/ESP8266 no solo es famoso por sus controles básicos, sino también por su compatibilidad con funciones avanzadas como actualizaciones por aire (OTA), API nativa y compatibilidad con Home Assistant para una automatización sólida. ¡Hablemos de conveniencia y tecnología sofisticada, todo en un solo paquete!

Consejos y trucos para utilizar ESPHome de forma eficiente

Por último, hay algunos consejos y trucos prácticos «de expertos» para mejorar aún más tu experiencia con ESPHome. Por ejemplo, ¿sabía que puede utilizar plantillas en sus configuraciones? ¿O que puede ajustar el nivel de registro para que se adapte a sus necesidades? pues si ! sin programar se oude puede convertir su proyecto de dispositivo inteligente en una obra maestra.

Recuerda que el camino para convertirte en un experto en ESPHome con ESP32/ESP8266 puede que no sea una carrera de velocidad, sino una maratón. La práctica y la paciencia harán surgir la magia. ¡Disfruta de la experimentación!

2024 04 05 14 17 19 Home Assistant ESPHome LED Matrix Temperature and Power Meter   5 Steps with Pi

Consejos de mantenimiento rutinario para ESPHome con ESP32/ESP8266

El mantenimiento periódico del sistema es fundamental para que los dispositivos ESPHome funcionen al máximo. ¿No sabe por dónde empezar? No se preocupe, aquí le presentamos algunas rutinas sencillas pero efectivas que puede seguir:

  1. Mantenga el firmware actualizado : compruebe periódicamente si hay actualizaciones de firmware e instálelas de inmediato. Las actualizaciones suelen corregir errores y mejorar el rendimiento.
  2. Verifique la conexión a Internet : asegúrese de que su dispositivo ESP32/ESP8266 esté siempre conectado a una conexión a Internet estable y segura.
  3. Comprobaciones periódicas del sistema : compruebe el sistema periódicamente para detectar anomalías o errores. Solucione los problemas en cuanto los detecte.
  4. Limpie su dispositivo : el polvo y la suciedad pueden provocar que el dispositivo se sobrecaliente, lo que puede provocar una falla del sistema. Mantenga su dispositivo limpio y sin polvo.

Estas simples rutinas pueden hacer una diferencia significativa en el modo en que funciona su ESPHome con ESP32/ESP8266.

Soluciones a problemas comunes en ESPHome con ESP32/ESP8266

A veces pueden surgir problemas al ejecutar ESPHome con ESP32/ESP8266. A continuación, se incluye una guía rápida sobre cómo solucionar los problemas más comunes:

Problema : El dispositivo no se inicia Solución : Verifique la fuente de alimentación. Si ese no es el problema, es posible que la causa sea una falla de hardware.

Problema : El dispositivo se desconecta de la red WiFi . Solución : Intenta reiniciar el enrutador. Si el problema persiste, verifica la intensidad de la señal WiFi en el área donde instalaste el dispositivo; es posible que necesites un amplificador de señal.

Problema : Fallas frecuentes del sistema Solución : Esto puede deberse a un problema de sobrecalentamiento. Asegúrate de que tu dispositivo esté en un área bien ventilada y lejos de la luz solar directa.

Recuerde que siempre es una buena idea consultar el manual del dispositivo o la documentación de soporte para obtener guías de solución de problemas específicos.