Tild Piscine

Bonjour,
Pour le moment, je ne sais pas encore remonter quoi que ce soit, car ma piscine a été installée que depuis 3 semaines et je ne filtre que 3 heures par jours.
Il n’y a qu’une programmation qui est mise en place.

Bonjour, je constate que tu mets plus les mains dans le code, c’est ma limite actuellement, bien que je comprend le principe et que le u8_r semble contenir de nombreuses informations, si je traduit ce qu’écris Brernard c’est que le u8_r/flow_on/1 donne le résultat d’une filtration qui fonctionne, donc allumée (dans mon cas en mode programmation depuis 16h) ?

Capture d’écran 2024-03-02 à 16.04.09

Je commence à avoir un début de résultat intéressant.
J’ai utilisé Nodered pour renvoyer les infos Mqtt du server interne du TILD Vigipool vers le serveur mqtt de HA.

Ensuite dans le fichier de mqtt.yaml qui est appelé dans le config.yaml j’ai créé les entrées suivantes :

############################################################
##                         VIGIPOOL                       ##
############################################################
    - name: "Température eau Vigipool"
      state_topic: "Vigipool/sensor/water_temp"
      unit_of_measurement: °C
      device_class: temperature
      unique_id : "Vigipool_01_temp_value"
      device:
        name: "Vigipool"
        identifiers:
         - "Vigipool_01"
    - name : "Nom boitier Vigipool"
      state_topic: "Vigipool/info/name"
      unique_id : "Vigipool_01_name"
      device:
        name: "Vigipool"
        identifiers:
         - "Vigipool_01"          
binary_sensor:   
############################################################
##                         VIGIPOOL                       ##
############################################################
    - name: "Etat Lumière Vigipool"
      state_topic: "Vigipool/light/state"
      payload_on: "1"
      payload_off: "0"
      unique_id : "Vigipool_01_ligth_state"
      device:
        name: "Vigipool"
        identifiers:
         - "Vigipool_01"
    - name: "Etat Filtration Vigipool"
      state_topic: "Vigipool/filt/state"
      payload_on: "1"
      payload_off: "0"
      unique_id : "Vigipool_01_filt_state"
      device:
        name: "Vigipool"
        identifiers:
         - "Vigipool_01"
    - name: "Etat Auxilaire Vigipool"
      state_topic: "Vigipool/aux/state"
      payload_on: "1"
      payload_off: "0"
      unique_id : "Vigipool_01_aux_state"
      device:
        name: "Vigipool"
        identifiers:
         - "Vigipool_01"     
switch:
      
    - name: "Vigipool Light Switch"
      unique_id: "Vigipool_01_light_switch"
      state_topic: "Vigipool/light/state"
      command_topic: "Vigipool/light/command"
      payload_on: "1"
      payload_off: "0"
      state_on: "1"
      state_off: "0"
      device:
        name: "Vigipool"
        identifiers:
         - "Vigipool_01"
    - name: "Vigipool Filtration Switch"
      unique_id: "Vigipool_01_filt_switch"
      state_topic: "Vigipool/filt/state"
      command_topic: "Vigipool/filt/command"
      payload_on: "1"
      payload_off: "0"
      state_on: "1"
      state_off: "0"
      device:
        name: "Vigipool"
        identifiers:
         - "Vigipool_01"
    - name: "Vigipool Aux Switch"
      unique_id: "Vigipool_01_aux_switch"
      state_topic: "Vigipool/aux/state"
      command_topic: "Vigipool/aux/command"
      payload_on: "1"
      payload_off: "0"
      state_on: "1"
      state_off: "0"
      device:
        name: "Vigipool"
        identifiers:
         - "Vigipool_01"

Ceci me permet d’avoir mon appareil qui apparait sous l’intégration MQTT :

avec les commandes/infos suivantes :

Les switchs sont fonctionnels, (sauf l’auxilaire de mon surpresseur que je n’ai pas ‹ lié › sous Nodered car en mode hivernage et je ne veux pas faire de bêtises). La température est également corrigé directement sous Nodered pour arrivé en °C directement et pas en 100ème de degrée).

Ca avance dans le bon sens :slight_smile:

1 « J'aime »

Bonjour Mangles,

N’étant pas trop familiarisé avec MQTT et Node-Red, j’avoue humblement ne pas avoir tout compris tes avancées.

