I’ve recently a new H1 in my place with a Wifi usb dongle. I’ve tried to log in with the integration with no success. I did a nmap to check which ports where open on the static ip that I’ve assigned to the device, but only ping answers. No other port is open.
In the other hand I’ve been able to use the integration thats connects to the esolar and gets the info from the cloud, but It’s not updated very often (every 5min) and I’m a bit scary that sometime in the future they break the integration and I lose all possibility to make automations based on this sensors.
Do you recommend me to change the usb dongle or, do you know if its possible to authorize by the installer to enable the ports , or is simply a feature that this device doesnt have ? Anyone has this dongle and is able to log in ?
My Inverter is an H1 and the dongle is this one. (WIFI+BLUETOOTH)
Hello. I also have a H1 with the same dongle. i spoke to SAJ and they said the dongle is the only one supported for the H1. No ip ports are open on mine as well. what i manage to see was the dongle uses MQTT to send updated to the cloud.
Hi, What @palmfields writes was also my finding. There is an article online where you can capture the mqtt traffic and do some DNS poisoning so the dongle writes data to your own mqtt server. But this is not very easy or even possible in some networks. Therefor i created the eSolar integration. If you would like you can increase the poll time you can do this in the sensor.py (overwritten after every update of the integration)
PS: i have choose 5 minutes to not overflood the API, as they probably do not know/approve of this integration and the API was not designed for this use. Also the dongle does not send data more frequently (so this properly is also your limit on MQTT)
So one possible approach could be to put a MQTT server in the midde poisoning dns to capture all trafic from the inverter, and then resend this info to the real MQTT server, so in case the guys from SAJ change anything on their side, we could continue getting the info from the inverter.
In the other hand, what I really would like to have is the ability to turn on battery charge from the power company in the moment that the power is cheaper. I can only do that with the front panel or with the bluetooth app, but I cannot find a easy way to automate start / stop charging based on power price and solar estimation.
Not knowing which mode you mostly run your inverter. I have mine always set to backup mode. I then have this Circuit Breaker between my inverter and mains.
The Circuit Breaker provides additional protection to the inverter and also comes with eWelink. I can control when my battery starts charging from Home Assistant.
I managed to get info from the AS1 and BS1 (they are combined when reading out data, this was recently changed by a firmware upgrade by SAJ).
My setup below (this is an extract from my sensors.yaml).
I do have to mention the pulling time is indeed 5 minutes, which is the refresh rate at which the online portal is updated. I am actually in contact with the developer team in China, to try and get this 5 min cap down, but they are not inclined to do this. I also gave the feedback that this was rediculous (they call this real-time…) and that not alot can be done with data so infrequently updated. They told me they are working on getting modbus protocols translated, but haven’t heard anything back in 6 weeks…
The firmware update was done by the SAJ team itself (I had some earlier issues with the batteries going offline because there was not enough production - I live in Belgium ergo not a lot of sun this time of the year).
I will pm you with the contact details of the chinese tech representative that handles my case.
No I use the data from the online platform above (the IP’s from the communciation module of the inverter are not reachable) and the AS1 itself doesn’t have an IP.
With the configuration in my post above, you should get an entity: “sensor.esolar_batenergypercent”(amongst many other esolar entities). This entity represents the SoC of your battery.
Btw, i just received the modbus definitions for the AS1, now to test if I can get all data out of the inverter itself on a real-time frequency.
Anybody that got the latest update with what is working with the esolar AIO3?
@BenV do you have the firmware version? I want to check with my version if it’s already installed or not.
BTW I’m also one of those people that live in the not so sunny belgium
Just to inform everyone, I managed to get the modbus protocols for the AS1 inverter (+ 1 BS module) from SAJ directly. I currently am able to pull everyting (300-400 different data sets) directly over the modbus connection (real time - 1s poll rate).
Only minor disadvantage, you have to disconnect the wifi/ethernet/bluetooth module (AIO3), in order to gain access to the RS232 port (which is an usb bus and via which the modbus communciation goes).
Not sure if this work on other Saj inverters, but might be worth a shot?
Probably it’s also possible to command/steer the inverter (several write-addresses were also made available) but i will not be testing this. Please PM if you would like to know more info.
Sorry if what I am going to say is silly, I am very new to these things… if it is a USB, couldn’t it just be split into 2 and connect the AIO3 to one of them and use the other to tinker with the RS232?
Not sure that will work. Typically serial communications (especially RS232) are one street-communication only, meaning that only one ‘master’ will be able to request the data. Besides using a modbus gateway, i’m not sure multiple request can be done on the serial bus of the Saj.
Not really sure as to why you would need the AOI3 module though, with this modbus pulling, you will be able to pull all information off the inverter on a real time basis (1 sec). Everything that i can think off can be pulled without having to do a lot of calculations. With this info that you pull, you can do whatever you want to visualize this in home assistant.
Updating the sofware will not work, but for that, you can decouple the modbus USB and recouple the AOI3 module if needed.
Hi!
I went for the dns server + mqtt proxy.
mqtt payload is binary data, sent every 10 seconds as “realtime_data”.
Does someone know about the format?
[djansen1987] mentioned some article regarding this but cannot find anything related