La config est bonne puisque je recois bien les messages d’évènement. Si j"'allume ou j’éteins le module shelly (on / off par l’interface web shelly) je recoit bien un json. Par exemple
Où « output » représente bien si c’est allumé ou éteint.
Problème : je cherche à ajouter une commande info Output qui me donnera directement l’info allumé ou éteint (True ou False).
J’ai dons fait ce que l’on voit sur l’image précédente, mais ça ne se change jamais, enfin presque, ça l’a fait une ou deux fois. Pourtant, je vois bien le Json de la commande rpc (voir image écran) qui est bon au sens que Output se met bien en true ou False en fonction de si le module Shelly est à On ou Off.
C’est comme si jmqtt décodait mal le Json.
PS : j’ai essayé de mettre la commande output en binaire. Pareil.
J’ai essayé de cliquer sur Json et de récupérer la ligne output en lui donnant un nom (difficile car beaucoup de rpc qui changent et sans l’info output. Cette dernière n’arrive que lorsque l’on met sur On ou Off le module). Pareil
Comment faite vous ?
Oui, pardon gen3. J’ai édité le titre.
Sinon, comme dit dans mon message, j’avais testé aussi en boolean, mais pareil. Online fonctionne bien, en boolean ou pas. La logique étant de le mettre en boolean.
Et effectivement, je suis bien avec
[params]['switch:0'][output]
Enfin, j’ai des guillemets à output, mais avec ou sans, j’ai essayé, c’est pareil
Et donc je ne comprends pas pourquoi ça ne fonctionne pas.
@Jeandhom tu as le même et chez toi ça fonctionne ?
Comme ce module remonte beaucoup d’info (consommation…), il y a beaucoup de messages qui transitent. Cela ne plait peut être pas à MQTT ?
Au fait, tu sais ce qu’il faut faire comme message / topic pour actionner On et Off ?
PS : le firmware du Shelly est à jour avec la version non béta
Essaye de mettre ta commande info « output » en type autre, pour voir si elle change ou non et si le problème ne vient pas de la conversion de true en bool.
Du nouveau : En allant voir dans les messages, j’ai ce message :
2024-02-03 19:20:00 jMQTT jMQTTComFromDaemon::msgIn() a levé l’Exception: [MySQL] Error code : 22001 (1406). Data too long for column ‹ value › at row 1 : REPLACE INTO history SET cmd_id=:cmd_id, datetime=:datetime, value=:value
Donc, ce module Shelly enverrait des messages trop longs pour jMQTT ? (je n’ai pas tout compris de ce message)
Bien vue, certaines infos étaient historisées, et en supprimant toutes les historisations pour les infos de ce module, ça marche ! merci @ Furaxworld
Je suppose que cette erreur coupait cours dans l’analyse de ce message avant d’avoir rempli les infos qui m’intéressaient.
Je n’avais pas coché volontairement ces historisations. Donc il est important de connaitre ce problème pour les utilisateurs futurs.
C’est sans doute dommage que par défaut, lorsque l’on crée une nouvelle info, par défaut dans jMQTT, la case historique est cochée.
Pour continuer avec l’utilisation de ce module, j’ai vu que l’on peut sécuriser MQTT. Je parle de ceci :
Avez vous déjà pratiqué ? où trouver de la documentation ?
Et dans le même genre, lorsque l’on se connecte au module via son adresse ip dans un navigateur via wifi, il n’accepte pas de le faire en https. Ce n’est pas possible de sécuriser un peu la chose ?