Intégration Suez Eau

Salut à tous,
Mon abonnement eau est chez Suez et j’utilise l’intégration Tout sur mon Eau (Suez Water - Home Assistant) afin de remonter des informations dans Home Assistant. Je trouve pas mal les informations remontées mais j’ai eu des difficultés à traiter les données de l’intégration pour afficher quelque chose de cohérent dans mon tableau de bord.
J’ai repris le code de HayThamB posté sur le forum officiel, qui utilise Apex-Chart card et qui marche plutôt pas mal en affichant 2 mois de consommation à la suite. Le défaut qu’il pourrait avoir est d’afficher environ 60 barres (2 mois) dont les jours qui restent à courir pour le mois en cours et qui sont à zéro.

type: custom:apexcharts-card
update_interval: 1 day
graph_span: 8 weeks
span:
  end: month
header:
  show: false
  title: Suez Water Consumption
series:
  - entity: sensor.suez_water_client
    name: Previous month
    type: column
    data_generator: >
      var dates = entity.attributes.previous_month_consumption; return
      Object.keys(dates).map(function(key, index) {
        var rDate = new Date(key.replace( /(\d{2})\/(\d{2})\/(\d{4})/, "$2/$1/$3"));
        return [rDate, dates[key]]
      });
  - entity: sensor.suez_water_client
    name: Current month
    type: column
    data_generator: >
      var dates = entity.attributes.this_month_consumption; return
      Object.keys(dates).map(function(key, index) {
        var rDate = new Date(key.replace( /(\d{2})\/(\d{2})\/(\d{4})/, "$2/$1/$3"));
        return [rDate, dates[key]]
      });

Est-ce que certains d’entre vous affichent les données de cette intégration d’une autre façon ?

Salut,
j’ai également récupéré ce code pour le graphique.
As-tu réalisé des développements depuis ?
merci

J’ai bien essayé de modifier le script, au moins pour ne pas afficher les jours du mois à venir, mais sans succès. Je suis trop novice avec ce type de code.
Est ce que d’autres ont pu faire évoluer ce code ?

j’ai un peu travaillé sur le graph pour avoir l’historique par mois.
Je connais pas encore assez apex

type: custom:apexcharts-card
update_interval: 1 day
graph_span: 14 month
header:
  show: true
  title: Consommation Eau en Litre par Mois
series:
  - entity: sensor.suez_water_client
    color: blue
    type: column
    data_generator: >
      var dates = entity.attributes.history; return
      Object.keys(dates).map(function(key, index) { var months = {
        Janvier: 1,
        Février: 2,
         Mars: 3,
         Avril: 4,
         Mai: 5,
         Juin: 6,
         Juillet: 7,
         Août: 8,
         Septembre: 9,
         Octobre: 10,
         Novembre: 11,
         Décembre: 12
        };
        var mois=0;
        var jour=1;
        var annee = 0;
        for (const [mois_fr, num_mois] of Object.entries(months)) {
         if (key.slice(0,key.length-5)==mois_fr){
            mois = num_mois;
         }
        }
        annee = key.slice(key.length-4,key.length);
        var mois_date = new Date(annee,mois-1,jour);
        return [mois_date,dates[key]]
      });

version en m3

type: custom:apexcharts-card
update_interval: 1 day
graph_span: 13 month
header:
  show: true
  title: Consommation Eau en m3 par Mois
series:
  - entity: sensor.suez_water_client
    type: column
    unit: m3
    color: '#006DC7'
    data_generator: >
      var dates = entity.attributes.history; return
      Object.keys(dates).map(function(key, index) { var months = {
        Janvier: 1,
        Février: 2,
         Mars: 3,
         Avril: 4,
         Mai: 5,
         Juin: 6,
         Juillet: 7,
         Août: 8,
         Septembre: 9,
         Octobre: 10,
         Novembre: 11,
         Décembre: 12
        };
        var mois=0;
        var jour=1;
        var annee = 0;
        for (const [mois_fr, num_mois] of Object.entries(months)) {
         if (key.slice(0,key.length-5)==mois_fr){
            mois = num_mois;
         }
        }
        annee = key.slice(key.length-4,key.length);
        var mois_date = new Date(annee,mois-1,jour);
        return [mois_date,dates[key]/1000]
      });

