uno-q-home-assistant-integration.py

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

Intégration réseau permettant de transformer les boutons physiques Modulino en interrupteurs intelligents communicants via MQTT.

Configurez un serveur MQTT (ex: Mosquitto) sur votre réseau local. Modifiez l'adresse IP du broker dans le script. Connectez un nœud Bouton Modulino. La bibliothèque paho-mqtt doit être installée ('pip install paho-mqtt'). Le script lit les événements clavier et les convertit en messages 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()

← Retour à la fiche