i cannot get this to work.
I have tried both the dongle serial number and the mqqt username within HA.
Can you give me some guidance
Hi I try to add this repo but not success.
can you help?
Sorry
What is it?
What is AlexIt ?
I am not Alex
sorry, it’s NOT repository for HASS.
just download files as zip
unpack to folder
so I have downloaded the zip file and uploaded it to custom comonenet.
what do I do now?
sorry i can’t replicate, could you post an example ? inserting username and password of mqtt as for your example won’t work
I’m not an expert at all, but I like to try out things. Using the hints and add-on from Oleg Denisenko, I now have my Epever Tracer AN 2210 with wifi dongle integrated in HA. I run HA in a virtual machine on a Synology server, using the latest software versions. Within HA I installed add-ons for File editor, Mosquito broker, MQTT Explorer and Samba share. As advised by many documents, I created a Synology user for MQTT with password.
These are the steps I took:
Wifi dongle installation
I followed the guidelines from the manufacturer to start with. Using a network scanner I found out the DHCP assigned IP address, and then logged in on the web interface of the dongle (using the combination admin / admin).
Side note: I first wanted to set the dongle on STA mode only, but that didn’t work out for some reason. After a while I realized it’s not too bad at all to have both modes enabled. I now use the AP mode with the Solar Giuardian app in Local Mode to occasionally change settings (like when the battery is replaced).
My settings are (with 192.168.1.147 being the local IP address):
AP Setting - no changes
STA Setting - to me it’s very important to have a fixed IP address assigned to the dongle, eventually also in the DHCP server.
Next, following Oleg’s discovery:
The Epever solar client add-on
- Copied the complete folder from GitHub - 10der/hass-epever-solar-client to the HA addons folder (using Samba).
- Corrected a typo in the file epever-solar-client.py
Line 16 “from pymodbus.mei_message import ReadDeviceInformationRequest” should be: “from pymodbus.pdu.mei_message import ReadDeviceInformationRequest” - I reloaded the HA configuration files, and the add-on appears next to the other add-ons.
- In the configuration tab, following Oleg’s directions:
(see next post, as I can only upload one media item - this is my first post).
HA set-up
Using the MQTT explorer, I could easily see all data that the dongle server sends out. You may have to wait a while, but it’s all there, just like Oleg showed above.
For my purposes I added this mqtt:-section in the configuration.yaml.
mqtt:
sensor:
- name: "input voltage"
unique_id: input_voltage
state_topic: "home/epever-solar/epever/data"
value_template: '{{ value_json["chargingInputVoltage"] }}'
unit_of_measurement: "V"
device:
identifiers: Tracer2210AN
manufacturer: "Epever"
name: ReRuBabs_solar
model: "V01.02"
- name: "input current"
unique_id: station_input_current
state_topic: "home/epever-solar/epever/data"
value_template: '{{ value_json["chargingInputCurrent"] }}'
unit_of_measurement: "A"
device:
identifiers: Tracer2210AN
manufacturer: "Epever"
name: ReRuBabs_solar
model: "V01.02"
- name: "input power"
unique_id: station_input_power
state_topic: "home/epever-solar/epever/data"
value_template: '{{ value_json["chargingInputPower"] }}'
#last_reset_value_template: "{{value_json.lastUpdate | int | timestamp_custom('%d.%m.%Y %H:%M'}}"
unit_of_measurement: "W"
device:
identifiers: Tracer2210AN
manufacturer: "Epever"
name: ReRuBabs_solar
model: "V01.02"
- name: "battery charging voltage"
state_topic: "home/epever-solar/epever/data"
unique_id: station_battery_charging_voltage
value_template: '{{value_json["chargingOutputVoltage"] }}'
unit_of_measurement: "V"
device_class: voltage
device:
identifiers: Tracer2210AN
manufacturer: "Epever"
name: ReRuBabs_solar
model: "V01.02"
- name: "battery charging current"
state_topic: "home/epever-solar/epever/data"
unique_id: station_battery_charging_current
value_template: '{{value_json["chargingOutputCurrent"] }}'
unit_of_measurement: "A"
device_class: current
device:
identifiers: Tracer2210AN
manufacturer: "Epever"
name: ReRuBabs_solar
model: "V01.02"
- name: "battery charge level"
state_topic: "home/epever-solar/epever/data"
unique_id: station_battery_charge_level
value_template: '{{value_json["batterySoC"] }}'
unit_of_measurement: "%"
device_class: battery
device:
identifiers: Tracer2210AN
manufacturer: "Epever"
name: ReRuBabs_solar
model: "V01.02"
- name: "charging status"
state_topic: "home/epever-solar/epever/status"
unique_id: station_charging_status
value_template: '{{value_json["equipmentStatus"]["battery"] }}'
device:
identifiers: Tracer2210AN
manufacturer: "Epever"
name: ReRuBabs_solar
model: "V01.02"
It’s straightforward to add more parameters if you like, but for me this is sufficient.
Next post shows how it looks like (I’m limited in media uploads, as before)
I hope this helps others too!
First of all: Thank you SO MUCH ReRuRabs for helping us out with this. You’re a star.
I get an unspecified syntax error after replacing the typo. Can you confirm that this is what it should look like?
...
import paho.mqtt.client as mqtt
from pymodbus.client import ModbusTcpClient
from pymodbus.transaction import ModbusRtuFramer as ModbusFramer
from pymodbus.*pdu.*mei_message import ReadDeviceInformationRequest
root = logging.getLogger()
root.setLevel(logging.INFO)
...
Hi, I just noticed additional symbols in my edit, that shouldn’t be there.
This is correct (and I updated my text too):
- Corrected a typo in the file epever-solar-client.py
Line 16 “from pymodbus.mei_message import ReadDeviceInformationRequest” should be: “from pymodbus.pdu.mei_message import ReadDeviceInformationRequest”
Brilliant! It’s working. I’ve been looking for a solution for this for years and you came to the rescue an hour after I got the RJ45 D in the mail. Thank you!
Hello, I have this error trying to start the local addon:
Starting EPEVER solar client…
Traceback (most recent call last):
File “//./epever-solar-client.py”, line 15, in
from pymodbus.transaction import ModbusRtuFramer as ModbusFramer
ImportError: cannot import name ‘ModbusRtuFramer’ from ‘pymodbus.transaction’ (/usr/local/lib/python3.12/site-packages/pymodbus/transaction.py)
Can you help.
I’m sorry, I’m not a well-educated software engineer. I just googled the error messages I encountered, and tried the solutions I found online.
For your question someone else with real software skills and experience with python and such topics is needed.
Hopefully someone is interested in picking up this task.
guys, sorry, let me fix my stupid typo,
the latest version
https://pymodbus.readthedocs.io/en/latest/source/library/pymodbus.html
but when I was developed this
https://pymodbus-n.readthedocs.io/en/stable/source/library/pymodbus.html#module-pymodbus.mei_message
so you right,
Hi, many thanks i think i’ve got everything well connected but i got an error :
Starting EPEVER solar client…
2024-11-21 21:39:44,896 - epever-solar-client - INFO - Epever solar client started…
2024-11-21 21:39:44,898 - epever-solar-client - INFO - Running in hass.io add-on mode
2024-11-21 21:39:44,900 - epever-solar-client - INFO - Debugging messages enabled
2024-11-21 21:39:44,908 - epever-solar-client - INFO - Running method get_device_info
2024-11-21 21:39:44,944 - epever-solar-client - INFO - Running…
2024-11-21 21:39:51,057 - epever-solar-client - ERROR - Modbus Error: [Input/Output] No Response received from the remote slave/Unable to decode response
2024-11-21 21:39:51,058 - epever-solar-client - ERROR - get_device_info
2024-11-21 21:39:51,059 - epever-solar-client - INFO - Running method get_battery_settings
2024-11-21 21:39:57,077 - epever-solar-client - ERROR - Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 4 bytes (0 received)
2024-11-21 21:39:57,078 - epever-solar-client - ERROR - get_battery_settings
2024-11-21 21:39:57,079 - epever-solar-client - INFO - Running method get_data
2024-11-21 21:40:03,097 - epever-solar-client - ERROR - Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 4 bytes (0 received)
2024-11-21 21:40:03,098 - epever-solar-client - ERROR - get_data
2024-11-21 21:40:03,100 - epever-solar-client - INFO - Running method get_battery_stat
2024-11-21 21:40:09,120 - epever-solar-client - ERROR - Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 4 bytes (0 received)
2024-11-21 21:40:09,121 - epever-solar-client - ERROR - get_battery_stat
2024-11-21 21:40:09,123 - epever-solar-client - INFO - Running method get_battery_status
2024-11-21 21:40:15,140 - epever-solar-client - ERROR - Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 4 bytes (0 received)
2024-11-21 21:40:15,141 - epever-solar-client - ERROR - get_battery_status
2024-11-21 21:40:15,143 - epever-solar-client - INFO - Running method get_battery_load
2024-11-21 21:40:21,162 - epever-solar-client - ERROR - Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 4 bytes (0 received)
2024-11-21 21:40:21,163 - epever-solar-client - ERROR - get_battery_load […]
how to check what’s wrong ? and how to check with mqtt explorer ? sorry !
Many thanks !
wrong configured device.
read this comment, please