Problème pour lire les valeurs d'un Electrolyseur Bayrol

Bonjour,

J’essaie de récupérer les infos de mon Electrolyseur Bayrol Automatic Salt.
Pour cela, j’ai suivi les instructions du sujet :
Tuto connecter un bayrol

J’ai installé la version Beta de Mymodbus et utilisé le template de Adefx.
Le demon est activé et au niveau de la santé, l’Electrolyseur est bien connecté.
Mais je n’arrive pas à lire les données.
Dans le log j’ai:

[2024-06-16 23:51:41]ERROR : PyModbusClient: *Piscine Bayrol* Something went wrong while reading Alarme batterie (command id 597307): <class 'pymodbus.exceptions.ConnectionException'>  = Modbus Error: [Connection] Not connected[AsyncModbusTcpClient 192.168.0.27:502]. Traceback: <traceback object at 0x7f7d03d0e800>

Et ce pour toutes les variables paramétrées dans le template.
Pourriez-vous m’aider?
Merci d’avance.

Bonjour,

Avez-vous teste avec Modbus Doctor ou un autre outil Modbus ?

A+
Michel

Bonne idée, je vais déjà tenter de me connecter avec Modbus Doctor et je vous tiens au courant.

Cela ne fonctionne pas avec Modbus Doctor. Je n’arrive pas à me connecter. L’Electrolyseur n’est sûrement pas comme le poolmanager.
Dommage, je vais creuser une autre piste.
Merci en tout cas pour votre aide.

1 « J'aime »

Peut-être qu’en partageant ici la documentation de l’électrolyseur et votre config, on pourrait vous aider ?

Il s’agit de cet appareil:

Je n’ai malheureusement pas trouvé de documentation modbus. Il y a uniquement pour le poolmanager qui est un autre appareil Bayrol.

Pourtant l’appareil est connecté au même réseau que Jeedom. J’arrive à me connecter à l’appareil avec le portail web Bayrol ainsi qu’avec l’application sur smartphone.
Lors de la procédure de connexion au réseau, j’ai vu de façon brève qu’il utilise MQTT.
Je vais peut-être creuser cette piste.

L’Automatic Salt de Bayrol n’utilise pas le Modbus des Pool Manager. Il est connecté en MQTT au serveur de Bayrol.

Pour ma part j’ai créé un script Python qui gère une passerelle MQTT entre le serveur de Bayrol en Websockets et Mosquitto de Jeedom. Cela marche très bien pour recevoir les informations. L’autre solution plus conviviale et d’utiliser Nodered qui peut également faire passerelle.

Le script Python et les basiques du protocole Bayrol sont décrits sous Github

Il est facile de tester la connexion au serveur de Bayrol avec MQTT Explorer.

Merci beaucoup @Duntch144 !!
J’ai commencé à regarder mais j’ai une question. Je suis allé sur le portail web de Bayrol et cliqué sur Accès direct.
Mais je suis bloqué sur les étapes suivantes:
3 on dev tools, clic network, search for the websocket connexion wss://www.bayrol-poolaccess.de:8083/
4 Clic on Messages and find the 1st one
5 you will find the username to use.

dev tools, c’est bien l’outil pour développeurs du navigateur web?
Si oui, j’ai cliqué sur network mais je ne vois pas comment chercher la connexion websocket wss://[www.bayrol-poolaccess.de:8083/]

Merci pour votre aide

Oui, c’est bien l’outil développeur du navigateur
Ensuite réseau
Une fois l’outil développeur ouvert et réseau, Cliquer sur Direct Accès du site de Bayrol, il va lancer une série de messages MQTT pour que l’electrolyseur renvoie les données à afficher dont le login à récupérer
Sur la gauche du panneau développeur cliquer sur l’adresse du site de bayrol puis choisir
Messages
Cliquer sur le premier message, il contient en rouge le login correspondant à l’électrolyseur .

Un exemple avec Edge, même principe avec Chrome.

Merci pour les précisions. J’ai réussi à trouver le user et j’ai réussi à me connecter avec MQTT Explorer avec le mot de passe que j’utilise pour me connecter au portail web.

