Renogy Wander with ESPHome

I have a Renogy Wander that outputs via their Bluetooth dongle. I don’t want to buy the dongle, so my thought is to use an ESP8266 NodeMCU connected via an RS232 to TTL converter module. I’m just having an issue with the ESPHome code. I can’t seem to get HA to talk to the ESP8266. Anyone ever tries this and get this to work?

Yaml? Logs? What is a renogy wander? Where is it’s serial protocol documented.


esphome:
  name: pv-solar
  platform: ESP8266
  board: nodemcuv2
substitutions:
  updates: 30s

logger:
  # Serial logging is disabled by setting the logger baud rate to 0.
  # Otherwise the logger will occupy the hardware UART, making it unavailable
  # for receiving smart meter data on pin D7 (GPIO13).
  baud_rate: 0
  level: info

# Enable Home Assistant API
api:

ota:
  password: !secret ota_pv_solar

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  manual_ip:
   

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: !secret ap_ssid_solar
    password: !secret ap_password_solar

captive_portal:

uart:
  id: mod_uart
  tx_pin: 1
  rx_pin: 3
  baud_rate: 9600
  rx_buffer_size: 1500

modbus:
  send_wait_time: 20ms
  uart_id: mod_uart
  id: mod_bus

modbus_controller:
  - id: renogy_wanderer
    ## the Modbus device addr
    address: 0x0
    modbus_id: mod_bus

sensor:
  #Battery Capacity
  - platform: modbus_controller
    modbus_controller_id: renogy_wanderer
    name: "Battery Capacity"
    id: battery_capacity
    register_type: read
    address: 0x10C
    unit_of_measurement: "V"
    value_type: U_WORD
  #Battery VOLTS
  - platform: modbus_controller
    modbus_controller_id: renogy_wanderer
    name: "Battery Volts"
    id: battery_volts
    register_type: read
    address: 0x101
    unit_of_measurement: "V"
    value_type: U_WORD
  #Charging Amps
  - platform: modbus_controller
    modbus_controller_id: renogy_wanderer
    name: "Charging Amps"
    id: charg_amps
    register_type: read
    address: 0x102
    unit_of_measurement: "A"
    value_type: U_WORD
  #Charging State
  - platform: modbus_controller
    modbus_controller_id: renogy_wanderer
    name: "Charging State"
    id: Charg_state
    register_type: read
    address: 0x120
    unit_of_measurement: ""
    value_type: U_WORD
  #Load Watts
  - platform: modbus_controller
    modbus_controller_id: renogy_wanderer
    name: "Load Watts"
    id: load_watts
    register_type: read
    address: 0x106
    unit_of_measurement: "W"
    value_type: U_WORD
  #Panel Volts
  - platform: modbus_controller
    modbus_controller_id: renogy_wanderer
    name: "Panel Volts"
    id: panel_volts
    register_type: read
    address: 0x107
    unit_of_measurement: "V"
    value_type: U_WORD
  #Panel Amps
  - platform: modbus_controller
    modbus_controller_id: renogy_wanderer
    name: "Panel Amps"
    id: panel_amps
    register_type: read
    address: 0x108
    unit_of_measurement: "A"
    value_type: U_WORD
  #Panel Watts
  - platform: modbus_controller
    modbus_controller_id: renogy_wanderer
    name: "Panel Watts"
    id: panel_watts
    register_type: read
    address: 0x109
    unit_of_measurement: "W"
    value_type: U_WORD
  #Charging Volts
  - platform: modbus_controller
    modbus_controller_id: renogy_wanderer
    name: "Charing Volts"
    id: charg_volts
    register_type: read
    address: 0xE006
    unit_of_measurement: "V"
    value_type: U_WORD

This is the link to the GitHub that has provided the most information on the Renogy Wanderer.
https://github.com/mickwheelz/NodeRenogy

Here is the link to the solar controller: https://www.renogy.com/wanderer-li-30a-pwm-charge-controller/

You forgot your log.

I spent a lot of time fiddling with this a month or two ago and eventually got it to work. I have not posted my configs to GitHub yet, but looking at your config, I have two comments when comparing to what I got working that might help you:

  1. Despite the majority of people and documentation listing the address as 0x0, for my 10A Renogy Wanderer purchased via Amazon a few months ago, the address to use in esphome is actually 0xFF. Not sure if Renogy changed something and this is the actual address or if it’s a bug somewhere–I have not hooked it up to anything other than ESPHome yet to verify but that’s what worked for my model.
  2. Basically every register is of ‘holding’ type, not ‘read’ type. I listed out all of mine as read type at first too and they did not work properly. I am very new to modbus though so I was doing a lot of learning at the same time!

I am assuming you have also double-checked the wiring on your RS232 adapter–they can be easy to wire up wrong. I was convinced I had mine wrong until I tried 0xFF.

As an aside for others: these controllers are awesome, reasonably priced and give you a ton of data. The 10A wanderer lets you control the switched output via modbus too. BOOM! Instant, solid-state smart light switch in your solar-powered shed! Just about all the Renogy controllers use the same or very similar protocol as far as I can tell and they will even provide you with their official spec if you ask them on their forums (this PDF and other documentation are floating around in various GitHub repos).

2 Likes

Thank you, I’ll try out the new address.

I’m interested in doing this also, would be awesome to have a full write-up including wiring the cable up to the nodemcu.

1 Like

Agreed. I have a 10A Wanderer with BT-1 working under a different setup but attempts so far with my new Renogy 48V 3500W with BT-2 have not worked. This unit uses a RS485 (instead of the RS232) but would be happy to just wire it direct to a Pi and transmit to HA.

I kind of gave up on using the NodeMCU due to my lack of the code needed. I did download SolarThing and installed it to a Raspberry Pi Zero W with it publishing data via MQTT. Just trying it tonight to see if it works.

I did see there is a HACS integration now for the Renogy Rover but there are zero instructions, so I’m not sure how works.