Skip to content

Common Configuration

Will be configure a Basement for different device Types. This will be allow the same Configuration like WIFI, and some Management settings, for all the Different devices. More information about Variable Usage take a look to ESPHome substitutions.

Usage

packages:
  ...
  base: !include
    file: ./common/base.yaml
    vars:
      project_name: "watercheck.check"
      project_version: "esp32"
  ...

Implementation

defaults:
  project_name: "NOUS.Smart-Wifi-Socket"
  project_version: "A1T"

esphome:
  name: ${name}
  comment: ${comment}
  name_add_mac_suffix: false
  project:
    name: ${project_name}
    version: ${project_version}

wifi:
  domain: !env_var WIFI_DOMAIN
  ssid: !env_var WIFI_SSID
  password: !env_var WIFI_PASSWORD
  # Optional manual IP
  use_address: ${name}.fritz.box
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Livingroom Fallback Hotspot"
    password: !env_var WIFI_FALLBACK_PASSWORD

# https://esphome.io/components/captive_portal/
captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
# https://esphome.io/components/api.html
api:

# https://esphome.io/components/mqtt.html
# mqtt:
#   broker: !env_var MQTT_ENDPOINT
#   port: !env_var MQTT_PORT
#   username: !env_var MQTT_USERNAME
#   password: !env_var MQTT_PASSWORD

# https://esphome.io/components/ota.html
ota:
  - platform: esphome

# https://esphome.io/components/web_server.html
web_server:

# Activates prometheus /metrics endpoint
prometheus:

binary_sensor:
  - <<: !include ./binary_sensor/status.config.yaml

sensor:
  - <<: !include ./sensor/uptime.config.yaml
  - <<: !include ./sensor/wifi_signal.config.yaml

text_sensor:
  - <<: !include ./text_sensor/wifi_info.config.yaml
  - <<: !include ./text_sensor/version.config.yaml