# Script simple pour publier des commandes MQTT (tests manuels). import argparse import time import paho.mqtt.client as mqtt def main(): parser = argparse.ArgumentParser(description="Envoi de commandes MQTT pour pilot-v2") parser.add_argument("--host", default="127.0.0.1") parser.add_argument("--port", type=int, default=1883) parser.add_argument("--device", required=True) parser.add_argument("--action", required=True, choices=["shutdown", "reboot", "sleep", "screen"]) parser.add_argument("--value", required=True, choices=["ON", "OFF"]) parser.add_argument("--username", default="") parser.add_argument("--password", default="") args = parser.parse_args() topic = f"pilot/{args.device}/cmd/{args.action}/set" client = mqtt.Client() if args.username or args.password: client.username_pw_set(args.username, args.password) client.connect(args.host, args.port, 60) client.loop_start() client.publish(topic, args.value, qos=0, retain=False) time.sleep(0.5) client.loop_stop() client.disconnect() if __name__ == "__main__": main()