Merge branch 'dev' into store-yaml-firmware

This commit is contained in:
J. Nick Koston
2026-06-09 20:51:44 -05:00
committed by GitHub
485 changed files with 15905 additions and 3945 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
sensor:
- id: my_sensor
- id: adc_my_sensor
platform: adc
pin: P23
name: ADC Test sensor
+1 -1
View File
@@ -1,5 +1,5 @@
sensor:
- id: my_sensor
- id: adc_my_sensor
platform: adc
pin: GPIO1
name: ADC Test sensor
+1 -1
View File
@@ -1,5 +1,5 @@
sensor:
- id: my_sensor
- id: adc_my_sensor
platform: adc
pin: GPIO1
name: ADC Test sensor
+1 -1
View File
@@ -1,5 +1,5 @@
sensor:
- id: my_sensor
- id: adc_my_sensor
platform: adc
pin: A0
name: ADC Test sensor
+1 -1
View File
@@ -1,5 +1,5 @@
sensor:
- id: my_sensor
- id: adc_my_sensor
platform: adc
pin: GPIO16
name: ADC Test sensor
+1 -1
View File
@@ -1,5 +1,5 @@
sensor:
- id: my_sensor
- id: adc_my_sensor
platform: adc
pin: GPIO1
name: ADC Test sensor
+1 -1
View File
@@ -1,5 +1,5 @@
sensor:
- id: my_sensor
- id: adc_my_sensor
platform: adc
pin: GPIO1
name: ADC Test sensor
+1 -1
View File
@@ -1,5 +1,5 @@
sensor:
- id: my_sensor
- id: adc_my_sensor
platform: adc
pin: VCC
name: ADC Test sensor
+1 -1
View File
@@ -1,5 +1,5 @@
sensor:
- id: my_sensor
- id: adc_my_sensor
platform: adc
pin: A5
name: ADC Test sensor
+1 -1
View File
@@ -1,5 +1,5 @@
sensor:
- id: my_sensor
- id: adc_my_sensor
platform: adc
pin: VCC
name: ADC Test sensor
@@ -1,5 +1,5 @@
sensor:
- id: my_sensor
- id: adc_my_sensor
platform: adc
pin: VCC
name: ADC Test sensor
@@ -1,6 +1,6 @@
binary_sensor:
- platform: gpio
id: bin1
id: alarm_control_panel_bin1
pin: 1
alarm_control_panel:
@@ -18,7 +18,7 @@ alarm_control_panel:
pending_time: 15s
trigger_time: 30s
binary_sensors:
- input: bin1
- input: alarm_control_panel_bin1
bypass_armed_home: true
bypass_armed_night: true
bypass_auto: true
@@ -39,7 +39,7 @@ alarm_control_panel:
pending_time: 15s
trigger_time: 30s
binary_sensors:
- input: bin1
- input: alarm_control_panel_bin1
bypass_armed_home: true
bypass_armed_night: true
bypass_auto: true
@@ -4,7 +4,7 @@ packages:
display:
- platform: ili9xxx
id: main_lcd
id: animation_main_lcd
spi_id: spi_bus
model: ili9342
cs_pin: 12
@@ -4,7 +4,7 @@ packages:
display:
- platform: ili9xxx
id: main_lcd
id: animation_main_lcd
spi_id: spi_bus
model: ili9342
cs_pin: 5
@@ -4,7 +4,7 @@ packages:
display:
- platform: ili9xxx
id: main_lcd
id: animation_main_lcd
spi_id: spi_bus
model: ili9342
cs_pin: 20
+1 -1
View File
@@ -296,7 +296,7 @@ api:
event:
- platform: template
name: Test Event
id: test_event
id: api_test_event
event_types:
- single_click
- double_click
+1 -1
View File
@@ -1,5 +1,5 @@
audio_file:
- id: test_audio
- id: audio_file_test_audio
file:
type: local
path: $component_dir/test.wav
@@ -1,5 +1,5 @@
audio_file:
- id: test_audio
- id: audio_file_test_audio
file:
type: local
path: $component_dir/test.wav
+2 -2
View File
@@ -1,7 +1,7 @@
display:
- platform: ssd1306_i2c
i2c_id: i2c_bus
id: ssd1306_i2c_display
id: axs15231_ssd1306_i2c_display
model: SSD1306_128X64
reset_pin: 19
pages:
@@ -13,6 +13,6 @@ touchscreen:
- platform: axs15231
i2c_id: i2c_bus
id: axs15231_touchscreen
display: ssd1306_i2c_display
display: axs15231_ssd1306_i2c_display
interrupt_pin: 20
reset_pin: 18
@@ -4,7 +4,7 @@ packages:
display:
- platform: ssd1306_i2c
i2c_id: i2c_bus
id: ssd1306_display
id: axs15231_ssd1306_display
model: SSD1306_128X64
reset_pin: 13
pages:
@@ -15,5 +15,5 @@ display:
touchscreen:
- platform: axs15231
i2c_id: i2c_bus
display: ssd1306_display
display: axs15231_ssd1306_display
interrupt_pin: 12
+6 -6
View File
@@ -1,6 +1,6 @@
switch:
- platform: template
id: template_switch1
id: bang_bang_template_switch1
optimistic: true
- platform: template
id: template_switch2
@@ -8,7 +8,7 @@ switch:
sensor:
- platform: template
id: template_sensor1
id: bang_bang_template_sensor1
lambda: |-
if (millis() > 10000) {
return 42.0;
@@ -20,16 +20,16 @@ sensor:
climate:
- platform: bang_bang
name: Bang Bang Climate
sensor: template_sensor1
humidity_sensor: template_sensor1
sensor: bang_bang_template_sensor1
humidity_sensor: bang_bang_template_sensor1
default_target_temperature_low: 18°C
default_target_temperature_high: 24°C
idle_action:
- switch.turn_on: template_switch1
- switch.turn_on: bang_bang_template_switch1
cool_action:
- switch.turn_on: template_switch2
heat_action:
- switch.turn_on: template_switch1
- switch.turn_on: bang_bang_template_switch1
away_config:
default_target_temperature_low: 16°C
default_target_temperature_high: 20°C
+3 -3
View File
@@ -1,7 +1,7 @@
binary_sensor:
- platform: template
trigger_on_initial_state: true
id: some_binary_sensor
id: binary_sensor_some_binary_sensor
name: "Random binary"
lambda: return (random_uint32() & 1) == 0;
filters:
@@ -21,7 +21,7 @@ binary_sensor:
time_off: 100ms
time_on: 400ms
- lambda: |-
if (id(some_binary_sensor).state) {
if (id(binary_sensor_some_binary_sensor).state) {
return x;
}
return {};
@@ -36,7 +36,7 @@ binary_sensor:
- logger.log:
format: "New state is %s"
args: ['x.has_value() ? ONOFF(x) : "Unknown"']
- binary_sensor.invalidate_state: some_binary_sensor
- binary_sensor.invalidate_state: binary_sensor_some_binary_sensor
# Test autorepeat with default configuration (no timings)
- platform: template
+12 -12
View File
@@ -1,20 +1,20 @@
binary_sensor:
- platform: template
id: bin1
id: binary_sensor_map_bin1
lambda: |-
if (millis() > 10000) {
return true;
}
return false;
- platform: template
id: bin2
id: binary_sensor_map_bin2
lambda: |-
if (millis() > 20000) {
return true;
}
return false;
- platform: template
id: bin3
id: binary_sensor_map_bin3
lambda: |-
if (millis() > 30000) {
return true;
@@ -26,33 +26,33 @@ sensor:
name: Binary Sensor Map Group
type: group
channels:
- binary_sensor: bin1
- binary_sensor: binary_sensor_map_bin1
value: 10.0
- binary_sensor: bin2
- binary_sensor: binary_sensor_map_bin2
value: 15.0
- binary_sensor: bin3
- binary_sensor: binary_sensor_map_bin3
value: 100.0
- platform: binary_sensor_map
name: Binary Sensor Map Sum
type: sum
channels:
- binary_sensor: bin1
- binary_sensor: binary_sensor_map_bin1
value: 10.0
- binary_sensor: bin2
- binary_sensor: binary_sensor_map_bin2
value: 15.0
- binary_sensor: bin3
- binary_sensor: binary_sensor_map_bin3
value: 100.0
- platform: binary_sensor_map
name: Binary Sensor Map Bayesian
type: bayesian
prior: 0.4
observations:
- binary_sensor: bin1
- binary_sensor: binary_sensor_map_bin1
prob_given_true: 0.9
prob_given_false: 0.4
- binary_sensor: bin2
- binary_sensor: binary_sensor_map_bin2
prob_given_true: 0.7
prob_given_false: 0.05
- binary_sensor: bin3
- binary_sensor: binary_sensor_map_bin3
prob_given_true: 0.8
prob_given_false: 0.2
+2 -2
View File
@@ -56,7 +56,7 @@ sensor:
number:
- platform: template
name: "Test Number"
id: test_number
id: ble_client_test_number
optimistic: true
min_value: 0
max_value: 255
@@ -72,5 +72,5 @@ button:
service_uuid: "abcd1234-abcd-1234-abcd-abcd12345678"
characteristic_uuid: "abcd1235-abcd-1234-abcd-abcd12345678"
value: !lambda |-
uint8_t val = (uint8_t)id(test_number).state;
uint8_t val = (uint8_t)id(ble_client_test_number).state;
return std::vector<uint8_t>{0xAA, val, 0xBB};
+68
View File
@@ -0,0 +1,68 @@
sensor:
- platform: bmi270
name: "BMI270 Temperature"
- platform: motion
type: acceleration_x
name: "Accel X"
accuracy_decimals: 4
filters:
- sliding_window_moving_average:
window_size: 4
send_every: 1
- platform: motion
type: acceleration_y
name: "Accel Y"
accuracy_decimals: 4
- platform: motion
type: acceleration_z
name: "Accel Z"
accuracy_decimals: 4
# Gyroscope axes (unit: °/s)
- platform: motion
type: gyroscope_x
name: "Gyro X"
- platform: motion
type: gyroscope_y
name: "Gyro Y"
- platform: motion
type: gyroscope_z
name: "Gyro Z"
- platform: motion
type: angular_rate_x
name: "Angular Rate X"
- platform: motion
type: angular_rate_y
name: "Angular Rate Y"
- platform: motion
type: angular_rate_z
name: "Angular Rate Z"
- platform: motion
type: pitch
name: "Pitch"
- platform: motion
type: roll
name: "Roll"
motion:
- platform: bmi270
# Accelerometer full-scale range: 2G | 4G | 8G | 16G
accelerometer_range: 4G
# Accelerometer output data rate: 12_5HZ | 25HZ | 50HZ | 100HZ |
# 200HZ | 400HZ | 800HZ | 1600HZ
accelerometer_odr: 100HZ
# Gyroscope full-scale range: 125DPS | 250DPS | 500DPS | 1000DPS | 2000DPS
gyroscope_range: 2000DPS
# Gyroscope output data rate: 25HZ | 50HZ | 100HZ | 200HZ |
# 400HZ | 800HZ | 1600HZ | 3200HZ
gyroscope_odr: 200HZ
axis_map:
x: y
y: x
z: -z
@@ -0,0 +1,4 @@
packages:
i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml
<<: !include common.yaml
+3 -3
View File
@@ -1,6 +1,6 @@
canbus:
- platform: esp32_can
id: esp32_internal_can
id: canbus_esp32_internal_can
rx_pin: 4
tx_pin: 5
can_id: 4
@@ -40,7 +40,7 @@ canbus:
number:
- platform: template
name: "Test Number"
id: test_number
id: canbus_test_number
optimistic: true
min_value: 0
max_value: 255
@@ -62,5 +62,5 @@ button:
- canbus.send: !lambda return {0, 1, 2};
# Test canbus.send with lambda that references a component (function pointer)
- canbus.send: !lambda |-
uint8_t val = (uint8_t)id(test_number).state;
uint8_t val = (uint8_t)id(canbus_test_number).state;
return std::vector<uint8_t>{0xAA, val, 0xBB};
+3 -3
View File
@@ -6,13 +6,13 @@ cd74hc4067:
sensor:
- platform: adc
id: esp_adc_sensor
id: cd74hc4067_esp_adc_sensor
pin: ${pin}
- platform: cd74hc4067
id: cd74hc4067_adc_0
number: 0
sensor: esp_adc_sensor
sensor: cd74hc4067_esp_adc_sensor
- platform: cd74hc4067
id: cd74hc4067_adc_1
number: 1
sensor: esp_adc_sensor
sensor: cd74hc4067_esp_adc_sensor
+2 -2
View File
@@ -1,6 +1,6 @@
sensor:
- platform: template
id: temp_sensor
id: climate_ir_lg_temp_sensor
lambda: return 22.0;
update_interval: 60s
- platform: template
@@ -12,5 +12,5 @@ climate:
- platform: climate_ir_lg
name: LG Climate
transmitter_id: xmitr
sensor: temp_sensor
sensor: climate_ir_lg_temp_sensor
humidity_sensor: humidity_sensor
@@ -1,15 +1,15 @@
output:
- platform: ${light_platform}
id: light_output_1
id: color_temperature_light_output_1
pin: ${pin_o1}
- platform: ${light_platform}
id: light_output_2
id: color_temperature_light_output_2
pin: ${pin_o2}
light:
- platform: color_temperature
name: Lights
color_temperature: light_output_1
brightness: light_output_2
color_temperature: color_temperature_light_output_1
brightness: color_temperature_light_output_2
cold_white_color_temperature: 153 mireds
warm_white_color_temperature: 500 mireds
-37
View File
@@ -1,37 +0,0 @@
display:
- platform: qspi_dbi
model: RM690B0
data_rate: 80MHz
spi_mode: mode0
dimensions:
width: 450
height: 600
offset_width: 16
color_order: rgb
invert_colors: false
brightness: 255
cs_pin: 11
reset_pin: 13
enable_pin: 9
- platform: qspi_dbi
model: CUSTOM
id: main_lcd
draw_from_origin: true
dimensions:
height: 240
width: 536
transform:
mirror_x: true
swap_xy: true
color_order: rgb
brightness: 255
cs_pin: 6
reset_pin: 17
enable_pin: 38
init_sequence:
- [0x3A, 0x66]
- [0x11]
- delay 120ms
- [0x29]
- delay 20ms
@@ -1,4 +0,0 @@
packages:
qspi: !include ../../test_build_components/common/qspi/esp32-s3-idf.yaml
<<: !include common.yaml
+4 -4
View File
@@ -1,17 +1,17 @@
output:
- platform: ${pwm_platform}
id: fan_output_1
id: copy_fan_output_1
pin: ${pin}
fan:
- platform: speed
id: fan_speed
output: fan_output_1
id: copy_fan_speed
output: copy_fan_output_1
preset_modes:
- Eco
- Turbo
- platform: copy
source_id: fan_speed
source_id: copy_fan_speed
name: Fan Speed Copy
select:
+2 -2
View File
@@ -1,9 +1,9 @@
sensor:
- platform: adc
id: esp_adc_sensor
id: ct_clamp_esp_adc_sensor
pin: ${pin}
- platform: ct_clamp
sensor: esp_adc_sensor
sensor: ct_clamp_esp_adc_sensor
name: CT Clamp
sample_duration: 500ms
update_interval: 5s
+3 -3
View File
@@ -31,7 +31,7 @@ sensor:
switch:
- platform: template
id: template_switch1
id: current_based_template_switch1
optimistic: true
- platform: template
id: template_switch2
@@ -46,7 +46,7 @@ cover:
open_obstacle_current_threshold: 0.8
open_duration: 12s
open_action:
- switch.turn_on: template_switch1
- switch.turn_on: current_based_template_switch1
close_sensor: ade7953_current_b
close_moving_current_threshold: 0.5
close_obstacle_current_threshold: 0.8
@@ -54,7 +54,7 @@ cover:
close_action:
- switch.turn_on: template_switch2
stop_action:
- switch.turn_off: template_switch1
- switch.turn_off: current_based_template_switch1
- switch.turn_off: template_switch2
obstacle_rollback: 30%
start_sensing_delay: 0.8s
+2 -2
View File
@@ -1,8 +1,8 @@
light:
- platform: cwww
name: CWWW Light
cold_white: light_output_1
warm_white: light_output_2
cold_white: cwww_light_output_1
warm_white: cwww_light_output_2
cold_white_color_temperature: 153 mireds
warm_white_color_temperature: 500 mireds
constant_brightness: true
+2 -2
View File
@@ -5,11 +5,11 @@ substitutions:
output:
- platform: ${light_platform}
id: light_output_1
id: cwww_light_output_1
pin: ${pin_o1}
channel: 0
- platform: ${light_platform}
id: light_output_2
id: cwww_light_output_2
pin: ${pin_o2}
channel: 1
phase_angle: 180°
+2 -2
View File
@@ -5,10 +5,10 @@ substitutions:
output:
- platform: ${light_platform}
id: light_output_1
id: cwww_light_output_1
pin: ${pin_o1}
- platform: ${light_platform}
id: light_output_2
id: cwww_light_output_2
pin: ${pin_o2}
<<: !include common.yaml
+2 -2
View File
@@ -5,10 +5,10 @@ substitutions:
output:
- platform: ${light_platform}
id: light_output_1
id: cwww_light_output_1
pin: ${pin_o1}
- platform: ${light_platform}
id: light_output_2
id: cwww_light_output_2
pin: ${pin_o2}
<<: !include common.yaml
@@ -1,11 +0,0 @@
dlms_meter:
decryption_key: "36C66639E48A8CA4D6BC8B282A793BBB" # change this to your decryption key!
sensor:
- platform: dlms_meter
reactive_energy_plus:
name: "Reactive energy taken from grid"
reactive_energy_minus:
name: "Reactive energy put into grid"
<<: !include common.yaml
@@ -1,17 +0,0 @@
dlms_meter:
decryption_key: "36C66639E48A8CA4D6BC8B282A793BBB" # change this to your decryption key!
provider: netznoe # (optional) key - only set if using evn
sensor:
- platform: dlms_meter
# EVN
power_factor:
name: "Power Factor"
text_sensor:
- platform: dlms_meter
# EVN
meternumber:
name: "meterNumber"
<<: !include common.yaml
+40
View File
@@ -1,4 +1,16 @@
dlms_meter:
id: dlms_meter_hub
receive_timeout: 50ms
decryption_key: "36C66639E48A8CA4D6BC8B282A793BBB"
auth_key: "11223344556677889900AABBCCDDEEFF"
skip_crc: true
provider: "netznoe"
custom_patterns:
- "custom_pattern_1"
- "custom_pattern_2"
sensor:
# Old Schema tests
- platform: dlms_meter
voltage_l1:
name: "Voltage L1"
@@ -20,8 +32,36 @@ sensor:
name: "Active energy taken from grid"
active_energy_minus:
name: "Active energy put into grid"
reactive_energy_plus:
name: "Reactive energy taken from grid"
reactive_energy_minus:
name: "Reactive energy put into grid"
power_factor:
name: "Power factor"
# Dynamic Schema tests
- platform: dlms_meter
dlms_meter_id: dlms_meter_hub
obis_code: "1-0:99.99.9"
name: "Custom Dynamic Sensor"
text_sensor:
# Old Schema tests
- platform: dlms_meter
timestamp:
name: "timestamp"
meternumber:
name: "Meter Number"
# Dynamic Schema tests
- platform: dlms_meter
dlms_meter_id: dlms_meter_hub
obis_code: "0-0:99.99.9"
name: "Custom Dynamic Text Sensor"
binary_sensor:
# Dynamic Schema tests (Binary sensors only use the dynamic schema)
- platform: dlms_meter
dlms_meter_id: dlms_meter_hub
obis_code: "0-1:2.3.4"
name: "Custom Binary Sensor"
@@ -1,4 +1,4 @@
packages:
uart_2400: !include ../../test_build_components/common/uart_2400/esp32-ard.yaml
uart: !include ../../test_build_components/common/uart/esp32-ard.yaml
<<: !include common-generic.yaml
<<: !include common.yaml
@@ -1,4 +1,4 @@
packages:
uart_2400: !include ../../test_build_components/common/uart_2400/esp32-idf.yaml
uart: !include ../../test_build_components/common/uart/esp32-idf.yaml
<<: !include common-netznoe.yaml
<<: !include common.yaml
@@ -1,4 +1,4 @@
packages:
uart_2400: !include ../../test_build_components/common/uart_2400/esp8266-ard.yaml
uart: !include ../../test_build_components/common/uart/esp8266-ard.yaml
<<: !include common-generic.yaml
<<: !include common.yaml
@@ -0,0 +1,4 @@
packages:
uart: !include ../../test_build_components/common/uart/rp2040-ard.yaml
<<: !include common.yaml
+2 -2
View File
@@ -1,6 +1,6 @@
binary_sensor:
- platform: template
id: bin1
id: duty_time_bin1
lambda: |-
if (millis() > 10000) {
return true;
@@ -10,4 +10,4 @@ binary_sensor:
sensor:
- platform: duty_time
name: Duty Time
sensor: bin1
sensor: duty_time_bin1
+1 -1
View File
@@ -2,7 +2,7 @@
light:
- platform: rp2040_pio_led_strip
id: led_strip
id: e131_led_strip
pin: 2
pio: 0
num_leds: 256
+2 -2
View File
@@ -1,7 +1,7 @@
display:
- platform: ssd1306_i2c
i2c_id: i2c_bus
id: ssd1306_i2c_display
id: ektf2232_ssd1306_i2c_display
model: SSD1306_128X64
reset_pin: ${display_reset_pin}
pages:
@@ -15,7 +15,7 @@ touchscreen:
id: ektf2232_touchscreen
interrupt_pin: ${interrupt_pin}
reset_pin: ${touch_reset_pin}
display: ssd1306_i2c_display
display: ektf2232_ssd1306_i2c_display
on_touch:
- logger.log:
format: Touch at (%d, %d)
+6 -6
View File
@@ -1,6 +1,6 @@
binary_sensor:
- platform: template
id: bin1
id: endstop_bin1
lambda: |-
if (millis() > 10000) {
return true;
@@ -9,7 +9,7 @@ binary_sensor:
switch:
- platform: template
id: template_switch1
id: endstop_template_switch1
optimistic: true
- platform: template
id: template_switch2
@@ -20,12 +20,12 @@ cover:
id: endstop_cover
name: Endstop Cover
stop_action:
- switch.turn_on: template_switch1
open_endstop: bin1
- switch.turn_on: endstop_template_switch1
open_endstop: endstop_bin1
open_action:
- switch.turn_on: template_switch1
- switch.turn_on: endstop_template_switch1
open_duration: 5min
close_endstop: bin1
close_endstop: endstop_bin1
close_action:
- switch.turn_on: template_switch2
close_duration: 4.5min
+1 -1
View File
@@ -13,7 +13,7 @@ esphome:
canbus:
- platform: esp32_can
id: esp32_internal_can
id: esp32_can_esp32_internal_can
rx_pin: ${rx_pin}
tx_pin: ${tx_pin}
can_id: 4
@@ -3,20 +3,20 @@ esphome:
then:
- canbus.send:
# Extended ID explicit
canbus_id: esp32_internal_can
canbus_id: esp32_can_esp32_internal_can
use_extended_id: true
can_id: 0x100
data: [0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08]
- canbus.send:
# Standard ID by default
canbus_id: esp32_internal_can
canbus_id: esp32_can_esp32_internal_can
can_id: 0x100
data: [0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08]
# Note: esp32_internal_can_2 uses LISTENONLY mode, so no send actions
canbus:
- platform: esp32_can
id: esp32_internal_can
id: esp32_can_esp32_internal_can
rx_pin: GPIO8
tx_pin: GPIO7
can_id: 4
+3 -3
View File
@@ -62,7 +62,7 @@ packet_transport:
encryption:
key: "0123456789abcdef0123456789abcdef"
sensors:
- temp_sensor
- espnow_temp_sensor
providers:
- name: test-provider
encryption:
@@ -70,9 +70,9 @@ packet_transport:
sensor:
- platform: internal_temperature
id: temp_sensor
id: espnow_temp_sensor
- platform: packet_transport
provider: test-provider
remote_id: temp_sensor
remote_id: espnow_temp_sensor
id: remote_temp
@@ -0,0 +1,39 @@
ethernet:
id: eth
type: W5500
clk_pin: 19
mosi_pin: 21
miso_pin: 23
cs_pin: 18
interrupt_pin: 36
reset_pin: 22
enable_on_boot: false
manual_ip:
static_ip: 192.168.178.56
gateway: 192.168.178.1
subnet: 255.255.255.0
mac_address: "02:AA:BB:CC:DD:01"
interface: spi2
esphome:
on_boot:
priority: 200
then:
- if:
condition:
not:
ethernet.enabled:
then:
- ethernet.enable:
button:
- platform: template
name: "Disable Ethernet"
on_press:
- ethernet.disable:
binary_sensor:
- platform: template
name: "Ethernet Connected"
lambda: |-
return id(eth).is_connected();
@@ -1,6 +1,6 @@
light:
- platform: fastled_clockless
id: addr1
id: fastled_clockless_addr1
chipset: WS2811
pin: 13
num_leds: 100
@@ -59,13 +59,13 @@ light:
name: Custom Effect
sequence:
- light.addressable_set:
id: addr1
id: fastled_clockless_addr1
red: 100%
green: 100%
blue: 0%
- delay: 100ms
- light.addressable_set:
id: addr1
id: fastled_clockless_addr1
red: 0%
green: 100%
blue: 0%
+3 -3
View File
@@ -1,6 +1,6 @@
light:
- platform: fastled_spi
id: addr1
id: fastled_spi_addr1
chipset: WS2801
clock_pin: 22
data_pin: 23
@@ -59,13 +59,13 @@ light:
name: Custom Effect
sequence:
- light.addressable_set:
id: addr1
id: fastled_spi_addr1
red: 100%
green: 100%
blue: 0%
- delay: 100ms
- light.addressable_set:
id: addr1
id: fastled_spi_addr1
red: 0%
green: 100%
blue: 0%
+3 -3
View File
@@ -8,7 +8,7 @@ font:
id: roboto32
- file: "gfonts://Roboto"
id: roboto
id: font_roboto
size: 20
glyphs: "0123456789."
extras:
@@ -50,11 +50,11 @@ font:
display:
- platform: ssd1306_i2c
i2c_id: i2c_bus
id: ssd1306_display
id: font_ssd1306_display
model: SSD1306_128X64
reset_pin: ${display_reset_pin}
lambda: |-
it.print(0, 0, id(roboto), "Hello, World!");
it.print(0, 0, id(font_roboto), "Hello, World!");
it.print(0, 20, id(roboto_web), "Hello, World!");
it.print(0, 40, id(monocraft), "Hello, World!");
it.print(0, 60, id(monocraft2), "Hello, World!");
+3 -3
View File
@@ -8,7 +8,7 @@ font:
id: roboto32
- file: "gfonts://Roboto"
id: roboto
id: font_roboto
size: 20
glyphs: "0123456789."
extras:
@@ -44,12 +44,12 @@ font:
display:
- platform: sdl
id: sdl_display
id: font_sdl_display
dimensions:
width: 800
height: 600
lambda: |-
it.print(0, 0, id(roboto), "Hello, World!");
it.print(0, 0, id(font_roboto), "Hello, World!");
it.print(0, 20, id(roboto_web), "Hello, World!");
it.print(0, 40, id(roboto_greek), "Hello κόσμε!");
it.print(0, 60, id(monocraft), "Hello, World!");
+1 -1
View File
@@ -12,7 +12,7 @@ graph:
display:
- platform: ssd1306_i2c
i2c_id: i2c_bus
id: ssd1306_display
id: graph_ssd1306_display
model: SSD1306_128X64
reset_pin: ${reset_pin}
pages:
@@ -1,6 +1,7 @@
display:
- platform: ssd1306_i2c
id: ssd1306_i2c_display
i2c_id: i2c_bus
id: graphical_display_menu_ssd1306_i2c_display
model: SSD1306_128X64
reset_pin: ${reset_pin}
pages:
@@ -10,12 +11,12 @@ display:
font:
- file: "gfonts://Roboto"
id: roboto
id: graphical_display_menu_roboto
size: 20
number:
- platform: template
id: test_number
id: graphical_display_menu_test_number
min_value: 0
step: 1
max_value: 10
@@ -31,13 +32,13 @@ select:
switch:
- platform: template
id: test_switch
id: graphical_display_menu_test_switch
optimistic: true
graphical_display_menu:
id: test_graphical_display_menu
display: ssd1306_i2c_display
font: roboto
display: graphical_display_menu_ssd1306_i2c_display
font: graphical_display_menu_roboto
active: false
mode: rotary
on_enter:
@@ -80,7 +81,7 @@ graphical_display_menu:
lambda: 'ESP_LOGI("graphical_display_menu", "select value: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
- type: number
text: "Number"
number: test_number
number: graphical_display_menu_test_number
on_enter:
then:
lambda: 'ESP_LOGI("graphical_display_menu", "number enter: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
@@ -97,7 +98,7 @@ graphical_display_menu:
- display_menu.hide: test_graphical_display_menu
- type: switch
text: "Switch"
switch: test_switch
switch: graphical_display_menu_test_switch
on_text: "Bright"
off_text: "Dark"
immediate_edit: false
+2 -2
View File
@@ -1,7 +1,7 @@
display:
- platform: ssd1306_i2c
i2c_id: i2c_bus
id: ssd1306_i2c_display
id: gt911_ssd1306_i2c_display
model: SSD1306_128X64
reset_pin: ${display_reset_pin}
pages:
@@ -13,7 +13,7 @@ touchscreen:
- platform: gt911
i2c_id: i2c_bus
id: gt911_touchscreen
display: ssd1306_i2c_display
display: gt911_ssd1306_i2c_display
interrupt_pin: ${interrupt_pin}
reset_pin: ${reset_pin}
+2 -2
View File
@@ -93,12 +93,12 @@ text_sensor:
event:
- platform: template
name: Test Event
id: test_event
id: homeassistant_test_event
event_types:
- test_event_type
on_event:
- homeassistant.event:
event: esphome.test_event
event: esphome.homeassistant_test_event
data:
event_name: !lambda |-
return event_type;
+4
View File
@@ -0,0 +1,4 @@
packages:
i2c: !include ../../test_build_components/common/i2c/host.yaml
<<: !include common.yaml
@@ -3,7 +3,7 @@ i2s_audio:
speaker:
- platform: i2s_audio
id: speaker_id
id: spdif_speaker_id
dac_type: external
i2s_dout_pin: ${spdif_data_pin}
spdif_mode: true
+1 -1
View File
@@ -3,7 +3,7 @@ packages:
display:
- platform: ili9xxx
id: main_lcd
id: image_main_lcd
spi_id: spi_bus
model: ili9342
cs_pin: 15
+1 -1
View File
@@ -3,7 +3,7 @@ packages:
display:
- platform: ili9xxx
id: main_lcd
id: image_main_lcd
spi_id: spi_bus
model: ili9342
cs_pin: 5
+1 -1
View File
@@ -3,7 +3,7 @@ packages:
display:
- platform: ili9xxx
id: main_lcd
id: image_main_lcd
spi_id: spi_bus
model: ili9342
cs_pin: 20
+1 -1
View File
@@ -23,7 +23,7 @@ infrared:
# Infrared receiver
- platform: ir_rf_proxy
id: ir_rx
id: infrared_ir_rx
name: "IR Receiver"
remote_receiver_id: ir_receiver
@@ -9,11 +9,11 @@ esphome:
sensor:
- platform: adc
id: my_sensor
id: integration_my_sensor
pin: ${pin}
attenuation: 12db
- platform: integration
id: integration_sensor
sensor: my_sensor
sensor: integration_my_sensor
name: Integration Sensor
time_unit: s
@@ -1,8 +1,8 @@
sensor:
- platform: adc
id: my_sensor
id: integration_my_sensor
pin: VCC
- platform: integration
sensor: my_sensor
sensor: integration_my_sensor
name: Integration Sensor
time_unit: s
@@ -1,8 +1,8 @@
sensor:
- platform: adc
id: my_sensor
id: integration_my_sensor
pin: VCC
- platform: integration
sensor: my_sensor
sensor: integration_my_sensor
name: Integration Sensor
time_unit: s
+1 -1
View File
@@ -6,7 +6,7 @@ remote_receiver:
infrared:
# Infrared receiver
- platform: ir_rf_proxy
id: ir_rx
id: ir_rf_proxy_ir_rx
name: "IR Receiver"
receiver_frequency: 38kHz
remote_receiver_id: ir_receiver
+1 -1
View File
@@ -1,6 +1,6 @@
display:
- platform: lcd_gpio
id: my_lcd_gpio
id: lcd_gpio_my_lcd_gpio
dimensions: 18x4
data_pins:
- number: ${d0_pin}
+4 -4
View File
@@ -1,6 +1,6 @@
number:
- platform: template
id: test_number
id: lcd_menu_test_number
min_value: 0
step: 1
max_value: 10
@@ -22,7 +22,7 @@ switch:
display:
- platform: lcd_gpio
id: my_lcd_gpio
id: lcd_menu_my_lcd_gpio
dimensions: 18x4
data_pins:
- number: ${d0_pin}
@@ -36,7 +36,7 @@ display:
lcd_menu:
id: test_lcd_menu
display_id: my_lcd_gpio
display_id: lcd_menu_my_lcd_gpio
mark_back: 0x5e
mark_selected: 0x3e
mark_editing: 0x2a
@@ -83,7 +83,7 @@ lcd_menu:
lambda: 'ESP_LOGI("lcd_menu", "select value: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
- type: number
text: Number
number: test_number
number: lcd_menu_test_number
on_enter:
then:
lambda: 'ESP_LOGI("lcd_menu", "number enter: %s, %s", it->get_text().c_str(), it->get_value_text().c_str());'
+4 -1
View File
@@ -156,7 +156,7 @@ light:
- platform: binary
id: test_binary_light
name: Binary Light
output: test_binary
output: light_test_binary
effects:
- strobe:
on_state:
@@ -182,6 +182,9 @@ light:
state += 1;
if (state == 4)
state = 0;
if (initial_run) {
ESP_LOGD("custom_effect", "Effect %s started", it.get_name().c_str());
}
- pulse:
transition_length: 10s
update_interval: 20s
+1 -1
View File
@@ -1,6 +1,6 @@
output:
- platform: gpio
id: test_binary
id: light_test_binary
pin: 12
- platform: ledc
id: test_ledc_1
+1 -1
View File
@@ -1,6 +1,6 @@
output:
- platform: gpio
id: test_binary
id: light_test_binary
pin: 4
- platform: esp8266_pwm
id: test_ledc_1
@@ -5,14 +5,14 @@ esphome:
output:
- platform: gpio
id: test_binary
id: light_test_binary
pin: 0
light:
- platform: binary
id: test_binary_light
name: Binary Light
output: test_binary
output: light_test_binary
effects:
- strobe:
on_state:
@@ -5,14 +5,14 @@ esphome:
output:
- platform: gpio
id: test_binary
id: light_test_binary
pin: 0
light:
- platform: binary
id: test_binary_light
name: Binary Light
output: test_binary
output: light_test_binary
effects:
- strobe:
on_state:
+1 -1
View File
@@ -1,6 +1,6 @@
output:
- platform: gpio
id: test_binary
id: light_test_binary
pin: 0
- platform: rp2040_pwm
id: test_ledc_1
+2 -2
View File
@@ -1,7 +1,7 @@
display:
- platform: ssd1306_i2c
i2c_id: i2c_bus
id: ssd1306_i2c_display
id: lilygo_t5_47_ssd1306_i2c_display
model: SSD1306_128X64
reset_pin: ${reset_pin}
pages:
@@ -14,7 +14,7 @@ touchscreen:
i2c_id: i2c_bus
id: lilygo_touchscreen
interrupt_pin: ${interrupt_pin}
display: ssd1306_i2c_display
display: lilygo_t5_47_ssd1306_i2c_display
on_touch:
- logger.log:
format: Touch at (%d, %d)
+2 -2
View File
@@ -7,7 +7,7 @@ esphome:
output:
- platform: gpio
id: test_binary
id: lock_test_binary
pin: 4
lock:
@@ -32,4 +32,4 @@ lock:
- platform: output
name: Generic Output Lock
id: test_lock2
output: test_binary
output: lock_test_binary
@@ -0,0 +1,3 @@
logger:
hardware_uart: UART0
baud_rate: 0
@@ -0,0 +1 @@
<<: !include common-uart0_no_logging.yaml
+63
View File
@@ -0,0 +1,63 @@
sensor:
- platform: lsm6ds
name: "lsm6ds Temperature"
- platform: motion
type: acceleration_x
name: "Accel X"
accuracy_decimals: 4
filters:
- sliding_window_moving_average:
window_size: 4
send_every: 1
- platform: motion
type: acceleration_y
name: "Accel Y"
accuracy_decimals: 4
- platform: motion
type: acceleration_z
name: "Accel Z"
accuracy_decimals: 4
# Gyroscope axes (unit: °/s)
- platform: motion
type: gyroscope_x
name: "Gyro X"
- platform: motion
type: gyroscope_y
name: "Gyro Y"
- platform: motion
type: gyroscope_z
name: "Gyro Z"
- platform: motion
type: angular_rate_x
name: "Angular Rate X"
- platform: motion
type: angular_rate_y
name: "Angular Rate Y"
- platform: motion
type: angular_rate_z
name: "Angular Rate Z"
- platform: motion
type: pitch
name: "Pitch"
- platform: motion
type: roll
name: "Roll"
motion:
- platform: lsm6ds
# Accelerometer full-scale range: 2G | 4G | 8G | 16G
accelerometer_range: 4G
accelerometer_odr: 104HZ
gyroscope_range: 2000DPS
gyroscope_odr: 208HZ
axis_map:
x: y
y: x
z: -z
@@ -0,0 +1,4 @@
packages:
i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml
<<: !include common.yaml
+1
View File
@@ -1313,6 +1313,7 @@ lvgl:
width: 6
start_value: 0
end_value: 360
rounded: true
- id: page3
layout: Horizontal
pad_all: 6px
+2 -5
View File
@@ -1,14 +1,11 @@
psram:
mode: quad
i2s_audio:
i2s_lrclk_pin: GPIO18
i2s_bclk_pin: GPIO19
microphone:
- platform: i2s_audio
id: echo_microphone
i2s_din_pin: GPIO17
i2s_audio_id: i2s_audio_bus
i2s_din_pin: ${mic_din_pin}
adc_type: external
pdm: true
bits_per_sample: 16bit
@@ -1 +1,7 @@
substitutions:
mic_din_pin: GPIO36
packages:
i2s_audio: !include ../../test_build_components/common/i2s_audio/esp32-idf.yaml
<<: !include common.yaml
@@ -1 +1,7 @@
substitutions:
mic_din_pin: GPIO18
packages:
i2s_audio: !include ../../test_build_components/common/i2s_audio/esp32-s3-idf.yaml
<<: !include common.yaml
+3 -7
View File
@@ -6,20 +6,16 @@ esphome:
decibel_reduction: 10
duration: 1s
i2s_audio:
i2s_lrclk_pin: ${lrclk_pin}
i2s_bclk_pin: ${bclk_pin}
i2s_mclk_pin: ${mclk_pin}
speaker:
- platform: i2s_audio
id: speaker_id
id: mixer_output_speaker_id
i2s_audio_id: i2s_audio_bus
dac_type: external
i2s_dout_pin: ${dout_pin}
bits_per_sample: 32bit
channel: stereo
- platform: mixer
output_speaker: speaker_id
output_speaker: mixer_output_speaker_id
bits_per_sample: 32
num_channels: 2
source_speakers:
+1 -3
View File
@@ -1,10 +1,8 @@
substitutions:
lrclk_pin: GPIO4
bclk_pin: GPIO5
mclk_pin: GPIO15
dout_pin: GPIO14
packages:
spi: !include ../../test_build_components/common/spi/esp32-idf.yaml
i2s_audio: !include ../../test_build_components/common/i2s_audio/esp32-idf.yaml
<<: !include common.yaml
@@ -1,7 +1,7 @@
substitutions:
lrclk_pin: GPIO4
bclk_pin: GPIO5
mclk_pin: GPIO6
dout_pin: GPIO7
packages:
i2s_audio: !include ../../test_build_components/common/i2s_audio/esp32-s3-idf.yaml
<<: !include common.yaml
+2 -2
View File
@@ -1,13 +1,13 @@
output:
- platform: ${light_platform}
id: light_output_1
id: monochromatic_light_output_1
pin: ${pin}
light:
- platform: monochromatic
name: Monochromatic Light
id: monochromatic_light
output: light_output_1
output: monochromatic_light_output_1
gamma_correct: 2.8
default_transition_length: 2s
effects:
+3 -3
View File
@@ -9,15 +9,15 @@ binary_sensor:
name: touchkey0
channel: 0
- platform: mpr121
id: bin1
id: mpr121_bin1
name: touchkey1
channel: 1
- platform: mpr121
id: bin2
id: mpr121_bin2
name: touchkey2
channel: 2
- platform: mpr121
id: bin3
id: mpr121_bin3
name: touchkey3
channel: 6
+10 -10
View File
@@ -74,7 +74,7 @@ binary_sensor:
state_topic: some/topic/binary_sensor
qos: 2
lambda: |-
if (id(template_sens).state > 30) {
if (id(mqtt_template_sens).state > 30) {
// Garage Door is open.
return true;
}
@@ -105,8 +105,8 @@ button:
climate:
- platform: thermostat
name: Test Thermostat
sensor: template_sens
humidity_sensor: template_sens
sensor: mqtt_template_sens
humidity_sensor: mqtt_template_sens
action_state_topic: some/topicaction_state
current_temperature_state_topic: some/topiccurrent_temperature_state
current_humidity_state_topic: some/topiccurrent_humidity_state
@@ -283,10 +283,10 @@ cover:
datetime:
- platform: template
name: Date
id: test_date
id: mqtt_test_date
type: date
state_topic: some/topic/date
command_topic: test_date/custom_command_topic
command_topic: mqtt_test_date/custom_command_topic
qos: 2
subscribe_qos: 2
set_action:
@@ -300,7 +300,7 @@ datetime:
- x.day_of_month
- platform: template
name: Time
id: test_time
id: mqtt_test_time
type: time
state_topic: some/topic/time
qos: 2
@@ -315,7 +315,7 @@ datetime:
- x.second
- platform: template
name: DateTime
id: test_datetime
id: mqtt_test_datetime
type: datetime
state_topic: some/topic/datetime
qos: 2
@@ -407,7 +407,7 @@ select:
sensor:
- platform: template
name: Template Sensor
id: template_sens
id: mqtt_template_sens
lambda: |-
if (id(some_binary_sensor).state) {
return 42.0;
@@ -423,13 +423,13 @@ sensor:
- platform: mqtt_subscribe
name: MQTT Subscribe Sensor
topic: mqtt/topic
id: the_sensor
id: mqtt_the_sensor
qos: 2
on_value:
- mqtt.publish_json:
topic: the/topic
payload: |-
root["key"] = id(template_sens).state;
root["key"] = id(mqtt_template_sens).state;
root["greeting"] = "Hello World";
switch:
@@ -18,13 +18,13 @@ sensor:
- platform: mqtt_subscribe
name: MQTT Subscribe Sensor
topic: mqtt/topic
id: the_sensor
id: mqtt_subscribe_the_sensor
qos: 2
on_value:
- mqtt.publish_json:
topic: the/topic
payload: |-
root["key"] = id(the_sensor).state;
root["key"] = id(mqtt_subscribe_the_sensor).state;
root["greeting"] = "Hello World";
text_sensor:
@@ -19,13 +19,13 @@ sensor:
- platform: mqtt_subscribe
name: MQTT Subscribe Sensor
topic: mqtt/topic
id: the_sensor
id: mqtt_subscribe_the_sensor
qos: 2
on_value:
- mqtt.publish_json:
topic: the/topic
payload: |-
root["key"] = id(the_sensor).state;
root["key"] = id(mqtt_subscribe_the_sensor).state;
root["greeting"] = "Hello World";
text_sensor:
@@ -0,0 +1 @@
network:
@@ -0,0 +1 @@
network:

Some files were not shown because too many files have changed in this diff Show More