Lister toutes mes entites energy avec leur couts

ca fait 2 semaines que je m’arrache les cheveux, chatGPT m’a bien eguyer mais, ya toujours un truc qui beug.

voici ce que je voudrai faire:

  • recuperer toutes mes entites energy
  • les trier par ordre décroissant (kwh)
  • et dans la ligne de chaque resultat, y inserer le cout

Pour ce faire; j’ai trouver 2 cartes qui peuvent m’ai der a faire cela:
la card: custom:auto-entities pour recuperer toutes mes entites energy et les trier
la card: custom:multiple-entity-row pour afficher plusieurs entites par ligne.

voici un exemple de ce que j’ai reussi a faire, mais je n’ai pas le cout associé

type: custom:auto-entities
card:
  type: entities
  show_header_toggle: false
filter:
  include:
    - domain: sensor
      attributes:
        unit_of_measurement: kWh
      state: '>0'
sort:
  method: state
  attribute: state
  reverse: true
  numeric: true
  ignore_case: false
show_empty: false
entities:
  - type: custom:multiple-entity-row
    entity:
      '[object Object]': null
    show_state: false
    attribute_as_list: true
    attributes:
      - unit_of_measurement
      - >-
        {{ states(entity_id) | float * states('input_number.tarif') | float
        }}
    name: '{{ state_attr(entity_id, ''friendly_name'') }}'
    for:
      variable: entity_id
      filter:
        include:
          - domain: sensor
            attributes:
              unit_of_measurement: kWh
            state: '>0'

Merci d’avance de vos réponses

code le plus probant jusqu’ici, j’ai bien une rubrique cout dans la ligne , mais il est notifié comme undefined:

type: custom:auto-entities
card:
  type: entities
  title: Consommation
  show_header_toggle: false
filter:
  include:
    - domain: sensor
      attributes:
        unit_of_measurement: kWh
      state: '>0'
      options:
        type: custom:multiple-entity-row
        secondary_info: false
        entities:
          - attribute: state
            name: Cout
            unit: €
            format: '{:.2f}'
            state: >
              {{ (float(state) * float(states('input_number.tarif_hp').state) /
              1000) | round(2) }} €
sort:
  method: state
  attribute: state
  reverse: true
  numeric: true
  ignore_case: false
show_empty: false

Salut

Ces deux cartes là ne permettent pas tout et notamment le tri. Dans ton cas, la conso est issue d’un calcul dynamique, donc pas dispo au moment de la génération du contenu de la carte multiple-entity-row par la ‹ boucle › de auto-entities
A mon avis c’est plus facile de passer par une carte type mardown et un template un peu costaud avec la fonction expand()

Par exemple

sisi, pour le tri, ca marche a la bête, le code me renvoit bien toutes mes entites energy des plus grands kwh au plus petits. Je voulais juste y ajouter le cout. Alors oui le cout est calculé dynamiquement avec une autre entité qui possède le prix du kwh (« input_number.tarif_hp »), mais j’ai bien les 2 donnees de base qui me permette de faire le calcul en front end une fois la page générée.

je pourrais tres bien créer des sensor qui sont le produit de ma conso par le cout du kwh, mais ca me parait moins « propre ».

Je pensais que cela pouvait etre possible

Oui je voulais parler du ‹ cout › de ta conso. Effectivement si tu trie avant sur la conso, puis tu calcule le cout, c’est bon (on suppose que le tri est identique car simple multiplication) mais quand même, c’est un coup de bol.
Tu as réussi à avoir une bête carte multiple-entity-row qui marche avec un template (sur 1 seule entité) ?

oui, pas de soucis, j’ai bien toutes entites energy bien trié par ordre decroissant, et avec la carte multiple-entity-row, je peux afficher d’autre entité sur chaque ligne generée comme le prix du kwh

Mais le probleme, c’est d afficher le resultat de la multiplication, j’ai l’impression que si je veux afficher une autre cellule sur ma ligne, je dois lui fournir une entité, or cette derniere n’existe pas, je veux juste afficher un resultat

L’entité existe mais la carte ne permet d’afficher que l’état ou un attribut de l’entité.
Et elle n’a pas l’air de supporter les templates (qui permettrai de fournir la valeur calculée)
D’ou ma question juste au dessus, as-tu réussi à le faire 1 fois en dur ?