[X-Pool] Documentation et possibilités MQTT

Bonjour à tous,

Décidément, je poste beaucoup à propos du X-Pool au fur et à mesure que la mise en service approche.

J’ai mis en œuvre MQTT (que j’utilise déjà pour d’autre devices) sur le X-Pool sans trop de problème, néanmoins, je me pose quelques questions auxquelles je n’ai pas trouvé de réponses claires dans la documentation ni dans mes recherches.

Les voici :

  • Existe-t-il une documentation avec l’exhaustivité des informations disponibles depuis le X-Pool via MQTT ? Pour le moment, je récupère de manière ponctuelle les chemins via MQTT Explorer mais c’est laborieux et pour certains, il faut jouer aux devinettes.
    Pour le moment j’ai ceci :
  • ana/ph
  • ana/redox
  • in/filtration
  • outState/aux
  • outState/filtration
  • outState/heater
  • outState/light
    Mais j’aimerais pouvoir disposer de l’intégralité de sorte à pouvoir faire le paramétrage nécessaire côté système domotique (jeedom) qui porte le broker.
  • Le second point rejoint le premier (et une documentation donnera certainement la réponse) : S’il est possible de lire le statut des différentes E/S du X-Pool, est-il possible d’écrire des commandes de sorte à piloter le X-Pool en publiant un message MQTT (par exemple arrêter ou démarrer la filtration) ?

En espérant avoir été clair, merci d’avance pour vos réponses.
Bonne journée.

Bonjour à tous,

Je continue mes recherches, j’ai trouvé la mention suivante page 29 du manuel du X-Pool :

Vous pouvez maintenant accéder aux états de votre extension X-POOL Connect et la piloter. Pour plus information quant à ce qu’il vous est possible de faire en MQTT, veuillez vous référer à la documentation API du X-POOL Connect.

Sauf que j’ai beau chercher, je ne trouve pas cette documentation API, pourriez-vous m’aider svp ?

Bonne journée.

Bonjour,
la doc API est incluse dans l’archive en téléchargement sur le site officiel.
image

image
bonne journée

Bonjour,

Un immense Merci ! Ca fonctionne nettement mieux avec la documentation :sweat_smile: !

J’ai pourtant mis à jour le X-Pool mais je suis passé totalement à côté de la doc API MQTT !

Est-ce moi ou cette documentation devrait également être en téléchargement direct dans les ressources disponibles pour le X-Pool ici : GCE Download Center (gce-electronics.com) ?

Cordialement,

Olivier

Bonjour Milkshake,
J’aimerai comme vous contrôler mon x-pool via mqtt avec home assistant. Mais pour le moment, j’arrive seulement récupérer les donnée de température, PH et redox, mais pas à contrôler la filtration, lumière chauffage, etc.
A chaque fois que j’essaie de les implémenter dans mon mqtt.yaml, j’ai un message d’erreur.
Auriez vous la solution de votre coté ?

Merci d’avance.

Bonne journée.

Bonjour @Purpleman,

Les tentatives que j’ai pu faire avec le composant MQTT de HA n’ont pas été très concluantes et pour le moment, je n’ai pas basculer depuis Jeedom pour cette raison et d’autres.

Peux-tu nous partager l’extrait de ton mqtt.yaml et le message d’erreur en question ? Est-ce que ça fonctionne avec MQTT Explorer déjà ?

Je vais refaire une tentative pour voir ce que ça donne dès que j’ai un moment.

Bonne soirée.

Bonjour Milkshake,

J’ai réussi via mon fichier mqtt.yaml à faire remonter sans problème tous les sensors. Par contre, à chaque fois que je veux ajouter la filtration et la lumière pour le moment, même en suivant les multiples exemples et tuto, j’ai toujours une erreur de syntaxe, mais je n’arrive pas à voir d’où ça vient alors que c’est le même procédé qu’avec les sensors le retour d’état en plus.
Je vous tient au courant, si j’arrive à plus de résultats.

Bonne soirée.

Le mieux serait de nous partager ta config.

J’ai un X-Pool esclave d’une v5, le MQTT passe très bien. Pas de raison que ça ne fonctionne pas via le X-Pool en direct.

Bonsoir @Purpleman,

Je viens de faire un essai avec la lumière, ça fonctionne correctement.

Voici ce que j’ai dans le configuration.yaml :

mqtt:
  switch:
  - name: "Piscine Lumière"
    unique_id: "x-pool_00005D_light_yaml"
    command_topic: "x-pool_00005D/outCmd/light"
    state_topic: "x-pool_00005D/outState/light"
    payload_on: "1"
    payload_off: "0"
    state_on: "1"
    state_off: "0"
    optimistic: false
    qos: 0
    retain: true
    device:
      identifiers: "x-pool_00005D"

Tu as au minimum un problème d’indentation dans ton yaml, ton - et toutes les lignes qui suivent doit être décalé de 2 espaces.

Il me semble qu’il ne fat pas de guillemets sur le unique_id également.

Sinon, ma config pour un des switchs via la v5 :

    - name: Spots Piscine
      unique_id: switch.spots_piscine
      state_topic: "IPX/XPool/Spots"
      command_topic: "IPX/XPool/Spots"
      payload_on: "1"
      payload_off: "0"
      retain: true

Bonsoir,

Merci pour la remarque @mcc37, j’ai corrigé l’indentation, je ne comprends pas trop ce qui s’est passé car le Yaml était valide sur HA. Pour ce qui est du unique_id, je me suis inspiré de la doc officielle HA qui comporte des guillemets donc je suppose que c’est valide.

@Purpleman J’ai poussé un peu ma configuration et j’ai quelque chose de fonctionnel, voici le Yaml :

sensor:
  #Piscine
  - name: "PH"
    unique_id: "automate.gce.x-pool_00005D.ph"
    device_class: "ph"
    state_class: "measurement"
    state_topic: "x-pool_00005D/ana/ph"
    device:
      identifiers: "automate.gce.x-pool_00005D"
      name: "X-Pool"
      manufacturer: "GCE Electronics"
      model: "X-Pool"
  - name: "Redox"
    unique_id: "automate.gce.x-pool_00005D.redox"
    device_class: "voltage"
    state_class: "measurement"
    state_topic: "x-pool_00005D/ana/redox"
    device:
      identifiers: "automate.gce.x-pool_00005D"
      name: "X-Pool"
  - name: "Température eau"
    unique_id: "automate.gce.x-pool_00005D.water-temp"
    device_class: "temperature"
    state_class: "measurement"
    state_topic: "x-pool_00005D/ana/eau"
    device:
      identifiers: "automate.gce.x-pool_00005D"
      name: "X-Pool"
  - name: "Température air"
    unique_id: "automate.gce.x-pool_00005D.air-temp"
    device_class: "temperature"
    state_class: "measurement"
    state_topic: "x-pool_00005D/ana/air"
    device:
      identifiers: "automate.gce.x-pool_00005D"
      name: "X-Pool"

switch:
  - name: "Piscine Filtration"
    unique_id: "automate.gce.x-pool_00005D.filtration"
    command_topic: "x-pool_00005D/outCmd/filtration"
    state_topic: "x-pool_00005D/outState/filtration"
    payload_on: "1"
    payload_off: "0"
    state_on: "1"
    state_off: "0"
    optimistic: false
    qos: 0
    retain: true
    device:
      identifiers: "automate.gce.x-pool_00005D"
      name: "X-Pool"
  - name: "Piscine Lumière"
    unique_id: "automate.gce.x-pool_00005D.light"
    command_topic: "x-pool_00005D/outCmd/light"
    state_topic: "x-pool_00005D/outState/light"
    payload_on: "1"
    payload_off: "0"
    state_on: "1"
    state_off: "0"
    optimistic: false
    qos: 0
    retain: true
    device:
      identifiers: "automate.gce.x-pool_00005D"
      name: "X-Pool"
  - name: "Piscine Heater"
    unique_id: "automate.gce.x-pool_00005D.heater"
    command_topic: "x-pool_00005D/outCmd/heater"
    state_topic: "x-pool_00005D/outState/heater"
    payload_on: "1"
    payload_off: "0"
    state_on: "1"
    state_off: "0"
    optimistic: false
    qos: 0
    retain: true
    device:
      identifiers: "automate.gce.x-pool_00005D"
      name: "X-Pool"
  - name: "Piscine Aux"
    unique_id: "automate.gce.x-pool_00005D.aux"
    command_topic: "x-pool_00005D/outCmd/aux"
    state_topic: "x-pool_00005D/outState/aux"
    payload_on: "1"
    payload_off: "0"
    state_on: "1"
    state_off: "0"
    optimistic: false
    qos: 0
    retain: true
    device:
      identifiers: "automate.gce.x-pool_00005D"
      name: "X-Pool"

En espérant que ça aide.

2 « J'aime »

Bonjour,

Je viens d’essayer votre config, mais j’ai toujours le même soucis. Je recois très bien les données des différentes sondes, mais impossible de commander les relais.
J’ai plus de messages d’erreur de mon fichiers .yaml, j’ai bien les commandes des différents contacteur (filtration, light, aux, heater), mais rien de ne se passe quand j’envoie une commande. Comme si mon x-pool envoyait bien les données, mais ne les recevait pas.

Si vous avez une idée, je suis preneur.

Bonne journée.

sensor:
  #Piscine
  - name: "PH"
    unique_id: "x-pool_000052.ph"
    device_class: "ph"
    state_class: "measurement"
    state_topic: "x-pool_000052/ana/ph"
    device:
      identifiers: "x-pool_000052"
      name: "X-Pool"
      manufacturer: "GCE Electronics"
      model: "X-Pool"
  - name: "Redox"
    unique_id: "x-pool_000052.redox"
    device_class: "voltage"
    state_class: "measurement"
    state_topic: "x-pool_000052/ana/redox"
    device:
      identifiers: "x-pool_000052"
      name: "X-Pool"
  - name: "Température eau"
    unique_id: "x-pool_000052.water-temp"
    device_class: "temperature"
    state_class: "measurement"
    state_topic: "x-pool_000052/ana/eau"
    device:
      identifiers: "x-pool_000052"
      name: "X-Pool"
  - name: "Température air"
    unique_id: "x-pool_000052.air-temp"
    device_class: "temperature"
    state_class: "measurement"
    state_topic: "x-pool_000052/ana/air"
    device:
      identifiers: "x-pool_000052"
      name: "X-Pool"

switch:
  - name: "Piscine Filtration"
    unique_id: "x-pool_000052.filtration"
    command_topic: "x-pool_000052/outCmd/filtration"
    state_topic: "x-pool_000052/outState/filtration"
    payload_on: "1"
    payload_off: "0"
    state_on: "1"
    state_off: "0"
    optimistic: false
    qos: 0
    retain: true
    device:
      identifiers: "x-pool_000052"
      name: "X-Pool"
  - name: "Piscine Lumière"
    unique_id: "x-pool_000052.light"
    command_topic: "x-pool_000052/outCmd/light"
    state_topic: "x-pool_000052/outState/light"
    payload_on: "1"
    payload_off: "0"
    state_on: "1"
    state_off: "0"
    optimistic: false
    qos: 0
    retain: true
    device:
      identifiers: "x-pool_000052"
      name: "X-Pool"
  - name: "Piscine Heater"
    unique_id: "x-pool_000052.heater"
    command_topic: "x-pool_000052/outCmd/heater"
    state_topic: "x-pool_000052/outState/heater"
    payload_on: "1"
    payload_off: "0"
    state_on: "1"
    state_off: "0"
    optimistic: false
    qos: 0
    retain: true
    device:
      identifiers: "x-pool_000052"
      name: "X-Pool"
  - name: "Piscine Aux"
    unique_id: "x-pool_000052.aux"
    command_topic: "x-pool_000052/outCmd/aux"
    state_topic: "x-pool_000052/outState/aux"
    payload_on: "1"
    payload_off: "0"
    state_on: "1"
    state_off: "0"
    optimistic: false
    qos: 0
    retain: true
    device:
      identifiers: "x-pool_000052"
      name: "X-Pool"

Bonjour @Purpleman,

Navré pour la réponse tardive, je n’avais pas vu ta dernière publication.

Je n’ai malheureusement pas de solutions toutes prêtes mais j’ai quelques questions pour essayer de diagnostiquer.

Peux-tu nous indiquer quel est le firmware de ton X-Pool ? En effet, dans le changelog de la v2.2, il y a cette mention et je me souviens que j’avais rencontré un problème similaire au tiens dans la version précédente :

*** Version 2.2 (29/08/2023)
## Fixed
* MQTT: Déblocage du pilotage.

Autre question, déjà posée, mais je suis du genre tenace :grimacing: : Parviens-tu à piloter ton X-Pool via MQTT Explorer ? Au moins, on met de côté d’éventuels problèmes côté HA de cette façon.

Bonjour @Milkshake,

J’ai bien fait la mise à jour de mon X-pool en version 2.2 directement à la première utilisation en sortie de boite.
Quand j’utilise MQTT explorer, les données venant des sondes arrivent bien (je vois bien les mises à jour régulières des données) , par contre, je n’arrive pas non plus à envoyer des infos via MQTT explorer vers le pool. Les données partent mais rien ne se passe. Impossible de commander les contacteurs.
J’avais aussi une inversion des contacteurs éclairage et chauffage. Je vais essayer de re-appliquer la mise à jour pour voir si ça change…

En tout cas, merci de suivre ce poste.

Bonne journée.

Bonjour @Purpleman,

Dernière idée en date (je me suis souvenu que j’avais dû le faire et depuis ça fonctionne) : faire un reset du X-Pool et reparamétrer le broker MQTT.

Au fait, tu n’as pas indiqué quel broker tu utilises, peux-tu le préciser ?

Bonne nuit