Eco compteur LEGRAND

Bonjour,

J’ai acheté l’ecocompteur 412033, malheuresement, en tapant l’ip de l’équipement, pas de page web.
j’ai aussi essayer les URL /inst.json et /data.json, rien n’est affiché.

Home assistant à détecter la partie homekit mais la seul entité affiché est ‹ button.legrand_ecometer_identify › donc pas très interessant.

je ne trouve absolument rien en terme de documentation, quelqu’un pourrait-il m’éclairer ?

J’ai exactement le même soucis, quelques chose me dit que cette version est tout simplement conçue pour ne fonctionner qu’avec home+control qui garde toutes les informations sur le cloud….

Yop tout le monde, comme dit plus haut j’ai le dernier modèle eco compteur mais je crois qu’il va vite être désinstallé car pas content du tout, je m’explique:

  • 1 son calcul de puissance est faux et donne une information erronée d’environ 10% par rapport au compteur linky et je doute fort que la chute de tension y soit pour quelque chose ( compteur linky à plus de 35m )

  • aucune information n’est directement récupérable depuis l’ecocompteur, vous êtes obligatoirement dépendant de leur appli home+control, ils ont tout bonnement supprimé la page web de consultation des données…

  • pas moyen de récupérer l’information TIC du linky en mode standar ou historique et sûrement due à la distance entre les 2, peut être qu’un petit amplificateur de signal pourrais aider??

Mais peut être que j’ai zapper quelque chose sur ce model et que d’autre on réussi à récupérer les infos directement de l’éco compteur, alors si quelqu’un a une info je suis preneur.

Salut,

De ce que j’ai lu, c’est un device full cloud. donc exit les requêtes locales.

Ensuite, j’ai bien l’info TIC qui remonte sur l’ecocompteur et je n’ai pas d’écart avec les relevés d’enedis.

Pour le mode full cloud c’est bien ce que j’ai compris du coup…. Et en ce qui concerne le tic je penses que la distance est belle et bien trop importante pour recevoir un signal correct.

Normalement Homekit est supposé marcher en local, mais ne possédant d’appareil Apple impossible de dire si c’est Home Assistant qui ne remonte pas les sensors ou si c’est Homekit qui ne fourni rien d’intéressant.

C’était bien mon espoir mais la conclusion fut bien plus rapide :

Retour à l’envoyeur et achat d’une clé https://lixee.fr/produits/37-zigate-usb-ttl-3770014375148.html

1 « J'aime »

Bonjour à tous,

J’ai refait ce code ci Hydreliox en l’adaptant à mon eco compteur et à mes valeurs que je veux qu’il remonte. Par contre j’aurais besoin d’aide pour comprendre:

retour avec http://192.168.XXX.XXX/ inst.json

{
    "data1":5.000000,
    "data2":297.000000,
    "data3":0.000000,
    "data4":0.000000,
    "data5":0.000000,
    "data6":0.000000,
    "data6m3":0.000000,
    "data7":0.000000,
    "data7m3":0.000000,
    "heure":9,
    "minute":10,
    "CIR1_Nrj":0.000000,
    "CIR1_Vol":0.000000,
    "CIR2_Nrj":0.000000,
    "CIR2_Vol":0.000000,
    "CIR3_Nrj":0.000000,
    "CIR3_Vol":0.000000,
    "CIR4_Nrj":0.000000,
    "CIR4_Vol":0.000000,
    "Date_Time":1677575427
}

retour avec http://192.168.XXX.XXX/ data.json

{
	"option_tarifaire" : 2,
	"tarif_courant" : 9,
	"isousc" : 45,
	
	"conso_base" : 0,
	"conso_hc"   : 0,
	"conso_hp"   : 0,
	"conso_hc_b" : 029183592,
	"conso_hp_b" : 000044656,
	"conso_hc_w" : 000043068,
	"conso_hp_w" : 000051047,
	"conso_hc_r" : 000000000,
	"conso_hp_r" : 000000000,
	
	"type_imp_0" : 1,
	"type_imp_1" : 1,
	"type_imp_2" : 1,
	"type_imp_3" : 1,
	"type_imp_4" : 1,
	"type_imp_5" : 1,

	"label_entree1" : "PRISE CHARGE VE     ",
	"label_entree2" : "SOLAIRE             ",
	"label_entree3" : "                    ",
	"label_entree4" : "                    ",
	"label_entree5" : "                    ",
	
	"label_entree_imp0" : "Eau de Ville",
	"label_entree_imp1" : "Eau Pluie",
	"label_entree_imp2" : "Eau",
	"label_entree_imp3" : "Eau",
	"label_entree_imp4" : "Eau",
	"label_entree_imp5" : "Eau",
	
	"entree_imp0_disabled" : 0,
	"entree_imp1_disabled" : 0,
	"entree_imp2_disabled" : 1,
	"entree_imp3_disabled" : 1,
	"entree_imp4_disabled" : 1,
	"entree_imp5_disabled" : 1
}

