Tasmota, un firmware de código abierto, y MQTT, un protocolo de mensajería ligero, son una combinación ideal para la domótica. Aquí te mostraremos cómo configurarlos y usarlos eficazmente.
MQTT usa un modelo de publicación/suscripción. Un broker MQTT actúa como intermediario. Los dispositivos publican mensajes en "topics" y se suscriben a ellos para recibir mensajes.
Broker MQTT:
Puedes usar un broker local (Mosquitto) o uno en la nube.
Configuración en Tasmota:
Interfaz Web:
Accede a la interfaz web de Tasmota.
Ve a "Configuración" -> "Configurar MQTT".
Host: 192.168.1.100
(IP del broker).
Puerto: 1883
.
Usuario: domotica
.
Contraseña: miclave
.
Topic: luz_salon
.
FullTopic: %prefix%/%topic%/
.
Backlog:
En la consola de Tasmota, usa:
Backlog mqtthost 192.168.1.100; mqttport 1883; mqttuser domotica; mqttpassword miclave; topic luz_salon
Verificación:
En la consola, verás mensajes de conexión MQTT.
Control de Dispositivos:
cmnd/luz_salon/POWER ON (enciende la luz).
cmnd/luz_salon/POWER OFF (apaga la luz).
cmnd/luz_salon/POWER TOGGLE (cambia el estado).
Solicitud de Estado:
cmnd/luz_salon/STATUS
(obtiene información del dispositivo).
Actualización de Firmware:
cmnd/luz_salon/OtaUrl http://mi_servidor/tasmota.bin
cmnd/luz_salon/Upgrade 1
Respuestas:
Tasmota responde en stat/luz_salon/POWER ON
.
La telemetría se envía a tele/luz_salon/SENSOR {"Temperatura": 25.5}
.
Uso de Clientes MQTT:
MQTT.fx o Mosquitto para enviar y recibir mensajes.
FullTopic:
%prefix%/casa/salon/%topic%/
(estructura personalizada).
GroupTopic:
cmnd/luces_salon/POWER ON
(enciende todas las luces del salón).
Fallback Topic:
DVES_123456_fb
(topic de respaldo).
LWT (Last Will and Testament):
tele/luz_salon/LWT Online
(dispositivo conectado).
tele/luz_salon/LWT Offline
(dispositivo desconectado).
Mensajes Retained:
PowerRetain 1
(guarda el estado de la luz en el broker).
Para limpiar mensajes retained, usa un cliente MQTT o herramientas como Tasmota Device Manager.
Automatización con Reglas:
Necesitas compilar Tasmota con SUPPORT_MQTT_EVENT
.
Ejemplo:
Rule1 ON mqtt#connected DO Subscribe temp_salon, tele/sensor_salon/SENSOR, Temperatura ENDON ON Event#temp_salon>25 DO cmnd/aire_salon/POWER ON ENDON
MQTT Estándar:
Usa el puerto 1883.
Protocolo binario ligero.
Ideal para dispositivos IoT con recursos limitados.
MQTT sobre WebSockets:
Usa el puerto 80 o 443.
Encapsula MQTT en WebSockets.
Permite la comunicación a través de firewalls y proxies.
Es mas utilizado para aplicaciones web.
Soporte de Tasmota:
Tasmota solo soporta MQTT estándar. No soporta MQTT sobre WebSockets.
Códigos de Retorno MQTT:
5: MQTT_CONNECT_UNAUTHORIZED
(credenciales incorrectas).
-3: MQTT_CONNECTION_LOST
(conexión perdida).