mirror of
https://github.com/esphome/esphome.git
synced 2024-11-23 23:48:11 +01:00
a96762220a
* Add support for Waveshare 2.13" V2 display * Fix clang-tidy error, add comment about BUSY in deep sleep * Add test * Add nullptr check and move tests to separate file * Fix GPIO pins in test
996 lines
24 KiB
YAML
996 lines
24 KiB
YAML
---
|
|
esphome:
|
|
name: $devicename
|
|
platform: ESP32
|
|
board: nodemcu-32s
|
|
build_path: build/test4
|
|
|
|
substitutions:
|
|
devicename: test-4
|
|
|
|
ethernet:
|
|
type: LAN8720
|
|
mdc_pin:
|
|
allow_other_uses: true
|
|
number: GPIO23
|
|
mdio_pin:
|
|
allow_other_uses: true
|
|
number: GPIO25
|
|
clk_mode: GPIO0_IN
|
|
phy_addr: 0
|
|
power_pin:
|
|
allow_other_uses: true
|
|
number: GPIO25
|
|
manual_ip:
|
|
static_ip: 192.168.178.56
|
|
gateway: 192.168.178.1
|
|
subnet: 255.255.255.0
|
|
domain: .local
|
|
|
|
network:
|
|
enable_ipv6: true
|
|
|
|
mqtt:
|
|
broker: test.mosquitto.org
|
|
port: 1883
|
|
discovery: true
|
|
discovery_prefix: homeassistant
|
|
topic_prefix:
|
|
|
|
api:
|
|
|
|
i2c:
|
|
sda:
|
|
allow_other_uses: true
|
|
number: 21
|
|
scl:
|
|
allow_other_uses: true
|
|
number: 22
|
|
scan: false
|
|
|
|
spi:
|
|
- id: spi_id_1
|
|
clk_pin:
|
|
allow_other_uses: true
|
|
number: GPIO21
|
|
mosi_pin:
|
|
allow_other_uses: true
|
|
number: GPIO22
|
|
miso_pin:
|
|
allow_other_uses: true
|
|
number: GPIO23
|
|
interface: hardware
|
|
- id: spi_id_2
|
|
clk_pin:
|
|
number: GPIO32
|
|
mosi_pin:
|
|
number: GPIO33
|
|
interface: hardware
|
|
|
|
uart:
|
|
- id: uart115200
|
|
tx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO22
|
|
rx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO23
|
|
baud_rate: 115200
|
|
- id: uart9600
|
|
tx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO25
|
|
rx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO26
|
|
baud_rate: 9600
|
|
- id: uart_a02yyuw
|
|
tx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO22
|
|
rx_pin:
|
|
allow_other_uses: true
|
|
number: GPIO23
|
|
baud_rate: 9600
|
|
- id: uart_he60r
|
|
tx_pin:
|
|
number: GPIO18
|
|
allow_other_uses: true
|
|
rx_pin:
|
|
number: GPIO36
|
|
allow_other_uses: true
|
|
baud_rate: 1200
|
|
parity: EVEN
|
|
|
|
ota:
|
|
safe_mode: true
|
|
port: 3286
|
|
|
|
logger:
|
|
level: DEBUG
|
|
|
|
debug:
|
|
|
|
web_server:
|
|
ota: false
|
|
auth:
|
|
username: admin
|
|
password: admin
|
|
include_internal: true
|
|
|
|
time:
|
|
- platform: sntp
|
|
id: sntp_time
|
|
|
|
tuya:
|
|
time_id: sntp_time
|
|
uart_id: uart115200
|
|
status_pin:
|
|
number: GPIO5
|
|
inverted: true
|
|
allow_other_uses: true
|
|
|
|
select:
|
|
- platform: tuya
|
|
id: tuya_select
|
|
enum_datapoint: 42
|
|
options:
|
|
0: Internal
|
|
1: Floor
|
|
2: Both
|
|
|
|
pipsolar:
|
|
id: inverter0
|
|
uart_id: uart115200
|
|
|
|
pylontech:
|
|
- id: pylontech0
|
|
uart_id: uart115200
|
|
- id: pylontech1
|
|
uart_id: uart115200
|
|
|
|
sx1509:
|
|
- id: sx1509_hub
|
|
address: 0x3E
|
|
|
|
mcp3204:
|
|
spi_id: spi_id_1
|
|
cs_pin:
|
|
allow_other_uses: true
|
|
number: GPIO23
|
|
|
|
dac7678:
|
|
address: 0x4A
|
|
id: dac7678_hub1
|
|
internal_reference: true
|
|
|
|
sensor:
|
|
- platform: pylontech
|
|
pylontech_id: pylontech0
|
|
battery: 1
|
|
voltage:
|
|
id: pyl01_voltage
|
|
current:
|
|
id: pyl01_current
|
|
coulomb:
|
|
id: pyl01_soc
|
|
mos_temperature:
|
|
id: pyl01_mos_temperature
|
|
- platform: pylontech
|
|
pylontech_id: pylontech1
|
|
battery: 1
|
|
voltage:
|
|
id: pyl13_voltage
|
|
temperature_low:
|
|
id: pyl13_temperature_low
|
|
temperature_high:
|
|
id: pyl13_temperature_high
|
|
voltage_low:
|
|
id: pyl13_voltage_low
|
|
voltage_high:
|
|
id: pyl13_voltage_high
|
|
- platform: homeassistant
|
|
entity_id: sensor.hello_world
|
|
id: ha_hello_world
|
|
- platform: tuya
|
|
id: tuya_sensor
|
|
sensor_datapoint: 1
|
|
- platform: pipsolar
|
|
pipsolar_id: inverter0
|
|
grid_rating_voltage:
|
|
id: inverter0_grid_rating_voltage
|
|
name: inverter0_grid_rating_voltage
|
|
grid_rating_current:
|
|
id: inverter0_grid_rating_current
|
|
name: inverter0_grid_rating_current
|
|
ac_output_rating_voltage:
|
|
id: inverter0_ac_output_rating_voltage
|
|
name: inverter0_ac_output_rating_voltage
|
|
ac_output_rating_frequency:
|
|
id: inverter0_ac_output_rating_frequency
|
|
name: inverter0_ac_output_rating_frequency
|
|
ac_output_rating_current:
|
|
id: inverter0_ac_output_rating_current
|
|
name: inverter0_ac_output_rating_current
|
|
ac_output_rating_apparent_power:
|
|
id: inverter0_ac_output_rating_apparent_power
|
|
name: inverter0_ac_output_rating_apparent_power
|
|
ac_output_rating_active_power:
|
|
id: inverter0_ac_output_rating_active_power
|
|
name: inverter0_ac_output_rating_active_power
|
|
battery_rating_voltage:
|
|
id: inverter0_battery_rating_voltage
|
|
name: inverter0_battery_rating_voltage
|
|
battery_recharge_voltage:
|
|
id: inverter0_battery_recharge_voltage
|
|
name: inverter0_battery_recharge_voltage
|
|
battery_under_voltage:
|
|
id: inverter0_battery_under_voltage
|
|
name: inverter0_battery_under_voltage
|
|
battery_bulk_voltage:
|
|
id: inverter0_battery_bulk_voltage
|
|
name: inverter0_battery_bulk_voltage
|
|
battery_float_voltage:
|
|
id: inverter0_battery_float_voltage
|
|
name: inverter0_battery_float_voltage
|
|
battery_type:
|
|
id: inverter0_battery_type
|
|
name: inverter0_battery_type
|
|
current_max_ac_charging_current:
|
|
id: inverter0_current_max_ac_charging_current
|
|
name: inverter0_current_max_ac_charging_current
|
|
current_max_charging_current:
|
|
id: inverter0_current_max_charging_current
|
|
name: inverter0_current_max_charging_current
|
|
input_voltage_range:
|
|
id: inverter0_input_voltage_range
|
|
name: inverter0_input_voltage_range
|
|
output_source_priority:
|
|
id: inverter0_output_source_priority
|
|
name: inverter0_output_source_priority
|
|
charger_source_priority:
|
|
id: inverter0_charger_source_priority
|
|
name: inverter0_charger_source_priority
|
|
parallel_max_num:
|
|
id: inverter0_parallel_max_num
|
|
name: inverter0_parallel_max_num
|
|
machine_type:
|
|
id: inverter0_machine_type
|
|
name: inverter0_machine_type
|
|
topology:
|
|
id: inverter0_topology
|
|
name: inverter0_topology
|
|
output_mode:
|
|
id: inverter0_output_mode
|
|
name: inverter0_output_mode
|
|
battery_redischarge_voltage:
|
|
id: inverter0_battery_redischarge_voltage
|
|
name: inverter0_battery_redischarge_voltage
|
|
pv_ok_condition_for_parallel:
|
|
id: inverter0_pv_ok_condition_for_parallel
|
|
name: inverter0_pv_ok_condition_for_parallel
|
|
pv_power_balance:
|
|
id: inverter0_pv_power_balance
|
|
name: inverter0_pv_power_balance
|
|
grid_voltage:
|
|
id: inverter0_grid_voltage
|
|
name: inverter0_grid_voltage
|
|
grid_frequency:
|
|
id: inverter0_grid_frequency
|
|
name: inverter0_grid_frequency
|
|
ac_output_voltage:
|
|
id: inverter0_ac_output_voltage
|
|
name: inverter0_ac_output_voltage
|
|
ac_output_frequency:
|
|
id: inverter0_ac_output_frequency
|
|
name: inverter0_ac_output_frequency
|
|
ac_output_apparent_power:
|
|
id: inverter0_ac_output_apparent_power
|
|
name: inverter0_ac_output_apparent_power
|
|
ac_output_active_power:
|
|
id: inverter0_ac_output_active_power
|
|
name: inverter0_ac_output_active_power
|
|
output_load_percent:
|
|
id: inverter0_output_load_percent
|
|
name: inverter0_output_load_percent
|
|
bus_voltage:
|
|
id: inverter0_bus_voltage
|
|
name: inverter0_bus_voltage
|
|
battery_voltage:
|
|
id: inverter0_battery_voltage
|
|
name: inverter0_battery_voltage
|
|
battery_charging_current:
|
|
id: inverter0_battery_charging_current
|
|
name: inverter0_battery_charging_current
|
|
battery_capacity_percent:
|
|
id: inverter0_battery_capacity_percent
|
|
name: inverter0_battery_capacity_percent
|
|
inverter_heat_sink_temperature:
|
|
id: inverter0_inverter_heat_sink_temperature
|
|
name: inverter0_inverter_heat_sink_temperature
|
|
pv_input_current_for_battery:
|
|
id: inverter0_pv_input_current_for_battery
|
|
name: inverter0_pv_input_current_for_battery
|
|
pv_input_voltage:
|
|
id: inverter0_pv_input_voltage
|
|
name: inverter0_pv_input_voltage
|
|
battery_voltage_scc:
|
|
id: inverter0_battery_voltage_scc
|
|
name: inverter0_battery_voltage_scc
|
|
battery_discharge_current:
|
|
id: inverter0_battery_discharge_current
|
|
name: inverter0_battery_discharge_current
|
|
battery_voltage_offset_for_fans_on:
|
|
id: inverter0_battery_voltage_offset_for_fans_on
|
|
name: inverter0_battery_voltage_offset_for_fans_on
|
|
eeprom_version:
|
|
id: inverter0_eeprom_version
|
|
name: inverter0_eeprom_version
|
|
pv_charging_power:
|
|
id: inverter0_pv_charging_power
|
|
name: inverter0_pv_charging_power
|
|
- platform: hrxl_maxsonar_wr
|
|
name: Rainwater Tank Level
|
|
uart_id: uart115200
|
|
filters:
|
|
- sliding_window_moving_average:
|
|
window_size: 12
|
|
send_every: 12
|
|
- or:
|
|
- throttle: 20min
|
|
- delta: 0.02
|
|
- platform: mcp3204
|
|
name: MCP3204 Pin 1
|
|
number: 1
|
|
id: mcp_sensor
|
|
- platform: copy
|
|
source_id: mcp_sensor
|
|
name: MCP binary sensor copy
|
|
- platform: ufire_ec
|
|
id: ufire_ec_board
|
|
temperature:
|
|
name: Ufire Temperature
|
|
ec:
|
|
name: Ufire EC
|
|
temperature_compensation: 20.0
|
|
temperature_coefficient: 0.019
|
|
- platform: ufire_ise
|
|
id: ufire_ise_board
|
|
temperature:
|
|
name: Ufire Temperature
|
|
ph:
|
|
name: Ufire pH
|
|
- platform: a01nyub
|
|
id: a01nyub_sensor
|
|
name: "a01nyub Distance"
|
|
uart_id: uart9600
|
|
state_topic: "esphome/sensor/a01nyub_sensor/state"
|
|
- platform: a02yyuw
|
|
id: a02yyuw_sensor
|
|
name: "a02yyuw Distance"
|
|
uart_id: uart_a02yyuw
|
|
state_topic: "esphome/sensor/a02yyuw_sensor/state"
|
|
|
|
#
|
|
# platform sensor.apds9960 requires component apds9960
|
|
#
|
|
# - platform: apds9960
|
|
# type: proximity
|
|
# name: APDS9960 Proximity
|
|
# - platform: apds9960
|
|
# type: clear
|
|
# name: APDS9960 Clear
|
|
# - platform: apds9960
|
|
# type: red
|
|
# name: APDS9960 Red
|
|
# - platform: apds9960
|
|
# type: green
|
|
# name: APDS9960 Green
|
|
# - platform: apds9960
|
|
# type: blue
|
|
# name: APDS9960 Blue
|
|
|
|
binary_sensor:
|
|
- platform: tuya
|
|
id: tuya_binary_sensor
|
|
sensor_datapoint: 1
|
|
- platform: pipsolar
|
|
pipsolar_id: inverter0
|
|
add_sbu_priority_version:
|
|
id: inverter0_add_sbu_priority_version
|
|
name: inverter0_add_sbu_priority_version
|
|
configuration_status:
|
|
id: inverter0_configuration_status
|
|
name: inverter0_configuration_status
|
|
scc_firmware_version:
|
|
id: inverter0_scc_firmware_version
|
|
name: inverter0_scc_firmware_version
|
|
load_status:
|
|
id: inverter0_load_status
|
|
name: inverter0_load_status
|
|
battery_voltage_to_steady_while_charging:
|
|
id: inverter0_battery_voltage_to_steady_while_charging
|
|
name: inverter0_battery_voltage_to_steady_while_charging
|
|
charging_status:
|
|
id: inverter0_charging_status
|
|
name: inverter0_charging_status
|
|
scc_charging_status:
|
|
id: inverter0_scc_charging_status
|
|
name: inverter0_scc_charging_status
|
|
ac_charging_status:
|
|
id: inverter0_ac_charging_status
|
|
name: inverter0_ac_charging_status
|
|
charging_to_floating_mode:
|
|
id: inverter0_charging_to_floating_mode
|
|
name: inverter0_charging_to_floating_mode
|
|
switch_on:
|
|
id: inverter0_switch_on
|
|
name: inverter0_switch_on
|
|
dustproof_installed:
|
|
id: inverter0_dustproof_installed
|
|
name: inverter0_dustproof_installed
|
|
silence_buzzer_open_buzzer:
|
|
id: inverter0_silence_buzzer_open_buzzer
|
|
name: inverter0_silence_buzzer_open_buzzer
|
|
overload_bypass_function:
|
|
id: inverter0_overload_bypass_function
|
|
name: inverter0_overload_bypass_function
|
|
lcd_escape_to_default:
|
|
id: inverter0_lcd_escape_to_default
|
|
name: inverter0_lcd_escape_to_default
|
|
overload_restart_function:
|
|
id: inverter0_overload_restart_function
|
|
name: inverter0_overload_restart_function
|
|
over_temperature_restart_function:
|
|
id: inverter0_over_temperature_restart_function
|
|
name: inverter0_over_temperature_restart_function
|
|
backlight_on:
|
|
id: inverter0_backlight_on
|
|
name: inverter0_backlight_on
|
|
- platform: template
|
|
id: ar1
|
|
lambda: "return {};"
|
|
filters:
|
|
- autorepeat:
|
|
- delay: 2s
|
|
time_off: 100ms
|
|
time_on: 900ms
|
|
- delay: 4s
|
|
time_off: 100ms
|
|
time_on: 400ms
|
|
on_state:
|
|
then:
|
|
- lambda: 'ESP_LOGI("ar1:", "%d", x);'
|
|
- platform: touchscreen
|
|
touchscreen_id: xpt_touchscreen
|
|
id: touch_key0
|
|
x_min: 80
|
|
x_max: 160
|
|
y_min: 106
|
|
y_max: 212
|
|
on_press:
|
|
- logger.log: Touched
|
|
|
|
- platform: gpio
|
|
name: GPIO SX1509 test
|
|
pin:
|
|
sx1509: sx1509_hub
|
|
number: 3
|
|
|
|
- platform: touchscreen
|
|
touchscreen_id: lilygo_touchscreen
|
|
id: touch_key1
|
|
x_min: 0
|
|
x_max: 100
|
|
y_min: 0
|
|
y_max: 100
|
|
on_press:
|
|
- logger.log: Touched
|
|
- platform: gt911
|
|
id: touch_key_911
|
|
index: 0
|
|
|
|
- platform: gpio
|
|
name: MaxIn Pin 4
|
|
pin:
|
|
max6956: max6956_1
|
|
number: 4
|
|
|
|
mode:
|
|
input: true
|
|
pullup: true
|
|
inverted: false
|
|
|
|
- platform: gpio
|
|
name: XL9535 Pin 0
|
|
pin:
|
|
xl9535: xl9535_hub
|
|
number: 0
|
|
mode:
|
|
input: true
|
|
inverted: false
|
|
|
|
- platform: gpio
|
|
name: XL9535 Pin 17
|
|
pin:
|
|
xl9535: xl9535_hub
|
|
number: 17
|
|
mode:
|
|
input: true
|
|
inverted: false
|
|
|
|
climate:
|
|
- platform: tuya
|
|
id: tuya_climate
|
|
switch_datapoint: 1
|
|
target_temperature_datapoint: 3
|
|
current_temperature_multiplier: 0.5
|
|
target_temperature_multiplier: 0.5
|
|
reports_fahrenheit: true
|
|
|
|
switch:
|
|
- platform: tuya
|
|
id: tuya_switch
|
|
switch_datapoint: 1
|
|
- platform: pipsolar
|
|
pipsolar_id: inverter0
|
|
output_source_priority_utility:
|
|
name: inverter0_output_source_priority_utility
|
|
output_source_priority_solar:
|
|
name: inverter0_output_source_priority_solar
|
|
output_source_priority_battery:
|
|
name: inverter0_output_source_priority_battery
|
|
input_voltage_range:
|
|
name: inverter0_input_voltage_range
|
|
pv_ok_condition_for_parallel:
|
|
name: inverter0_pv_ok_condition_for_parallel
|
|
pv_power_balance:
|
|
name: inverter0_pv_power_balance
|
|
- platform: copy
|
|
source_id: tuya_switch
|
|
name: Tuya Switch Copy
|
|
|
|
light:
|
|
- platform: fastled_clockless
|
|
id: led_matrix_32x8
|
|
name: led_matrix_32x8
|
|
chipset: WS2812B
|
|
pin:
|
|
allow_other_uses: true
|
|
number: GPIO15
|
|
num_leds: 256
|
|
rgb_order: GRB
|
|
default_transition_length: 0s
|
|
color_correct: [50%, 50%, 50%]
|
|
- platform: tuya
|
|
id: tuya_light
|
|
switch_datapoint: 1
|
|
dimmer_datapoint: 2
|
|
min_value_datapoint: 3
|
|
color_temperature_datapoint: 4
|
|
min_value: 1
|
|
max_value: 100
|
|
cold_white_color_temperature: 153 mireds
|
|
warm_white_color_temperature: 500 mireds
|
|
gamma_correct: 1
|
|
|
|
cover:
|
|
- platform: tuya
|
|
id: tuya_cover
|
|
position_datapoint: 2
|
|
- platform: copy
|
|
source_id: tuya_cover
|
|
name: Tuya Cover copy
|
|
- platform: he60r
|
|
uart_id: uart_he60r
|
|
id: garage_door
|
|
name: Garage Door
|
|
open_duration: 14s
|
|
close_duration: 14s
|
|
|
|
display:
|
|
- platform: addressable_light
|
|
id: led_matrix_32x8_display
|
|
addressable_light_id: led_matrix_32x8
|
|
width: 32
|
|
height: 8
|
|
pixel_mapper: |-
|
|
if (x % 2 == 0) {
|
|
return (x * 8) + y;
|
|
}
|
|
return (x * 8) + (7 - y);
|
|
lambda: |-
|
|
Color red = Color(0xFF0000);
|
|
Color green = Color(0x00FF00);
|
|
Color blue = Color(0x0000FF);
|
|
it.rectangle(0, 0, it.get_width(), it.get_height(), red);
|
|
it.rectangle(1, 1, it.get_width()-2, it.get_height()-2, green);
|
|
it.rectangle(2, 2, it.get_width()-4, it.get_height()-4, blue);
|
|
it.rectangle(3, 3, it.get_width()-6, it.get_height()-6, red);
|
|
auto touch = id(ft63_touchscreen)->get_touch();
|
|
if (touch) { ESP_LOGD("touch", "%d/%d", touch.value().x, touch.value().y); }
|
|
rotation: 0°
|
|
update_interval: 16ms
|
|
|
|
- platform: inkplate6
|
|
id: inkplate_display
|
|
greyscale: false
|
|
partial_updating: false
|
|
update_interval: 60s
|
|
display_data_1_pin:
|
|
number: GPIO5
|
|
allow_other_uses: true
|
|
display_data_2_pin:
|
|
number: GPIO18
|
|
allow_other_uses: true
|
|
display_data_3_pin:
|
|
number: GPIO19
|
|
allow_other_uses: true
|
|
display_data_5_pin:
|
|
number: GPIO25
|
|
allow_other_uses: true
|
|
display_data_4_pin:
|
|
number: GPIO23
|
|
allow_other_uses: true
|
|
display_data_6_pin:
|
|
number: GPIO26
|
|
allow_other_uses: true
|
|
display_data_7_pin:
|
|
number: GPIO27
|
|
allow_other_uses: true
|
|
ckv_pin:
|
|
number: GPIO1
|
|
allow_other_uses: true
|
|
sph_pin:
|
|
number: GPIO1
|
|
allow_other_uses: true
|
|
gmod_pin:
|
|
number: GPIO1
|
|
allow_other_uses: true
|
|
gpio0_enable_pin:
|
|
number: GPIO1
|
|
allow_other_uses: true
|
|
oe_pin:
|
|
number: GPIO1
|
|
allow_other_uses: true
|
|
spv_pin:
|
|
number: GPIO1
|
|
allow_other_uses: true
|
|
powerup_pin:
|
|
number: GPIO1
|
|
allow_other_uses: true
|
|
wakeup_pin:
|
|
number: GPIO1
|
|
allow_other_uses: true
|
|
vcom_pin:
|
|
number: GPIO1
|
|
allow_other_uses: true
|
|
|
|
number:
|
|
- platform: tuya
|
|
id: tuya_number
|
|
number_datapoint: 102
|
|
min_value: 0
|
|
max_value: 17
|
|
step: 1
|
|
- platform: copy
|
|
source_id: tuya_number
|
|
name: Tuya Number Copy
|
|
|
|
text_sensor:
|
|
- platform: pylontech
|
|
pylontech_id: pylontech0
|
|
battery: 1
|
|
base_state:
|
|
id: pyl0_base_state
|
|
voltage_state:
|
|
id: pyl0_voltage_state
|
|
current_state:
|
|
id: pyl0_current_state
|
|
temperature_state:
|
|
id: pyl0_temperature_state
|
|
- platform: pipsolar
|
|
pipsolar_id: inverter0
|
|
device_mode:
|
|
id: inverter0_device_mode
|
|
name: inverter0_device_mode
|
|
last_qpigs:
|
|
id: inverter0_last_qpigs
|
|
name: inverter0_last_qpigs
|
|
last_qpiri:
|
|
id: inverter0_last_qpiri
|
|
name: inverter0_last_qpiri
|
|
last_qmod:
|
|
id: inverter0_last_qmod
|
|
name: inverter0_last_qmod
|
|
last_qflag:
|
|
id: inverter0_last_qflag
|
|
name: inverter0_last_qflag
|
|
- platform: copy
|
|
source_id: inverter0_device_mode
|
|
name: Inverter Text Sensor Copy
|
|
- platform: ethernet_info
|
|
ip_address:
|
|
name: IP Address
|
|
|
|
output:
|
|
- platform: pipsolar
|
|
pipsolar_id: inverter0
|
|
battery_recharge_voltage:
|
|
id: inverter0_battery_recharge_voltage_out
|
|
- platform: dac7678
|
|
dac7678_id: dac7678_hub1
|
|
channel: 0
|
|
id: dac7678_1_ch0
|
|
- platform: dac7678
|
|
dac7678_id: dac7678_hub1
|
|
channel: 1
|
|
id: dac7678_1_ch1
|
|
- platform: dac7678
|
|
dac7678_id: dac7678_hub1
|
|
channel: 2
|
|
id: dac7678_1_ch2
|
|
- platform: dac7678
|
|
dac7678_id: dac7678_hub1
|
|
channel: 3
|
|
id: dac7678_1_ch3
|
|
- platform: dac7678
|
|
dac7678_id: dac7678_hub1
|
|
channel: 4
|
|
id: dac7678_1_ch4
|
|
- platform: dac7678
|
|
dac7678_id: dac7678_hub1
|
|
channel: 5
|
|
id: dac7678_1_ch5
|
|
- platform: dac7678
|
|
dac7678_id: dac7678_hub1
|
|
channel: 6
|
|
id: dac7678_1_ch6
|
|
- platform: dac7678
|
|
dac7678_id: dac7678_hub1
|
|
channel: 7
|
|
id: dac7678_1_ch7
|
|
esp32_camera:
|
|
name: ESP-32 Camera
|
|
data_pins:
|
|
- number: GPIO17
|
|
allow_other_uses: true
|
|
- number: GPIO35
|
|
allow_other_uses: true
|
|
- number: GPIO34
|
|
- number: GPIO5
|
|
allow_other_uses: true
|
|
- number: GPIO39
|
|
allow_other_uses: true
|
|
- number: GPIO18
|
|
allow_other_uses: true
|
|
- number: GPIO36
|
|
allow_other_uses: true
|
|
- number: GPIO19
|
|
allow_other_uses: true
|
|
vsync_pin:
|
|
allow_other_uses: true
|
|
number: GPIO22
|
|
href_pin:
|
|
allow_other_uses: true
|
|
number: GPIO26
|
|
pixel_clock_pin:
|
|
allow_other_uses: true
|
|
number: GPIO21
|
|
external_clock:
|
|
pin:
|
|
allow_other_uses: true
|
|
number: GPIO27
|
|
frequency: 20MHz
|
|
i2c_pins:
|
|
sda:
|
|
allow_other_uses: true
|
|
number: GPIO25
|
|
scl:
|
|
allow_other_uses: true
|
|
number: GPIO23
|
|
reset_pin:
|
|
allow_other_uses: true
|
|
number: GPIO15
|
|
power_down_pin:
|
|
allow_other_uses: true
|
|
number: GPIO1
|
|
resolution: 640x480
|
|
jpeg_quality: 10
|
|
on_image:
|
|
then:
|
|
- lambda: |-
|
|
ESP_LOGD("main", "image len=%d, data=%c", image.length, image.data[0]);
|
|
|
|
esp32_camera_web_server:
|
|
- port: 8080
|
|
mode: stream
|
|
- port: 8081
|
|
mode: snapshot
|
|
|
|
external_components:
|
|
- source: github://esphome/esphome@dev
|
|
refresh: 1d
|
|
components: [bh1750]
|
|
- source: ../esphome/components
|
|
components: [sntp]
|
|
|
|
button:
|
|
- platform: restart
|
|
name: Restart Button
|
|
- platform: safe_mode
|
|
name: Safe Mode Button
|
|
- platform: shutdown
|
|
name: Shutdown Button
|
|
id: shutdown_btn
|
|
- platform: copy
|
|
source_id: shutdown_btn
|
|
name: Shutdown Button Copy
|
|
|
|
touchscreen:
|
|
- platform: ektf2232
|
|
interrupt_pin:
|
|
allow_other_uses: true
|
|
number: GPIO36
|
|
rts_pin:
|
|
allow_other_uses: true
|
|
number: GPIO5
|
|
display: inkplate_display
|
|
on_touch:
|
|
- logger.log:
|
|
format: Touch at (%d, %d)
|
|
args: [touch.x, touch.y]
|
|
|
|
- platform: xpt2046
|
|
id: xpt_touchscreen
|
|
spi_id: spi_id_2
|
|
cs_pin:
|
|
allow_other_uses: true
|
|
number: GPIO17
|
|
interrupt_pin:
|
|
number: GPIO16
|
|
display: inkplate_display
|
|
update_interval: 50ms
|
|
threshold: 400
|
|
calibration:
|
|
x_min: 3860
|
|
x_max: 280
|
|
y_min: 340
|
|
y_max: 3860
|
|
on_touch:
|
|
- logger.log:
|
|
format: Touch at (%d, %d)
|
|
args: [touch.x, touch.y]
|
|
|
|
- platform: lilygo_t5_47
|
|
id: lilygo_touchscreen
|
|
interrupt_pin:
|
|
allow_other_uses: true
|
|
number: GPIO36
|
|
display: inkplate_display
|
|
on_touch:
|
|
- logger.log:
|
|
format: Touch at (%d, %d)
|
|
args: [touch.x, touch.y]
|
|
- platform: gt911
|
|
interrupt_pin:
|
|
number: GPIO3
|
|
display: inkplate_display
|
|
|
|
- platform: ft63x6
|
|
id: ft63_touchscreen
|
|
interrupt_pin:
|
|
allow_other_uses: true
|
|
number: GPIO39
|
|
reset_pin:
|
|
allow_other_uses: true
|
|
number: GPIO5
|
|
display: inkplate_display
|
|
on_touch:
|
|
- logger.log:
|
|
format: Touch at (%d, %d)
|
|
args: [touch.x, touch.y]
|
|
|
|
i2s_audio:
|
|
i2s_lrclk_pin:
|
|
allow_other_uses: true
|
|
number: GPIO26
|
|
i2s_bclk_pin:
|
|
allow_other_uses: true
|
|
number: GPIO27
|
|
i2s_mclk_pin:
|
|
allow_other_uses: true
|
|
number: GPIO25
|
|
|
|
media_player:
|
|
- platform: i2s_audio
|
|
name: None
|
|
dac_type: external
|
|
i2s_dout_pin:
|
|
allow_other_uses: true
|
|
number: GPIO25
|
|
mute_pin:
|
|
number: GPIO14
|
|
on_state:
|
|
- media_player.play:
|
|
- media_player.play_media: http://localhost/media.mp3
|
|
- media_player.play_media: !lambda 'return "http://localhost/media.mp3";'
|
|
on_idle:
|
|
- media_player.pause:
|
|
on_play:
|
|
- media_player.stop:
|
|
on_pause:
|
|
- media_player.toggle:
|
|
- wait_until:
|
|
media_player.is_idle:
|
|
- wait_until:
|
|
media_player.is_playing:
|
|
- media_player.volume_up:
|
|
- media_player.volume_down:
|
|
- media_player.volume_set: 50%
|
|
|
|
prometheus:
|
|
include_internal: true
|
|
relabel:
|
|
ha_hello_world:
|
|
id: hellow_world
|
|
name: Hello World
|
|
|
|
microphone:
|
|
- platform: i2s_audio
|
|
id: mic_id_adc
|
|
adc_pin:
|
|
allow_other_uses: true
|
|
number: GPIO35
|
|
adc_type: internal
|
|
|
|
- platform: i2s_audio
|
|
id: mic_id_external
|
|
i2s_din_pin:
|
|
allow_other_uses: true
|
|
number: GPIO23
|
|
adc_type: external
|
|
pdm: false
|
|
|
|
speaker:
|
|
- platform: i2s_audio
|
|
id: speaker_id
|
|
dac_type: external
|
|
i2s_dout_pin:
|
|
allow_other_uses: true
|
|
number: GPIO25
|
|
mode: mono
|
|
|
|
voice_assistant:
|
|
microphone: mic_id_external
|
|
speaker: speaker_id
|
|
on_listening:
|
|
- logger.log: "Voice assistant microphone listening"
|
|
on_start:
|
|
- logger.log: "Voice assistant started"
|
|
on_stt_end:
|
|
- logger.log:
|
|
format: "Voice assistant STT ended with result %s"
|
|
args: [x.c_str()]
|
|
on_tts_start:
|
|
- logger.log:
|
|
format: "Voice assistant TTS started with text %s"
|
|
args: [x.c_str()]
|
|
on_tts_end:
|
|
- logger.log:
|
|
format: "Voice assistant TTS ended with url %s"
|
|
args: [x.c_str()]
|
|
on_end:
|
|
- logger.log: "Voice assistant ended"
|
|
on_error:
|
|
- logger.log:
|
|
format: "Voice assistant error - code %s, message: %s"
|
|
args: [code.c_str(), message.c_str()]
|
|
|
|
max6956:
|
|
- id: max6956_1
|
|
address: 0x40
|
|
|
|
xl9535:
|
|
- id: xl9535_hub
|
|
address: 0x20
|