uno-q-home-assistant-integration.py

Bundle Arduino UNO Q SBC Controller · Archivo : uno-q-home-assistant-integration.py · Lenguaje : python · Uso : Envoyer les états des boutons Modulino vers un serveur Home Assistant via MQTT pour la domotique.

Integración de red que permite convertir los botones físicos Modulino en interruptores inteligentes comunicantes mediante MQTT.

Configure un servidor MQTT (p. ej., Mosquitto) en su red local. Modifique la dirección IP del broker en el script. Conecte un nodo Modulino Button. La biblioteca paho-mqtt debe estar instalada ('pip install paho-mqtt'). El script lee los eventos de teclado y los convierte en mensajes MQTT.

uno-q-home-assistant-integration.py

#!/usr/bin/env python3
import paho.mqtt.client as mqtt
import evdev
import json

MQTT_BROKER = "192.168.1.100" # IP de votre serveur Home Assistant
MQTT_PORT = 1883
DEVICE_PATH = '/dev/input/event3' # Bouton Modulino

def on_connect(client, userdata, flags, rc):
    print("Connecté au broker MQTT avec code " + str(rc))

def main():
    client = mqtt.Client()
    client.on_connect = on_connect
    client.connect(MQTT_BROKER, MQTT_PORT, 60)
    client.loop_start()
    
    device = evdev.InputDevice(DEVICE_PATH)
    print(f"Surveillance de {device.name}...")
    
    for event in device.read_loop():
        if event.type == evdev.ecodes.EV_KEY:
            state = "ON" if event.value else "OFF"
            payload = json.dumps({"state": state})
            # Publie sur un topic Home Assistant
            client.publish("home/uno_q/button1", payload=payload, retain=True)
            print(f"Publié: {payload}")

if __name__ == '__main__':
    main()

← Volver a la ficha