SwitchBot + OMG + Theengs Gateway + MQTT Discovery

Bonjour

J’ai installé le plugin MQTT Discovery de @Mips essentiellement pour la gestion de présence avec des trackers (NUT par exemple).

J’utilise OpenMQTTGateway(x) sur deux ESP32 et Theengs Gateway(x) avec ma clé SENA en local, sur mon serveur Jeedom.
(x) Merci à @1technophile

NB : j’ai utilisé un autre plugin de @Mips pour l’installation automatique de Theengs gateway

Le plugin MQTT Discovery fonctionne très bien et remplit mon objectif de gestion de présence.

MQTT Discovery a remonté un autre équipement, un SwitchBot que j’avais en test.
Les infos remontent bien, mais les commandes d’action ne fonctionnent pas (dans mon cas).

Après un échange, Mips m’a conseillé d’ouvrir un post dédié

Quelques informations :

J’avais déconnecté mes deux ESP32 et mis l’antenne SENA à l’arrêt
Au branchement d’un ESP (Intitulé « Entree ») seules les commandes infos ont été créées
Au lancement de l’antenne SENA, idem
C’est au branchement du 2ème ESP que les commandes actions ont été ajoutées automatiquement

Si j’ai bien compris, MQTT Discovery applique la config qu’il reçoit de MQTT et donc des données émises par OMG et Theengs Gateway

Les commandes « X1-batt On » et « X1-batt Off » sont pour le moins étonnantes
Si l’on regarde par exemple « X1-batt On » :

Le payload est identique à celui de « X1-mode On » :

Le fichier de configuration du SwitchBot :

{
"switch" : {
"F4653615XXXX-mode" : {
"stat_t" : "+/+/BTtoMQTT/F4653615XXXX",
"name" : "X1-mode",
"uniq_id" : "F4653615XXXX-mode",
"val_tpl" : " value_json.mode | is_defined ",
"pl_on" : "{"SBS1":"on","mac":"F4:65:36:15:XX:XX"}",
"pl_off" : "{"SBS1":"off","mac":"F4:65:36:15:XX:XX"}",
"pl_avail" : "online",
"pl_not_avail" : "offline",
"stat_on" : "on",
"stat_off" : "off",
"cmd_t" : "bt/Salon/commands/MQTTtoBT/config",
"device" : {
"identifiers" : [
"F4653615XXXX"
],
"connections" : [
[
"mac",
"F4653615XXXX"
]
],
"manufacturer" : "SwitchBot",
"model" : "X1",
"name" : "Bot-15XXXX",
"via_device" : "Salon"
}
},
"F4653615XXXX-batt" : {
"stat_t" : "+/+/BTtoMQTT/F4653615XXXX",
"name" : "X1-batt",
"uniq_id" : "F4653615XXXX-batt",
"val_tpl" : " value_json.batt | is_defined ",
"pl_on" : "{"SBS1":"on","mac":"F4:65:36:15:XX:XX"}",
"pl_off" : "{"SBS1":"off","mac":"F4:65:36:15:XX:XX"}",
"pl_avail" : "online",
"pl_not_avail" : "offline",
"stat_on" : "on",
"stat_off" : "off",
"cmd_t" : "bt/Salon/commands/MQTTtoBT/config",
"device" : {
"identifiers" : [
"F4653615XXXX"
],
"connections" : [
[
"mac",
"F4653615XXXX"
]
],
"manufacturer" : "SwitchBot",
"model" : "X1",
"name" : "Bot-15XXXX",
"via_device" : "Salon"
}
}
},
"sensor" : {
"F4653615XXXX-state" : {
"stat_t" : "+/+/BTtoMQTT/F4653615XXXX",
"name" : "X1-state",
"uniq_id" : "F4653615XXXX-state",
"val_tpl" : " value_json.state | is_defined ",
"state_class" : "measurement",
"device" : {
"identifiers" : [
"F4653615XXXX"
],
"connections" : [
[
"mac",
"F4653615XXXX"
]
],
"manufacturer" : "SwitchBot",
"model" : "X1",
"name" : "Bot-15XXXX",
"via_device" : "Salon"
}
},
"F4653615XXXX-mode" : {
"stat_t" : "+/+/BTtoMQTT/F4653615XXXX",
"name" : "X1-mode",
"uniq_id" : "F4653615XXXX-mode",
"val_tpl" : " value_json.mode | is_defined ",
"state_class" : "measurement",
"device" : {
"identifiers" : [
"F4653615XXXX"
],
"connections" : [
[
"mac",
"F4653615XXXX"
]
],
"manufacturer" : "SwitchBot",
"model" : "X1",
"name" : "Bot",
"via_device" : "Sena"
}
},
"F4653615XXXX-batt" : {
"stat_t" : "+/+/BTtoMQTT/F4653615XXXX",
"dev_cla" : "battery",
"unit_of_meas" : "%",
"name" : "X1-batt",
"uniq_id" : "F4653615XXXX-batt",
"val_tpl" : " value_json.batt | is_defined ",
"state_class" : "measurement",
"device" : {
"identifiers" : [
"F4653615XXXX"
],
"connections" : [
[
"mac",
"F4653615XXXX"
]
],
"manufacturer" : "SwitchBot",
"model" : "X1",
"name" : "Bot",
"via_device" : "Sena"
}
}
}
}

Lui ayant transmis des copies d’écran de MQTT Explorer, Mips m’a fait remarquer que le même uniq_id a été utilisé pour 2 composants (sensor & switch)

Infos relevées à cette heure :
Le SwichBot apparaît sous le topic « homeassistant » comme :

  • « sensor » pour « mode » via device « sena », « state » via device « Salon » (l’un des ESP32) et « batt » via device « sena »
  • « Switch » pour « mode » via device « Salon » et « batt » via device « Salon »

En espérant qu’une solution sera apportée par les développeurs de OMG et Theengs Gateway
Désolé, je suis nul en anglais et ne pouvait intervenir sur le Github

Merci par avance

Bonjour,

Est ce que tu pourrais me partager les topics et payload de mqtt explorer stp, en flouttant les adresses macs.

Bonjour

Merci pour ton aide
Je t’envoie les éléments d’ici ce soir en MP ( je n’aurai pas besoin de flouter :wink:)

1 « J'aime »

bonjour :slight_smile: pour un néophyte comme moi il y a de l’espoir de voir les commandes ACTION switchbot prises en compte? elles n’apparaissent pas même après plusieurs heures… que faut-il faire? merci

Bonjour

Comme j’ai pu l’écrire précédemment, l’ajout des commandes actions du SwitchBot a été « aléatoire » pour ce qui me concerne.
J’ai transmis en MP des infos à @1technophile qui m’a indiqué qu’il ferait des tests
La question est entre de bonnes mains :wink: