Shelly-plugs : N'ajoute pas la commande information relay/0

Bonjour

J’essai d’integrer le shellyplugs s qui les messages mqtt suivants :
shellies/shellyplug-s-xxx/relay/0/power 0.00
shellies/shellyplug-s-xxx/relay/0 off
shellies/shellyplug-s-xxx/temperature 30.82
shellies/shellyplug-s-xxx/temperature_f 87.48
shellies/shellyplug-s-xxx/overtemperature 0
shellies/shellyplug-s-xxx/relay/0 on
shellies/shellyplug-s-xxx/relay/0/energy 48
shellies/shellyplug-s-xxx/relay/0/power 6.34

toutes les infos sont créés excepté celle en gras (relay/0) qui donne l’etat de la prise.
Comment puis je l’ajouter manuellement ? (je ne peux pas creer de commande information).
(j’ai essayer en ajoutant l’équipement via le bouton inclusion et l’ajouter manuellement)
merci de votre aide

Bonjour @lienrag35,
Je viens de publier une nouvelle version de jMQTT qui a de bonnes chances de résoudre le problème.

Bonjour,

J’avais fait une mise a jour hier avant de faire cette intégration de ce module. mais je vais refaire ce soir et te tiens au courant avec la version du plug-in utilisé.

merci pour ton taf en tous cas :slight_smile:

Version utilisée :
voici un extrait des logs (aprés avoir supprimé l’équipement et fait une demande d’inclusion :

[2019-10-24 18:45:25][INFO] : → GlaceSrv|status online
[2019-10-24 18:45:27][DEBUG] : broker msg: Client jeedom received PUBLISH (d0, q1, r0, m3, ‹ shellies/shellyplug-s-xxx/relay/0/power ›, … (4 bytes))
[2019-10-24 18:45:27][DEBUG] : broker msg: Client jeedom sending PUBACK (Mid: 3)
[2019-10-24 18:45:27][DEBUG] : Payload 0.00 for topic shellies/shellyplug-s-xxx/relay/0/power
[2019-10-24 18:45:27][INFO] : Create equipment shellies, topic=shellies/#, type=eqpt
[2019-10-24 18:45:27][DEBUG] : Cmd name max length retrieved from the DB: 45
[2019-10-24 18:45:27][INFO] : Creating command of type info shellies|shellyplug-s-xxx:relay:0:power
[2019-10-24 18:45:27][INFO] : → shellies|shellyplug-s-xxx:relay:0:power 0.00
[2019-10-24 18:45:27][DEBUG] : broker msg: Client jeedom received PUBLISH (d0, q1, r0, m4, ‹ shellies/shellyplug-s-xxx/relay/0 ›, … (3 bytes))
[2019-10-24 18:45:27][DEBUG] : broker msg: Client jeedom sending PUBACK (Mid: 4)
[2019-10-24 18:45:27][DEBUG] : Payload off for topic shellies/shellyplug-s-xxx/relay/0
[2019-10-24 18:45:27][INFO] : → shellies|shellyplug-s-xxx:relay:0:power off
[2019-10-24 18:45:27][DEBUG] : broker msg: Client jeedom received PUBLISH (d0, q1, r0, m5, ‹ shellies/shellyplug-s-xxx/temperature ›, … (5 bytes))
[2019-10-24 18:45:27][DEBUG] : broker msg: Client jeedom sending PUBACK (Mid: 5)
[2019-10-24 18:45:27][DEBUG] : Payload 28.31 for topic shellies/shellyplug-s-xxx/temperature
[2019-10-24 18:45:27][INFO] : Creating command of type info shellies|shellyplug-s-xxx:temperature
[2019-10-24 18:45:27][INFO] : → shellies|shellyplug-s-xxx:temperature 28.31
[2019-10-24 18:45:27][DEBUG] : broker msg: Client jeedom received PUBLISH (d0, q1, r0, m6, ‹ shellies/shellyplug-s-xxx/temperature_f ›, … (5 bytes))
[2019-10-24 18:45:27][DEBUG] : broker msg: Client jeedom sending PUBACK (Mid: 6)
[2019-10-24 18:45:27][DEBUG] : Payload 82.96 for topic shellies/shellyplug-s-xxx/temperature_f
[2019-10-24 18:45:27][INFO] : Creating command of type info shellies|shellyplug-s-xxx:temperature_f
[2019-10-24 18:45:27][INFO] : → shellies|shellyplug-s-xxx:temperature_f 82.96

Comme on le voit dans les logs, topic shellies/shellyplug-s-xxx/relay/0 n’est pas suivi d’une création de commande mais c’est comme-ci il considere que c’est la meme chose que : shellies|shellyplug-s-xxx:relay:0:power off → il a associé le payload au mauvais message.
as tu besoin de plus d’information ?

Bonsoir @lienrag35,
La version d’hier soir (2019-10-23) corrige normalement le problème ; par contre, il faut forcer le redémarrage du démon. Peux-tu essayer de le faire et ré-essayer?

Bonsoir

oui j’ai bien redemarre. J’ai pousse un peu plus loin mon analyse est à priori ca à l’air d’etre la maniere dont tu fais ta requete dans la fonction : function byEqLogicIdAndTopic($eqLogic_id, $topic, $mul …
en fait le message : shellies/shellyplug-s-xxx/relay/0 arrive apres celui la shellies/shellyplug-s-xxx/relay/0/power et donc ta fonction retourne qu’il a deja la commande concernee et signale que c’est celle-ci (surement du au % ici : ‹ configuration › => ‹ % › . $conf . ‹ % ›, )

comme on peut le voir avec des logs ajoutés :
[2019-10-24 20:31:58][DEBUG] : OJT: commande trouveshellyplug-s-xxx:relay:0:power ID 68eqt topic shellies/#msgtopic shellies/shellyplug-s-xxx/relay/0

Ah j’ai une autre version qui est arrive du 23/10 a 23 h 29. j’ai actuellement la version de 7 h …
je vais essayer avec cette version du coup

Oui, c’est ce que j’ai corrigé. Avec la dernière version, ça va aller mieux.

nickel ca fonctionne merci

Ce sujet a été automatiquement fermé après 4 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.