Calcul des heures creuses/pleines via Utility_meter et script automation

A la main :wink: sinon ce n’est pas drôle.
En fait j’essaye d’apprendre et je n’aime pas trop les UI.

Tu peu faire en yaml mais par le UI.

Tout pareil :frowning:

Logger: homeassistant.components.automation
Source: components/automation/config.py:207
Integration: Automatisation (documentation, issues)
First occurred: 10:46:23 (1 occurrences)
Last logged: 10:46:23

Unnamed automation could not be validated and has been disabled: extra keys not allowed @ data['automation']. Got [{'id': 'tarifhphc', 'alias': 'tarifelec', 'trigger': [{'platform': 'time', 'at': '07:00:00', 'variables': {'tariff': 'peak'}}, {'platform': 'time', 'at': '23:00:00', 'variables': {'tariff': 'offpeak'}}], 'condition': [], 'action': [{'service': 'select.select_option', 'target': {'entity_id': 'select.energie_quotidienne'}, 'data': {'option': '{{ tariff }}'}}, {'service': 'select.select_option', 'target': {'entity_id': 'select.energie_hebdomadaire'}, 'data': {'option': '{{ tariff }}'}}, {'servi... required key not provided @ data['action']. Got None required key not provided @ data['trigger']. Got None

Je vais essayer avec l’UI

ta essayé de supprimer la condition sur les jours ???

exemple pour une automation ,
par automations.yaml:

- id: '1634540099944'
  alias: Quitter Zone Maison / Activation Alarme
  description: ''
  trigger:
  - platform: device
    device_id: 8f275328e566032a5eda5808b34ddc99
    domain: device_tracker
    entity_id: device_tracker.m2101k9g
    type: leaves
    zone: zone.home
  - platform: zone
    entity_id: person.warcozes
    zone: zone.home
    event: leave
  - platform: state
    entity_id:
    - device_tracker.pc_95
    from: home
    to: not_home
  - platform: geo_location
    source: device_tracker.warcozes_mi11lite5g
    zone: zone.home
    event: leave
  condition:
  - condition: device
    device_id: b9253bcaf37d89932619b9092f6a5f38
    domain: alarm_control_panel
    entity_id: alarm_control_panel.alarmo
    type: is_disarmed
  action:
  - device_id: b9253bcaf37d89932619b9092f6a5f38
    domain: alarm_control_panel
    entity_id: alarm_control_panel.alarmo
    type: arm_away

Par le UI:

alias: Quitter Zone Maison / Activation Alarme
description: ""
trigger:
  - platform: device
    device_id: 8f275328e566032a5eda5808b34ddc99
    domain: device_tracker
    entity_id: device_tracker.m2101k9g
    type: leaves
    zone: zone.home
  - platform: zone
    entity_id: person.warcozes
    zone: zone.home
    event: leave
  - platform: state
    entity_id:
      - device_tracker.pc_95
    from: home
    to: not_home
  - platform: geo_location
    source: device_tracker.warcozes_mi11lite5g
    zone: zone.home
    event: leave
condition:
  - condition: device
    device_id: b9253bcaf37d89932619b9092f6a5f38
    domain: alarm_control_panel
    entity_id: alarm_control_panel.alarmo
    type: is_disarmed
action:
  - device_id: b9253bcaf37d89932619b9092f6a5f38
    domain: alarm_control_panel
    entity_id: alarm_control_panel.alarmo
    type: arm_away
  - service: notify.mobile_app_m2101k9g
    data:
      message: TTS
      data:
        ttl: 0
        priority: high
        media_stream: alarm_stream_max
        tts_text: Alarme maison activée!
mode: single

L’indexion est différence, ta pas d’espace sous trigger, condition et action sous automations.yaml contrairement par le UI.

Dans ton automation.yaml faut enlever les espaces sous action.

Alors, je n’arrive pas à faire par l’UI!

J’ai une erreur : response error: 500 au moment d’enregistrer

Regarde dans les logs de HA, après l’erreur.

Logger: aiohttp.server
Source: components/config/automation.py:70
First occurred: 10:55:56 (6 occurrences)
Last logged: 10:58:46

Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 504, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 148, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/config/__init__.py", line 148, in post
    self._write_value(hass, current, config_key, data)
  File "/usr/src/homeassistant/homeassistant/components/config/automation.py", line 70, in _write_value
    cur_value[CONF_ID] = uuid.uuid4().hex
    ~~~~~~~~~^^^^^^^^^
TypeError: 'str' object does not support item assignment

Tu peu simplifier l’action, en mettant toute les entitées select dans une seul action.

  action:
    - service: select.select_option
      target:
        entity_id:
          - select.energie_quotidienne
          - select.energie_hebdomadaire
          - select.energie_mensuelle
          - select.energie_annuelle
      data:
        option: "{{ tariff }}"

Je viens de le modifier, mais j’avais déjà écrit comme ça. Comme ça ne marchait pas, j’avais essayé autrement. :wink:

Salut à tous,

J’ai trouvé la solution à mon problème.
Après des heures de recherche, je suis tombé sur ce post

J’ai remplacé dans configuration.yaml :

automation: !include automations.yaml
automation: !include_dir_merge_list automations

Et je n’ai plus d’erreur. Je n’ai plus qu’a savoir si cela va changer de paramètre ce soir :wink:

Merci pour votre aide qui m’a bien aidé à avancer dans mes recherches.

FaB

bonjour,

du coup, peux tu redonner l’ensemble de ton code stp ?