Comprendre et déchiffrer les erreurs d'un Package

Hello,
Bon suite à vos remarques, j’ai essayé de me pencher plus sur mon JSON, il m’a semblé voir un ou 2 doublons et j’ai essayé de comprendre le transite de la ou les valeurs entre les différents points et j’ai pu constater que des valeurs importantes n’ont pas d’entités ou n’en on plus.

Ca fonctionné avant pour certain et j’en ai 3 qui sont des Command_line pour lesquels une fonctionne mais pas les 2 autres ans savoir pourquoi

Comme indiqué précédemment, je souhaite au maximun que tout ce qui concerne un équipement soit groupé au maximum dans le même fichier pour faciliter dans le temps afin de ne pas à avoir à rechercher de partout.
Le lien avec les JSON et dans secrets.yaml, est-ce que je peux les mettre dans mon package ?

Et sinon, pouvez-vous confirmer qu’un redémarrage de HA est normalement suffisant pour que HA créé les entités indiqué dans les YAML ?

Je vous remercie

Un redémarrage de ha n’est pas nécessaire pour recharger command Line template et d’autres encore.
Mais bon tu ne t’en sortira pas avec ce fichier en copiant sans comprendre.
Le mode package fonctionne comme le mode fichier comme mettre tout dans le configuration.yaml
C’est une question d’organisation

Mais sans lire la Doc et tenir compte des remarques tu est bloqué

J’ai lu les documents mais désolé à part indiquer des bouts de code et des exemples qui sont différents du miens il y a rien de clair

J’ai compris qu’il fallait en premier que je regarde la création des entités une par une et c’est ce que j’ai fait hier et effectivement j’en ai plusieurs qui doivent être récupérés via les JSON sauf que j’en ai qui fonctionne et d’autre non
D’où ma demande pour savoir comment ils sont générés

Salut…
Dis nous alors ce que tu vois ou ne vois pas !
Comme cela à distance et sans ce matos pas facile, seulement essayer de t’aider sur ce fichier !

Est-ce que tu as encore des erreurs de fichier ?

Salut

En effet c’est ce que je pensais mais je voulais comprendre avant la création des entités

Je regarde ça ce soir

Oui la même que la dernière que j’ai posté qui si je comprends bien correspond au fait que je n’ai pas toutes les données issues de la lecture des JSON

Ton erreur dans ce fichier n’est pas liée au json mais à son mauvais formatage.
La Doc template te montre comment structurer ton fichier.
Tu ne trouveras pas une Doc clé en main pour ton équipement.
Créer les input text tu l’as fait?
C’est ce qui manquaient quand ça a presque fonctionné.
Dans file editor a côté du bouton pour sauvegarder la coche est verte ou rouge?
Si c’est rouge ça te montre la première erreur de ton fichier.

Salut …
J’ai chercher un peu comment sont créé les entités, je comprends mieux le système, même s’il y a pas mal de modification à faire [ surtout dans les appels Rest et Command_line] deux commandes devraient suffire pour récupérer les données !
Les « customize » ne servent pas , il doivent être intégrés dans les résultats des cde !

  • cela allège le code

Il n’y a pas d’erreurs [ si on veut ! ] dans le code, il manque des entités, en plus passer par des input_text pour les transformer ensuite en number [drôle d’idée].
Il faut voir aussi la remontée des 2 Json, pour simplifier touts les appels !
On regarde ce soir comme dit !

Il y a quelques temps ce fichier devait être fonctionnel vu qu’il a été partagé par un autre utilisateur

Peut-être mais au vu de la compréhension que j’en fais tous ce qui est lié aux données JSON devrait fonctionner vu qu’ils sont avant la partie Template, mais c’est pas le cas

La coche est bien verte

Ah ça serait cool

Merci

Voilà ton code

template:
  - sensor:
      entity_id: sensor.legrand_tarif_en_cours
      state: >
        {% if is_state('sensor.tarif_en_cours', '0') %}
        Base
        {% if is_state('sensor.legrand_tarif_en_cours', '10') %}
        Heure Pleine ROUGE
        {% if is_state('sensor.legrand_tarif_en_cours', '9') %}
        Heure Pleine BLANC
        {% if is_state('sensor.legrand_tarif_en_cours', '8') %}
        Heure Pleine BLEU
        {% if is_state('sensor.legrand_tarif_en_cours', '7') %}
        Heure Creuse ROUGE
        {% if is_state('sensor.legrand_tarif_en_cours', '6') %}
        Heure Creuse BLANC
        {% if is_state('sensor.legrand_tarif_en_cours', '5') %}
        Heure Creuse BLEU
        {% if is_state('sensor.legrand_tarif_en_cours', '2') %}
        Heure Pleine
        {% if is_state('sensor.legrand_tarif_en_cours', '1') %}
        Heure Creuse 
        {% endif %}

   #####################################
   ##                                 ##
   ##             RELEVES             ##
   ##           ABONNEMENT            ##
   ##                                 ##
   #####################################



# Puissance Souscrite
  - name: "Legrand Puissance Souscrite"
    unit_of_measurement: 'kVA'
    state: >-
      {% set i = states('sensor.legrand_intensite_souscrite') | float(default=0) %} 
      {{ ( i / 5 ) | round(2) }}


   #####################################
   ##                                 ##
   ##         SENSORS CALCULS         ##
   ##           CONSOMMATION          ##
   ##                                 ##
   #####################################


# Calcul Consommation Totale (Base)
  - name: "Legrand Consommation Totale"
    unit_of_measurement: "kWh"
    state: >-
      {{ states('sensor.legrand_consommation_base') | float(default=0) | round(2) }}


   #####################################
   ##                                 ##
   ##          SENSORS COUTS          ##
   ##      FACTURATION ELECTRICITE    ##
   ##                                 ##
   #####################################

# Sensor Input Text Abonnement
  - name: "Legrand Prix Abo"
    unit_of_measurement: "€"
    state: >-
      {{ states('input_text.legrand_prix_abo') | default(0) | round(2) }}


# Sensor Input Text Prix kwh Base
  - name: "Legrand Prix kWh Base"
    unit_of_measurement: "€"
    state: >-
      {{ states('input_text.legrand_prix_kwh_base') | default(0) | round(2) }}

     ###########################################
     ##     CALCULS CONSOMMATIONS TOTALES     ##
     ###########################################

       #########################
       ##     ELECTRICITE     ##
       #########################

## CALCULS FACTURATION ELECTRICITE

# Calcul Coût Quotidien
  - name: "Coût Quotidien"
    unit_of_measurement: '€'
    state: >-
      {% set a = states('sensor.energy_daily_cost') | float(default=0) %}
      {% set base = states('sensor.electricite_prix_kwh_base') | float(default=0) %}
      {{(a + base) | round(2) }}


# Calcul Coût Hebdomadaire

  - name: "Coût Hebdomadaire"
    unit_of_measurement: '€'
    state: >-
      {% set a = states('sensor.energy_daily_cost') | float(default=0) %}
      {% set base = states('sensor.electricite_prix_kwh_base') | float(default=0) %}
      {{ ((a * 7) + base) | round(2) }}



# Calcul Coût Mensuel
  - name: "Coût Mensuel"
    unit_of_measurement: '€'
    state: >-
      {% set a = states('sensor.electricite_prix_abo') | float(default=0) %}
      {% set base = states('sensor.electricite_prix_kwh_base') | float(default=0) %}
      {{ (a + base) | round(2) }}



# Calcul Coût Annuel
  - name: "Coût Annuel"
    unit_of_measurement: '€'
    state: >-
      {% set p = states('sensor.legrand_yearly_energy_peak') | float(default=0) %}
      {% set o = states('sensor.legrand_yearly_energy_offpeak') | float(default=0) %}
      {% set a = states('sensor.electricite_prix_abo') | float(default=0) %}
      {% set base = states('sensor.electricite_prix_kwh_base') | float(default=0) %}
      {{ ((a * 12) + base) | round(2) }}

