[Tuto] Intégrer son compteur Gazpar (GrDF) via MQTT

Bonjour à tous,

Voici mon installation pour la remontée de mon compte Gazpar via GrDF. Il n’y a pas à ce jour d’application (comme l’excellente Mon Suivi Conso Enedis) donc on fait avec les moyens du bord :smile:

L’objectif est de remonter les données de consommation de gaz du portail GrDF directement dans le panneau Énergie.

Ma configuration :

  • Côté Serveur (Docker) :

  • Côté Homey :

    • MQTT Client : pour connecter Homey au broker Mosquitto.

    • Zigbee2MQTT : non documenté ici (pointer vers l’IP de Mosquitto)

    • Virtual Gas & Water Meters : pour créer un compteur reconnu nativement par le panneau Énergie.

    • Advanced Flows : pour la logique d’extraction et de mise à jour.

Étape 1 : Déploiement Docker

Voici le fichier docker-compose.yml pour lancer les deux services. A adapter en fonction de votre configuration :

services:
  # Le serveur de messages (Broker)
  mosquitto:
    image: eclipse-mosquitto:latest
    container_name: mosquitto
    restart: always
    ports:
      - "1883:1883"
    volumes:
      - ./mosquitto/config:/mosquitto/config
      - ./mosquitto/data:/mosquitto/data
      - ./mosquitto/log:/mosquitto/log

  # Le script de récupération GrDF
  gazpar2mqtt:
    image: ssenart/gazpar2mqtt:latest
    container_name: gazpar2mqtt
    restart: unless-stopped
    depends_on:
      - mosquitto
    network_mode: bridge
    user: "1000:1000"
    volumes:
      - ./gazpar2mqtt/config:/app/config
      - ./gazpar2mqtt/log:/app/log
    environment:
      - GRDF_USERNAME=<GrDF account username>
      - GRDF_PASSWORD=<GrDF account password>
      - GRDF_PCE_IDENTIFIER=<GrDF PCE meter identifier>
      - MQTT_BROKER=<MQTT broker ip adcress>

On ajuste bien les variables au besoin : GitHub - ssenart/gazpar2mqtt: Gateway that read GrDF meter data and publish them on MQTT queue . Vous pouvez éventuellement ajouter un user/passwod à votre serveur MQTT

Normalement gazpar2mqtt doit récupérer un historique de votre consommation et l’injecter dans votre MQTT dans le topic : gazpar2mqtt/gazpar

Étape 2 : Configuration sur Homey

  1. Compteur virtuel : installez Virtual Gas & Water Meters et créez un “Virtual Gas Meter” en m³.

  2. Liaison MQTT : installez et configurez MQTT Client pour pointer vers l’IP de votre Mosquitto.

Étape 3 : Advanced Flow

Le flux permet de transformer le message JSON brut en donnée exploitable.

  • QUAND : Carte MQTT Client → Message reçu sur le topic gazpar2mqtt/gazpar.

  • ALORS (1) : Carte Logique → Traiter $TEXTE en tant que JSON et sélectionner le chemin $CHEMIN en tant que Tag-nombre.

    • TEXTE: Tag [Message received from topic]

    • CHEMIN: $.volume

    • (Note : j’ai utilisé $.volume pour travailler en m³, mais il est possible d’utiliser $.energy pour les kWh).

  • ALORS (2) : Condition de sécurité (en option)

    • Vérifier que [Valeur extraite] est supérieure à [Valeur actuelle du compteur]. Cela évite les bugs de graphiques si un message vide est reçu.
  • ALORS (3) : Carte Virtual Gas Meter → Set meter to Tag [Résultat carte précédente]

Voilà, je ne sais pas si c’est la meilleur façon de procéder, je suis preneur des retours :slight_smile:

NB : Les données GrDF arrivent avec un décalage de 2 à 3 jours (délai GrDF)