Files
esphome-configs/mcu-fireplace.yaml
T
randy 7517c301ac Status LED on every ATOM device (except the vehicle beacons)
common/status_led_atom.yaml puts common/status_led.yaml on the ATOM Lite's
own RGB LED (G27, 64 RMT symbols to leave room for IR/RF). echo-1 uses its
existing LED light.
2026-09-30 08:58:16 +02:00

147 lines
3.2 KiB
YAML

---
# Hardware: M5Stack ATOM Lite + ATOM Hub Switch
# Pinout:
# GPIO1 UART0 TX
# GPIO3 UART0 RX
# GPIO12 IR
# GPIO19 Relay2
# GPIO21 I2C1 SCL -> i2c (i2c scl)
# GPIO22 Relay1
# GPIO23 RS485 Tx
# GPIO25 I2C1 SDA - red -> i2c (i2c sda)
# GPIO26 I2C0 SDA - white
# GPIO27 NEO 1x -> atom_led (status LED, common/status_led_atom.yaml)
# GPIO32 I2C0 SCL
# GPIO33 RS485 Rx
# GPIO39 BUTTON -> Status Button (binary_sensor gpio)
# I2C:
# 0x18 one_wire_bus (one_wire ds2482)
# 0x27 pca9554_module (pca9554)
substitutions:
device: fireplace
name: Heating Fireplace
area: Living Room & Kitchen
comment: Fireplace monitoring for heating
esphome:
name: mcu-${device}
friendly_name: ${name}
area: ${area}
comment: ${comment}
esp32:
variant: esp32
toolchain: esp-idf
framework:
type: esp-idf
external_components:
# - source: github://pr#12717
# components: [ds248x]
# refresh: 1h
- source: github://pr#13534
components: [ds2482, ds2484, ds248x_base]
refresh: 1h
packages:
common: !include common/common.yaml
ipv6_only: !include common/ipv6_only.yaml
status_led: !include common/status_led_atom.yaml
i2c:
# - id: i2c0
# sda: 26
# scl: 32
# scan: true #false
# - id: i2c1
sda: 25
scl: 21
scan: true #false
# ds248x:
# # i2c_id: i2c_main
# address: 0x18 # should be the default
# # sleep_pin: 32 # remove if not needed, if set the ds248x sleeps when no transaction is in progress
# active_pullup: true # adds a active pullup which should improve signal integrity
# strong_pullup: false # enables a strong pullup used to provide the needed current for temperature reading without vcc connected
# bus_sleep: true # power down the bus when no transaction is in progres
# one_wire:
# id: one_wire_bus
# platform: ds2484
# active_pullup: true
# ds248x:
# id: ds2484_module
# address: 0x18
# one_wire:
# - platform: ds248x
# ds248x_id: ds2484_module
# id: one_wire_bus
one_wire:
id: one_wire_bus
platform: ds2482
active_pullup: true
pca9554:
- id: pca9554_module
address: 0x27
# modbus:
# uart_id: uart1
# uart:
# - id: uart1
# rx_pin: 33
# tx_pin: 32
# baud_rate: 9600
# stop_bits: 2
binary_sensor:
- platform: gpio
name: Status Button
filters:
- invert:
pin: 39
- platform: template
name: Fire
lambda: |-
if (id(heating_fireplace_temperature).state > 37.5) {
return true;
} else {
return false;
}
- platform: gpio
name: Pump
id: off_peak_status
pin:
pca9554: pca9554_module
number: 0
filters:
- delayed_on: 300ms
- delayed_off: 300ms
sensor:
# - platform: ds248x
- platform: dallas_temp
address: 0x6203168B32A7FF28
# index: 0
name: Temperature
id: 'heating_fireplace_temperature'
# - platform: dht
# pin: 14
# temperature:
# name: "Kitchen Temperature"
# id: 'kitchen_temperature'
# humidity:
# name: "Kitchen Humidity"
# id: 'kitchen_humidity'
# update_interval: 60s
# model: si7021
bluetooth_proxy:
active: true