Home Assistant YAML Configuration


Configuration Files

Home Assistant uses YAML-based configuration with the following key files:

configuration.yaml

Core settings, integrations, and entity definitions.

homeassistant:
  name: Home
  latitude: !secret latitude
  longitude: !secret longitude
  unit_system: metric
  time_zone: Europe/Paris

mqtt:
  broker: mosquitto
  discovery: true
  
timer:
  deshumidificateur_1h:
    name: Déshumidificateur 1h
    duration: "01:00:00"

automations.yaml

Event-driven triggers and actions for device control.

- id: telecommande_styrbar_on
  trigger:
    - platform: mqtt
      topic: zigbee2mqtt/Commande lampes
      value_template: "{{ value_json.action }}"
      payload: 'on'
  action:
    - service: light.turn_on
      target: {entity_id: light.ampoule_tradfri_chambre}

scripts.yaml

Reusable automation sequences.

deshumidificateur_1h:
  alias: "💧 Déshumidificateur - 1h"
  sequence:
    - service: timer.start
      target: {entity_id: timer.deshumidificateur_1h}
      data: {duration: "01:00:00"}
    - service: switch.turn_on
      target: {entity_id: switch.prise_bureau_deshumidificateur}

MQTT Integration

Home Assistant discovers devices through MQTT discovery messages from Zigbee2MQTT. Configuration enables discovery: true for automatic entity creation.

Templates

Dynamic values using Jinja2 templates for conditions and state extraction.