1 « J'aime »

le graphique par jour s’arrêtant à la veille

type: custom:apexcharts-card
update_interval: 1 day
graph_span: 7 weeks
span:
  offset: '-2 day'
  end: day
header:
  show: false
  title: Consommation Eau en Litre
series:
  - entity: sensor.suez_water_client
    name: Mois Précédent
    type: column
    data_generator: >
      var dates = entity.attributes.previous_month_consumption; return
      Object.keys(dates).map(function(key, index) {
        var rDate = new Date(key.replace( /(\d{2})\/(\d{2})\/(\d{4})/, "$2/$1/$3"));
         return [rDate, dates[key]]
      });
  - entity: sensor.suez_water_client
    name: Mois en Cours
    type: column
    data_generator: >
      var dates = entity.attributes.this_month_consumption;   var cur_mois = {};
      Object.keys(dates).map(function(key, index) {
        var rDate = new Date(key.replace( /(\d{2})\/(\d{2})\/(\d{4})/, "$2/$1/$3"));
        var td = new Date();        
        if (rDate<td){
          cur_mois[key] = dates[key];
        }
      }); return Object.keys(cur_mois).map(function(key, index) {
        var rDate = new Date(key.replace( /(\d{2})\/(\d{2})\/(\d{4})/, "$2/$1/$3"));
        return [rDate, cur_mois[key]]
      });

1 « J'aime »

Bonjour, bonsoir

@jbouv55151 merci pour cette trouvaille, installation simple et rapide. Vraiment top…

@nicodl merci à toi aussi pour tes modifications de code, je ne les aient pas encore essayé à l’heure où j’écris mais ça va se faire ce soir …
Si tu passes par là avant que j’essaie de mon côté, saurais tu comment afficher le prix à côté de la conso en litre? Par exemple, ici dans le sud le M3 d’eau me coûte 1,51€ TTC. Il faudrait que je convertisse le prix du mètre cube en litre et que je fasse le calcul de ma consommation journalière avec cette base, enfin je le voit comme celà,je ne sais pas si je pense bien et surtout, je ne sais pas encore comment le faire…

Il faut je pense créer une série supplémentaire reprenant les memes données mais en multipliant les m3 par le prix.
Quand je pourrai je regarderai ca.
En vrai, je débutee sur HA donc je tâtonne encore !

1 « J'aime »

base de travail avec une ligne représentant le cout mensuel
perso je suis à 1.26

type: custom:apexcharts-card
update_interval: 1 day
yaxis:
  - id: conso
    decimals: 0
    min: 0
    max: 20
  - id: cout
    opposite: true
    decimals: 0
    min: 0
    max: 30
graph_span: 13 month
header:
  show: true
  title: Consommation Eau en m3 et Côut € par Mois
series:
  - entity: sensor.suez_water_client
    type: column
    name: Conso M3
    yaxis_id: conso
    unit: m3
    color: '#006DC7'
    data_generator: >
      var dates = entity.attributes.history; return
      Object.keys(dates).map(function(key, index) { var months = {
        Janvier: 1,
        Février: 2,
         Mars: 3,
         Avril: 4,
         Mai: 5,
         Juin: 6,
         Juillet: 7,
         Août: 8,
         Septembre: 9,
         Octobre: 10,
         Novembre: 11,
         Décembre: 12
        };
        var mois=0;
        var jour=1;
        var annee = 0;
        for (const [mois_fr, num_mois] of Object.entries(months)) {
         if (key.slice(0,key.length-5)==mois_fr){
            mois = num_mois;
         }
        }
        annee = key.slice(key.length-4,key.length);
        var mois_date = new Date(annee,mois-1,jour);
        return [mois_date,dates[key]/1000]
      });
  - entity: sensor.suez_water_client
    type: line
    yaxis_id: cout
    name: Côut €
    unit: €
    color: '#EC7063 '
    data_generator: >
      var dates = entity.attributes.history; return
      Object.keys(dates).map(function(key, index) { var months = {
        Janvier: 1,
        Février: 2,
         Mars: 3,
         Avril: 4,
         Mai: 5,
         Juin: 6,
         Juillet: 7,
         Août: 8,
         Septembre: 9,
         Octobre: 10,
         Novembre: 11,
         Décembre: 12
        };
        var mois=0;
        var jour=1;
        var annee = 0;
        for (const [mois_fr, num_mois] of Object.entries(months)) {
         if (key.slice(0,key.length-5)==mois_fr){
            mois = num_mois;
         }
        }
        annee = key.slice(key.length-4,key.length);
        var mois_date = new Date(annee,mois-1,jour);
        return [mois_date,dates[key]/1000*1.26]
      });

