mvasco
61
Ok, a bad contact. Now I receive:
[17:59:34][D][modbus_controller:043]: Modbus command to device=1 register=0x00 countdown=0 no response received - removed from send queue
[17:59:37][V][modbus_controller:181]: Updating modbus component
[17:59:37][V][modbus_controller:148]: Range : 0 Size: 1 (3) skip: 0
[17:59:37][V][modbus_controller:047]: Sending next modbus command to device 1 register 0x00 count 1
[17:59:37][V][modbus:199]: Modbus write: 01.03.00.00.00.01.84.0A (8)
[17:59:37][V][modbus_controller:509]: Command sent 3 0x0 1
[17:59:37][V][modbus:042]: Modbus received Byte 248 (0Xf8)
[17:59:37][V][modbus:042]: Modbus received Byte 28 (0X1c)
[17:59:37][V][modbus:042]: Modbus received Byte 192 (0Xc0)
[17:59:37][V][modbus:042]: Modbus received Byte 192 (0Xc0)
[17:59:37][V][modbus:042]: Modbus received Byte 112 (0X70)
[17:59:37][V][modbus:042]: Modbus received Byte 254 (0Xfe)
[17:59:37][V][modbus:042]: Modbus received Byte 254 (0Xfe)
[17:59:38][V][modbus_controller:047]: Sending next modbus command to device 1 register 0x00 count 1
[17:59:38][V][modbus:199]: Modbus write: 01.03.00.00.00.01.84.0A (8)
[17:59:38][V][modbus_controller:509]: Command sent 3 0x0 1
[17:59:38][V][modbus:042]: Modbus received Byte 248 (0Xf8)
[17:59:38][V][modbus:042]: Modbus received Byte 60 (0X3c)
[17:59:38][V][modbus:042]: Modbus received Byte 192 (0Xc0)
[17:59:38][V][modbus:042]: Modbus received Byte 192 (0Xc0)
[17:59:38][V][modbus:042]: Modbus received Byte 112 (0X70)
[17:59:38][V][modbus:042]: Modbus received Byte 254 (0Xfe)
[17:59:38][V][modbus:042]: Modbus received Byte 254 (0Xfe)
[17:59:38][V][modbus_controller:047]: Sending next modbus command to device 1 register 0x00 count 1
[17:59:38][V][modbus:199]: Modbus write: 01.03.00.00.00.01.84.0A (8)
[17:59:38][V][modbus_controller:509]: Command sent 3 0x0 1
[17:59:38][V][modbus:042]: Modbus received Byte 240 (0Xf0)
[17:59:38][V][modbus:042]: Modbus received Byte 56 (0X38)
[17:59:38][V][modbus:042]: Modbus received Byte 192 (0Xc0)
[17:59:38][V][modbus:042]: Modbus received Byte 192 (0Xc0)
[17:59:38][V][modbus:042]: Modbus received Byte 112 (0X70)
[17:59:38][V][modbus:042]: Modbus received Byte 254 (0Xfe)
[17:59:38][V][modbus:042]: Modbus received Byte 255 (0Xff)
[17:59:38][V][modbus_controller:047]: Sending next modbus command to device 1 register 0x00 count 1
[17:59:38][V][modbus:199]: Modbus write: 01.03.00.00.00.01.84.0A (8)
[17:59:38][V][modbus_controller:509]: Command sent 3 0x0 1
[17:59:38][V][modbus:042]: Modbus received Byte 240 (0Xf0)
[17:59:38][V][modbus:042]: Modbus received Byte 56 (0X38)
[17:59:38][V][modbus:042]: Modbus received Byte 192 (0Xc0)
[17:59:38][V][modbus:042]: Modbus received Byte 192 (0Xc0)
[17:59:38][V][modbus:042]: Modbus received Byte 240 (0Xf0)
[17:59:38][V][modbus:042]: Modbus received Byte 254 (0Xfe)
[17:59:38][V][modbus:042]: Modbus received Byte 254 (0Xfe)
[17:59:38][V][modbus_controller:047]: Sending next modbus command to device 1 register 0x00 count 1
[17:59:38][V][modbus:199]: Modbus write: 01.03.00.00.00.01.84.0A (8)
[17:59:38][V][modbus_controller:509]: Command sent 3 0x0 1
[17:59:38][V][modbus:042]: Modbus received Byte 240 (0Xf0)
[17:59:38][V][modbus:042]: Modbus received Byte 56 (0X38)
[17:59:38][V][modbus:042]: Modbus received Byte 128 (0X80)
[17:59:38][V][modbus:042]: Modbus received Byte 128 (0X80)
[17:59:38][V][modbus:042]: Modbus received Byte 112 (0X70)
[17:59:38][V][modbus:042]: Modbus received Byte 254 (0Xfe)
[17:59:38][V][modbus:042]: Modbus received Byte 254 (0Xfe)
Is this what we expected?
kmin
62
I don't think so.
Where you can see your sensor? In HA?
sending part looks correct:
[17:59:38][V][modbus_controller:047]: Sending next modbus command to device 1 register 0x00 count 1
[17:59:38][V][modbus:199]: Modbus write: 01.03.00.00.00.01.84.0A (8)
mvasco
63
In HA I can see "wind speed" but it's unknown. I'm seeing the logs through https://web.esphome.io/
kmin
64
did you add that in yaml where your other sensors are?
mvasco
65
This is my yaml:
substitutions:
name: "esphome-web-aa34d0"
friendly_name: ESP Anemómetro
esphome:
name: ${name}
friendly_name: ${friendly_name}
name_add_mac_suffix: false
esp32:
board: esp32dev
framework:
type: arduino
logger:
level: VERBOSE
api:
encryption:
key: !secret esp_anemometro_encrypt
ota:
improv_serial:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
manual_ip:
static_ip: 192.168.0.218
gateway: 192.168.0.1
subnet: 255.255.255.0
captive_portal:
uart:
id: uart_bus
rx_pin: GPIO22
tx_pin: GPIO21
baud_rate: 4800
modbus:
id: modbus1
uart_id: uart_bus
modbus_controller:
- id: wind_modbus
address: 0x01 ## address of the Modbus slave device on the bus
modbus_id: modbus1
update_interval: 5s
sensor:
- platform: modbus_controller
modbus_controller_id: wind_modbus
name: "wind speed"
register_type: holding
address: 0x0000 ## address of the register inside the Modbus slave device
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
mvasco
66
Maybe related to this?

