mirror of
https://github.com/esphome/esphome.git
synced 2025-10-11 14:23:47 +01:00
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
133 lines
3.0 KiB
YAML
133 lines
3.0 KiB
YAML
uart:
|
|
- id: uart_modbus_client
|
|
tx_pin: ${client_tx_pin}
|
|
rx_pin: ${client_rx_pin}
|
|
baud_rate: 9600
|
|
- id: uart_modbus_server
|
|
tx_pin: ${server_tx_pin}
|
|
rx_pin: ${server_rx_pin}
|
|
baud_rate: 9600
|
|
|
|
modbus:
|
|
- id: mod_bus1
|
|
uart_id: uart_modbus_client
|
|
flow_control_pin: ${flow_control_pin}
|
|
- id: mod_bus2
|
|
uart_id: uart_modbus_server
|
|
role: server
|
|
|
|
modbus_controller:
|
|
- id: modbus_controller1
|
|
address: 0x2
|
|
modbus_id: mod_bus1
|
|
allow_duplicate_commands: false
|
|
on_online:
|
|
then:
|
|
logger.log: "Module Online"
|
|
- id: modbus_controller2
|
|
address: 0x2
|
|
modbus_id: mod_bus2
|
|
server_registers:
|
|
- address: 0x0000
|
|
value_type: S_DWORD_R
|
|
read_lambda: |-
|
|
return 42.3;
|
|
max_cmd_retries: 0
|
|
- id: modbus_controller3
|
|
address: 0x3
|
|
modbus_id: mod_bus2
|
|
server_registers:
|
|
- address: 0x0009
|
|
value_type: S_DWORD
|
|
read_lambda: |-
|
|
return 31;
|
|
write_lambda: |-
|
|
printf("address=%d, value=%d", x);
|
|
return true;
|
|
max_cmd_retries: 0
|
|
- id: modbus_controller4
|
|
modbus_id: mod_bus2
|
|
address: 0x4
|
|
server_courtesy_response:
|
|
enabled: true
|
|
register_last_address: 100
|
|
register_value: 0
|
|
server_registers:
|
|
- address: 0x0001
|
|
value_type: U_WORD
|
|
read_lambda: |-
|
|
return 0x8;
|
|
- address: 0x0005
|
|
value_type: U_WORD
|
|
read_lambda: |-
|
|
return (random_uint32() % 100);
|
|
binary_sensor:
|
|
- platform: modbus_controller
|
|
modbus_controller_id: modbus_controller1
|
|
id: modbus_binary_sensor1
|
|
name: Test Binary Sensor
|
|
register_type: read
|
|
address: 0x3200
|
|
bitmask: 0x80
|
|
|
|
number:
|
|
- platform: modbus_controller
|
|
modbus_controller_id: modbus_controller1
|
|
id: modbus_number1
|
|
name: Test Number
|
|
address: 0x9001
|
|
value_type: U_WORD
|
|
multiply: 1.0
|
|
|
|
output:
|
|
- platform: modbus_controller
|
|
modbus_controller_id: modbus_controller1
|
|
id: modbus_output1
|
|
address: 2048
|
|
register_type: holding
|
|
value_type: U_WORD
|
|
multiply: 1000
|
|
|
|
select:
|
|
- platform: modbus_controller
|
|
modbus_controller_id: modbus_controller1
|
|
id: modbus_select1
|
|
name: Test Select
|
|
address: 1000
|
|
value_type: U_WORD
|
|
optionsmap:
|
|
"Zero": 0
|
|
"One": 1
|
|
"Two": 2
|
|
"Three": 3
|
|
|
|
sensor:
|
|
- platform: modbus_controller
|
|
modbus_controller_id: modbus_controller1
|
|
id: modbus_sensor1
|
|
name: Test Sensor
|
|
register_type: holding
|
|
address: 0x9001
|
|
unit_of_measurement: "AH"
|
|
value_type: U_WORD
|
|
|
|
switch:
|
|
- platform: modbus_controller
|
|
modbus_controller_id: modbus_controller1
|
|
id: modbus_switch1
|
|
name: Test Switch
|
|
register_type: coil
|
|
address: 0x15
|
|
bitmask: 1
|
|
|
|
text_sensor:
|
|
- platform: modbus_controller
|
|
modbus_controller_id: modbus_controller1
|
|
id: modbus_text_sensor1
|
|
name: Test Text Sensor
|
|
register_type: holding
|
|
address: 0x9013
|
|
register_count: 3
|
|
raw_encode: HEXBYTES
|
|
response_size: 6
|