Je recupère bien:

Capture d’écran 2023-02-28 à 09.20.29

une fois sur Deux par contre j’ai Etat = Unknown ? et l’autre fois ça marche

Par contre si je veux récupérer les infos data.json je recreer ceci dans mon yaml :

#Eco Compteur Legrand 
sensor:
  - platform: rest
    name: Ecocompteur
    json_attributes:
      - data1
      - data2
      - data3
      - data4
      - data5
    resource: http://192.168.100.112/data.json
    value_template: '{{ value_json.Date_Time }}'

Merci d’avance à tous de vos retours d’expériences
Bonne journée
Ludo

Bonsoir à tous,

Personne pour m’aiguiller ?

Je viens de regarder ma conso sur EcoCompteur:
Capture d’écran 2023-03-07 à 19.51.23
et si je regarde sur le Json.data j’ai bien les bonnes valeurs:

J’en conclu que ça doit être mon Yaml qui doit être foireux ? Qu’en pensez vous ?

Voici mon Yaml

Bien sûr j’ai pas fait toutes les valeurs, je cherche déjà à le faire pour 3 valeurs :wink:

Merci d’avance
Ludo

Bonjour Ludo,

je ne vois pas trop le problème que tu pourrais avoir. Ton yaml semble bon, mais je ne suis pas un expert :slight_smile:
voici un extrait de mon yaml qui n’est pas très éloigné du tien

    - unique_id: Legrand_Puissance_Climatisation
      name: "Legrand Puissance Climatisation"
      state: "{{ state_attr('sensor.ecocompteur', 'data2') | float (default = 0) }}"
      unit_of_measurement: W
      device_class: power
      icon: mdi:alpha-w-circle-outline

j’ai un |float (default =0) en plus c’est tout finalement. et je ne rencontre pas de problèmes.

Gilles

Bonjour Gilles,

Merci de ton retour, je vais esasyer avec ton écriture de YAML pour voir. Je te tiens au jus :wink:

Au plaisir
Ludo

J’ai peut être trouver le problème.

A chaque fois que je regarde vos Yaml vous faites appel à http://192.168.xxx.xxx/inst.json avec comme retour de valeur Data1 , Data2 etc… jusqu’a data5
Par contre moi quand je regarde mes valeurs data ils sont vide :face_with_diagonal_mouth:

pourquoi mes valeurs sont vide alors que sur l’interface web de l’ecocompteur il me remonte bien les valeurs ???

++
Ludo

Hello,

J’ai un problème presque similaire.
J’arrive bien à créer des sensors qui récupèrent les données présentes dans le fichier inst.json, avec ce code-ci :

sensor:
  - platform: rest
    name: Ecocompteur
    json_attributes:
      - data1
      - data2
      - data3
      - data4
      - data5
    resource: http://192.168.86.21/inst.json
    value_template: '{{ value_json.Date_Time }}'
    
template: 
  - sensor:
      - name: "Consommation Cumulus Chaudiere"
        state: "{{ state_attr('sensor.ecocompteur', 'data1') }}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - name: "Consommation Prises directes et Cuisine"
        state: "{{ state_attr('sensor.ecocompteur', 'data2') }}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - name: "Consommation Prises de Courant"
        state: "{{ state_attr('sensor.ecocompteur', 'data3') }}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - name: "Consommation Volets et Garage"
        state: "{{ state_attr('sensor.ecocompteur', 'data4') }}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement

Par contre impossible de récupérer des valeurs depuis la page data.json, si je crée une nouvelle plateform avec la page data.json en source, le sensor que je crée reste toujours en unknown

- platform: rest
    name: Conso_Totale
    json_attributes:
      - isouc
    resource: http://192.168.86.21/data.json
    value_template: '{{ value_json.Date_Time }}'

- name: "Consommation Instantanée"
        state: "{{ state_attr('sensor.conso_totale', 'isouc') }}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement

