1
0
mirror of https://github.com/esphome/esphome.git synced 2025-10-10 22:03:46 +01:00
Files
esphome/tests/components/modbus_controller/common.yaml
carlessolegrau 0fe6e7169c [modbus_controller] courtesy response (#10027)
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>
2025-10-08 16:40:49 +13:00

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