Files
pilot/scripts/mqtt_monitor.py
2026-01-10 20:24:11 +01:00

72 lines
1.8 KiB
Python
Executable File

#!/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()