On le lit ici et là, Domoticz utilise une façon bien à lui pour publier du MQTT, avec ce Json qui n’est pas forcément toujours très utile ni très pratique. Personnellement, il est même plutôt hermétique j’avoue

Voici donc la raison d’exister de ce petit script Python, mqttpub.py, destiné à être appelé depuis un interrupteur Domoticz par exemple.

Le script pour commencer :



#
#
# Récuperation du topic et du message à envoyer en MQTT :
# python mqttpub.py domoticz/in 1234 par ex
#
sujet = sys.argv[1]
msg = sys.argv[2]
#
# Informations de connexion à votre broker MQTT : 
# adresse IP, login, mot de passe
broker = "192.168.1.200"
login = "login_a_moi"
pwd = "mon_password"
#
# on se connecte au broker et on publie le message sur le topic
#
client = mqtt.Client()
client.username_pw_set(username=login,password=pwd)
client.connect(broker, 1883, 60)
client.publish(sujet, msg, qos=0, retain=False)

Sauvegardez ce script dans /home/pi/domoticz/scripts/python et rendez le exécutable avec un chmod +x mqttpub.py

Sur un switch de Domoticz, vous allez alors ajouter dans On Action et Off Action la ligne :



script://python/mqttpub.py home/sonoff/commands/MQTTtoSRFB 4195665

Ceci est un exemple qui diffuse la trame radio 4195655 sur un Sonoff Bridge flashé avec OpenMQTTGateway : à vous de l’adapter à vos trames MQTT.