Device configurations and reusable YAML fragments. Choose a device below, then follow its README for wiring and required substitutions.
| Category | Documentation / configuration |
|---|---|
| Wallpads / 월패드 | Vendor selection and RS-485 pin maps |
| Air conditioning / 에어컨 | Samsung NASA |
| Vehicle dashboard | Colorado / Tab5 |
| SIP intercoms | Voice PE · Atom Echo |
| Bluetooth proxies | Wi-Fi and Ethernet variants |
| Presence sensors | Iotorero |
| Buttons | Neimz |
| Scales | Pet food bowl scale |
| Lighting | Puppy LED lamp |
| Radiation | BR6 Geiger counter |
| People counting | Botem CSM505 — unverified |
| Air quality | IKEA VINDRIKTNING |
| Clock | TM1637 display |
| Louvers | Verta variants |
| Smart plug | Lingan SWA1 |
| Wand | Magic Caster Wand |
For a Wi-Fi device, combine the shared base with one device package:
substitutions:
name: puppy-led
friendly_name: "Puppy LED"
packages:
remote:
url: https://github.com/eigger/espcomponents
ref: master
files:
- packages/device_base.yaml
- packages/led/puppy_d1_mini.yamlCreate secrets.yaml beside your device YAML:
wifi_ssid: "YOUR_WIFI_SSID"
wifi_password: "YOUR_WIFI_PASSWORD"
ota_password: "YOUR_OTA_PASSWORD"| Shared file | Provides |
|---|---|
device_base.yaml |
Device name, Wi-Fi, API, OTA, time, and diagnostics |
device_base_wired.yaml |
API, OTA, time, and diagnostics without Wi-Fi; add an Ethernet device package |
esp32.yaml |
Internal temperature sensor only; does not select a board |
Both bases require name and friendly_name substitutions. The wired base only
requires ota_password in secrets. Configure the board separately if the selected
device package does not include esp32: or esp8266:.
Examples use ref: master for the files in this tree. Use a release tag instead
when you need a fixed package version; verify that the tag contains the selected
files. Individual packages may load external components from their own release refs.
Do not include both network bases or unrelated device presets in the same device YAML.
esphome config my-device.yaml
esphome compile my-device.yamlStart with configuration validation after changing pins, room addresses, secrets,
or substitutions. The shared bases use logger.level: ERROR; temporarily override
it to DEBUG in the device YAML when troubleshooting.