03-10-2025, 10:48 AM
can i use rs485 to communicate between boards? a16s -> a32, and a32 -> a16s
a16s.yaml
a32.yaml
modbus errors
a16s.yaml
PHP Code:
# RS485 Modbus Setup
uart:
id: uart_a16s
tx_pin: GPIO33
rx_pin: GPIO32
baud_rate: 19200
debug:
direction: BOTH
dummy_receiver: false
after:
timeout: 1s
sequence:
- lambda: UARTDebug::log_hex(direction, bytes,' ');
modbus:
- uart_id: uart_a16s
id: modbus_a16s_client
send_wait_time: 200ms
- uart_id: uart_a16s
id: modbus_a16s_server
role: server
modbus_controller:
# Client role - to initiate communication with a32
- id: a16s_client_controller
modbus_id: modbus_a16s_client
address: 0x4 # Address of a32's server
update_interval: 1s
setup_priority: 100 # Higher priority = earlier execution
# Server role - to respond to a32's requests
- modbus_id: modbus_a16s_server
address: 0x2 # a16s's server address
switch:
- platform: modbus_controller
modbus_controller_id: a16s_client_controller # References the controller ID defined in hardware.yaml
name: "a32_output1"
id: "a32_output1"
address: 0 # 0:relay1 1:relay2 ... 31:relay32
register_type: coil
bitmask: 1
a32.yaml
PHP Code:
uart:
- id: uart_a32
tx_pin: GPIO14
rx_pin: GPIO16
baud_rate: 19200
debug:
direction: BOTH
dummy_receiver: false
after:
timeout: 1s
sequence:
- lambda: UARTDebug::log_hex(direction, bytes,' ');
modbus:
- uart_id: uart_a32
id: modbus_a32_client
send_wait_time: 200ms
- uart_id: uart_a32
id: modbus_a32_server
role: server
modbus_controller:
# Client role - to initiate communication with a16s
- id: a32_client_controller
modbus_id: modbus_a32_client
address: 0x2 # Address of a16s's server
update_interval: 2s
setup_priority: 50 # Lower priority = later execution
# Server role - to respond to a16s's requests
- modbus_id: modbus_a32_server
address: 0x4 # a32's server address
switch:
- platform: modbus_controller
modbus_controller_id: a32_client_controller # References the controller ID defined in hardware.yaml
name: "a16s_output1"
id: "a16s_output1"
address: 0 # 0:relay1 1:relay2 ... 5:relay16
register_type: coil
bitmask: 1
modbus errors
PHP Code:
[size=1][font=SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace][12:45:59][color=#ff00ff][C][modbus_controller:350]: Address: 0x04[/color]
[/font][/size][size=1][font=SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace][12:45:59][color=#ff00ff][C][modbus_controller:351]: Max Command Retries: 4[/color]
[/font][/size][size=1][font=SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace][12:45:59][color=#ff00ff][C][modbus_controller:352]: Offline Skip Updates: 0[/color]
[/font][/size][size=1][font=SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace][12:45:59][color=#00ffff][D][uart_debug:114]: >>> 04 01 00 00 00 20 3D 87[/color]
[/font][/size][size=1][font=SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace][12:45:59][color=#ffff00][W][modbus:125]: Modbus CRC Check failed! 90D1!=00[/color]
[/font][/size][size=1][font=SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace][12:45:59][color=#00ffff][D][modbus_controller:040]: Modbus command to device=4 register=0x00 no response received - removed from send queue[/color]
[/font][/size][size=1][font=SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace][12:45:59][color=#ffff00][W][modbus:125]: Modbus CRC Check failed! 90D1!=00[/color]
[/font][/size][size=1][font=SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace][12:45:59][color=#ffff00][W][modbus:125]: Modbus CRC Check failed! 90D1!=00[/color]
[/font][/size][size=1][font=SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace][12:45:59][color=#00ffff][D][uart_debug:114]: <<< 02 01 00 00 00 10 3D F5 02 01 00 00 00 10 3D F5 02 01 00 00 00 10 3D F5[/color]
[/font][/size][size=1][font=SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace][12:45:59][color=#00ffff][D][uart_debug:114]: >>> 04 01 00 00 00 20 3D 87[/color]
[/font][/size][size=1][font=SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace][12:45:59][color=#ffff00][W][modbus:125]: Modbus CRC Check failed! 4E91!=00[/color]
[/font][/size][size=1][font=SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace][12:46:00][color=#00ffff][D][uart_debug:114]: <<< 63 3D 00 00 00 10 3D F5[/color]
[/font][/size][size=1][font=SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace][12:46:00][color=#ffff00][W][modbus_controller:186]: Duplicate modbus command found: type=0x1 address=0 count=32[/color]
[/font][/size][size=1][font=SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace][12:46:00][color=#00ffff][D][uart_debug:114]: >>> 04 01 00 00 00 20 3D 87 04 01 00 00 00 20 3D 87 04 01 00 00 00 20 3D 87 04 01 00 00 00 20 3D 87[/color]
[/font][/size][size=1][font=SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace][12:46:00][color=#ffff00][W][modbus:125]: Modbus CRC Check failed! 90D1!=00[/color]
[/font][/size][size=1][font=SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace][12:46:00][color=#00ffff][D][modbus_controller:040]: Modbus command to device=4 register=0x00 no response received - removed from send queue[/color]
[/font][/size][size=1][font=SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace][12:46:01][color=#ffff00][W][modbus:125]: Modbus CRC Check failed! 90D1!=00[/color]
[/font][/size][size=1][font=SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace][12:46:01][color=#ffff00][W][modbus:125]: Modbus CRC Check failed! 90D1!=00[/color]
[/font][/size][size=1][font=SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace][12:46:01][color=#ffff00][W][modbus:125]: Modbus CRC Check failed! 90D1!=00[/color][/font][/size]