Page 6 sur 9
Re: Plugin MQTT de FlyingDomotic
Publié : 03 oct. 2024, 11:29
par Flying Domotic
marcus_54 a écrit : 02 oct. 2024, 20:20
Par contre, c'est un peu plus embêtant qu'une simple donnée manquante je fasse tout planter
Concernant le premier message, les données sont effectivement manquantes. du coup, le plugin ne fait rien ... ce qui laisse le champ sValue en l'état (probablement vide).
Par contre, le souci vient de ce que Domoticz ne supporte pas les données invalides dans les dispositifs (ce qui le fait planter/boucler).
Pour s'en protéger, dans le cas de dispositifs avec des sValue alambiqués, il faut utiliser le paramètre "initial" dans le fichier de configuration et préciser un sValue avec une série de valeurs valides (un simple 0;0;0 peut suffire (si sValue s'attend à 3 valeurs, à adapter selon des cas)).
Pour savoir combien d'élément Domoticz attend, on peut utiliser findDomoticzTypes.py, en donnant le type et le sous type concernés. Attention à ne pas inclure nValue dans ce compte.
Pour "déplanter" Domoticz, on peut commencer par supprimer le dispositif du .json de configuration. Si ça ne suffit pas, on peut, Domoticz étant à l'arrêt, après copie de la base afin de pouvoir récupérer les bêtises, modifier le sValue fautif dans la table "DeviceStatus".
Pour éviter ce genre de souci, je vais ajouter un test pour vérifier qu'on ajoute bien un "initial" dans les définitions de dispositifs "alambiqués" (comprendre avec au moins 2 parties).
Re: Plugin MQTT de FlyingDomotic
Publié : 03 oct. 2024, 14:11
par marcus_54
J'ai encore un truc curieux sur le domoticz de test.
J'ai supprimé du fichier Json tout ce qui était TeleInfo en attendant d'éclaircir le mystère...
j'ai cette série d'erreurs qui apparaît qui fait référence idx 17 18 19 qui étaient des compteurs d'énergie de la téléinfo que j'ai supprimé précédemment, ils ne sont pas dans le fichier Json et pourtant ils apparaissent en erreur et même après un reboot !
C'est curieux non ?
Code : Tout sélectionner
2024-10-03 13:54:36.505 Error: GetJSonDevices: exception occurred : 'stoull'
2024-10-03 13:54:36.506 Error: GetJSonDevices: exception occurred : 'stoull'
2024-10-03 13:54:36.506 Error: GetJSonDevices: exception occurred : 'stoull'
2024-10-03 13:54:50.922 Error: GetJSonDevices: exception occurred : 'stoull'
2024-10-03 13:54:50.923 Error: GetJSonDevices: exception occurred : 'stoull'
2024-10-03 13:54:50.924 Error: GetJSonDevices: exception occurred : 'stoull'
2024-10-03 13:55:00.798 Error: UpdateMultiMeter: Error converting sValue values! (IDX: 17, sValue: '31789;4693;0;0;;0', dType: 250, sType: 1)
2024-10-03 13:55:00.798 Error: UpdateMultiMeter: Error converting sValue values! (IDX: 18, sValue: '485;1392;0;0;;0', dType: 250, sType: 1)
2024-10-03 13:55:00.798 Error: UpdateMultiMeter: Error converting sValue values! (IDX: 19, sValue: '237;180;0;0;;0', dType: 250, sType: 1)
2024-10-03 14:00:00.884 Error: UpdateMultiMeter: Error converting sValue values! (IDX: 17, sValue: '31789;4693;0;0;;0', dType: 250, sType: 1)
2024-10-03 14:00:00.884 Error: UpdateMultiMeter: Error converting sValue values! (IDX: 18, sValue: '485;1392;0;0;;0', dType: 250, sType: 1)
2024-10-03 14:00:00.884 Error: UpdateMultiMeter: Error converting sValue values! (IDX: 19, sValue: '237;180;0;0;;0', dType: 250, sType: 1)
Re: Plugin MQTT de FlyingDomotic
Publié : 03 oct. 2024, 20:23
par Flying Domotic
Non, c'est le comportement normal. Domoticz ne détruit les dispositifs que :
1) lorsqu'on détruit le plugin
2) lorsqu'on les supprime manuellement
Il faut donc détruire les dispositifs qu'on n'utilise plus à la main (ça évite de perdre l'historique lorsqu'on a un souci de plugin).
Re: Plugin MQTT de FlyingDomotic
Publié : 04 oct. 2024, 08:39
par marcus_54
Bonjour
Pour traiter le problème des idx 17 18 19
J'ai arrêté le plugin MQTTmapper
Je suis allé dans dispositif, j'ai tout sélectionné et tout supprimé, et oh surprise !

