Intégration API Ecowatt

Je comprends ça effectivement comme : une surcharge en Bretagne déclenche l’alerte dans l’api de façon globale.
Ça pose la question de savoir pourquoi ça serait dispo ailleurs (site Web) si SAUF par le biais de l’api… La logique du choix m’échappe

Je pense qu’il ne mettent pas de régions pour :
C’est national tout le monde fait attention à sa consommation.
Bob

Bonjour à tous, je ne sais pas si quelqu’un à commencé à travailler sur l’intégration de l’API Ecogaz dans HA? Le service est désormais disponible ici:
https://myecogaz.com/home
et l’API ici:

Merci d’avance à celui ou celle qui travaille dessus :wink:
Très preneur de l’intégration qui sera dispo ensuite sur home assistant !
Bonne journée

Hello Kamaradclimber,

super boulot :slight_smile:
Pourrais tu faire pareille avec l’API RTE qui donne des information sur le TEMPO ?

Je pense qu’une adaptation de ecowatt est faisable mais je suis vraiment pas doué en programmation.

Merci, je suis certain que tu fera encore pleins d’heureux.
seb

Salut à tous,

Aux utilisateurs, vous préconisez plutôt la granularité horaire ou journalière ?

J’avoue que j’ai un peu de mal à me projeter :upside_down_face:

Ah et j’ajoute un grand merci @kamaradclimber pour son dev :wink: !!!

Si cest « pour etre au courant » et faire ses efforts sur ta consommation, je suggérerais la version journalière. Si par contre tu as une automatisation en place pour couper un circuit comme le chauffage, l’api horaire est plus précise et permettra de couper juste au bon moment.

Ok merci pour les précisions :wink:

On va partir sur la version journalière pour le moment.

Bonsoir,
Dans le sujet mais généraliste quand même :

J’ai repris la carte de @Christof, merci, j’ai modifié un peu :wink:

type: horizontal-stack
cards:
  - type: custom:button-card
    color_type: card
    entity: sensor.ecowatt_level_today
    name: RTE AUJOURD'HUI
    state:
      - value: Situation normale
        color: green
        icon: mdi:transmission-tower
      - value: Risques de coupures d'électricité
        color: orange
        icon: mdi:transmission-tower-off
      - value: Coupures d'électricité programmées
        color: red
        icon: mdi:transmission-tower-off
    styles:
      card:
        - font-size: 15px
        - font-weight: bold
  - type: custom:button-card
    color_type: card
    entity: sensor.ecowatt_level_tomorrow_and_12_hours
    name: RTE DEMAIN
    state:
      - value: Situation normale
        color: green
        icon: mdi:transmission-tower
      - value: Risques de coupures d'électricité
        color: orange
        icon: mdi:transmission-tower-off
      - value: Coupures d'électricité programmées
        color: red
        icon: mdi:transmission-tower-off
    styles:
      card:
        - font-size: 15px
        - font-weight: bold
  - type: custom:button-card
    color_type: card
    entity: sensor.ecowatt_level_tomorrow_and_12_hours
    name: RTE 2 JOURS
    state:
      - value: Situation normale
        color: green
        icon: mdi:transmission-tower
      - value: Risques de coupures d'électricité
        color: orange
        icon: mdi:transmission-tower-off
      - value: Coupures d'électricité programmées
        color: red
        icon: mdi:transmission-tower-off
    styles:
      card:
        - font-size: 15px
        - font-weight: bold
title: Infos EcoWatt 3 couleurs

J’aurai préféré me baser sur le level_code que sur le libellé mais je n’ai pas réussi à intégrer le code de @WarC0zes !

          icon:
            - color: >
                [[[ if (entity.attributes.level_code == "1") return 'green';
                if (entity.attributes.level_code == "2") return 'orange';
                else return 'red'; ]]]

Intégrer si mais non prit en compte, icon blanc.

Merci à vous
Bob

Bonsoir,
Faut mettre le code dans la section styles:

        styles:
          card:
            - '--mdc-ripple-color': rgb(68, 115, 158)
            - '--mdc-ripple-press-opacity': 0.5
          name:
            - font-size: 0.8em
          state:
            - font-size: 0.7em
          icon:
            - color: >
                [[[ if (entity.attributes.level_code == "1") return 'green'; if
                (entity.attributes.level_code == "2") return 'orange'; else
                return 'red'; ]]]

Example avec ton code:

type: horizontal-stack
cards:
  - type: custom:button-card
    color_type: card
    entity: sensor.ecowatt_level_today
    name: RTE AUJOURD'HUI
    styles:
      card:
        - font-size: 15px
        - font-weight: bold
      icon:
        - color: >
            [[[ if (entity.attributes.level_code == "1") return 'green'; if
            (entity.attributes.level_code == "2") return 'orange'; else
            return 'red'; ]]]

ecowatt code

mon code:

  - type: horizontal-stack
    cards:
      - type: custom:button-card
        entity: sensor.ecowatt_level_now
        name: Maintenant
        icon: mdi:transmission-tower
        aspect_ratio: 1.5/1
        show_state: true
        show_icon: true
        size: 30%
        styles:
          card:
            - '--mdc-ripple-color': rgb(68, 115, 158)
            - '--mdc-ripple-press-opacity': 0.5
          name:
            - font-size: 0.8em
          state:
            - font-size: 0.7em
          icon:
            - color: >
                [[[ if (entity.attributes.level_code == "1") return 'green'; if
                (entity.attributes.level_code == "2") return 'orange'; else
                return 'red'; ]]]

Bonjour,

Merci beaucoup @WarC0zes,

image

J’ai repris les couleurs de mon thème de base.

styles:
  card:
    - font-size: 14px
    - font-weight: normal
    - color: white
    - background-color: '#202020'
  icon:
    - color: >
        [[[ if (entity.attributes.level_code == "1") return '#44739e'; if
        (entity.attributes.level_code == "2") return '#ff9800'; else return
        'red'; ]]]

Bob

Salut,

Merci @WarC0zes pour l’inspiration, j’ai « tuné » un peu pour coller au reste de mon thème :

ecowatt

template button-card
  ecowatt:
    show_state: false
    icon: >
      [[[ if (entity.state == "Situation normale") return 'mdi:transmission-tower';
          else return 'mdi:transmission-tower-off';
      ]]]
    show_icon: true
    layout: icon_name
    size: 25px
    styles:
      card:
        - '--mdc-ripple-color': rgb(68, 115, 158)
        - '--mdc-ripple-press-opacity': 0.5
        - border: |
            [[[
              if (entity.state == 'Situation normale') return '2px solid aqua';
              else return '2px solid coral';
            ]]]
        - height: 35px
      icon:
        - color: |
            [[[
              if (entity.state == 'Situation normale') return 'white';
              else return 'coral';
            ]]]
      name:
        - font-size: 0.85em
        - justify-self: start
      state:
        - font-size: 0.7em
button-card
type: horizontal-stack
cards:
  - type: custom:button-card
    entity: sensor.ecowatt_level_now
    name: Now
    template: ecowatt
  - type: custom:button-card
    entity: sensor.ecowatt_level_today
    name: Today
    template: ecowatt
  - type: custom:button-card
    entity: sensor.ecowatt_level_tomorrow
    name: N +1d
    template: ecowatt
  - type: custom:button-card
    entity: sensor.ecowatt_level_in_2_days
    name: N +2d
    template: ecowatt

Au final c’est intégré dans mon onglet « energy » :

Nikel @Herbs, je voulais faire les icones mais j’ai pas le temps. Du coups je te pique le code. Merci :slight_smile:

Hello

une erreur qui vient d’apparaitre

Logger: homeassistant
Source: custom_components/rte_ecowatt/__init__.py:396
Integration: My EcoWatt by RTE (documentation, issues)
First occurred: 00:08:33 (1 occurrences)
Last logged: 00:08:33

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/config/custom_components/rte_ecowatt/__init__.py", line 376, in _find_ecowatt_level
    ecowatt_data = next(
StopIteration

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 151, in _handle_refresh_interval
    await self._async_refresh(log_failures=True, scheduled=True)
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 283, in _async_refresh
    self.async_update_listeners()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 110, in async_update_listeners
    update_callback()
  File "/config/custom_components/rte_ecowatt/__init__.py", line 265, in _handle_coordinator_update
    ecowatt_level = self._find_ecowatt_level()
  File "/config/custom_components/rte_ecowatt/__init__.py", line 396, in _find_ecowatt_level
    raise RuntimeError(
RuntimeError: Unable to find ecowatt level for 2022-11-03

Tu es en version 2022.11.0b3 ?

non

Cela semble dire que les données du 03/11 ne sont pas trouvé dans la réponse fournie par l’API RTE. Quels sont les sensors configurés ?

Bonjour, peux tu ouvrir un issue sur GitHub avec quelques détails? Par ex si l’erreur se reproduit en continu ou après un redémarrage

@Herbs @cob94440 ne faudrait-il pas créer un nouveau sujet pour votre discussion? Ca sort un peu du sujet original :wink:

Voilà c’est fait :wink: