Avant toute chose merci de (re)prendre connaissance de la charte et de la respecter.
Pour résumer :
- Avant de poser une question, je cherche si la réponse existe
- Je suis poli, courtois et je respecte tout un chacun sur le forum
- Si un post m'agace : je m'en éloigne plutôt que de répondre d'une façon qui pourrait être mal interprétée


Il n'est jamais du luxe que de rappeler des choses simples :
Courtoisie, amabilité, politesse et bonne humeur sont les maîtres mots pour un forum sympathique, bienveillant et accueillant :)

Le groupe des Helpers est present pour vous aidez, n'hésitez pas à poser des questions ;)

Toute la communauté vous remercie

Interface Jeedom / Victron Venus via le plugin jMQTT

Retrouvez ici des sujets concernant le protocole MQTT et les modules domotiques de type MQTT utilisés avec JEEDOM
/!\ Plugin MQTT non officiel
Avatar de l’utilisateur
domotruc
Timide
Messages : 244
Inscription : 23 févr. 2018, 08:35
Contact :

Re: Interface Jeedom / Victron Venus via le plugin jMQTT

Message par domotruc » 11 oct. 2018, 22:26

Re-bonsoir,
Je n'arrive pas à reproduire en simulant le même traffic.
Par contre si je connecte un deuxième client avec l'id jeedom, la deconnexion est immédiate.
Donc je met pas mal d'espoir dans cette cause, je te laisse regarder...
domotruc
Plugins jMQTT, jElocky
domotruc.com

Gwladys
Timide
Messages : 250
Inscription : 27 avr. 2018, 18:22

Re: Interface Jeedom / Victron Venus via le plugin jMQTT

Message par Gwladys » 11 oct. 2018, 22:44

Bonsoir,

J'ai un petit souci, c'est que le broker CCGW ne publie pas de valeurs car il fait nuit et les valeurs sont toutes stables et à "nul" (onduleurs deconnectes).
Je vais donc attendre demain matin pour continuer les essais.