J’ai vu qu’il fallait souscrire au topic « d02/« ID »/v/# »
A la place du ID, c’est bien le user que j’ai trouvé avant qu’il faut mettre?
Ensuite, comment je fait pour lire par exemple le redox avec d02//v/4.82? Je mets ça dans quel champ dans MQTT Explorer?

Sous MQTT Explorer, il faut obligatoirement renseigner un mot de passe mais n’importe lequel fonctionne.

Pour le ID, c’est le numéro de série de l’appareil 24ASE2-xxxxxx Il faut le renseigner correctement pour souscrire au bon Topic.

Si vous êtes sur le bon Topic, un message 4.70 sera émis toutes les minutes à minima visible sous MQTT Explorer.

Un message sera envoyé par l’électrolyseur également à chaque changement de valeur de Redox. Le script vient écouter tous les messages reçus sur le serveur de Bayrol et les renvoyer sur le Broker de Jeedom. Si il écoute en permanence, vous aurez toutes les valeurs.

Il existe un moyen d’interroger l’électrolyseur pour connaître une valeur spécifique sans qu’elle ne change. il faut envoyer un message d02/ID/g/4.82 sans contenu pour que l’électrolyseur réponde avec la dernière valeur en mémoire et y ajoute une date.

Encore une fois merci!
Cela fonctionne. En allant sur accès direct sur le portail Bayrol, toutes les valeurs sont interrogées et je peux les voir dans MQTT Explorer.
Je vais m’attaquer à la suite. J’utilise Jeezigbee et ZWave JS et donc un broker Mosquitto est déjà installé par défaut.
Puis-je utiliser ce broker avec un autre topic pour récupérer les infos du Bayrol au bien faut-il mieux utiliser un broker à part?

J’utilise MQTT Manager pour différents objets dont l’AS5 avec un topic dédié. Il vous reste a créer la passerelle pour renvoyer les messages sur Mosquitto. Un script Python qui tourne en parallèle de Jeedom ou Nodered ou autre.

L’idéal serait que quelqu’un se penche sur un plugin spécifique qui gère la passerelle dans les 2 sens. Cela dépasse mes compétences.

Plus simple que la passerelle, en installant le plugin JMQTT et en activant le mode client wss, il permet de se connecter au serveur de Bayrol avec les mêmes paramètres que pour MQTT Explorer. Après il faut créer les commandes dans jMQTT.

Merci pour l’info. Je vais essayer ça.

Bonjour,

Merci beaucoup pour l’aide car ça fonctionne. Mais j’ai tout de même un problème, c’est que depuis, l’électrolyseur se déconnecte du wifi vers 2h du matin et qu’il faut se reconnecter en entrant à nouveau la clé wifi.
Je n’ai pas une très bonne réception là où l’électrolyseur se trouve mais jusqu’à présent je n’avais pas ce problème de déconnexion.
J’ai remarqué également que l’appli mobile est plus lente à recevoir les infos mais ça c’est parce que Jeedom est connecté également en permanence. Qu’avez-vous mis pour le Client ID dans les paramètres de connexion?

Bonjour,

De mon côté, je n’ai jamais eu de déconnexion de l’électrolyseur ni eu besoin de le reconnecter au wifi.

Peut-être que l’appli est un peu plus lente à récupérer les données à la connexion / reconnexion mais rien qui ne me gène.

Je n’ai pas renseigné de client ID.

Bonjour,

La version du firmware installée (1.6) comportait des problèmes pour la connexion wifi.
J’ai installé la toute dernière version (2.03) et je n’ai plus de déconnexion. Tout fonctionne bien à présent.
J’ai pensé réaliser un tuto qui résume toute la démarche en vous citant bien sûr ;-).
Qu’en pensez-vous?
En tout cas, merci énormément pour votre aide !

Bonne idee pour le tuto, cela pourra aider d’autres personnes.

Bonne idée ce tutoriel je serais preneur car je viens également d’installer un AS7 de baryon.
avez vous la procédure de Maj de firmware car je pense être en v1.40(220715) donc de 2 ans d’age je dirais, et j’ai mois aussi cette déconnexion toute les nuit avec le message erreur DNS. (hors mon DNS ne change pas).