Depuis quelques jours les messages envoyés par jMQTT sont incompris par zigbee2mqtt.
Je me dis que ça pourrait être lié aux délimiteurs des chaînes de caractères qui sont des " dans la configuration des commandes et qui apparaissent comme des ' dans les logs de zigbee2mqtt.
Je ne comprends pas ce qui a changé le jour où le défaut a commencé car j’étais dans l’état suivant :
Version Jeedom : 4.2.5 installée le 15/10
Version zigbee2mqtt : 1.21.2 installée le 08/10
Version jMQTT : stable (2021-09-18 15:08:55) réinstallée le 25/10 par-dessus la beta mais même souci
Mise à jour plugins thermostat et JeedomConnect le 22/10 avec mise à jour du core également on dirait vue la date de dernière mise à jour affichée pour le core au 22/10 même heure
Quelqu’un aurait-il une idée de ce qui se passe ?
Merci d’avance pour votre aide.
Debug Received MQTT message on 'zigbee2mqtt/0x60a423fffe62161d/set' with data '{'state': 'ON'}'
Error Invalid message 'null', skipping...
Par contre je n’ai pas zigbeelinker, je viens de découvrir suite à ton post en regardant sur Google. J’utilise jMQTT car c’est ce que j’avais trouvé en commençant la domotique il y a qq années. Ca m’embête de devoir recréer des équipements…
Dans zigbeeLinker, les équipements sont créés automatiquement : du moment où ton équipement est dans z2m il remontera.
Du coup là c’est plus un soucis avec jmqtt. Tu devrais te rapprocher de son développeur
Bonjour @Florentin,
Avec MQTT-Explorer (ou avec mosquitto_sub -v -t "zigbee2mqtt/0x60a423fffe62161d/set"), peux-tu me dire ce que publie jMQTT lors de l’exécution de tes commandes action ?
Normalement on n’interprète pas le JSON et envoie tout tel quel.
Merci
Par contre j’ai essayé cet après midi (cf. https://github.com/Domochip/jMQTT/issues/110) de publier avec mosquitto_pub, résultat ça fonctionne par ce moyen : mosquitto_pub -m '{"state":"ON"}' -t "zigbee2mqtt/0x60a423fffe62161d/set"
z2m log:
Debug Received MQTT message on 'zigbee2mqtt/0x60a423fffe62161d/set' with data '{"state":"ON"}'
Debug Publishing 'set' 'state' to '0x60a423fffe62161d'
Moi de ce que je vois, c’est que tes " viennent d’un copié collé et sont un peu trop incurvées, essaye de taper toi même le message json avec ton clavier et tout va fonctionner
ce que dis nebz n’est pas bête, essayes de retaper le code complet stp à la main sans copier coller. parfois on pense avoir un quote, et c’est un autre caractère. Rien ne coute d’essayer
Oui je comprends. A vrai dire, je l’ai fait cet AM déjà en testant de changer en simple quote pour voir puis en retapant les guillemets double au clavier.
Et ça n’expliquerait pas pourquoi ça fonctionnait correctement il y a 5 jours depuis des mois sur plusieurs équipements (4 je crois) alors que maintenant plus aucun ne fonctionne.
Tu es en 4.2.5, j’imagine que ton problème est apparu autour du 15/10, suite à la maj vers le core Alpha ?
Ces deux PR ont été intégré depuis avril/mai dans l’Alpha, étant donné que c’est déjà fait dans le core, il ne faut plus faire ce workaround dans le plugin…
@Domochip, est ce qu’il peux juste supprimer les ligne en rapport avec ce commit pour test ?
Sinon je lance un Core Alpha et regarde pour patch
En effet, je viens de tester en 4.2.5.
Même en retirant les 2 bouts de code et en sauvegardant l’équipement incriminé, après avoir retiré le premier caractère chr(6) de la valeur, le broker reçois {'state': 'x'} (simple quotes).
@Domochip, je pense que la suite sera sur Github et au niveau du core, car il continue visiblement à casser les valeurs type JSON.