Question de débutante en Jeedom; (je vais aller voir le web est mon ami!
Pourrais tu m'indiquer, stp, ou je pourrais trouver toutes les informations pour effectuer les programmations en PHP, le PHP standard je dois pouvoir me debrouiller puisque je suis plutôt Python, quand aux bibliothéques comme "json_decode" , comment les utilises tu dans le jeedom, tu passes par des virtuels? ou c'est dans le ligne liée au résultat?

Merci et bonne soirée,
Gwladys

Avatar de l’utilisateur
domotruc
Timide
Messages : 244
Inscription : 23 févr. 2018, 08:35
Contact :

Re: Interface Jeedom / Victron Venus via le plugin jMQTT

Message par domotruc » 11 oct. 2018, 23:03

Vaste question...
Comme tu le dis, le web est ton ami.
Et surtout plugin_template et sa doc, lire le code des plugins, du core, essayer, ...
domotruc
Plugins jMQTT, jElocky
domotruc.com

Gwladys
Timide
Messages : 250
Inscription : 27 avr. 2018, 18:22

Re: Interface Jeedom / Victron Venus via le plugin jMQTT

Message par Gwladys » 11 oct. 2018, 23:07

Many thanks, let me see ....

Ma demande etait surtout de savoir OU tu placais cette commande "json_decode", mais je vais suivre ton conseil.... mon compilo, mes émulateurs et mes bibliothéques en C me paraissaient plus simples....

Je viens de jeter un coup d'oeil rapide, ma demande etait juste pour savoir où placer ce "json_decode" pas d'écrire un plugin, ce sera quand je serais grande !!

Bonne soirée,

Avatar de l’utilisateur
domotruc
Timide
Messages : 244
Inscription : 23 févr. 2018, 08:35
Contact :

Re: Interface Jeedom / Victron Venus via le plugin jMQTT

Message par domotruc » 12 oct. 2018, 07:35

Bonjour,
Je crois que je n'avais pas compris ta question, désolé, car les fonctions comme json_decode ne peuvent pas être utilisées ailleurs que dans le code des plugins.
Si ta question est relative au décodage des payloads de type json, as tu coché parseJson dans le panneau des commandes de l'équipement ?
domotruc
Plugins jMQTT, jElocky
domotruc.com

Gwladys
Timide
Messages : 250
Inscription : 27 avr. 2018, 18:22

Re: Interface Jeedom / Victron Venus via le plugin jMQTT

Message par Gwladys » 12 oct. 2018, 09:56

Bonjour,

Un nouveau fichier de log.
- je constate que si je laisse la commande : ajout automatique des commandes j'ai le plantage du démon (voir le logg ci-aprés). Le pb est que je dois laisser cet ajout automatique sélectionné un certain temps, car le broker CCGX n'envoie de nouvelles commandes que lors des changement des variables.

Code : Tout sélectionner

[2018-10-12 09:37:02][INFO] : <- Keep_CCGW_Alive|R/xxxxxxx/system/0/Serial (null)
[2018-10-12 09:37:02][DEBUG] : Publication du message R/xxxxxxx/system/0/Serial  (pid=28839, qos=1, retain=0)
[2018-10-12 09:37:02][DEBUG] : Message publié
[2018-10-12 09:38:01][INFO] : <- Keep_CCGW_Alive|R/xxxxxxx/system/0/Serial (null)
[2018-10-12 09:38:01][DEBUG] : Publication du message R/xxxxxxx/system/0/Serial  (pid=28886, qos=1, retain=0)
[2018-10-12 09:38:01][DEBUG] : Message publié
[2018-10-12 09:39:01][INFO] : <- Keep_CCGW_Alive|R/xxxxxxx/system/0/Serial (null)
[2018-10-12 09:39:01][DEBUG] : Publication du message R/xxxxxxx/system/0/Serial  (pid=29037, qos=1, retain=0)
[2018-10-12 09:39:01][DEBUG] : Message publié
[2018-10-12 09:40:01][INFO] : <- Keep_CCGW_Alive|R/xxxxxxx/system/0/Serial (null)
[2018-10-12 09:40:01][DEBUG] : Publication du message R/xxxxxxx/system/0/Serial  (pid=29228, qos=1, retain=0)
[2018-10-12 09:40:01][DEBUG] : Message publié
[2018-10-12 09:40:12][DEBUG] : deamon_stop
[2018-10-12 09:40:12][DEBUG] : deamon_start
[2018-10-12 09:40:12][DEBUG] : daemon starts, pid is 29430
[2018-10-12 09:40:12][WARNING] : Several commands having "Nuc VM2/status" as topic exist. Consider the one with id=444.
[2018-10-12 09:40:12][DEBUG] : status cmd: 444
[2018-10-12 09:40:12][INFO] : Connect to mosquitto: Host=yyyyyyyy, Port=1883, Id=Nuc VM2
[2018-10-12 09:40:12][DEBUG] : mosquitto: Client Nuc VM2 sending CONNECT
[2018-10-12 09:40:12][INFO] : Equipment Keep_CCGW_Alive: subscribes to "N/#" with Qos=1
[2018-10-12 09:40:12][DEBUG] : mosquitto: Client Nuc VM2 sending SUBSCRIBE (Mid: 1, Topic: N/#, QoS: 1)
[2018-10-12 09:40:12][INFO] : Equipment Lecture CCGW: subscribes to "#" with Qos=1
[2018-10-12 09:40:12][DEBUG] : mosquitto: Client Nuc VM2 sending SUBSCRIBE (Mid: 2, Topic: #, QoS: 1)
[2018-10-12 09:40:12][INFO] : Equipment Nuc VM2: subscribes to "Nuc VM2/#" with Qos=1
[2018-10-12 09:40:12][DEBUG] : mosquitto: Client Nuc VM2 sending SUBSCRIBE (Mid: 3, Topic: Nuc VM2/#, QoS: 1)
[2018-10-12 09:40:12][INFO] : API is disable
[2018-10-12 09:40:12][DEBUG] : mosquitto: Client Nuc VM2 received CONNACK (0)
[2018-10-12 09:40:12][DEBUG] : mosquitto: connection response is Connection Accepted.
[2018-10-12 09:40:12][DEBUG] : mosquitto: Client Nuc VM2 sending PUBLISH (d0, q1, r1, m4, 'Nuc VM2/status', ... (6 bytes))
[2018-10-12 09:40:12][DEBUG] : mosquitto: Client Nuc VM2 received SUBACK
[2018-10-12 09:40:12][DEBUG] : mosquitto: topic subscription accepted, mid=1
[2018-10-12 09:40:12][DEBUG] : mosquitto: Client Nuc VM2 received PUBLISH (d0, q0, r1, m0, 'N/xxxxxxx/system/0/Serial', ... (25 bytes))
[2018-10-12 09:40:12][DEBUG] : Payload {"value": "xxxxxxx"} for topic N/xxxxxxx/system/0/Serial
[2018-10-12 09:40:12][DEBUG] : Command Keep_CCGW_Alive|xxxxxxx/system/0/Serial not created as automatic command creation is disabled
[2018-10-12 09:40:12][INFO] : -> Lecture CCGW|N/xxxxxxx/system/0/Serial {"value": "xxxxxxx"}
[2018-10-12 09:40:12][INFO] : -> Lecture CCGW|N/xxxxxxx/system/0/Serial{value} "xxxxxxx"
[2018-10-12 09:40:12][DEBUG] : mosquitto: Client Nuc VM2 received PUBLISH (d0, q0, r1, m0, 'N/xxxxxxx/system/0/Ac/ActiveIn/Source', ... (15 bytes))
[2018-10-12 09:40:12][DEBUG] : Payload {"value": null} for topic N/xxxxxxx/system/0/Ac/ActiveIn/Source
[2018-10-12 09:40:12][DEBUG] : Command Keep_CCGW_Alive|xxxxxxx/system/0/Ac/ActiveIn/Source not created as automatic command creation is disabled
[2018-10-12 09:40:12][INFO] : -> Lecture CCGW|N/xxxxxxx/system/0/Ac/ActiveIn/Source {"value": null}
[2018-10-12 09:40:12][DEBUG] : mosquitto: Client Nuc VM2 received PUBLISH (d0, q0, r1, m0, 'N/xxxxxxx/system/0/Ac/Consumption/L1/Power', ... (15 bytes))
[2018-10-12 09:40:12][DEBUG] : Payload {"value": null} for topic N/xxxxxxx/system/0/Ac/Consumption/L1/Power
[2018-10-12 09:40:12][DEBUG] : Command Keep_CCGW_Alive|xxxxxxx/system/0/Ac/Consumption/L1/Power not created as automatic command creation is disabled
[2018-10-12 09:40:12][INFO] : -> Lecture CCGW|N/xxxxxxx/system/0/Ac/Consumption/L1/Pow {"value": null}
[2018-10-12 09:40:12][DEBUG] : mosquitto: Client Nuc VM2 received PUBLISH (d0, q0, r1, m0, 'N/xxxxxxx/system/0/Ac/Consumption/L2/Power', ... (15 bytes))
[2018-10-12 09:40:12][DEBUG] : Payload {"value": null} for topic N/xxxxxxx/system/0/Ac/Consumption/L2/Power
[2018-10-12 09:40:12][DEBUG] : Command Keep_CCGW_Alive|xxxxxxx/system/0/Ac/Consumption/L2/Power not created as automatic command creation is disabled
[2018-10-12 09:40:12][INFO] : -> Lecture CCGW|N/xxxxxxx/system/0/Ac/Consumption/L2/Pow {"value": null}
[2018-10-12 09:40:12][DEBUG] : mosquitto: Client Nuc VM2 received PUBLISH (d0, q0, r1, m0, 'N/xxxxxxx/system/0/Ac/Consumption/L3/Power', ... (15 bytes))
[2018-10-12 09:40:12][DEBUG] : Payload {"value": null} for topic N/xxxxxxx/system/0/Ac/Consumption/L3/Power
[2018-10-12 09:40:12][DEBUG] : Command Keep_CCGW_Alive|xxxxxxx/system/0/Ac/Consumption/L3/Power not created as automatic command creation is disabled
[2018-10-12 09:40:12][INFO] : -> Lecture CCGW|N/xxxxxxx/system/0/Ac/Consumption/L3/Pow {"value": null}
[2018-10-12 09:40:12][DEBUG] : mosquitto: Client Nuc VM2 received PUBLISH (d0, q0, r1, m0, 'N/xxxxxxx/system/0/Ac/Consumption/NumberOfPhases', ... (15 bytes))
[2018-10-12 09:40:12][DEBUG] : Payload {"value": null} for topic N/xxxxxxx/system/0/Ac/Consumption/NumberOfPhases
[2018-10-12 09:40:12][DEBUG] : Command Keep_CCGW_Alive|xxxxxxx/system/0/Ac/Consumption/NumberOfPhases not created as automatic command creation is disabled
[2018-10-12 09:40:12][INFO] : -> Lecture CCGW|N/xxxxxxx/system/0/Ac/Consumption/Number {"value": null}
[2018-10-12 09:40:12][DEBUG] : mosquitto: Client Nuc VM2 received PUBLISH (d0, q0, r1, m0, 'N/xxxxxxx/system/0/Ac/ConsumptionOnInput/L1/Power', ... (15 bytes))
[2018-10-12 09:40:12][DEBUG] : Payload {"value": null} for topic N/xxxxxxx/system/0/Ac/ConsumptionOnInput/L1/Power
[2018-10-12 09:40:12][DEBUG] : Command Keep_CCGW_Alive|xxxxxxx/system/0/Ac/ConsumptionOnInput/L1/Power not created as automatic command creation is disabled
[2018-10-12 09:40:12][INFO] : -> Lecture CCGW|N/xxxxxxx/system/0/Ac/ConsumptionOnInput {"value": null}
[2018-10-12 09:40:12][DEBUG] : mosquitto: Client Nuc VM2 received PUBLISH (d0, q0, r1, m0, 'N/xxxxxxx/system/0/Ac/ConsumptionOnInput/L2/Power', ... (15 bytes))
[2018-10-12 09:40:12][DEBUG] : Payload {"value": null} for topic N/xxxxxxx/system/0/Ac/ConsumptionOnInput/L2/Power
[2018-10-12 09:40:12][DEBUG] : Command Keep_CCGW_Alive|xxxxxxx/system/0/Ac/ConsumptionOnInput/L2/Power not created as automatic command creation is disabled

[2018-10-12 09:40:12][INFO] : Creating command of type info Lecture CCGW|N/xxxxxxx/system/0/Ac/ConsumptionOnInput/L2/Power
[2018-10-12 09:40:12][ERROR] : Erreur sur jMQTT::daemon() : [MySQL] Error code : 23000 (1062). Duplicate entry '16-N/xxxxxxx/system/0/Ac/ConsumptionOnInput' for key 'unique'
[2018-10-12 09:40:12][DEBUG] : mosquitto: Client Nuc VM2 sending DISCONNECT
[2018-10-12 09:40:12][DEBUG] : mosquitto: disconnectedon client request

[2018-10-12 09:41:01][INFO] : <- Keep_CCGW_Alive|R/xxxxxxx/system/0/Serial (null)
[2018-10-12 09:41:01][DEBUG] : Publication du message R/xxxxxxx/system/0/Serial  (pid=30076, qos=1, retain=0)
[2018-10-12 09:41:01][DEBUG] : Message publié
Dés lors que je décoche cette commande et que je redémarre le démon, cela semble fonctioner.

Merci de ton aide et bon courage.

Gwladys

Gwladys
Timide
Messages : 250
Inscription : 27 avr. 2018, 18:22

Re: Interface Jeedom / Victron Venus via le plugin jMQTT

Message par Gwladys » 12 oct. 2018, 19:29

Bonsoir,

juste un petit point en passant, lorsque tu affiches un panneau indiquant la mise à jour des commandes, tu écris "EQUIPMENT" en oubliant un "E" entre le P et le M.... petit point de détail, désolée je chipote....

Merci et bon courage,

Avatar de l’utilisateur
domotruc
Timide
Messages : 244
Inscription : 23 févr. 2018, 08:35
Contact :

Re: Interface Jeedom / Victron Venus via le plugin jMQTT

Message par domotruc » 13 oct. 2018, 07:16

Gwladys a écrit :
12 oct. 2018, 19:29
Bonsoir,

juste un petit point en passant, lorsque tu affiches un panneau indiquant la mise à jour des commandes, tu écris "EQUIPMENT" en oubliant un "E" entre le P et le M.... petit point de détail, désolée je chipote....

Merci et bon courage,
Bonjour,
Merci, sera corrigé dans la prochaine version du plugin.
domotruc
Plugins jMQTT, jElocky
domotruc.com

Gwladys
Timide
Messages : 250
Inscription : 27 avr. 2018, 18:22

Re: Interface Jeedom / Victron Venus via le plugin jMQTT

Message par Gwladys » 13 oct. 2018, 08:26

Bonjour,

Je constate que la charge de traitement d'une trentaine de valeurs envoyées par le broker en continu est trop forte pour un rpi3b+ car ce dernier plante les autres plugin comme Zwave qui deviennent instables.(charge processeur de 0,95 à à 1,80)
Pour information, le CCGX gère environ 250 paramètres qui peuvent être envoyées en continu par le broker.

En ce qui concerne la charge cpu, serait il possible de paramétrer le délai de lecture/écriture entre 2 trames au niveau Jeedom?

J'utiliserais donc les informations mqtt comme signalisation aux Jeedom secondaire et sur une machine plus puissante ( le nuc) pour remonter les informations complètes. (Informations détaillés par canaux ) en complément de la gestion temps réel sur un automate en modbus.

As tu besoin d'autres informations?

Au plaisir de vous lire et de tester la dernière version du plugin.

Avatar de l’utilisateur
domotruc
Timide
Messages : 244
Inscription : 23 févr. 2018, 08:35
Contact :

Re: Interface Jeedom / Victron Venus via le plugin jMQTT

Message par domotruc » 13 oct. 2018, 08:30

Gwladys a écrit :
12 oct. 2018, 09:56
Bonjour,

Un nouveau fichier de log.
- je constate que si je laisse la commande : ajout automatique des commandes j'ai le plantage du démon (voir le logg ci-aprés). Le pb est que je dois laisser cet ajout automatique sélectionné un certain temps, car le broker CCGX n'envoie de nouvelles commandes que lors des changement des variables.

Code : Tout sélectionner

[2018-10-12 09:40:12][INFO] : Creating command of type info Lecture CCGW|N/xxxxxxx/system/0/Ac/ConsumptionOnInput/L2/Power
[2018-10-12 09:40:12][ERROR] : Erreur sur jMQTT::daemon() : [MySQL] Error code : 23000 (1062). Duplicate entry '16-N/xxxxxxx/system/0/Ac/ConsumptionOnInput' for key 'unique'
[2018-10-12 09:40:12][DEBUG] : mosquitto: Client Nuc VM2 sending DISCONNECT
[2018-10-12 09:40:12][DEBUG] : mosquitto: disconnectedon client request
Dés lors que je décoche cette commande et que je redémarre le démon, cela semble fonctioner.

Merci de ton aide et bon courage.

Gwladys

Bonjour,

J'ai compris ce problème et j'ai ouvert le ticket #58 sur GitHub :
  • Le nom des commandes côté base de données Jeedom est limité à 45 caractères. jMQTT construit le nom des commandes automatiquement à partir du topic de la commande auquel il "soustrait" le topic de souscription de l'équipement.
  • Dans le cas de topic long, si le nom de la commande dépasse 45 caractères, il est tronqué à la sauvegarde en BD (Base de Données).
  • Ce nom tronqué peut alors devenir identique à une commande déjà en BD, ce que le schéma BD interdit, d'où l'erreur.
La correction n'est pas immédiate.

En attendant, tu peux créer manuellement ton équipement Lecture CCGW et définir `N/xxxxxxx/#` comme topic de souscription. Ou mieux encore pour prendre de la marge (tu en auras besoin pour décommuter les valeurs json en cochant en parseJSON), créer les équipement suivants:

Code : Tout sélectionner

Nom équipement         Topic inscription
CCGW system            N/xxxxxxx/system/#
CCGW inverter          N/xxxxxxx/pvinverter/#
CCGW logger            N/xxxxxxx/logger/#
etc
L'autre contournement possible est de changer manuellement le nom des commandes pour les raccourcir après leur création automatique.

Tu ne m'as pas fait de retour sur les jeedom qui se déconnectaient l'un, l'autre. Est ce que c'était bien cela? Est ce que ça a réglé les pertes de connexion démon avec message disconnectedunexpectedly ?
domotruc
Plugins jMQTT, jElocky
domotruc.com

Avatar de l’utilisateur
domotruc
Timide
Messages : 244
Inscription : 23 févr. 2018, 08:35
Contact :

Re: Interface Jeedom / Victron Venus via le plugin jMQTT

Message par domotruc » 13 oct. 2018, 09:40

Gwladys a écrit :
13 oct. 2018, 08:26
Bonjour,

Je constate que la charge de traitement d'une trentaine de valeurs envoyées par le broker en continu est trop forte pour un rpi3b+ car ce dernier plante les autres plugin comme Zwave qui deviennent instables.(charge processeur de 0,95 à à 1,80)
Pour information, le CCGX gère environ 250 paramètres qui peuvent être envoyées en continu par le broker.

En ce qui concerne la charge cpu, serait il possible de paramétrer le délai de lecture/écriture entre 2 trames au niveau Jeedom?
Je viens de faire un test rapide, en désactivant la sauvegarde de toutes les valeurs reçues côté jMQTT, et en ne gardant que la réception du message et identification de la commande à laquelle il appartient (ce traitement serait nécessaire pour regarder la date de dernière mise à jour et ne pas traiter la trame), la charge CPU n'est divisée que par 2. Au mieux on ne gagnerait que quelques dizaines de pourcent, je ne crois pas que cela règle le problème.

C'est à la source qu'il faut filtrer, c'est à dire côté victronenergy/dbus-mqtt.
As tu identifié où se trouve ce script sur ton installation?
Peut-être ouvrir une issue sur GitHub pour avoir du support?
domotruc
Plugins jMQTT, jElocky
domotruc.com

Gwladys
Timide
Messages : 250
Inscription : 27 avr. 2018, 18:22

Re: Interface Jeedom / Victron Venus via le plugin jMQTT

Message par Gwladys » 13 oct. 2018, 13:46

Bonjour,

Merci de tes messages et de ton aide.

En fait, j'ai tout arrêté et reconfigurer from scratch.
Cela va mieux mais le bug que tu as trouvé empêche la découverte automatique des différents topics par les équipements en fonction des filtres ( topics générique avec un wildcard). Il est donc nécessaire de faire la manip avec la console car CCGX créé des topics en fonction de la configuration et des valeurs qui apparaissent et changent.

J'ai paramétré mes différents équipements en manuel et cela fonctionne.

Une question, même en cliquant sur jsonparse, les données sont toujours en caractère, donc non exploitables sur les historiques, pourrais tu me donner la piste pour connaître les commandes logicielles disponibles dans les virtuels (traitement chaîne de char, traitements octets et bits,...) est ce des commandes Python, PHP,. .. autres? A moins que qu'il y ait d'autres solutions pour traiter les données brutes?

J'ai regardé sur CCGW et contacté Victron, mais la réponse est... passez par le site internet... ou , travaillez en modbus avec des matériels pro! Ou, attendez le timeout que le CCGW s'endormir après 1 mn et réveillez le lorsque vous avez besoin des informations. N'oubliez pas que les données sont conservées (retain) jusqu'à l'endormissement du CCGW et donc que la fréquence du polling est l'affaire du client...
En fait, j'ai besoin du suivi temps réel, donc augmenter la puissance des clients.

Bon courage et au plaisir de te lire,

Avatar de l’utilisateur
domotruc
Timide
Messages : 244
Inscription : 23 févr. 2018, 08:35
Contact :

Re: Interface Jeedom / Victron Venus via le plugin jMQTT

Message par domotruc » 13 oct. 2018, 16:06

Gwladys a écrit :
13 oct. 2018, 13:46
Bonjour,

Merci de tes messages et de ton aide.

En fait, j'ai tout arrêté et reconfigurer from scratch.
Cela va mieux mais le bug que tu as trouvé empêche la découverte automatique des différents topics par les équipements en fonction des filtres ( topics générique avec un wildcard). Il est donc nécessaire de faire la manip avec la console car CCGX créé des topics en fonction de la configuration et des valeurs qui apparaissent et changent.

J'ai paramétré mes différents équipements en manuel et cela fonctionne.
Je comprend que tu n'as plus de problème d'arrêt du démon?
Une question, même en cliquant sur jsonparse, les données sont toujours en caractère, donc non exploitables sur les historiques, pourrais tu me donner la piste pour connaître les commandes logicielles disponibles dans les virtuels (traitement chaîne de char, traitements octets et bits,...) est ce des commandes Python, PHP,. .. autres? A moins que qu'il y ait d'autres solutions pour traiter les données brutes?
Il faut que tu passes le sous-type des commandes info concernées à Numérique.
J'ai regardé sur CCGW et contacté Victron, mais la réponse est... passez par le site internet... ou , travaillez en modbus avec des matériels pro! Ou, attendez le timeout que le CCGW s'endormir après 1 mn et réveillez le lorsque vous avez besoin des informations. N'oubliez pas que les données sont conservées (retain) jusqu'à l'endormissement du CCGW et donc que la fréquence du polling est l'affaire du client...
En lisant le code de dbus_mqtt, j'ai effectivement vu que les données étaient publiés en mode retain. J'imagine que tu le vois lorsque tu connectes la console via mosquitto_sub: tu prends en rafale tous les messages puis après ça se calme un peu?

Je ne vois pas d'autres solutions que:
  • Modifier dbus_mqtt.py pour filtrer les messages sur dbus et ne publier vers le broker mqtt qu'un message par minute par exemple pour chaque topic; ou
  • Développer une passerelle (mqtt vers mqtt) qui lirait tous les messages provenant du broker CCGW pour les publier vers un autre broker après filtrage. jMQTT se connecterait à ce 2ème broker.
domotruc
Plugins jMQTT, jElocky
domotruc.com

Gwladys
Timide
Messages : 250
Inscription : 27 avr. 2018, 18:22

Re: Interface Jeedom / Victron Venus via le plugin jMQTT

Message par Gwladys » 13 oct. 2018, 17:53

Bonjour,

Merci de tes informations, je vais chercher pour faire les calculs sur mes données en virtuel...

- en fait, avec la console mosquitto_sub, je vois un flux continu car je suis toujours à l'étude de tous les topics. Lorsque je lance mosquitto_sub, j'ai effectivement une rafale de messages qui se calme ensuite pour devenir plus régulier car les valeurs mesurées changent en permanence.

- je pensais bien qu'un autre broker pouvait exister sur le même réseau mais je pensais plutôt l'utiliser en parallèle pour d'autres données de service. Seuls certains topics du broker Victron étant utilisés par tous les Jeedom esclaves ( puissance disponible, régime de fonctionnement de l'installation d'autoconsommation,...)
Cependant l'idée d'une passerelle mqtt vers mqtt est une piste intéressante.

Merci et bon week end.

Gwladys
Timide
Messages : 250
Inscription : 27 avr. 2018, 18:22

Re: Interface Jeedom / Victron Venus via le plugin jMQTT

Message par Gwladys » 15 oct. 2018, 08:19

Bonjour,

Je viens faire une petite mise a jour après un we d'essais.
- le CCGW génère plus de 300 topics différents (pour une installation en triphasé, 3 mesures de puissance,... il y a donc lieu d'oublier le # et d'utiliser des noms de topics precis, sous peine de voir les ordinateurs saturer.
- le fonctionnement est bon, si ce n'est l arrêt du démon sur erreur (bug en cours de resolution).

Je continue l'inventaire des topics car la doc de Victron est très très light sur ce point dans la mesure où cette société souhaite que tous les utilisateurs passent par leur site internet abondamment documenté, ce qui n'est pas mon cahier des charges.

Merci pour les efforts et l'aide de Domotruc dont nous attendons la nouvelle version que je testerais avec plaisir.

Bonne journee,
Gwladys

Akoua
Timide
Messages : 24
Inscription : 05 oct. 2018, 14:11

Re: Interface Jeedom / Victron Venus via le plugin jMQTT

Message par Akoua » 15 oct. 2018, 09:43

Bonjour,

Je vous remercie tout les deux pour votre implication sur le sujet que j'ai initié mais auquel je n'ai malheureusement pas pu participé pour le moment.

Gwladys, pourra tu générer un fichier avec la liste des topics que tu as identifié ? Je souhaiterai pouvoir les triés par type de matériel et les compléter au fur et à mesure. Cela facilitera la vie aux prochaines personnes souhaitant faire la même démarche que nous.

Cordialement,

Akoua
https://akoua-energies.com/

Jeedom v3.3.27, VM sur Synology, VenusGX, Wes V2

Gwladys
Timide
Messages : 250
Inscription : 27 avr. 2018, 18:22

Re: Interface Jeedom / Victron Venus via le plugin jMQTT

Message par Gwladys » 15 oct. 2018, 10:15

Bonjour,

Le problème est que les topics sont créés en fonctions des périphériques du D bus, et donc ton installation sera forcément différente d'autres, dont la mienne.
Je peux publier en mp un début de liste car ce serait très long de la publier sur le forum.

Ou en es tu de ton installation?

Bonne journee,

Gwladys
Timide
Messages : 250
Inscription : 27 avr. 2018, 18:22

Re: Interface Jeedom / Victron Venus via le plugin jMQTT

Message par Gwladys » 15 oct. 2018, 19:22

Bonsoir,

Voici la partie principale de la liste des topics MQTT du CCGX, les autres topics seront en fonction de votre configuration.

Code : Tout sélectionner

N/
	/xxxxxxx/
			/system/
			/0/
				/Serial {"value": "xxxxxx"}
				/DeviceInstance {"value": 0}
				/FirmwareVersion {"value": null}
				/HardwareVersion {"value": null}
				/Hub {"value": 3}
				/Management/
					/Connection {"value": "data from other dbus processes"}
					/ProcessName {"value": "/opt/victronenergy/dbus-systemcalc-py/dbus_systemcalc.py"}
					/ProcessVersion {"value": "1.47"}
				/ProductId {"value": null}
					/ProductName {"value": null}
					/PvInvertersProductIds {"value": [45069, 41282]}
					/Relay:
						/0/
							/State {"value": 0}
				/ServiceMapping/
					/com_victronenergy_settings_0 {"value": "com.victronenergy.settings"}
					/com_victronenergy_vecan_0 {"value": "com.victronenergy.vecan.can0"}
					/com_victronenergy_grid_30 {"value": null}
					/com_victronenergy_pvinverter_20 {"value": null}
					/com_victronenergy_pvinverter_21 {"value": null}
				/SystemType {"value": "Hub-3"}
				/VebusService {"value": null}
										
				/Ac/
					/ActiveIn/Source {"value": null}
					/Consumption/
						/L1/Power {"value": null}
						/L2/Power {"value": null}
						/L3/Power {"value": null}
						/NumberOfPhases {"value": null}
					/ConsumptionOnInput/
						/L1/Power {"value": null}
						/L2/Power {"value": null}
						/L3/Power {"value": null}
						/NumberOfPhases {"value": null}
					/ConsumptionOnOutput/
						/L1/Power {"value": null}
						/L2/Power {"value": null}
						/L3/Power {"value": null}
						/NumberOfPhases {"value": null}
					/Genset/
						/DeviceType {"value": null}
						/L1/Power {"value": null}
						/L2/Power {"value": null}
						/L3/Power {"value": null}
						/NumberOfPhases {"value": null}
						/ProductId {"value": null}
					/Grid/
						/DeviceType {"value": null}
						/L1/Power {"value": -202.31575366209427}
						/L2/Power {"value": -189.55049176813799}
						/L3/Power {"value": -200.43375456976781}
						/NumberOfPhases {"value": 3}
						/ProductId {"value": null}
					/PvOnGenset/
						/L1/Power {"value": null}
						/L2/Power {"value": null}
						/L3/Power {"value": null}
						/NumberOfPhases {"value": null}
					/PvOnGrid/
						/L1/Power {"value": 202.31575366209427}
						/L2/Power {"value": 189.55049176813799}
						/L3/Power {"value": 200.43375456976781}
						/NumberOfPhases {"value": 3}
					/PvOnOutput/
						/L1/Power {"value": null}
						/L2/Power {"value": null}
						/L3/Power {"value": null}
						/NumberOfPhases {"value": null}
					/ActiveBatteryService {"value": null}
					/AutoSelectedBatteryMeasurement {"value": null}
					/AutoSelectedBatteryService {"value": "No battery monitor found"}
					/AvailableBatteryMeasurements {"value": {"default": "Automatic", "nobattery": "No battery monitor"}}
					/AvailableBatteryServices {"value": "{\"default\": \"Automatic\", \"nobattery\": \"No battery monitor\"}"}
					/Buzzer/State {"value": 0}
					/Connected {"value": 1}
				/Control/
					/ExtraBatteryCurrent {"value": 0}
					/SolarChargeCurrent {"value": 0}
					/SolarChargeVoltage {"value": 0}
					/VebusSoc {"value": 0}
				/Dc/
					/Battery/
						/Alarms/CircuitBreakerTripped {"value": null}
						/ConsumedAmphours {"value": null}
						/Current {"value": null}
						/Power {"value": null}
						/Soc {"value": null}
						/State {"value": null}
						/TimeToGo {"value": null}
						/Voltage {"value": null}
					/Charger/
						/Power {"value": null}
					/Pv/
						/Current {"value": null}
						/Power {"value": null}
					/System/
						/Power {"value": null}
					/Vebus/
						/Current {"value": null}
						/Power {"value": null}
Pour les parties spécifiques, je travaille actuellement sur les manuels API D-BUS disponibles sur le site Victron.

Bonne soirée,

Akoua
Timide
Messages : 24
Inscription : 05 oct. 2018, 14:11

Re: Interface Jeedom / Victron Venus via le plugin jMQTT

Message par Akoua » 15 oct. 2018, 19:38

Ok merci ... C'est déjà une bonne base ...

Pour mon install, j'attend la livraison du Pi cette semaine et j'étudie différentes configurations de Nuc pour mon Jeedom "maître" ...

A+
https://akoua-energies.com/

Jeedom v3.3.27, VM sur Synology, VenusGX, Wes V2

Avatar de l’utilisateur
domotruc
Timide
Messages : 244
Inscription : 23 févr. 2018, 08:35
Contact :

Re: Interface Jeedom / Victron Venus via le plugin jMQTT

Message par domotruc » 15 oct. 2018, 21:25

Bonsoir,
Gwladys a écrit :
15 oct. 2018, 08:19
Bonjour,

Je viens faire une petite mise a jour après un we d'essais.
- le CCGW génère plus de 300 topics différents (pour une installation en triphasé, 3 mesures de puissance,... il y a donc lieu d'oublier le # et d'utiliser des noms de topics precis, sous peine de voir les ordinateurs saturer.
- le fonctionnement est bon, si ce n'est l arrêt du démon sur erreur (bug en cours de resolution).
Tu parles bien de l'arrêt du démon sur erreur MySQL? C'est le seul bug en cours de résolution, pas tout de suite par contre car pas immédiat.

Je t'indiquais des moyens de contournement dans ce post. Ça ne marche pas?

Bonne soirée.
domotruc
Plugins jMQTT, jElocky
domotruc.com

Répondre

Revenir vers « [Plugin Tiers] MQTT »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité