#!/usr/bin/env python3 """ Script simple pour monitorer les messages MQTT de Pilot. Utile pour debugger la découverte Home Assistant. """ import sys import time try: import paho.mqtt.client as mqtt except ImportError: print("❌ Module paho-mqtt non installé") print("Installer avec: pip3 install paho-mqtt") sys.exit(1) def on_connect(client, userdata, flags, rc): if rc == 0: print("✅ Connecté au broker MQTT") print() print("📡 Souscription aux topics:") client.subscribe("pilot/#") print(" - pilot/#") client.subscribe("homeassistant/#") print(" - homeassistant/#") print() print("🔊 En écoute des messages... (Ctrl+C pour arrêter)") print("-" * 80) else: print(f"❌ Échec de connexion, code: {rc}") def on_message(client, userdata, msg): print(f"📨 Topic: {msg.topic}") try: payload = msg.payload.decode('utf-8') if len(payload) > 200: print(f" Payload: {payload[:200]}... (truncated)") else: print(f" Payload: {payload}") except: print(f" Payload (binary): {len(msg.payload)} bytes") print(f" Retain: {msg.retain}") print("-" * 80) def main(): broker = "10.0.0.3" port = 1883 print("🚀 MQTT Monitor pour Pilot v2") print(f"📡 Broker: {broker}:{port}") print() client = mqtt.Client() client.on_connect = on_connect client.on_message = on_message try: print("🔌 Connexion au broker...") client.connect(broker, port, 60) client.loop_forever() except KeyboardInterrupt: print("\n\n👋 Arrêt du monitoring") client.disconnect() except Exception as e: print(f"\n❌ Erreur: {e}") sys.exit(1) if __name__ == "__main__": main()