Est-il possible d’exporter tes Flows Node-Red pour que je comprenne ce qui se produit ?

Pour le fichier mqtt.yaml qui est dans (selon filebrowser) /home-Assistant/mqtt.yaml semble selon VS-Code (Studio Code Server) contenir 9+ erreurs (ce qui est certainement dû à l’absence de nombreux noeuds dans Node-Red, enfin si j’ai bien compris ?

Je te donne plus d’informations ce soir.
Je dois pouvoir partager le flux normalement.
Et je te rassure je ne suis pas non plus expert en nodered…

Ci dessous le code pour Nodered tu peux l’importer directement, par contre il faudra que tu modifie les topic pour que ca correspondent a ton vigipool.

[{"id":"732482c6b60caca8","type":"tab","label":"Vigipool","disabled":false,"info":"","env":[]},{"id":"7c457487cbb2ba88","type":"mqtt in","z":"732482c6b60caca8","name":"Lumière Vigipool","topic":"tild_E89F6DD81260/u8_w/light_state/info/reported","qos":"2","datatype":"auto-detect","broker":"303205c61bd51cec","nl":false,"rap":true,"rh":0,"inputs":0,"x":140,"y":80,"wires":[["e9351d619bc7b1a7"]]},{"id":"6808fb86fbb7f784","type":"mqtt out","z":"732482c6b60caca8","name":"Temperature eau","topic":"Vigipool/sensor/water_temp","qos":"1","retain":"true","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"b9b97f648d722897","x":730,"y":140,"wires":[]},{"id":"180bd1a42bfe5ea3","type":"mqtt in","z":"732482c6b60caca8","name":"Température eau Vigipool","topic":"tild_E89F6DD81260/u16_r/value_temp/value/reported","qos":"2","datatype":"auto-detect","broker":"303205c61bd51cec","nl":false,"rap":true,"rh":0,"inputs":0,"x":170,"y":140,"wires":[["c7e20f8946793d11"]]},{"id":"a5333547fd83c5a2","type":"mqtt in","z":"732482c6b60caca8","name":"Nom Coffret Vigipool","topic":"tild_E89F6DD81260/s44_r/device_id/info/reported","qos":"2","datatype":"auto-detect","broker":"303205c61bd51cec","nl":false,"rap":true,"rh":0,"inputs":0,"x":150,"y":20,"wires":[["32bc80cf1da8276e"]]},{"id":"e9351d619bc7b1a7","type":"mqtt out","z":"732482c6b60caca8","name":"Lumière Vigipool","topic":"Vigipool/light/state","qos":"1","retain":"true","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"b9b97f648d722897","x":530,"y":80,"wires":[]},{"id":"32bc80cf1da8276e","type":"mqtt out","z":"732482c6b60caca8","name":"Nom du Coffret Vigipool","topic":"Vigipool/info/name","qos":"1","retain":"true","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"b9b97f648d722897","x":550,"y":20,"wires":[]},{"id":"15e2c6432e183763","type":"mqtt out","z":"732482c6b60caca8","name":"Filtration Vigipool","topic":"Vigipool/filt/state","qos":"1","retain":"true","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"b9b97f648d722897","x":530,"y":200,"wires":[]},{"id":"388402f8597c8089","type":"mqtt out","z":"732482c6b60caca8","name":"Auxilaire Vigipool","topic":"Vigipool/aux/state","qos":"1","retain":"true","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"b9b97f648d722897","x":530,"y":240,"wires":[]},{"id":"21b72e3fb7d4e19c","type":"mqtt in","z":"732482c6b60caca8","name":"Filtration Vigipool","topic":"tild_E89F6DD81260/u8_w/filt_state/info/reported","qos":"2","datatype":"auto-detect","broker":"303205c61bd51cec","nl":false,"rap":true,"rh":0,"inputs":0,"x":140,"y":200,"wires":[["15e2c6432e183763"]]},{"id":"95d2d7218ad6522e","type":"mqtt in","z":"732482c6b60caca8","name":"Auxiliaire Vigipool","topic":"tild_E89F6DD81260/u8_r/aux_state/info/reported","qos":"2","datatype":"auto-detect","broker":"303205c61bd51cec","nl":false,"rap":true,"rh":0,"inputs":0,"x":140,"y":240,"wires":[["388402f8597c8089"]]},{"id":"6763745cd9897e53","type":"mqtt in","z":"732482c6b60caca8","name":"","topic":"Vigipool/light/command","qos":"2","datatype":"auto-detect","broker":"b9b97f648d722897","nl":false,"rap":true,"rh":0,"inputs":0,"x":160,"y":340,"wires":[["cddf6c2566805c3b"]]},{"id":"cddf6c2566805c3b","type":"mqtt out","z":"732482c6b60caca8","name":"Vigipool command Light","topic":"tild_E89F6DD81260/u8_w/light_state/info/desired","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"303205c61bd51cec","x":590,"y":340,"wires":[]},{"id":"de3be3d60c1dfa4d","type":"mqtt in","z":"732482c6b60caca8","name":"","topic":"Vigipool/filt/command","qos":"2","datatype":"auto-detect","broker":"b9b97f648d722897","nl":false,"rap":true,"rh":0,"inputs":0,"x":160,"y":420,"wires":[["3313ac48a1e3cf16"]]},{"id":"2ac5ecef59815c8c","type":"mqtt in","z":"732482c6b60caca8","name":"","topic":"Vigipool/Aux/command","qos":"2","datatype":"auto-detect","broker":"b9b97f648d722897","nl":false,"rap":true,"rh":0,"inputs":0,"x":160,"y":480,"wires":[[]]},{"id":"3313ac48a1e3cf16","type":"mqtt out","z":"732482c6b60caca8","name":"Vigipool command Filt","topic":"tild_E89F6DD81260/u8_w/filt_state/info/desired","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"303205c61bd51cec","x":580,"y":420,"wires":[]},{"id":"c2c135a433e58159","type":"mqtt out","z":"732482c6b60caca8","name":"Vigipool command Aux","topic":"tild_E89F6DD81260/u8_r/aux_state/info/desired","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"303205c61bd51cec","x":580,"y":480,"wires":[]},{"id":"c7e20f8946793d11","type":"calculator","z":"732482c6b60caca8","name":"","inputMsgField":"payload","outputMsgField":"payload","operation":"div","constant":"10","round":true,"truncate":false,"decimals":"1","decimals2":0,"x":410,"y":140,"wires":[["6808fb86fbb7f784"]]},{"id":"303205c61bd51cec","type":"mqtt-broker","name":"Vigipool","broker":"192.168.50.171","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"autoUnsubscribe":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willRetain":"false","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"b9b97f648d722897","type":"mqtt-broker","name":"Broker HomeAssistant","broker":"192.168.50.12","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"autoUnsubscribe":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willRetain":"false","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""}]

Citation
Pour le fichier mqtt.yaml qui est dans (selon filebrowser) /home-Assistant/mqtt.yaml semble selon VS-Code (Studio Code Server) contenir 9+ erreurs (ce qui est certainement dû à l’absence de nombreux noeuds dans Node-Red, enfin si j’ai bien compris ?

Rajoute un sensor:
En haut de ton fichier mqtt.ymal.
car la les trois premier élément ne sont pas défini dans un type particulier.

1 « J'aime »

Bonjour Mangles,

Je reprend le fil de nos échanges, je vais me permettre de décrypter un peu pour les personnes qui auront à réaliser la mise en place du boitier Tild via MQTT.

Le topic est assez simple à trouver grâce à MQTT Explorer (dans HA) en créant une nouvelle connection grace à l’IP du Tild et du port 1883, j’ai mis des identifiants, mais il ne semble pas indispensables.

Maintenant, je bloque sur deux choses :

L’intégration

  1. L’intégration du fichier mqtt.yaml dans la config.yaml, comment on appel ce fichier, car mqtt: !include mqtt.yaml ne fonctionne pas.

  2. L’import du flow c’ext bien déroulé, mais j’ai une erreur dans le contrôle de la température :

Voilà a ce stade, encore merci pour ton aide.

Bonjour,

Pour le point 1 : Je ne sais pas quoi te dire de plus, le fichier mqtt.yaml doit se trouver au même niveau que le configuration.yaml , voici la syntaxe sur la capture ci dessous.

Pour le point 2 , il faut installer une palette de nordered additionnel : node-red-contrib-calc , cette élément permet de rajouter l’élément divide que j’utilise dans mon flow.

Bonjour et merci pour ta réponse, j’avoue avoir humblement essayé aussi d’appeler le fichier comme tu me l’avais décris et comme c’est le cas pour d’autres types comme :

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

Mais pour celui-ci j’ai une erreur…

Erreurs de configuration
Error loading /config/configuration.yaml: expected '<document start>', but found '<block mapping start>'
  in "/config/mqtt.yaml", line 20, column 1

C’est assez simple, en réalité j’ai copié la config mqtt.yaml de ton message du 3 mars et je ne sais pas pourquoi le sensor: ne c’est pas retrouvé sur le collage initial, après un test de la config et un rechargement, je l’ai simplement mis en haut et la config a parfaitement rempli sa mission.

Pour le second sujet c’est parfait après l’installation de la palette :laughing: et tous les noeuds sont passés en connectés :grinning:

Je vais regarder de mon coté comment ajouter les programmes de filtrations, au moins à l’affichage et donner action à ma carte.

Je repasserai sur le sujet pour partager, dés que la piscine sera sortie de l’hivernage.

Encore merci pour le partage et à la communauté pour sa bienveillance :smiling_face_with_three_hearts:

1 « J'aime »

Bonjour, je suis développeur chez CCEI

J’ai commencé à travailler sur un moyen facile d’intégrer les produits de Vigipool (Tild compris) à Home Assistant (et aussi Jeedom).
Vous pouvez le trouver sur le GitHub avec mon pseudonyme
C’est pour l’instant un script bash qui configure configuration.yaml,
Idéalement, j’aimerais faire plutôt une meilleure intégration, dans un futur proche

Et du coup, je viens de tomber sur votre topic et j’ai vu que vous avez déjà pas mal avancé de votre côté aussi

Si vous voulez, je dois certainement pouvoir vous aider dans vos intégrations ou si vous avez des questions

2 « J'aime »

Bonjour,

C’est top si vous vous intéressez à l’intégration dans Home-Assistant. Je viens de jeter un œil à ce que vous fournissez et si je comprends bien, votre solution n’est valable que pour les appareils pilotés via MQTT et donc ceux compatible avec l’application Vigipool. Pour ceux compatibles uniquement avec l’application Tild, il n’y a à priori pas de solution officielle ? N’hésitez pas à vous inspirer de l’intégration que nous avons construit ici si vous voulez proposer une solution officiellement supportée :wink:

Par ailleurs, votre solution contraint à connecter Home Assistant au serveur MQTT du boitier de la piscine, ce qui représente une contrainte importante du fait qu’HA ne sait se connecter qu’à un seul serveur MQTT à la fois. Il serait utile que vous réfléchissiez à une solution pour que vos boitiers sachent se connecter à un serveur MQTT existant :wink:

En attendant, vous pouvez toujours documenter (voir intégrer dans votre script d’installation) la solution proposée ici, consistant à configurer le serveur MQTT d’Home Assistant (mosquitto) pour qu’il se connecte et au service MQTT du boitier de la piscine.

1 « J'aime »

Bonjour, déjà merci pour votre retour de qualité

Vous avez bien compris les limites de la solution, je suis bien conscient de celles-ci
Pour le moment, il n’y a pas de solution officielle pour d’équivalent de l’application mobile Tild
Je vais aller regarder plus en détail votre intégration pour voir si je ne peux pas l’améliorer

Je suis d’accord que c’est très contraignant que nos boitiers ne peuvent pas se connecter à un serveur existant, j’ai commencé à en discuter avec les personnes qui s’occupent de cela pour voir si on ne peut pas y faire quelque chose.

Merci pour le lien vers openwbmqtt, je vais voir si je peux faire l’une des idées que vous avez proposées

1 « J'aime »

Bonjour,
Pour celles et ceux qui utilisent Jeedom avec Home Assistant, il est possible de créer un bridge MQTT entre son broker local et le broker Vigipool.
Ca fonctionne à la perfection :+1:

Dans MQTT Manager il faut ajouter le code ci dessous (avec l’ip de votre équipement vigipool) au fichier mosquitto.conf
Puis cliquer sur reinstaller Mosquitto

## Bridges # #

connection vigipool
address 192.168.xx.xx:1883

topic # out 0
topic # in 0