A la main
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 ![]()
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. ![]()
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 ![]()
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 ?