Pieter, what If you add external power to the stick?
5V ( USB Power ) soldered to the board?
Hi izi, no, I did not manage to get it working. Tried two different boards (esp8266 and esp32), two different RS485 converters, different pins (1-5, 4-5), different RS485 settings (VPP, unused) in all possible combinations, but nothing. There is no data coming on RX pin (LED does not blink). I will try the code from candidotsa but I am afraid it will not work. Probably the RS-485 connector is failed or the communication is somehow disabled.
Hi. Jumper You’re rs485 connection is RJ 45? Did you tried the pin 7&8? 7 for A and 8 for B.
Hi caro7372. The code is the same from the 5000es?
I used the next one as found above:
You can try to connect your converter and ESP32 to Easton SDM 630 smart meter if you have that installed and flash the ESP32 with Eastron SDM code. You will see some of the parameters provided by Growatt from there since the invertor is taking data form the smart meter. Here you can find info:
I did not try it myself, but i am planning to do it once i will receive the RS485 to TTL converter.
Hi guys, I also tried ShineBus software directly from Growatt (downloaded from here: Software - Growatt Italia), using the USB/RJ45 cable, but again no data read from the inverter. It is a mistery.
Hi. Did you tried the pin 7 and8?
I ordered the same setup - what hardware did you use to talk to the inverter? Esp32, TTL, type of cable? Would you mind sharing a picture? Got a bit confused looking at all the different varieties on this forum but i know for sure I want to be able to do what you do - eg. Buy low sell high
Thanks, and the white cable is a standard CAT5/6 ethernet cable with an RJ45 directly into the inverter? Think I will manage thanks!
Correct, standard CAT5 terminated with an RJ45 (B… I think…) connected to RS485-3 of the inverter.
Curious to see if it works for you…
Yes, but no success.
I think you should try with the original usb/RS data logger. I replace the original esp with a new one flashed with esphome. Then after I get what I want I put the original one in place.
Hello Pavel,
I finally got it to work. I think my problem was the power supply I was using.
I connected the network cable to port 485-1 on the inverter.
The pins used are:
Pin1 orange/white (B-)
Pin5 blue/white (A+)
The communication setting on the inverter is set to VPP
Here is a Photo of my configuration:
Hi Izi, I will give it a try tomorrow. What exactly you mean by “problems with power supply” ? At the beginning it did not work for you and now it is working - what exactly did you change to make it work? What was the problem? Thanks, Pavel
Hello Pavel, for my initial setup I used a usb powerbank as power source. Yesterday I have done the setup again and changed it to a normal power supply from a Raspberry pi. Maybe this was the reason.
Plawa, one more question, there are other examples online (GitHub etc) indicating a 120mohm resistor is required somewhere in the connection. Did you include one or does it work without resistor?
Nope, what you see is all I have…
Hi
I tried using this for my spf5000es but i just crc errors. I am connected via the RJ45 RS485 port and im using a max485 ttl converter so i am using the flow control pin
[08:05:03][D][uart_debug:158]: <<< "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
[08:05:03][W][modbus:108]: Modbus CRC Check failed! C071!=210
[08:05:03][W][modbus:108]: Modbus CRC Check failed! C071!=00
[08:05:03][W][modbus:108]: Modbus CRC Check failed! C071!=00
My Yaml
substitutions:
device_name: inv1
friendly_name: "inv1"
device_description: "Growatt SPF 5000 ES"
esphome:
name: '${device_name}'
comment: '${device_description}'
esp8266:
board: esp01_1m
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "API Key"
ota:
password: "OTA Pass"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
manual_ip:
static_ip: 192.168.8.27
gateway: 192.168.8.1
subnet: 255.255.255.0
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Test2 Fallback Hotspot"
password: "4igHBNw5StRu"
captive_portal:
uart:
id: mod_bus
tx_pin: 0
rx_pin: 4
baud_rate: 9600
stop_bits: 1
debug:
direction: BOTH
dummy_receiver: false
after:
delimiter: "\n"
sequence:
- lambda: UARTDebug::log_string(direction, bytes);
modbus:
flow_control_pin: 16
id: modbus1
uart_id: mod_bus
#disable_crc: true
modbus_controller:
- id: growatt
address: 0x1
modbus_id: modbus1
setup_priority: -10
update_interval: 15s
sensor:
- platform: modbus_controller
name: "${friendly_name} Inverter Temperature"
address: 25
register_type: "read"
unit_of_measurement: °C
device_class: temperature
entity_category: diagnostic
state_class: measurement
icon: mdi:thermometer
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
Any help will be much appreciated