Maybe it's not reading correctly?
kmin
67
I don't know what you mean.
Slave is 0x01.
This is correct: 17:59:38][V][modbus:199]: Modbus write: 01.03.00.00.00.01.84.0A (8)
1 Like
mvasco
68
Ok, just was a bad thought, just thought it was not reading the values correctly, as the sensor is "unknown" in HA
kmin
69
Esphome is sending correctly.
but I don't understand those 7 received bytes...
Try one thing... change, those rx tx pins from 22/21 to 17/16 both in yaml and on your board,
make sure you have solid wiring!
ditto, but it is 7 bytes..
bad connection maybe??
sorry.. ~q
kmin
71
Maybe, who knows.
Esphome can be tricky, lot of things going on behind curtains.
I have done several modbus setups like this, but....
1 Like
I'm wondering, can you flip the parity??
and curious, how do you select which uart??
~q
kmin
73
yes, default is N
You don't, esphome does... 
do those bytes ring you anything?
they don't look like some exception responses...
not too me..
was thinking parity, after reading..
https://esphome.io/components/uart
some notes in there, idk, reaching..
~q
mvasco
75
It finally worked for a minute, then both leds started to flash at the same time every 5 seconds and logs shows:
[19:20:26][W][modbus:108]: Modbus CRC Check failed! 9D6!=1FC
[19:20:26][V][modbus:042]: Modbus received Byte 2 (0X2)
[19:20:26][V][modbus:042]: Modbus received Byte 0 (0X0)
[19:20:26][V][modbus:042]: Modbus received Byte 0 (0X0)
[19:20:26][V][modbus:042]: Modbus received Byte 32 (0X20)
[19:20:26][V][modbus:042]: Modbus received Byte 0 (0X0)
[19:20:26][W][modbus:108]: Modbus CRC Check failed! D0!=20
[19:20:26][V][modbus_controller:047]: Sending next modbus command to device 1 register 0x00 count 1
[19:20:26][V][modbus:199]: Modbus write: 01.03.00.00.00.01.84.0A (8)
[19:20:26][V][modbus_controller:509]: Command sent 3 0x0 1
[19:20:26][V][modbus:042]: Modbus received Byte 224 (0Xe0)
[19:20:26][V][modbus:042]: Modbus received Byte 16 (0X10)
[19:20:26][V][modbus:042]: Modbus received Byte 0 (0X0)
[19:20:26][V][modbus:042]: Modbus received Byte 0 (0X0)
[19:20:26][V][modbus:042]: Modbus received Byte 64 (0X40)
[19:20:26][V][modbus:042]: Modbus received Byte 220 (0Xdc)
[19:20:26][V][modbus:042]: Modbus received Byte 252 (0Xfc)
[19:20:26][V][modbus:042]: Modbus received Byte 1 (0X1)
[19:20:26][W][modbus:108]: Modbus CRC Check failed! E1E7!=1FC
[19:20:26][V][modbus:042]: Modbus received Byte 0 (0X0)
[19:20:26][V][modbus:042]: Modbus received Byte 0 (0X0)
[19:20:26][V][modbus:042]: Modbus received Byte 0 (0X0)
[19:20:26][V][modbus:042]: Modbus received Byte 0 (0X0)
[19:20:26][V][modbus:042]: Modbus received Byte 0 (0X0)
[19:20:26][W][modbus:108]: Modbus CRC Check failed! C071!=00
kmin
76
What was the output when it worked?
mvasco
77
couldn't copy it to paste here, but it was showing the sensor correctly, showing wind speed in home assistant and the value in the logs.
Didn't even have to try with 16 & 17 pins (which my board doesn't have, though).
kmin
78
Yes it has, if that link you sent was correct.
They might be named TX2 and RX2.
I'm not saying 21 and 22 don't work in esphome, but I know that 16 and 17 do.
mvasco
79
Ok, should I try to change it?
kmin
80
try
but I'm more worried about your wiring...