Les cartes et MyelectricalData

Bonsoir
Désolé du retard de la réponse mais coupure internet suite à un soucis de câbles … bref
J’ai réussi à intégrer les informations de ma consommation c’est bon j’ai tout repris depuis le début .

1 « J'aime »

Hello
Je souhaiterais afficher la consommation sur 1 mois (groupé par semaine) avec à terme faire la comparaison sur le mois de l’année précédente et respectivement sur 1 an avec l’année précédent (groupé par mois).

Or quand je regarde mon PDL, je n’ai que l’historique de 1 mais (dans influxDB j’ai bien tout mon historique récupéré.)
J’ai aussi été voir dans la partie history… Mais rien

J’ai 3 questions :

  • Est ce normal de ne pas avoir mon historique antérieur à 1 semaine. (j’ai clairement raté quelque chose)
  • Comment structurer apexcharts-card
    J’ai fait une tentative mais je suis clairement pas confiant, d’ailleurs ca marche pas ^^
  • Comment afficher les données sur le mois précédent
Tentative de code
      - type: custom:apexcharts-card
        graph_span: '1m' #6d
        span:
          start: month
          offset: '-1m' #7d
        header:
          show: true
          title: Conso sur le dernier mois
          show_states: false
          colorize_states: true
        series:
          - entity: sensor.myelectricaldata_consumption_XXXX
            yaxis_id: gauche
            name: Coût
            unit: €
            color: deepskyblue
            type: column
            group_by:
              duration: 1w
              func: max
            opacity: 0.8
            stroke_width: 4
            show:
              datalabels: true
            data_generator: >
              return entity.attributes.dailyweek.map((dailyweek, index) =>
              {     
                        return [new Date(dailyweek).getTime(), entity.attributes.dailyweek_cost[index]];
                      });

Tu peux essayé avec l’option « statistics » dans APEX chart card ? :

 type: custom:apexcharts-card
  all_series_config:
    statistics:
      type: state
      period: hour
      align: end

tu as une option a 5minute egalement en period
Ca facilite grandement l’affichage de mon coté en plus

Personnellement je me pose beaucoup de question sur ces statistics et je me demandais surtout comment les récupérer via les modèles mais personne ne m’a répondu,…

Oui, pareceque c’est l’historique et la config coupe après (defaut) 10 jours, ne le change pas car la taille de la bdd va tuer la performance
Recorder - Home Assistant (home-assistant.io)

Que pour ces 10 jours. Si tu veux plus il faut creer une statistique a base de ton sensor.myelectricaldata…
Les statistiques sont gardés longtemps

Alternative utiliser un widget avec grafana ou influx
How to seamlessly add Grafana graphs to Home Assistant » The smarthome journey

Merci je vais regarder l’intégration d’influxDB j’ai des doutes sur la possibilité de faire la comparaison entre 2 mois ou 2 années

Salut Uowis.
Mercu
de prime abord pas sure de comprendre la partie statistics , il va falloir que je me plonge dedans

1 « J'aime »

Il y a aussi grafana, voir: • Discord | #forum-enedis | Domotique & DIY
C’est pas toujous si simple mais…p.e. ce que j’utilise

C’est pas bien compliqué c’est la solution la plus simple et moins gourmande qu’un influXDB ,… T’as besoin de rien faire tourner en plus.

Bonsoir,

Super boulot mais lorsque je tap sur détail rien ne se passe, pouvez vous m aider

Bonjour,

Est-ce que tu as installer browser_mod via HACS ?

il etait installé dans hacs mais pas dans les intégrations
merci

1 « J'aime »

Bonjour, j’essaye de comprendre depuis hier mais je ne trouve pas le problème. Pouvez-vous m’aider svp

Bjr @AlexandreVng
A priori il te manque la partie minimalist:

Si minimalist n’est pas correctement installé et fonctionnel il y a des grandes chances que ce soit la solution à ton pb. Donc bien prendre le temps de relire le début de ce post (c.f extract au dessus).