le premier il te manque :

        - name:

et à décaler le state.
Ainsi tu verras que les name suivants n’ont du coup pas la bonne indentation.

Pour les platform rest double dom voit avec toi.

As tu un sensor tarif en cours. Je ne le vois pas dans le fichier.

As tu créé les input text référencés dans ton fichier?

J’étais étonné de cette forme, mais personne ne m’avais fait de remarque
c’est noté je modifie merci

Pour les appels Rest est-ce que ça fonctione ce code car pas encore vu avec @Doubledom

rest:
  - resource: http://192.168.1.50/data.json
    scan_interval: 10
    sensor:
      - name: "Tarif Abonnement en Cours"
        value_template: "{{ value_json.tarif_courant }}"
      - name: "Intensite Abonnement Souscrite"
        value_template: "{{ value_json.isousc }}"
      - name: "Consommation Base"
        value_template: "{{ value_json.conso_base }}"

  - resource: http://192.168.1.50/inst.json
    scan_interval: 1
    sensor:
      - name: "Infos PC"
        value_template: "{{ value_json.data1 }}"
      - name: "Éclairage"
        value_template: "{{ value_json.data2 }}"
      - name: "Chauffage"
        value_template: "{{ value_json.data3 }}"
      - name: "Chaudière"
        value_template: "{{ value_json.data4 }}"

celui-ci est issu de la lecture d’un JSON

oui les voici

Du coup reprends les indentations template. Vérifie si le commandant rest créé les sensors tes inputs text doivent avoir une valeur je suppose que c’est le cas

Oui je suis dessus

C’est le cas, mais j’ai soit pas d’info soit il y a un bug sur comment le graphe de puissance s’affiche car au lieu d’avoir une ligne j’ai ça (barres de couleur) :


Ensuite dans les paramètres de 7 sensors j’ai ça et je ne sais pas si c’est normal
image

Ces 3 sensors ont une valeur inconnu
image

oui par contre je ne sais pas pour les centimes s’il faut mettre un point ou une virgule

5772c5417708b82e3d647f39f8a735b34bc77961_2_479x500

ça c’est normal

image
ça c’est parce que les sensors n’ont pas de unique id mais ce n’est pas un gros problème. Tu ne peux juste pas les modifier en ligne

image

rest:
  - resource: http://192.168.1.50/data.json
    scan_interval: 10
    sensor:
      - name: "Tarif Abonnement en Cours"
        value_template: "{{ value_json.tarif_courant }}"
      - name: "Intensite Abonnement Souscrite"
        value_template: "{{ value_json.isousc }}"
      - name: "Consommation Base"
        value_template: "{{ value_json.conso_base }}"

ça vient de là du coup.
Accèdes tu à la ressource?

pour les input text je ne sais pas je dirais virgule.
Moi j’utilise des input number et j’ai des virgules.

comment-ça ?

mon JSON
image

sauf que je souhaiterais ça comme représentation graphique
image

Salut,
Désolé je n’ai pas pu me libérer, j’ai du monde qui est arrivé.
Pour la graphes, il faut que ce soit des numériques, je comprends pas pourquoi saisir des inputs en mode texte.
Je vais regarder un peu ce que tu as fait avec @cob94440 , il faut surtout vérifier si tes entités sont présentes.

Salut

Aucun problème

Comment faire sachant que ça vient de l’appel Rest issu du JSON ?

D’après ce que j’ai compris dans le package initial c’était pour indiquer le tarif du kWh et de l’abonnement EDF, mais s’il y a une autre solution évidemment je suis preneur

Merci, mais la déjà sur les 7 entités issues de l’appel Rest sur le JSON j’en ai 3 sans données comme indiqué précédemment

Tu as vu mon message en MP ?

Salut tu en es où ? Tu as pu résoudre les problèmes ?

Salut
Non toujours pas
Je n’arrive même pas a récupérer l’ensemble des données des JSON