mirror of
https://github.com/randybb/esphome-configs.git
synced 2026-10-14 08:35:12 +02:00
Compare commits
13
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7374ddf4d6 | ||
|
|
a005b940b2 | ||
|
|
46cf3b1fe8 | ||
|
|
bb76912023 | ||
|
|
831d88689d | ||
|
|
170fd69274 | ||
|
|
89763817f6 | ||
|
|
03ca4e98b5 | ||
|
|
fb66547dd1 | ||
|
|
725c400de6 | ||
|
|
7517c301ac | ||
|
|
422b334582 | ||
|
|
2f5e438424 |
No files matched your search
@@ -10,11 +10,11 @@ jobs:
|
||||
name: YAML lint
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v7
|
||||
|
||||
- name: Get changed YAML files
|
||||
id: changed
|
||||
uses: tj-actions/changed-files@v46
|
||||
uses: tj-actions/changed-files@v47
|
||||
with:
|
||||
files: "**/*.yaml"
|
||||
|
||||
@@ -28,16 +28,19 @@ jobs:
|
||||
name: ESPHome config validation
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v7
|
||||
|
||||
- name: Get changed device configs
|
||||
id: changed
|
||||
uses: tj-actions/changed-files@v46
|
||||
uses: tj-actions/changed-files@v47
|
||||
with:
|
||||
files: "mcu-*.yaml"
|
||||
|
||||
- name: Install ESPHome (dev)
|
||||
if: steps.changed.outputs.any_changed == 'true'
|
||||
# Gitea's runner image marks the system Python as externally managed (PEP 668)
|
||||
env:
|
||||
PIP_BREAK_SYSTEM_PACKAGES: "1"
|
||||
run: pip install git+https://github.com/esphome/esphome.git@dev
|
||||
|
||||
- name: Prepare secrets
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
# This is an example and may include too much for your use-case.
|
||||
# You can modify this file to suit your needs.
|
||||
/.claude/
|
||||
/.esphome/
|
||||
.esphome/
|
||||
/secrets.yaml
|
||||
/archive/
|
||||
/trash/
|
||||
|
||||
@@ -25,3 +25,7 @@ rules:
|
||||
|
||||
comments:
|
||||
require-starting-space: false
|
||||
|
||||
# Aligned values (e.g. the bedroom lamp presets) are intentional
|
||||
colons:
|
||||
max-spaces-after: -1
|
||||
Submodule common/.esphome/external_components/b7dc7eea deleted from 16571e8a90.
@@ -28,4 +28,4 @@ time:
|
||||
- <<: !include time/homeassistant.yaml
|
||||
|
||||
network:
|
||||
enable_ipv6: true
|
||||
enable_ipv6: true
|
||||
@@ -27,4 +27,4 @@ time:
|
||||
- <<: !include time/homeassistant.yaml
|
||||
|
||||
network:
|
||||
enable_ipv6: true
|
||||
enable_ipv6: true
|
||||
@@ -28,6 +28,7 @@ esp32:
|
||||
framework:
|
||||
type: esp-idf
|
||||
advanced:
|
||||
flash_chip: generic
|
||||
minimum_chip_revision: 3.0
|
||||
sram1_as_iram: true
|
||||
|
||||
|
||||
@@ -2,3 +2,7 @@
|
||||
ota:
|
||||
- platform: esphome
|
||||
password: !secret ota_password
|
||||
# migration to encrypted OTA (api key): once every device encrypts,
|
||||
# remove allow_plaintext_upload together with the password
|
||||
encryption:
|
||||
allow_plaintext_upload: true
|
||||
@@ -3,4 +3,8 @@ ota:
|
||||
- platform: esphome
|
||||
id: ota_esphome
|
||||
password: !secret ota_password
|
||||
# migration to encrypted OTA (api key): once every device encrypts,
|
||||
# remove allow_plaintext_upload together with the password
|
||||
encryption:
|
||||
allow_plaintext_upload: true
|
||||
allow_partition_access: true
|
||||
@@ -7,4 +7,3 @@ accuracy_decimals: 2
|
||||
update_interval: 60s
|
||||
filters:
|
||||
- lambda: return x / 86400;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Status on a visible RGB light, which stays a normal light otherwise:
|
||||
# network down red, slow blink
|
||||
# no API client (HA) orange, slow blink
|
||||
# component error purple, steady
|
||||
# component error purple, steady (only with show_errors: "true", for a dedicated status LED)
|
||||
# OTA blue, fast blink; green when done, 3 red blinks on error
|
||||
# back to normal green for 1 s, then the light goes back to how it was
|
||||
# packages:
|
||||
@@ -13,6 +13,7 @@
|
||||
# Needs the ota id ota_esphome (common/ota_esp32.yaml).
|
||||
defaults:
|
||||
brightness: "0.3"
|
||||
show_errors: "false" # a failed component would take over a display or a shared light for good
|
||||
|
||||
globals:
|
||||
- id: status_led_active
|
||||
@@ -72,14 +73,14 @@ interval:
|
||||
static uint8_t tick = 0;
|
||||
tick++;
|
||||
bool slow = (tick / 2) % 2 == 0; // 1 s on, 1 s off
|
||||
bool problem = !network::is_connected() || !api::global_api_server->is_connected() ||
|
||||
(App.get_app_state() & STATUS_LED_ERROR);
|
||||
bool error = ${show_errors} && (App.get_app_state() & STATUS_LED_ERROR);
|
||||
bool problem = !network::is_connected() || !api::global_api_server->is_connected() || error;
|
||||
if (problem) id(status_led_restore)->stop();
|
||||
if (!network::is_connected()) {
|
||||
id(status_led_show)->execute(1.0f, 0.0f, 0.0f, slow);
|
||||
} else if (!api::global_api_server->is_connected()) {
|
||||
id(status_led_show)->execute(1.0f, 0.4f, 0.0f, slow);
|
||||
} else if (App.get_app_state() & STATUS_LED_ERROR) {
|
||||
} else if (error) {
|
||||
id(status_led_show)->execute(0.6f, 0.0f, 1.0f, true);
|
||||
} else if (id(status_led_active) && !id(status_led_restore)->is_running()) {
|
||||
id(status_led_restore)->execute(true);
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
# Status LED on the M5Stack ATOM Lite's own RGB LED (G27), see common/status_led.yaml
|
||||
packages:
|
||||
status_led: !include
|
||||
file: status_led.yaml
|
||||
vars:
|
||||
light_id: atom_led
|
||||
show_errors: "true" # dedicated status LED
|
||||
|
||||
light:
|
||||
- platform: esp32_rmt_led_strip
|
||||
id: atom_led
|
||||
internal: true
|
||||
pin: 27
|
||||
num_leds: 1
|
||||
rmt_symbols: 64 # 1 LED is 24 bits; leave RMT memory for remote_transmitter/receiver
|
||||
chipset: ws2812
|
||||
channel_colors: GRB
|
||||
restore_mode: ALWAYS_OFF
|
||||
@@ -5,4 +5,4 @@ id: git_ref_sensor
|
||||
long: true
|
||||
all: true
|
||||
abbrev: 16
|
||||
dirty: "-dirty"
|
||||
dirty: "-dirty"
|
||||
@@ -2,6 +2,8 @@ esp32:
|
||||
variant: esp32
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: gd # ESP32-PICO-D4, like every other ATOM Lite
|
||||
type: esp-idf
|
||||
|
||||
external_components:
|
||||
|
||||
@@ -7,4 +7,4 @@ wifi:
|
||||
# enable_rrm: true
|
||||
ap:
|
||||
ssid: TEST
|
||||
password: testtest
|
||||
password: testtest
|
||||
+59
-54
@@ -3,7 +3,7 @@
|
||||
# Pinout:
|
||||
# GPIO21 PM1006 UART -> particle_uart (uart tx_pin)
|
||||
# GPIO22 PM1006 UART -> particle_uart (uart rx_pin)
|
||||
# GPIO25 TZT 8-bit WS2812 5050 stick (8 LEDs, 7 visible outside; LEDs 1-7 broken), disabled
|
||||
# GPIO25 TZT 8-bit WS2812 5050 stick (8 LEDs, 7 visible outside) -> NEO [neo] (light esp32_rmt_led_strip), also status
|
||||
# GPIO27 Onboard RGB LED (1x WS2812, inside), unused
|
||||
# GPIO32 Grove SDA -> i2c (i2c sda)
|
||||
# GPIO33 Grove SCL -> i2c (i2c scl)
|
||||
@@ -24,10 +24,16 @@ esp32:
|
||||
variant: esp32
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: gd
|
||||
type: esp-idf
|
||||
|
||||
packages:
|
||||
common: !include common/common.yaml
|
||||
status_led: !include
|
||||
file: common/status_led.yaml
|
||||
vars:
|
||||
light_id: neo
|
||||
|
||||
i2c:
|
||||
# - id: i2c0
|
||||
@@ -53,59 +59,58 @@ uart:
|
||||
# number: 39
|
||||
# inverted: true
|
||||
|
||||
# LEDs disabled until the stick is fixed (LEDs after the first one light up randomly)
|
||||
# light:
|
||||
# # only the first LED of the stick: the rest get garbage (broken DOUT after LED 0)
|
||||
# - platform: esp32_rmt_led_strip
|
||||
# name: NEO
|
||||
# id: neo
|
||||
# channel_colors: GRB
|
||||
# pin: 25
|
||||
# num_leds: 1
|
||||
# chipset: ws2812
|
||||
# restore_mode: ALWAYS_OFF
|
||||
# effects:
|
||||
# - random:
|
||||
# - random:
|
||||
# name: "My Slow Random Effect"
|
||||
# transition_length: 30s
|
||||
# update_interval: 30s
|
||||
# - random:
|
||||
# name: "My Fast Random Effect"
|
||||
# transition_length: 4s
|
||||
# update_interval: 5s
|
||||
# - strobe:
|
||||
# - strobe:
|
||||
# name: Strobe Effect With Custom Values
|
||||
# colors:
|
||||
# - state: True
|
||||
# brightness: 100%
|
||||
# red: 100%
|
||||
# green: 90%
|
||||
# blue: 0%
|
||||
# duration: 500ms
|
||||
# - state: False
|
||||
# duration: 250ms
|
||||
# - state: True
|
||||
# brightness: 100%
|
||||
# red: 0%
|
||||
# green: 100%
|
||||
# blue: 0%
|
||||
# duration: 500ms
|
||||
# - flicker:
|
||||
# - flicker:
|
||||
# name: Flicker Effect With Custom Values
|
||||
# alpha: 95%
|
||||
# intensity: 1.5%
|
||||
# - addressable_rainbow:
|
||||
# - addressable_rainbow:
|
||||
# name: Rainbow Effect With Custom Values
|
||||
# speed: 10
|
||||
# width: 50
|
||||
# - addressable_scan:
|
||||
# - addressable_scan:
|
||||
# name: Scan Effect With Custom Values
|
||||
# move_interval: 100ms
|
||||
light:
|
||||
# also the status light (common/status_led.yaml): back to its previous state when all is fine
|
||||
- platform: esp32_rmt_led_strip
|
||||
name: NEO
|
||||
id: neo
|
||||
channel_colors: GRB
|
||||
pin: 25
|
||||
num_leds: 7 # 8 on the stick, the 8th one is hidden
|
||||
chipset: ws2812
|
||||
restore_mode: ALWAYS_OFF
|
||||
effects:
|
||||
- random:
|
||||
- random:
|
||||
name: "My Slow Random Effect"
|
||||
transition_length: 30s
|
||||
update_interval: 30s
|
||||
- random:
|
||||
name: "My Fast Random Effect"
|
||||
transition_length: 4s
|
||||
update_interval: 5s
|
||||
- strobe:
|
||||
- strobe:
|
||||
name: Strobe Effect With Custom Values
|
||||
colors:
|
||||
- state: True
|
||||
brightness: 100%
|
||||
red: 100%
|
||||
green: 90%
|
||||
blue: 0%
|
||||
duration: 500ms
|
||||
- state: False
|
||||
duration: 250ms
|
||||
- state: True
|
||||
brightness: 100%
|
||||
red: 0%
|
||||
green: 100%
|
||||
blue: 0%
|
||||
duration: 500ms
|
||||
- flicker:
|
||||
- flicker:
|
||||
name: Flicker Effect With Custom Values
|
||||
alpha: 95%
|
||||
intensity: 1.5%
|
||||
- addressable_rainbow:
|
||||
- addressable_rainbow:
|
||||
name: Rainbow Effect With Custom Values
|
||||
speed: 10
|
||||
width: 50
|
||||
- addressable_scan:
|
||||
- addressable_scan:
|
||||
name: Scan Effect With Custom Values
|
||||
move_interval: 100ms
|
||||
|
||||
sensor:
|
||||
# https://blissair.com/what-is-pm-2-5.htm
|
||||
|
||||
+3
-1
@@ -26,6 +26,8 @@ esp32:
|
||||
flash_size: 8MB
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: generic
|
||||
type: esp-idf
|
||||
|
||||
packages:
|
||||
@@ -40,7 +42,7 @@ api:
|
||||
then:
|
||||
- rtttl.play:
|
||||
rtttl: !lambda 'return song;'
|
||||
|
||||
|
||||
switch:
|
||||
- platform: gpio
|
||||
id: accessory_power
|
||||
|
||||
+40
-3
@@ -42,6 +42,8 @@ esp32:
|
||||
flash_size: 8MB
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: gd
|
||||
type: esp-idf
|
||||
|
||||
ota:
|
||||
@@ -52,12 +54,14 @@ pcf8574:
|
||||
address: 0x21
|
||||
pcf8575: true
|
||||
|
||||
animation:
|
||||
- file: "assets/images/blinky.gif"
|
||||
image:
|
||||
- platform: animation
|
||||
file: "assets/images/blinky.gif"
|
||||
id: blinky
|
||||
resize: 128x128
|
||||
type: RGB565
|
||||
- file: "assets/images/vault_boy_walking.gif"
|
||||
- platform: animation
|
||||
file: "assets/images/vault_boy_walking.gif"
|
||||
id: vaultboy
|
||||
resize: 168x121
|
||||
type: RGB565
|
||||
@@ -127,6 +131,11 @@ external_components:
|
||||
|
||||
packages:
|
||||
common: !include common/common.yaml
|
||||
ipv6_only: !include common/ipv6_only.yaml
|
||||
status_led: !include
|
||||
file: common/status_led.yaml
|
||||
vars:
|
||||
light_id: status_frame
|
||||
# common: !include common/common_wo_debug.yaml
|
||||
# common: !include common/common_dev.yaml
|
||||
|
||||
@@ -230,12 +239,32 @@ output:
|
||||
- platform: ledc
|
||||
pin: 16
|
||||
id: gpio_tft_backlight
|
||||
# virtual RGB light for common/status_led.yaml, shown full screen on the display
|
||||
- platform: template
|
||||
id: status_frame_r
|
||||
type: float
|
||||
write_action: []
|
||||
- platform: template
|
||||
id: status_frame_g
|
||||
type: float
|
||||
write_action: []
|
||||
- platform: template
|
||||
id: status_frame_b
|
||||
type: float
|
||||
write_action: []
|
||||
|
||||
light:
|
||||
- platform: monochromatic
|
||||
id: display_tft_backlight
|
||||
output: gpio_tft_backlight
|
||||
restore_mode: ALWAYS_ON
|
||||
- platform: rgb
|
||||
id: status_frame
|
||||
internal: true
|
||||
red: status_frame_r
|
||||
green: status_frame_g
|
||||
blue: status_frame_b
|
||||
restore_mode: ALWAYS_OFF
|
||||
|
||||
switch:
|
||||
- platform: template
|
||||
@@ -391,6 +420,7 @@ display:
|
||||
- platform: mipi_spi
|
||||
model: ST7789V
|
||||
id: display_tft
|
||||
byte_order: little_endian # colours were byte-swapped (purple showed as green)
|
||||
dimensions:
|
||||
height: 128
|
||||
width: 128
|
||||
@@ -403,11 +433,18 @@ display:
|
||||
# eightbitcolor: true
|
||||
update_interval: 1s
|
||||
lambda: |-
|
||||
// status screen (common/status_led.yaml): the whole display in the status colour
|
||||
auto &sv = id(status_frame)->current_values;
|
||||
if (sv.is_on()) {
|
||||
it.fill(Color(sv.get_red() * 255, sv.get_green() * 255, sv.get_blue() * 255));
|
||||
return;
|
||||
}
|
||||
//Ingress shown animation Frame.
|
||||
id(blinky).next_frame();
|
||||
// Draw the animation my_animation at position [x=0,y=0]
|
||||
it.image(0, 0, id(blinky), COLOR_ON, COLOR_OFF);
|
||||
|
||||
|
||||
// // it.print(0, 0, id(font_default), "Hello World!");
|
||||
// // it.strftime(0, 0, id(font_default), TextAlign::TOP_LEFT, "%H:%M", id(ha_time).now());
|
||||
// it.rectangle(0, 0, it.get_width(), it.get_height(), id(my_blue));
|
||||
|
||||
@@ -39,18 +39,21 @@ esp32:
|
||||
sdkconfig_options:
|
||||
CONFIG_FREERTOS_UNICORE: y
|
||||
advanced:
|
||||
flash_chip: generic
|
||||
ignore_efuse_custom_mac: true
|
||||
ignore_efuse_mac_crc: true
|
||||
|
||||
external_components:
|
||||
- source:
|
||||
type: git
|
||||
url: https://github.com/mmakaay/esphome-xiaomi_bslamp2
|
||||
ref: dev
|
||||
# fork: fix for ESPHome 2026.10 (restore_mode -> restore_state), back to mmakaay once merged
|
||||
url: https://github.com/randybb/esphome-xiaomi_bslamp2
|
||||
ref: fix-light-restore-state
|
||||
refresh: 1h
|
||||
|
||||
packages:
|
||||
common: !include common/common.yaml
|
||||
ipv6_only: !include common/ipv6_only.yaml
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
# Behavior: default
|
||||
|
||||
@@ -39,18 +39,21 @@ esp32:
|
||||
sdkconfig_options:
|
||||
CONFIG_FREERTOS_UNICORE: y
|
||||
advanced:
|
||||
flash_chip: generic
|
||||
ignore_efuse_custom_mac: true
|
||||
ignore_efuse_mac_crc: true
|
||||
|
||||
external_components:
|
||||
- source:
|
||||
type: git
|
||||
url: https://github.com/mmakaay/esphome-xiaomi_bslamp2
|
||||
ref: dev
|
||||
# fork: fix for ESPHome 2026.10 (restore_mode -> restore_state), back to mmakaay once merged
|
||||
url: https://github.com/randybb/esphome-xiaomi_bslamp2
|
||||
ref: fix-light-restore-state
|
||||
refresh: 60s
|
||||
|
||||
packages:
|
||||
common: !include common/common.yaml
|
||||
ipv6_only: !include common/ipv6_only.yaml
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
# Behavior: default
|
||||
|
||||
@@ -24,6 +24,8 @@ esp32:
|
||||
variant: esp32
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: gd # ESP32-PICO-D4, like the other M5Stamp Pico (not read from the device)
|
||||
type: esp-idf
|
||||
|
||||
external_components:
|
||||
|
||||
@@ -31,6 +31,8 @@ esp32:
|
||||
variant: esp32c3
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: generic
|
||||
type: esp-idf
|
||||
# version: 5.4.2
|
||||
# platform_version: 54.03.21
|
||||
|
||||
@@ -24,6 +24,8 @@ esp32:
|
||||
variant: esp32
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: gd # ESP32-PICO-D4, like the other M5Stamp Pico (not read from the device)
|
||||
type: esp-idf
|
||||
|
||||
external_components:
|
||||
|
||||
@@ -22,6 +22,8 @@ esp32:
|
||||
variant: esp32
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: gd
|
||||
type: esp-idf
|
||||
|
||||
packages:
|
||||
|
||||
@@ -37,6 +37,8 @@ esp32:
|
||||
variant: esp32
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: gd
|
||||
type: esp-idf
|
||||
|
||||
packages:
|
||||
|
||||
+7
-7
@@ -5,7 +5,7 @@
|
||||
# GPIO22 -> speaker_id (speaker i2s_audio i2s_dout_pin)
|
||||
# GPIO23 -> echo_microphone (microphone i2s_audio i2s_din_pin)
|
||||
# GPIO26 Grove SDA
|
||||
# GPIO27 -> LED (light esp32_rmt_led_strip)
|
||||
# GPIO27 ATOM RGB LED -> LED [neo_buildin] (light esp32_rmt_led_strip), also status
|
||||
# GPIO32 Grove SCL
|
||||
# GPIO33 -> speaker_bus (i2s_audio i2s_lrclk_pin)
|
||||
# GPIO39 -> Button (binary_sensor gpio) (inverted)
|
||||
@@ -25,17 +25,17 @@ esphome:
|
||||
esp32:
|
||||
variant: esp32
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: gd
|
||||
type: esp-idf
|
||||
|
||||
packages:
|
||||
common: !include common/common.yaml
|
||||
ipv6_only: !include common/ipv6_only.yaml
|
||||
|
||||
external_components:
|
||||
# speaker media player: skip a failed playlist item (esphome#19862), drop once merged
|
||||
- source: github://randybb/esphome-components
|
||||
components: [speaker]
|
||||
refresh: 1h
|
||||
status_led: !include
|
||||
file: common/status_led.yaml
|
||||
vars:
|
||||
light_id: neo_buildin
|
||||
|
||||
api:
|
||||
actions:
|
||||
|
||||
+2
-6
@@ -28,6 +28,8 @@ esp32:
|
||||
variant: esp32
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: gd
|
||||
type: esp-idf
|
||||
|
||||
packages:
|
||||
@@ -38,12 +40,6 @@ packages:
|
||||
vars:
|
||||
light_id: led_light
|
||||
|
||||
external_components:
|
||||
# speaker media player: skip a failed playlist item (esphome#19862), drop once merged
|
||||
- source: github://randybb/esphome-components
|
||||
components: [speaker]
|
||||
refresh: 1h
|
||||
|
||||
api:
|
||||
actions:
|
||||
# https://github.com/granadaxronos/120-SONG_NOKIA_RTTTL_RINGTONE_PLAYER_FOR_ARDUINO_UNO/blob/master/RTTTL_PLAYER/songs.h
|
||||
|
||||
+4
-1
@@ -10,7 +10,7 @@
|
||||
# GPIO23 RS485 Tx
|
||||
# GPIO25 I2C1 SDA - red -> i2c (i2c sda)
|
||||
# GPIO26 I2C0 SDA - white
|
||||
# GPIO27 NEO 1x
|
||||
# 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)
|
||||
@@ -33,6 +33,8 @@ esp32:
|
||||
variant: esp32
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: gd
|
||||
type: esp-idf
|
||||
|
||||
external_components:
|
||||
@@ -46,6 +48,7 @@ external_components:
|
||||
packages:
|
||||
common: !include common/common.yaml
|
||||
ipv6_only: !include common/ipv6_only.yaml
|
||||
status_led: !include common/status_led_atom.yaml
|
||||
|
||||
|
||||
i2c:
|
||||
|
||||
+4
-1
@@ -10,7 +10,7 @@
|
||||
# GPIO23 RS485 TX
|
||||
# GPIO25 I2C1 SDA red
|
||||
# GPIO26 I2C0 SDA white
|
||||
# GPIO27 NEO
|
||||
# GPIO27 NEO -> atom_led (status LED, common/status_led_atom.yaml)
|
||||
# GPIO32 I2C0 SCL -> gate_ogi_state (binary_sensor gpio) (inverted); gate_ogi_blink (binary_sensor gpio) (inverted)
|
||||
# GPIO33 RS485 RX
|
||||
# GPIO39 BUTTON
|
||||
@@ -30,11 +30,14 @@ esp32:
|
||||
variant: esp32
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: gd
|
||||
type: esp-idf
|
||||
|
||||
packages:
|
||||
common: !include common/common.yaml
|
||||
ipv6_only: !include common/ipv6_only.yaml
|
||||
status_led: !include common/status_led_atom.yaml
|
||||
|
||||
button:
|
||||
- platform: output
|
||||
|
||||
@@ -44,6 +44,7 @@ esp32:
|
||||
framework:
|
||||
type: esp-idf
|
||||
advanced:
|
||||
flash_chip: generic
|
||||
minimum_chip_revision: 3.0
|
||||
sram1_as_iram: true
|
||||
|
||||
|
||||
+4
-1
@@ -10,7 +10,7 @@
|
||||
# GPIO23 UART1 RX -> uart_modbus (uart rx_pin)
|
||||
# GPIO25 I2C1 SDA -> i2c (i2c sda)
|
||||
# GPIO26 I2C0 SDA
|
||||
# GPIO27 NEO
|
||||
# GPIO27 NEO -> atom_led (status LED, common/status_led_atom.yaml)
|
||||
# GPIO32 I2C0 SCL
|
||||
# GPIO33 UART1 TX -> uart_modbus (uart tx_pin)
|
||||
# GPIO39 BUTTON
|
||||
@@ -43,6 +43,8 @@ esp32:
|
||||
variant: esp32
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: gd
|
||||
type: esp-idf
|
||||
|
||||
external_components:
|
||||
@@ -56,6 +58,7 @@ external_components:
|
||||
packages:
|
||||
common: !include common/common.yaml
|
||||
ipv6_only: !include common/ipv6_only.yaml
|
||||
status_led: !include common/status_led_atom.yaml
|
||||
|
||||
#logger:
|
||||
# level: VERBOSE
|
||||
|
||||
+4
-1
@@ -10,7 +10,7 @@
|
||||
# GPIO23 RS485 Tx
|
||||
# GPIO25 I2C1 SDA - red -> i2c (i2c sda)
|
||||
# GPIO26 I2C0 SDA - white
|
||||
# GPIO27 NEO 1x
|
||||
# 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)
|
||||
@@ -49,11 +49,14 @@ esp32:
|
||||
variant: esp32
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: gd
|
||||
type: esp-idf
|
||||
|
||||
packages:
|
||||
common: !include common/common.yaml
|
||||
ipv6_only: !include common/ipv6_only.yaml
|
||||
status_led: !include common/status_led_atom.yaml
|
||||
|
||||
api:
|
||||
reboot_timeout: 300s
|
||||
|
||||
@@ -26,6 +26,8 @@ esp32:
|
||||
variant: esp32
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: gd # ESP32-PICO-D4, like the other M5Stamp Pico (not read from the device)
|
||||
type: esp-idf
|
||||
|
||||
packages:
|
||||
|
||||
@@ -66,6 +66,8 @@ esp32:
|
||||
variant: esp32s3
|
||||
flash_size: 16MB
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: boya
|
||||
type: esp-idf
|
||||
# PSRAM bandwidth for the RGB panel (not set by ESPHome); without it the
|
||||
# image shifts during flash/WiFi activity
|
||||
|
||||
@@ -29,6 +29,8 @@ esp32:
|
||||
flash_size: 16MB
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: generic # same board as lvgl-trainer (not read from the device)
|
||||
type: esp-idf
|
||||
|
||||
packages:
|
||||
|
||||
@@ -37,6 +37,8 @@ esp32:
|
||||
variant: esp32s3
|
||||
flash_size: 16MB
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: generic
|
||||
type: esp-idf
|
||||
|
||||
packages:
|
||||
|
||||
@@ -104,6 +104,8 @@ esp32:
|
||||
flash_size: 16MB
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: gd
|
||||
type: esp-idf
|
||||
# PSRAM bandwidth for the RGB panel (not set by ESPHome); without it the
|
||||
# image shifts during flash/WiFi activity
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
# GPIO23 UART1 RX
|
||||
# GPIO25 I2C1 SDA
|
||||
# GPIO26 I2C0 SDA -> uart_modbus (uart rx_pin)
|
||||
# GPIO27 NEO
|
||||
# GPIO27 NEO -> atom_led (status LED, common/status_led_atom.yaml)
|
||||
# GPIO32 I2C0 SCL -> uart_modbus (uart tx_pin)
|
||||
# GPIO33 UART1 TX
|
||||
# GPIO39 BUTTON
|
||||
@@ -37,11 +37,14 @@ esp32:
|
||||
variant: esp32
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: gd
|
||||
type: esp-idf
|
||||
|
||||
packages:
|
||||
common: !include common/common.yaml
|
||||
ipv6_only: !include common/ipv6_only.yaml
|
||||
status_led: !include common/status_led_atom.yaml
|
||||
|
||||
modbus:
|
||||
uart_id: uart_modbus
|
||||
|
||||
@@ -28,6 +28,7 @@ esphome:
|
||||
|
||||
packages:
|
||||
common: !include common/common.yaml
|
||||
ipv6_only: !include common/ipv6_only.yaml
|
||||
nspanel: !include
|
||||
file: common/nspanel.yaml
|
||||
vars:
|
||||
|
||||
@@ -51,6 +51,7 @@ esp32:
|
||||
framework:
|
||||
type: esp-idf
|
||||
advanced:
|
||||
flash_chip: generic
|
||||
minimum_chip_revision: 3.0
|
||||
sram1_as_iram: true
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ esphome:
|
||||
|
||||
packages:
|
||||
common: !include common/common.yaml
|
||||
ipv6_only: !include common/ipv6_only.yaml
|
||||
nspanel: !include
|
||||
file: common/nspanel.yaml
|
||||
vars:
|
||||
|
||||
@@ -27,6 +27,7 @@ esphome:
|
||||
|
||||
packages:
|
||||
common: !include common/common.yaml
|
||||
ipv6_only: !include common/ipv6_only.yaml
|
||||
nspanel: !include
|
||||
file: common/nspanel.yaml
|
||||
vars:
|
||||
|
||||
@@ -27,6 +27,7 @@ esphome:
|
||||
|
||||
packages:
|
||||
common: !include common/common.yaml
|
||||
ipv6_only: !include common/ipv6_only.yaml
|
||||
nspanel: !include
|
||||
file: common/nspanel.yaml
|
||||
vars:
|
||||
|
||||
@@ -29,6 +29,8 @@ esp32:
|
||||
variant: esp32c3
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: generic
|
||||
type: esp-idf
|
||||
|
||||
packages:
|
||||
|
||||
+4
-1
@@ -10,7 +10,7 @@
|
||||
# GPIO23 RS485 Tx
|
||||
# GPIO25 I2C1 SDA - red -> i2c (i2c sda)
|
||||
# GPIO26 I2C0 SDA - white
|
||||
# GPIO27 NEO 1x
|
||||
# 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)
|
||||
@@ -50,11 +50,14 @@ esp32:
|
||||
variant: esp32
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: gd
|
||||
type: esp-idf
|
||||
|
||||
packages:
|
||||
common: !include common/common.yaml
|
||||
ipv6_only: !include common/ipv6_only.yaml
|
||||
status_led: !include common/status_led_atom.yaml
|
||||
|
||||
|
||||
i2c:
|
||||
|
||||
@@ -30,6 +30,7 @@ esp32:
|
||||
framework:
|
||||
type: esp-idf
|
||||
advanced:
|
||||
flash_chip: gd
|
||||
minimum_chip_revision: 3.1
|
||||
sram1_as_iram: true
|
||||
|
||||
@@ -199,4 +200,3 @@ switch:
|
||||
- delay: 500ms
|
||||
- switch.turn_off: relay_off # bi-stable relay so no need to keep on
|
||||
interlock: [relay_on]
|
||||
|
||||
@@ -30,6 +30,7 @@ esp32:
|
||||
framework:
|
||||
type: esp-idf
|
||||
advanced:
|
||||
flash_chip: gd # same device as pow-dishwasher (not read from the device)
|
||||
minimum_chip_revision: 3.1
|
||||
sram1_as_iram: true
|
||||
|
||||
|
||||
+7
-3
@@ -7,6 +7,7 @@
|
||||
# GPIO23 -> spi (spi clk_pin)
|
||||
# GPIO25 -> rf_rx (remote_receiver)
|
||||
# GPIO26 Grove SDA
|
||||
# GPIO27 NEO (ATOM RGB LED) -> atom_led (status LED, common/status_led_atom.yaml)
|
||||
# GPIO32 Grove SCL
|
||||
# GPIO33 -> cc1101 (cc1101 cs_pin)
|
||||
substitutions:
|
||||
@@ -25,17 +26,20 @@ esp32:
|
||||
variant: esp32
|
||||
flash_size: 4MB
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: gd
|
||||
type: esp-idf
|
||||
|
||||
packages:
|
||||
common: !include common/common.yaml
|
||||
ipv6_only: !include common/ipv6_only.yaml
|
||||
status_led: !include common/status_led_atom.yaml
|
||||
|
||||
spi:
|
||||
clk_pin: 23
|
||||
mosi_pin: 19
|
||||
miso_pin: 22
|
||||
|
||||
|
||||
cc1101:
|
||||
cs_pin: 33
|
||||
frequency: 433.92MHz
|
||||
@@ -51,7 +55,7 @@ radio_frequency:
|
||||
id: rf_proxy_rx
|
||||
remote_receiver_id: rf_rx
|
||||
frequency: 433.92MHz
|
||||
|
||||
|
||||
remote_receiver:
|
||||
- id: rf_rx
|
||||
pin: 25
|
||||
@@ -66,4 +70,4 @@ remote_transmitter:
|
||||
- cc1101.begin_tx
|
||||
on_complete:
|
||||
then:
|
||||
- cc1101.begin_rx
|
||||
- cc1101.begin_rx
|
||||
@@ -43,6 +43,8 @@ esp32:
|
||||
variant: esp32s3
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: gd
|
||||
type: esp-idf
|
||||
|
||||
# external_components:
|
||||
@@ -169,7 +171,7 @@ pn532_i2c:
|
||||
id(info)="";
|
||||
if (tag.has_ndef_message()) {
|
||||
auto message = tag.get_ndef_message();
|
||||
auto records = message->get_records();
|
||||
const auto &records = message->get_records();
|
||||
for (auto &record : records) {
|
||||
std::string payload = record->get_payload();
|
||||
std::string type = record->get_type();
|
||||
|
||||
+4
-1
@@ -6,6 +6,7 @@
|
||||
# GPIO22 -> Garden Light (switch gpio)
|
||||
# GPIO25 -> i2c (i2c sda)
|
||||
# GPIO26 Grove SDA
|
||||
# GPIO27 NEO (ATOM RGB LED) -> atom_led (status LED, common/status_led_atom.yaml)
|
||||
# GPIO32 Grove SCL
|
||||
# I2C:
|
||||
# 0x27 pca9554_module (pca9554)
|
||||
@@ -25,6 +26,8 @@ esp32:
|
||||
variant: esp32
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: gd
|
||||
type: esp-idf
|
||||
# version: 5.4.2
|
||||
# platform_version: 54.03.21
|
||||
@@ -32,6 +35,7 @@ esp32:
|
||||
packages:
|
||||
common: !include common/common.yaml
|
||||
ipv6_only: !include common/ipv6_only.yaml
|
||||
status_led: !include common/status_led_atom.yaml
|
||||
|
||||
i2c:
|
||||
sda: 25
|
||||
@@ -119,4 +123,3 @@ switch:
|
||||
pin:
|
||||
number: 19
|
||||
mode: OUTPUT
|
||||
|
||||
+4
-2
@@ -65,6 +65,8 @@ esp32:
|
||||
flash_size: 16MB
|
||||
toolchain: esp-idf
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: generic
|
||||
type: esp-idf
|
||||
|
||||
psram:
|
||||
@@ -80,7 +82,7 @@ external_components:
|
||||
components: [axp2101, aw88298, aw9523b, si12t, m5ioe1, ftservo, scs9009]
|
||||
refresh: 0s
|
||||
- source: github://randybb/esphome-components
|
||||
components: [audio_spectrum, speaker] # speaker: esphome#19862, drop once merged
|
||||
components: [audio_spectrum]
|
||||
refresh: 1h
|
||||
|
||||
globals:
|
||||
@@ -922,7 +924,7 @@ light:
|
||||
name: LCD Backlight
|
||||
output: lcd_backlight_output
|
||||
restore_mode: ALWAYS_ON
|
||||
|
||||
|
||||
remote_transmitter:
|
||||
id: ir_tx
|
||||
pin: 5
|
||||
|
||||
@@ -28,6 +28,8 @@ esphome:
|
||||
esp32:
|
||||
variant: esp32c3
|
||||
framework:
|
||||
advanced:
|
||||
flash_chip: generic
|
||||
type: esp-idf
|
||||
|
||||
packages:
|
||||
|
||||
+3
-1
@@ -5,6 +5,7 @@
|
||||
# GPIO23 -> modbus_uart (uart tx_pin)
|
||||
# GPIO25 -> i2c (i2c sda)
|
||||
# GPIO26 Grove SDA
|
||||
# GPIO27 NEO (ATOM RGB LED) -> atom_led (status LED, common/status_led_atom.yaml)
|
||||
# GPIO32 Grove SCL
|
||||
# GPIO33 -> modbus_uart (uart rx_pin)
|
||||
# I2C:
|
||||
@@ -40,11 +41,13 @@ esp32:
|
||||
framework:
|
||||
type: esp-idf
|
||||
advanced:
|
||||
flash_chip: gd
|
||||
sram1_as_iram: true
|
||||
|
||||
packages:
|
||||
common: !include common/common.yaml
|
||||
ipv6_only: !include common/ipv6_only.yaml
|
||||
status_led: !include common/status_led_atom.yaml
|
||||
|
||||
api:
|
||||
actions:
|
||||
@@ -368,4 +371,3 @@ valve:
|
||||
- switch.turn_on: irrigation_relay_8
|
||||
close_action:
|
||||
- switch.turn_off: irrigation_relay_8
|
||||
|
||||
Reference in new issue
Block a user