1 « J'aime »

Salut et merci pour tes bouts de code :slight_smile:
Pourrais tu m’aiguiller stp, j’aimerais afficher le même genre de graph mais pour la semaine avec le prix et la conso journalière. Où vas tu chercher ces infos s’il te plait, si je peux arriver à comprendre la manière de faire je pourrais aussi partager d’éventuelles card :slight_smile:

Merci d’avance pour ta réponse.

Tout se passe dans la partie data generator qui est du code javascript.
Par semaine ca va etre plus complique. Il va falloir agréger les données par semaine en partant des données journaliere.

1 « J'aime »

Hmm c,'est donc au delà de mes compétences, je rame déjà avec mes fichiers yaml

A cet instant, j’arrive à calculer en € ma conso journalière grâce à l’entité suez, j’ai ajouté ceci dans mon fichier sensor.yaml

  - platform: template
    sensors:
      cout_suez:
        friendly_name: Coût eau Suez journalier
        unit_of_measurement: €
        value_template: '{{ (states("sensor.suez_water_client") | float * 0.00151) | round(2) }}'

Je vais maintenant voir si je peux afficher dans une card : (image d’un compteur d’eau) / consommation en L / Prix en €

Bonjour je reviens sur le sujet, depuis 2 jrs je n’ai plus de remonté dans HA

 Logger: homeassistant.components.suez_water.sensor
Source: components/suez_water/sensor.py:109
Integration: suez_water (documentation, issues)
First occurred: 17:17:08 (1 occurrences)
Last logged: 17:17:08
Unable to fetch data

Et vous @nicodl @jbouv55151 ?

Hello,
Moi c’est pareil. Je me suis dit que Suez n’avait pas réussi à passer la nouvelle année…
J’ai rien dans les données remontées par l’intégration. Est-ce que vous avez plus d’infos ?

Bonjour à tous,

J’essaye en vain de trouver mon counter ID.
Pourriez-vous m’aider et vérifier si vous voyez toujours votre ID dans le code source de la page suivi consommation ?

Car dans mon cas, je n’y parviens pas.

Je pense que le code source de la page à changer.
Si l’un d’entre vous disposant de son counter-id pouvait vérifier s’il le retrouve dans la page actuelle et indiquer où il se situe cela servirait au plus grand nombre.

Bonjour, moi je l’ai toujours dans le code source de la page historique de mes consommations, sur suez.

D’ailleurs ça refonctionne chez moi depuis aujourd’hui :slight_smile: cool

1 « J'aime »

Merci à toi !

Est-ce bien le code source de cette page ?

Oui oui c’est bien cette page, après je suis en mode graphique par defaut sur suez mais je pense pas que ça change grand chose :slight_smile:

Tu as peut-être soulevé un bon point. Je ne parviens pas à trouver le mode graphique.

Cas particulier du Client bénéficiant de la télérelève : le Client bénéficiant de la télérelève de son / ses compteur (s) trouvera dans son Compte en ligne :

  • ses consommations facturées :
    • l’indication des index relevés ou estimés pour la facturation et la consommation correspondante;
  • l’historique de ses consommations : état mensuel sous forme graphique en m3 et en litre et dans un tableau récapitulatif par mois en m3;
  • le détail de sa consommation : état journalier en m3 et en litre sous forme de graphique et dans un tableau récapitulatif en m3.

J’imagine que je ne suis pas équipé de la télérelève.