corrige temperature
This commit is contained in:
71
scripts/mqtt_monitor.py
Executable file
71
scripts/mqtt_monitor.py
Executable file
@@ -0,0 +1,71 @@
|
||||
#!/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()
|
||||
Reference in New Issue
Block a user