est apparu comme par magie le dispositif 19 ! (c'est le seul dispositif visible)
Je l'ai sélectionné, je l'ai supprimé, Oh surprise ! le dispositif 18 est apparu, je l'ai supprimé et Oh dernière surprise ! Le dispositif 17 est apparu et je l'ai supprimé (heureusement qu'il n'y en avait pas 200 comme cela

)
j'ai relancé toute la quincaillerie et pour le moment pas d'erreur
je pense que la, il y a un petit bug dans domoticz
Pour la valeur initiale je ne vois pas trop où on la met ? dans le JSON ?
Re: Plugin MQTT de FlyingDomotic
Publié : 04 oct. 2024, 10:19
par Flying Domotic
marcus_54 a écrit : 04 oct. 2024, 08:39
je pense que la, il y a un petit bug dans domoticz
Pour la valeur initiale je ne vois pas trop où on la met ? dans le JSON ?
Concernant Domoticz, il n'est effectivement pas impossible qu'il y ait un petit bug (ça s'est déjà vu

) Ceci dit, un soft sans bug, ça ne se voit pas tous les jours.
Une façon radicale de faire le ménage est de détruire le plugin et de le recréer. Ça nettoie tout ce qui se trouve dans la base (concernant le plugin bien sûr).
Concernant "initial", c'est effectivement dans le .json de configuration, sous la forme:
Visiblement, ce que Domoticz n'aime pas, c'est le 5eme élément vide dans '31789;4693;0;0;;0'
Je vais modifier le readme pour ajouter "initial" (qui visiblement est passé à la trappe), et mettre un conseil concernant son utilisation.
Re: Plugin MQTT de FlyingDomotic
Publié : 04 oct. 2024, 14:34
par Neutrino
Ça ressemble à un problème de cache.
Si le problème disparaît en navigation privée, c'est que ça vient de là.
Re: Plugin MQTT de FlyingDomotic
Publié : 05 oct. 2024, 10:38
par marcus_54
Je galère, mais j'avance
comment je peux gérer ça proprement ?
Actuelement j'injecte 8W sur le réseau EDF
power_a vaut -8
Code : Tout sélectionner
"E P Secteur": {"topic": "zigbee/Energie",
"type": "250", "subtype": "1", "switchtype": "0",
"initial": {"svalue":"0;0;0;0;0;0"},
"key": "Psecteur",
"mapping": {"item": "energy_a;~0;~0;~0;power_a;~0"}},
Re: Plugin MQTT de FlyingDomotic
Publié : 05 oct. 2024, 11:48
par marcus_54
J'ai contourné le problème en utilisant un autre widget
Code : Tout sélectionner
"Puissance Secteur": {"topic": "zigbee/Energie",
"type": "243", "subtype": "29", "switchtype": "0",
"key": "PSecteur",
"mapping": {"item": "power_a;energy_a"}},
Électrique (Instantané+Compteur)
nvaleur doit être nulle
sValue est composé de deux nombres séparés par un point-virgule comme « 123 ; 123456 ». Le premier nombre est la puissance réelle en watts, le deuxième nombre est l'énergie réelle en kWh. Lorsque l'option "EnergyMeterMode" est définie sur "Calculé", la deuxième valeur est ignorée
Argument facultatif Les options peuvent définir le EnergyMeterMode.
Utilisez Options={'EnergyMeterMode': '1' } pour définir energyMeterMode sur « Calculé ». La valeur par défaut est « Depuis l'appareil »
Lors de la création de l'appareil, définissez Switchtype=4 pour obtenir un appareil exportant de l'énergie (au lieu d'importer)
2 bugs ou je n'ai pas tout compris
1) Je transmets bien la valeur du compteur exprimée en kWh par exemple 247.125 et il comptabilise en Wh ce qui fait que le compteur en kWh n'évolue quasiment pas ou 1000 fois plus lentement
2) Pour corriger le défaut précédent, sur le widget j'ai sélectionné calculer et là le résultat est correct.
Par contre lors de la création du widget j'ai rajouté l'option EnergyMeterMode': '1' le widget est bien crée avec les bons paramètres mais il reste vide !
Pour le faire démarrer, il faut le mettre en "from Device" puis le rebasculer en mode "computed"
Re: Plugin MQTT de FlyingDomotic
Publié : 05 oct. 2024, 18:16
par Flying Domotic
marcus_54 a écrit : 05 oct. 2024, 10:38
Actuelement j'injecte 8W sur le réseau EDF
power_a vaut -8
Pas sûr du tout que Domoticz accepte les valeurs négatives ...
Je pense que l'idée est de donner l’énergie puissé dans le réseau du fournisseur d'un côté et celui fourni pas la production locale de l'autre.
Re: Plugin MQTT de FlyingDomotic
Publié : 05 oct. 2024, 18:58
par Flying Domotic
marcus_54 a écrit : 05 oct. 2024, 11:48
J'ai contourné le problème en utilisant un autre widget
Code : Tout sélectionner
"Puissance Secteur": {"topic": "zigbee/Energie",
"type": "243", "subtype": "29", "switchtype": "0",
"key": "PSecteur",
"mapping": {"item": "power_a;energy_a"}},
Attention avec les compteurs calculés, le total peut être assez significativement éloigné de la réalité, vu que le total est calcul est réalisé en multipliant la valeur instantanée par de délai écoulé depuis la dernière mise à jour. Si on dispose du compteur, il est mieux de l'utiliser.
marcus_54 a écrit : 05 oct. 2024, 11:48
2 bugs ou je n'ai pas tout compris
1) Je transmets bien la valeur du compteur exprimée en kWh par exemple 247.125 et il comptabilise en Wh ce qui fait que le compteur en kWh n'évolue quasiment pas ou 1000 fois plus lentement
2) Pour corriger le défaut précédent, sur le widget j'ai sélectionné calculer et là le résultat est correct.
Par contre lors de la création du widget j'ai rajouté l'option EnergyMeterMode': '1' le widget est bien crée avec les bons paramètres mais il reste vide !
Pour le faire démarrer, il faut le mettre en "from Device" puis le rebasculer en mode "computed"
Pour le pb 1), la doc Domoticz explique que l'affichage est fait en kW/kWh, mais les données injectées sont en W/Wh (on a le même genre de comportement avec les compteurs d'eau qui affichent des m3 à partir de litres). Il suffit donc d'utiliser un multiplicateur 1000 dans le fichier de config MqttMapper.
Pour le pb 2), c'est Domoticz qui gère le bazar, le plugin ne fait que passer l'option. Attention quand même au fait que certaines options ne sont lues qu'à la création du dispositif.