esphome/tests/test5.yaml
Samuel Sieb 1bb90f304c
add key collector component (#4242)
Co-authored-by: Samuel Sieb <samuel@sieb.net>
2023-01-17 17:18:34 +13:00

587 lines
12 KiB
YAML

---
esphome:
name: test5
build_path: build/test5
project:
name: esphome.test5_project
version: "1.0.0"
esp32:
board: nodemcu-32s
framework:
type: esp-idf
advanced:
ignore_efuse_mac_crc: true
wifi:
networks:
- ssid: "MySSID"
password: "password1"
manual_ip:
static_ip: 192.168.1.23
gateway: 192.168.1.1
subnet: 255.255.255.0
api:
ota:
logger:
uart:
- id: uart1
tx_pin: 1
rx_pin: 3
baud_rate: 9600
- id: uart2
tx_pin: 17
rx_pin: 16
baud_rate: 19200
i2c:
frequency: 100khz
modbus:
uart_id: uart1
flow_control_pin: 5
id: mod_bus1
modbus_controller:
- id: modbus_controller_test
address: 0x2
modbus_id: mod_bus1
mqtt:
broker: test.mosquitto.org
port: 1883
discovery: true
discovery_prefix: homeassistant
idf_send_async: false
on_message:
topic: testing/sensor/testing_sensor/state
qos: 0
then:
# yamllint disable rule:line-length
- lambda: |-
ESP_LOGD("Mqtt Test", "testing/sensor/testing_sensor/state=[%s]", x.c_str());
# yamllint enable rule:line-length
binary_sensor:
- platform: gpio
pin: GPIO0
id: io0_button
icon: mdi:gesture-tap-button
- platform: modbus_controller
modbus_controller_id: modbus_controller_test
id: modbus_binsensortest
register_type: read
address: 0x3200
bitmask: 0x80 # (bit 8)
lambda: "return x;"
- platform: tm1638
id: Button0
key: 0
filters:
- delayed_on: 10ms
on_press:
then:
- switch.turn_on: Led0
on_release:
then:
- switch.turn_off: Led0
- platform: tm1638
id: Button1
key: 1
on_press:
then:
- switch.turn_on: Led1
on_release:
then:
- switch.turn_off: Led1
- platform: tm1638
id: Button2
key: 2
on_press:
then:
- switch.turn_on: Led2
on_release:
then:
- switch.turn_off: Led2
- platform: tm1638
id: Button3
key: 3
on_press:
then:
- switch.turn_on: Led3
on_release:
then:
- switch.turn_off: Led3
- platform: tm1638
id: Button4
key: 4
on_press:
then:
- output.turn_on: Led4
on_release:
then:
- output.turn_off: Led4
- platform: tm1638
id: Button5
key: 5
on_press:
then:
- output.turn_on: Led5
on_release:
then:
- output.turn_off: Led5
- platform: tm1638
id: Button6
key: 6
on_press:
then:
- output.turn_on: Led6
on_release:
then:
- output.turn_off: Led6
- platform: tm1638
id: Button7
key: 7
on_press:
then:
- output.turn_on: Led7
on_release:
then:
- output.turn_off: Led7
- platform: gpio
id: sn74hc165_pin_0
pin:
sn74hc165: sn74hc165_hub
number: 0
- platform: ezo_pmp
pump_state:
name: "Pump State"
is_paused:
name: "Is Paused"
- platform: matrix_keypad
keypad_id: keypad
id: key4
row: 1
col: 1
- platform: matrix_keypad
id: key1
key: 1
tlc5947:
data_pin: GPIO12
clock_pin: GPIO14
lat_pin: GPIO15
output:
- platform: gpio
pin: GPIO2
id: built_in_led
- platform: tlc5947
id: output_red
channel: 0
max_power: 0.8
- platform: mcp47a1
id: output_mcp47a1
- platform: modbus_controller
modbus_controller_id: modbus_controller_test
id: modbus_output_test
lambda: |-
return x * 1.0 ;
address: 0x9001
value_type: U_WORD
- platform: tm1638
id: Led4
led: 4
- platform: tm1638
id: Led5
led: 5
- platform: tm1638
id: Led6
led: 6
- platform: tm1638
id: Led7
led: 7
demo:
esp32_ble:
esp32_ble_server:
manufacturer: ESPHome
model: Test5
esp32_improv:
authorizer: io0_button
authorized_duration: 1min
status_indicator: built_in_led
ezo_pmp:
id: hcl_pump
update_interval: 1s
number:
- platform: template
name: My template number
id: template_number_id
optimistic: true
max_value: 100
min_value: 0
step: 5
unit_of_measurement: "%"
mode: slider
device_class: humidity
on_value:
- logger.log:
format: Number changed to %f
args: [x]
set_action:
- logger.log:
format: Template Number set to %f
args: [x]
- number.set:
id: template_number_id
value: 50
- number.to_min: template_number_id
- number.to_min:
id: template_number_id
- number.to_max: template_number_id
- number.to_max:
id: template_number_id
- number.increment: template_number_id
- number.increment:
id: template_number_id
cycle: false
- number.decrement: template_number_id
- number.decrement:
id: template_number_id
cycle: false
- number.operation:
id: template_number_id
operation: Increment
cycle: false
- number.operation:
id: template_number_id
operation: !lambda "return NUMBER_OP_INCREMENT;"
cycle: !lambda "return false;"
- id: modbus_numbertest
platform: modbus_controller
modbus_controller_id: modbus_controller_test
name: ModbusNumber
address: 0x9002
value_type: U_WORD
lambda: "return x * 1.0;"
write_lambda: |-
return x * 1.0 ;
multiply: 1.0
select:
- platform: template
name: My template select
id: template_select_id
optimistic: true
initial_option: two
restore_value: true
on_value:
- logger.log:
format: Select changed to %s (index %d)"
args: ["x.c_str()", "i"]
set_action:
- logger.log:
format: Template Select set to %s
args: ["x.c_str()"]
- select.set:
id: template_select_id
option: two
- select.first: template_select_id
- select.last:
id: template_select_id
- select.previous: template_select_id
- select.next:
id: template_select_id
cycle: false
- select.operation:
id: template_select_id
operation: Previous
cycle: false
- select.operation:
id: template_select_id
operation: !lambda "return SELECT_OP_PREVIOUS;"
cycle: !lambda "return true;"
- select.set_index:
id: template_select_id
index: 1
- select.set_index:
id: template_select_id
index: !lambda "return 1 + 1;"
options:
- one
- two
- three
- platform: modbus_controller
name: Modbus Select Register 1000
address: 1000
value_type: U_WORD
optionsmap:
"Zero": 0
"One": 1
"Two": 2
"Three": 3
sensor:
- platform: selec_meter
total_active_energy:
name: SelecEM2M Total Active Energy
import_active_energy:
name: SelecEM2M Import Active Energy
export_active_energy:
name: SelecEM2M Export Active Energy
total_reactive_energy:
name: SelecEM2M Total Reactive Energy
import_reactive_energy:
name: SelecEM2M Import Reactive Energy
export_reactive_energy:
name: SelecEM2M Export Reactive Energy
apparent_energy:
name: SelecEM2M Apparent Energy
active_power:
name: SelecEM2M Active Power
reactive_power:
name: SelecEM2M Reactive Power
apparent_power:
name: SelecEM2M Apparent Power
voltage:
name: SelecEM2M Voltage
current:
name: SelecEM2M Current
power_factor:
name: SelecEM2M Power Factor
frequency:
name: SelecEM2M Frequency
maximum_demand_active_power:
name: SelecEM2M Maximum Demand Active Power
disabled_by_default: true
maximum_demand_reactive_power:
name: SelecEM2M Maximum Demand Reactive Power
disabled_by_default: true
maximum_demand_apparent_power:
name: SelecEM2M Maximum Demand Apparent Power
disabled_by_default: true
- id: modbus_sensortest
platform: modbus_controller
modbus_controller_id: modbus_controller_test
address: 0x331A
register_type: read
value_type: U_WORD
- platform: t6615
uart_id: uart2
co2:
name: CO2 Sensor
- platform: bmp3xx
temperature:
name: BMP Temperature
oversampling: 16x
pressure:
name: BMP Pressure
address: 0x77
iir_filter: 2X
- platform: sen5x
id: sen54
temperature:
name: Temperature
accuracy_decimals: 1
humidity:
name: Humidity
accuracy_decimals: 0
pm_1_0:
name: PM <1µm Weight concentration
id: pm_1_0
accuracy_decimals: 1
pm_2_5:
name: PM <2.5µm Weight concentration
id: pm_2_5
accuracy_decimals: 1
pm_4_0:
name: PM <4µm Weight concentration
id: pm_4_0
accuracy_decimals: 1
pm_10_0:
name: PM <10µm Weight concentration
id: pm_10_0
accuracy_decimals: 1
nox:
name: NOx
voc:
name: VOC
algorithm_tuning:
index_offset: 100
learning_time_offset_hours: 12
learning_time_gain_hours: 12
gating_max_duration_minutes: 180
std_initial: 50
gain_factor: 230
temperature_compensation:
offset: 0
normalized_offset_slope: 0
time_constant: 0
acceleration_mode: low
store_baseline: true
address: 0x69
- platform: mcp9600
thermocouple_type: K
hot_junction:
name: Thermocouple Temperature
cold_junction:
name: Ambient Temperature
- platform: ezo_pmp
current_volume_dosed:
name: Current Volume Dosed
total_volume_dosed:
name: Total Volume Dosed
absolute_total_volume_dosed:
name: Absolute Total Volume Dosed
pump_voltage:
name: Pump Voltage
last_volume_requested:
name: Last Volume Requested
max_flow_rate:
name: Max Flow Rate
script:
- id: automation_test
then:
- repeat:
count: 5
then:
- logger.log: looping!
switch:
- platform: modbus_controller
modbus_controller_id: modbus_controller_test
id: modbus_switch_test
register_type: coil
address: 2
bitmask: 1
- platform: tm1638
id: Led0
led: 0
name: TM1638Led0
- platform: tm1638
id: Led1
led: 1
name: TM1638Led1
- platform: tm1638
id: Led2
led: 2
name: TM1638Led2
- platform: tm1638
id: Led3
led: 3
name: TM1638Led3
display:
- platform: tm1638
id: primarydisplay
stb_pin: 5 #TM1638 STB
clk_pin: 18 #TM1638 CLK
dio_pin: 23 #TM1638 DIO
update_interval: 5s
intensity: 5
lambda: |-
it.print("81818181");
time:
- platform: pcf85063
text_sensor:
- platform: ezo_pmp
dosing_mode:
name: Dosing Mode
calibration_status:
name: Calibration Status
on_value:
- ezo_pmp.dose_volume:
id: hcl_pump
volume: 10
- ezo_pmp.dose_volume_over_time:
id: hcl_pump
volume: 10
duration: 2
- ezo_pmp.dose_with_constant_flow_rate:
id: hcl_pump
volume_per_minute: 10
duration: 2
- ezo_pmp.set_calibration_volume:
id: hcl_pump
volume: 10
- ezo_pmp.find: hcl_pump
- ezo_pmp.dose_continuously: hcl_pump
- ezo_pmp.clear_total_volume_dosed: hcl_pump
- ezo_pmp.clear_calibration: hcl_pump
- ezo_pmp.pause_dosing: hcl_pump
- ezo_pmp.stop_dosing: hcl_pump
- ezo_pmp.arbitrary_command:
id: hcl_pump
command: D,?
sn74hc165:
id: sn74hc165_hub
data_pin: GPIO12
clock_pin: GPIO14
load_pin: GPIO27
clock_inhibit_pin: GPIO26
sr_count: 4
matrix_keypad:
id: keypad
rows:
- pin: 21
- pin: 19
columns:
- pin: 17
- pin: 16
keys: "1234"
key_collector:
- id: reader
source_id: keypad
min_length: 4
max_length: 4