Minimalist est le mode assez compliqué et qui implique bq de configuration manuelle (c dans tous les cas parfait pour apprendre ;-))

Je suis depuis passé à mushroom (un peu plus ‹ simple ›) avec browser mod ( et réutilisation d’exemples postés ici aussi pour générer):

image

Avec un click sur details pour afficher:
image

ou
Edf

ou Cout

Voici le code correspondant (il faudra certainement installer qques cartes sups)

type: vertical-stack
cards:
  - type: custom:mushroom-chips-card
    chips:
      - type: template
        entity: sensor.myelectricaldata_current_month
        icon: mdi:chart-line-variant
        content: >-
          {% if
          'states.sensor.myelectricaldata_consumption_pdl.attributes.current_month_evolution'
          == '0' %}
            Mois: Pas de données
          {% else %}
            Mois: {{ state_attr('sensor.myelectricaldata_consumption_pdl', 'current_month_evolution') }} %
          {% endif %}
        icon_color: green
        tap_action:
          action: none
      - type: template
        entity: sensor.myelectricaldata_current_week
        tap_action:
          action: none
        icon: mdi:chart-line-variant
        content: >-
          {% if
          'states.sensor.myelectricaldata_consumption_pdl.attributes.current_week_evolution'
          == '0' %}
            Semaine: Pas de données
          {% else %}
            Semaine: {{ state_attr('sensor.myelectricaldata_consumption_pdl', 'current_week_evolution') }} %
          {% endif %}
        icon_color: green
      - type: template
        content: Détails
        icon: mdi:poll
        tap_action:
          action: fire-dom-event
          haptic: heavy
          browser_mod:
            service: browser_mod.popup
            data:
              style: |-
                --popup-background-color: transparant;
                --popup-border-radius: 15px;
                --popup-border-color: transparent;
                --popup-padding-x: 5px;
              size: normal
              content:
                type: custom:apexcharts-card
                graph_span: 7d
                span:
                  start: day
                  offset: '-7d'
                header:
                  show: true
                  title: Détails
                  show_states: false
                series:
                  - entity: sensor.myelectricaldata_consumption_pdl
                    yaxis_id: gauche
                    name: Conso Totale
                    type: column
                    color: deepskyblue
                    group_by:
                      duration: 1d
                      func: max
                    opacity: 0.7
                    stroke_width: 2
                    show:
                      extremas: true
                      datalabels: true
                    data_generator: >
                      return entity.attributes.dailyweek.map((dailyweek, index)
                      => {     
                        return [new Date(dailyweek).getTime(), entity.attributes.daily[index]];
                      });
                  - entity: sensor.myelectricaldata_consumption_pdl
                    yaxis_id: droite
                    name: Coût
                    unit: €
                    color: orange
                    type: column
                    group_by:
                      duration: 1d
                      func: max
                    opacity: 0.7
                    stroke_width: 2
                    show:
                      extremas: true
                      datalabels: true
                    data_generator: >
                      return entity.attributes.dailyweek.map((dailyweek, index)
                      => {     
                         return [new Date(dailyweek).getTime(), entity.attributes.dailyweek_cost[index]];
                       });
                apex_config:
                  xaxis:
                    labels:
                      show: true
                  yaxis:
                    - id: gauche
                      forceNiceScale: true
                      opposite: false
                      labels:
                        show: false
                    - id: droite
                      min: 0
                      forceNiceScale: true
                      max: 20
                      opposite: true
                      labels:
                        show: false
                  legend:
                    show: true
    alignment: center