Une idée de ce que je fais mal ? :frowning:

une piste , ne jamais mettre de majuscule dans les noms interne

J’ai des majuscules sur la page inst.json, aucun soucis. J’ai mis des minuscules partout, même soucis.

Bonjour

Ci joint la configuration que j’ai mis dans un fichier ecompteur.yaml en packages lundi soir
et j’ai eu un retour immédiat sur le sensor sensor.ecocompteur01 déjà et ensuite sur sensor.consommation_ligne, sensor.consommation_etage etc…

sensor:
  - platform: rest
    name: Ecocompteur01
    json_attributes:
      - data1
      - data2
      - data3
      - data4
      - data5
    resource: http://IP_ECOCOMPTEUR/inst.json
    value_template: '{{ value_json.Date_Time }}'

template:
  - sensor:
      - name: "Consommation Ligne"
        state: "{{ state_attr('sensor.ecocompteur01', 'data1') }}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - name: "Consommation Etage"
        state: "{{ state_attr('sensor.ecocompteur01', 'data2') }}"
        unit_of_measurement: W
        device_class: power
      - name: "Consommation induction"
        state: "{{ state_attr('sensor.ecocompteur01', 'data3') }}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - name: "Consommation piscine"
        state: "{{ state_attr('sensor.ecocompteur01', 'data4') }}"
        unit_of_measurement: W
        device_class: power
      - name: "Consommation chauffe eau"
        state: "{{ state_attr('sensor.ecocompteur01', 'data5') }}"
        unit_of_measurement: W
        device_class: power

ci joint le json quand on tape http://IP_ECOCOMPTEUR/inst.json

{
    "data1":0.000000,
    "data2":0.000000,
    "data3":184.000000,
    "data4":1.000000,
    "data5":74.000000,
    "data6":0.000000,
    "data6m3":0.000000,
    "data7":0.000000,
    "data7m3":0.000000,
    "heure":17,
    "minute":3,
    "CIR1_Nrj":0.000000,
    "CIR1_Vol":0.000000,
    "CIR2_Nrj":0.000000,
    "CIR2_Vol":0.000000,
    "CIR3_Nrj":0.000000,
    "CIR3_Vol":0.000000,
    "CIR4_Nrj":0.000000,
    "CIR4_Vol":0.000000,
    "Date_Time":1678727029
}

en espérant que cela te guide

Pourrais-tu essayer de renommer « Conso_Totale » en « consototale » ?

Dans ton code , pour le data.json , l’indentation du code semble incorrecte
Le « - platform » et « - name » est au même niveau alors que « - name » est au troisième niveau alors que « - platform » est au second
un copier-coller du vrai code serait plus pratique.

Désolé pour la mauvaise première piste , j’essaie :wink:

Hello,
Aucun problème pour récupérer les données du inst.json, ça ça fonctionne :slight_smile: C’est en voulant rajouter aussi une récupération depuis le data.json que là le sensor crée reste à l’état unknown.

Voilà mon code :

template: 
  - sensor:
      - name: nb_light_on
        state: >
          {{states.light
          | selectattr( 'state', 'eq', 'on')
          | rejectattr( 'entity_id', 'in', 'group')
          | list | length}}
      - name: "Consommation Cumulus Chaudiere"
        state: "{{ state_attr('sensor.ecocompteur', 'data1') }}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - name: "Consommation Prises directes et Cuisine"
        state: "{{ state_attr('sensor.ecocompteur', 'data2') }}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - name: "Consommation Prises de Courant"
        state: "{{ state_attr('sensor.ecocompteur', 'data3') }}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - name: "Consommation Volets et Garage"
        state: "{{ state_attr('sensor.ecocompteur', 'data4') }}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement
      - name: "Consommation Instantanée"
        state: "{{ state_attr('sensor.conso_totale', 'conso_base') }}"
        unit_of_measurement: W
        device_class: power
        state_class: measurement

sensor:
  - platform: rest
    name: Ecocompteur
    json_attributes:
      - data1
      - data2
      - data3
      - data4
      - data5
    resource: http://192.168.86.21/inst.json
    value_template: '{{ value_json.Date_Time }}'
  - platform: rest
    name: Conso_Totale
    json_attributes:
      - conso_base
    resource: http://192.168.86.21/data.json
    value_template: '{{ value_json.Date_Time }}'

A part virer le « _ » dans le nom de la variable « conso_totale » ,
visuellement , pas d’erreur de conception