Modbus wind sensors

I’ve got a sn-3000-fxjt-n01 (wind direction) and a sn-3000-fsjt-n01 (wind speed), and I have managed to get both working, at least individually. Problem is that they both have the same address (0x01), which shouldn’t be a problem.
There are instructions at Renke RS-FXJT-N01 Wind direction meter | devices.esphome.io how to change the address, and the documentation I found for the devices also has some instructions, but both talk about some software, 485 Parameter Configuration Tool/Software, that I can’t locate online.
The esphome documentation also says you can change it via esphome, but I don’t really understand the instructions.
I’ve never dealt with modbus before, and all I’ve managed to accomplish was to create an extra sensor that shows up in home assistant named “Device current address” with a value of 1, not exactly what I was hoping for.
I figured it’s better to ask for help instead of making a mess of it…
So, is there anyone that can explain the instructions in more ignorant-friendly way?

This instructs you to add temporary code in your ESPHome YAML to be able to change one of your device address:

You will have a input number field in the ESP device web page or in HA that will allow you to change the currently connected device modbus address.

Hi Wooe. I bought the same devices and I am not happy as you. By means, I am able to connect the devices to the computer and I am able to check the devices on MS Windows level. Connecting the device via a modbus-to converter doesn’t make me happy. One of t flashing LED on the converter shows me, that the ESPHome sends commands …. but there is silence on the transmitting line of the modbus devices :-(.

Please be so kind and provide some picture and/or drawings describing your configuration. And a copy of your YAML would make me happy as well.

Thanks in advance

Hi to the community. Is there someone else operating those sensors with ESPHome and nodemcu?

If you enable Uart debug, you can see the traffic on your logs.
For best support here, post your code, your wiring and the specific converter you use.

Hallo. For reasons I was not able to reply earlier. First I reduced my configuration to just one device (wind speed), and adapted the YAML accordingly and opened the log for the UART:

[09:57:28.575][D][uart_debug:114]: >>> 01:03:00:00:00:01:84:0A
[09:57:28.846][D][uart_debug:114]: >>> 01:03:00:00:00:01:84:0A
[09:57:29.141][D][uart_debug:114]: >>> 01:03:00:00:00:01:84:0A
[09:57:29.404][D][uart_debug:114]: >>> 01:03:00:00:00:01:84:0A
[09:57:29.701][D][uart_debug:114]: >>> 01:03:00:00:00:01:84:0A
[09:57:29.865][D][modbus_controller:039]: Modbus command to device=1 register=0x00 no response received - removed from send queue

My YAML:

modbus:
  id: modbus1

modbus_controller:
- id: wind_speed_meter
  address: 1
  modbus_id: modbus1
  setup_priority: -10
  command_throttle: 200ms
  update_interval: 30s #or whatever you need

- id: wind_direction_meter
  address: 2
  modbus_id: modbus1
  setup_priority: -10
  command_throttle: 200ms
  update_interval: 30s #or whatever you need

sensor:
- platform: modbus_controller
  modbus_controller_id: wind_speed_meter
  name: "Wind Speed"
  device_class: wind_speed
  id: wind_speed
  register_type: holding
  address: 0000
  unit_of_measurement: "m/s"
  value_type: U_WORD
  accuracy_decimals: 1
  filters:
    - multiply: 0.1
    - max:
        window_size: 5
        send_every: 5
    - exponential_moving_average:
        alpha: 0.1
        send_every: 12

For me it looks as I concerned from the early beginning: my RS485 to TTL converter receives the messages (the TX LED on that converter is flashing) but there is no response.

Any ideas how to check this adapter (I bought a set of 10 and used three without any difference)

But the tiny clip of your code shows two devices.

Also, you read holding register, but the device configuration template (Renke RS-FXJT-N01 Wind direction meter | ESPHome Devices) reads input register.
No idea which one is correct.

Quite likely you don’t have 3 faulty converters. Chances are higher for incorrect or non consistent wiring or code.

I solved this issue :slight_smile:

How? I exchanged the controller - I used first an ESP8266 nodemcu v3 which doesn’t wort … see story above. I received yesterday a fresh ALI… supply with some ESP32 S3. And oh wonder, all s working now.

Nice you made it.
And I’m sure it works with nodemcu v3 as well.

Hi, I’ve got a similar problem. Got a wind direction and speed sensor from Ali and could already change the address using the chinese tool to 3 and 4. When I try to include the example code to ESPHome I can see in the logs that the read command is 0x04 but the sensor doc says 0x03. Also in the logs above I can see 0x03. Is there a problem in the ESPHome Renke … sensor specification? or any chance to change this in the yaml?

Of course, just set

register_type: holding

I don’t know which one is correct though…
But you have some other problem as well, the uart debug data on your image is not valid modbus request.