type: horizontal-stack
cards:
  - type: custom:vertical-stack-in-card
    cards:
      - type: custom:mushroom-template-card
        primary: EDF
        secondary: ''
        icon: mdi:flash
        entity: input_select.carburant
        layout: vertical
        icon_color: blue
        badge_color: ''
        tap_action:
          action: fire-dom-event
          browser_mod:
            service: browser_mod.popup
            data:
              content:
                type: custom:vertical-stack-in-card
                card_mod:
                  style: |
                    ha-card {
                      margin-top: 0em;
                        }         
                mode: vertical
                cards:
                  - type: custom:content-card-linky
                    entity: sensor.myelectricaldata_consumption_pdl
                    nbJoursAffichage: '7'
                    showDayName: short
                    showTitle: false
                    showDayHCHP: false
                    showYesterdayRatio: true
                    showError: false
                    showIcon: false
                    showHistory: true
                    showInTableUnit: false
                    showDayPriceHCHP: false
                    showMonthRatio: false
                    showPeakOffPeak: true
                    showDayPrice: false
                    showCurrentMonthRatio: false
                    showWeekRatio: true
                    showTitreLigne: false
                    showYearRatio: false
                    showHeader: true
                    showEcoWatt: true
                    showPrice: true
                  - type: divider
                    style:
                      height: 10px
                      width: 100%
                      margin-left: auto
                      margin-right: auto
                      background: var(--card-background-color)
                  - type: custom:apexcharts-card
                    color_list:
                      - deepskyblue
                      - orange
                    graph_span: 7d
                    span:
                      start: day
                      offset: '-7d'
                    header:
                      show: true
                      title: Suivi Consommation
                      show_states: false
                    series:
                      - entity: sensor.myelectricaldata_consumption_pdl
                        type: column
                        yaxis_id: gauche
                        group_by:
                          duration: 1d
                          func: max
                        opacity: 0.7
                        stroke_width: 2
                        show:
                          datalabels: true
                        data_generator: >
                          return entity.attributes.dailyweek.map((dailyweek,
                          index) => {     
                                    return [new Date(dailyweek).getTime(), entity.attributes.dailyweek_HP[index]];
                                  });
                      - entity: sensor.myelectricaldata_consumption_pdl
                        type: column
                        yaxis_id: gauche
                        group_by:
                          duration: 1d
                          func: max
                        opacity: 0.7
                        stroke_width: 2
                        show:
                          datalabels: true
                        data_generator: >
                          return entity.attributes.dailyweek.map((dailyweek,
                          index) => {     
                                    return [new Date(dailyweek).getTime(), entity.attributes.dailyweek_HC[index]];
                                  });
                      - entity: sensor.myelectricaldata_consumption_22325470269040_2
                        yaxis_id: droite
                        name: Puissance Max
                        unit: KvA
                        color: red
                        type: line
                        group_by:
                          duration: 1d
                          func: max
                        opacity: 0.8
                        stroke_width: 2
                        show:
                          datalabels: true
                        data_generator: >
                          return entity.attributes.dailyweek.map((dailyweek,
                          index) => {     
                                    return [new Date(dailyweek).getTime(), entity.attributes.dailyweek_MP[index]];
                                  });
                    apex_config:
                      legend:
                        show: false
                      chart:
                        stacked: true
                      xaxis:
                        labels:
                          show: true
                      yaxis:
                        - id: gauche
                          forceNiceScale: true
                          opposite: false
                          labels:
                            show: false
                        - id: droite
                          min: 0
                          forceNiceScale: true
                          max: 20
                          opposite: true
                          labels:
                            show: false
      - type: custom:mushroom-chips-card
        chips:
          - type: template
            entity: none
            content: '{{ states(''sensor.myelectricaldata_yesterdaymaxpower'') }} KvA'
            icon_color: ''
            icon: ''
            tap_action:
              action: none
            card_mod:
              style: |
                ha-card {
                  --chip-border-width: 0;
                  }
          - type: template
            entity: none
            icon: ''
            icon_color: orange
            content: >-
              {{
              states('sensor.myelectricaldata_consumption_pdl')}}
              KWh
            tap_action:
              action: none
            card_mod:
              style: |
                ha-card {
                  --chip-border-width: 0;
                  }
        alignment: center
        card_mod:
          style:
            style: |
              ha-card {
                margin: -2px 0px 12px;
                --chip-background: rgba(var(--rgb-disabled), 0.15);
                --ha-card-box-shadow: none;
                --chip-border-radius: 12px;
                --chip-height: 40px;
                --chip-padding: 12px;
                --chip-spacing: 0px;
              }
      - type: custom:apexcharts-card
        color_list:
          - deepskyblue
          - orange
        graph_span: 4d
        span:
          start: day
          offset: '-4d'
        header:
          show: true
          show_states: false
        series:
          - entity: sensor.myelectricaldata_consumption_pdl
            type: column
            group_by:
              duration: 1d
              func: max
            opacity: 0.7
            stroke_width: 2
            show:
              datalabels: true
            data_generator: >
              return entity.attributes.dailyweek.map((dailyweek, index) =>
              {     
                        return [new Date(dailyweek).getTime(), entity.attributes.dailyweek_HP[index]];
                      });
          - entity: sensor.myelectricaldata_consumption_pdl
            type: column
            group_by:
              duration: 1d
              func: max
            opacity: 0.7
            stroke_width: 2
            show:
              datalabels: true
            data_generator: >
              return entity.attributes.dailyweek.map((dailyweek, index) =>
              {     
                        return [new Date(dailyweek).getTime(), entity.attributes.dailyweek_HC[index]];
                      });
        apex_config:
          xaxis:
            labels:
              show: false
          yaxis:
            labels:
              show: false
          legend:
            show: false
          chart:
            stacked: true
        card_mod:
          style: |
            ha-card { 
              box-shadow: none !important;
              margin: 0px -10px;
              padding: 0px 20px 0px 0px;
            }
  - type: custom:vertical-stack-in-card
    cards:
      - type: custom:mushroom-template-card
        primary: Coût
        secondary: ''
        icon: mdi:currency-eur
        layout: vertical
        badge_color: ''
        icon_color: orange
        tap_action:
          action: fire-dom-event
          haptic: heavy
          browser_mod:
            service: browser_mod.popup
            data:
              size: large
              content:
                type: custom:vertical-stack-in-card
                card_mod:
                  style: |
                    ha-card {
                      margin-top: 0em;
                        }         
                mode: vertical
                cards:
                  - type: entities
                    title: Coûts
                    entities:
                      - entity: sensor.myelectricaldata_consumption_pdl
                        type: custom:multiple-entity-row
                        name: Semaine
                        show_state: false
                        secondary_info: null
                        entities:
                          - entity: sensor.myelectricaldata_current_week
                            name: En cours
                          - entity: sensor.myelectricaldata_last_week
                            name: Dernière
                          - entity: sensor.myelectricaldata_last_week_cost
                            name: Coût
                      - entity: sensor.myelectricaldata_consumption_pdl
                        type: custom:multiple-entity-row
                        name: Mois
                        show_state: false
                        secondary_info: null
                        entities:
                          - entity: sensor.myelectricaldata_current_month
                            name: En cours
                          - entity: sensor.myelectricaldata_last_month
                            name: Dernière
                          - entity: sensor.myelectricaldata_last_month_cost
                            name: Coût
                      - entity: sensor.myelectricaldata_consumption_pdl
                        type: custom:multiple-entity-row
                        name: Année
                        show_state: false
                        secondary_info: null
                        entities:
                          - entity: sensor.myelectricaldata_current_year
                            name: En cours
                          - entity: sensor.myelectricaldata_last_year
                            name: Dernière
                          - entity: sensor.myelectricaldata_last_year_cost
                            name: Coût
                      - entity: sensor.myelectricaldata_last_update
                        type: custom:multiple-entity-row
                        name: Mise à jour
                        icon: mdi:update
                  - type: custom:apexcharts-card
                    color_list:
                      - orange
                    graph_span: 7d
                    span:
                      start: day
                      offset: '-7d'
                    header:
                      show: true
                      title: Journalier
                      show_states: false
                    series:
                      - entity: sensor.myelectricaldata_consumption_pdl
                        name: Coût
                        type: column
                        unit: €
                        group_by:
                          duration: 1d
                          func: max
                        opacity: 0.7
                        stroke_width: 2
                        show:
                          datalabels: true
                        data_generator: >
                          return entity.attributes.dailyweek.map((dailyweek,
                          index) => {     
                                    return [new Date(dailyweek).getTime(), entity.attributes.dailyweek_cost[index]];
                                  });
                    apex_config:
                      xaxis:
                        labels:
                          show: true
                      yaxis:
                        labels:
                          show: true
      - type: custom:mushroom-chips-card
        chips:
          - type: template
            entity: none
            icon: ''
            icon_color: orange
            content: '{{ states("sensor.myelectricaldata_yesterday_cost") }} €'
            tap_action:
              action: none
            card_mod:
              style: |
                ha-card {
                  --chip-border-width: 0;
        alignment: center
        card_mod:
          style:
            style: |
              ha-card {
                margin: -2px 0px 12px;
                --chip-background: rgba(var(--rgb-disabled), 0.15);
                --ha-card-box-shadow: none;
                --chip-border-radius: 12px;
                --chip-height: 40px;
                --chip-padding: 12px;
                --chip-spacing: 0px;
              }
      - type: custom:apexcharts-card
        color_list:
          - orange
        graph_span: 4d
        span:
          start: day
          offset: '-4d'
        header:
          show: true
          show_states: false
        series:
          - entity: sensor.myelectricaldata_consumption_pdl
            name: Coût
            type: column
            unit: €
            group_by:
              duration: 1d
              func: max
            opacity: 0.7
            stroke_width: 2
            show:
              datalabels: true
            data_generator: >
              return entity.attributes.dailyweek.map((dailyweek, index) =>
              {     
                        return [new Date(dailyweek).getTime(), entity.attributes.dailyweek_cost[index]];
                      });
        apex_config:
          xaxis:
            labels:
              show: false
          yaxis:
            min: 0
            labels:
              show: false
        card_mod:
          style: |
            ha-card { 
              box-shadow: none !important;
              margin: 0px -10px;
              padding: 0px 20px 0px 0px;
            }

ps: remplacer pdl par ton numéro de pdl -:wink:

HTH

Merci pourtant j’ai bien minimalise et il fonctionne très bien c’est pour ça que je ne comprend pas.
J’ai aussi mes sensors dans sensors.yaml qui sont indisponible quand je vais dans entité.

J’ai réussi a avancer mais j’ai toujours le problème avec apex qui dit que mon entité est pas disponible

Attention,

Tu dois avoir un pb car les sensors sont en mode ‹ unavailbe › et/ou avec un gros point d’exclamation rouge ^^

Tu peux vérifier dans les outils de développement que ce sensor est bien actif ? Il consititue la base de la majorité des autres sensors… Celui là est généré par l’addon Myelectrical data:

hth

Bonjour, je viens de suivre tout le tuto, j’etais initialement sur Enedysgateway et j’ai donc toujours le message d’erreur « Merci de migrer sur myelectricaldata ». Savez vous pourquoi ? Merci,

parce que Enedysgateway est arrete , il me semble

https://github.com/MyElectricalData/myelectricaldata/wiki/01.-Home
et
https://github.com/saniho/apiEnedis/issues/198

Non pas encore arrêter mais ça devrait pas tarder.
Enedysgateway utiliser les « veille » API d’enedis. Enedis à crée une nouvelle version des API mais elle est « bugger » et il y manquant des fonctionnalités.

C’était prévu que les veille api soit déactiver en mai (et du coup Enedysgateway aussi) mais ils ont repousser ça a une date « ultérieur » , …

Houps, autant pour moi va s’arrêter …