-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Firmware for Node-MCU? #1
Comments
Hi Martin, The firmware for the device is created using 'esphome': https://esphome.io/ Think of it like tasmota - but it has the key difference of building firmware specific for each device, rather than using the one firmware on all your devices. I'd suggest having a look at the esphome site, it has instructions for installation and flashing there. If you have any questions about this repository, external component and the sample yaml config - please do let me know. As per 'MQTT via USB serial' - for the inverter end, I provided a schematic for the device, please refer to that. On the other end (where you want the data to go!), you can configure esphome to connect to a MQTT server if you have one already. It also works quite seamlessly with home assistant if you use that (and that's what my sample config file does). Thanks, |
Hello and Thanks for the reply. I'll have a look into it. First task would be to read some data from the inverter ;) |
Hello, I'm back ;) since it was an easy and quick task, I gave the Ginlong API to access Soliscloud a try. It works really well. Actually, I did try this, because I could not find any information about the refresh rate. It's exactly 5 minutes .. so so slow :/ Since you grab the data from the RS485 bus: Does the inverter send some data only every 5 mins? Can you provide an information about the frequency, how often the solis pipes out some data? Martin |
Yes, the online API amalgamates what it receives and only provides 5 minute interval data. Also, the most recent data from Soliscloud can be a few more minutes old (maybe it takes a bit of time to process and add to the database) - so the latest value via that API can be 5-10 minutes old! I think different solis inverters work a little differently, so I can only speak for my S5 GR3P5K AU. This sends data on RS-485 at approximately 30 second intervals. The ESPHome firmware can buffer this and send to mqtt/home assistant at longer intervals if preferred (just set |
Alright, thank you for that information. but 30s sounds much better than 5 mins :) It may take a little but I have everything ready to grab the RS485 (converter, esp...). Right now I'm a bit busy with work .. grrr ... |
Hello, unless you got an idea, I guess we can close this. I spend hours to make some sense out of this. well well - it seems that the protocol has changed and I can't make heads or tails out of it.
and so on to get this I also tried to invert the data on the serial port, because I found that here: https://github.com/hn/ginlong-solis but still no luck. Without a proper description - the time I have to spend on this is wasted... especially it would bring (in my case) no advantage. See:
As you can see: This is actually the same update rate I get when using the API from GinLong ... This is so sad :( |
The following is promising, as it indicates the wifi stick is sending it's identity and data to the inverter with the same protocol as mine: Otherwise, looks like there's a fair bit more data coming out than I'd expected. Understandable this is frustrating; seems crazy to have so many random protocols from one manufacturer! ESPHome has a function to print serial data out to the log in hex, which might help either you or I decode it a bit more. You could try this in the config; it will hopefully print something a bit more intelligible than the string (although well done working out how to get that done).
Any other direct log of the data coming out of the inverter with the stick connected and otherwise working (preferably raw binary, or hex, rather than in string form?) I could take a look at. |
Example of the logging option added to config - see #e9f702b |
Hello! I think we use different stick with different controllers and firmware. See: hultenvp/solis-sensor#100 (reply in thread) I got the S3-WiFi-ST but most of the code is for the S2-WL-ST I also found: https://github.com/hn/ginlong-solis Since I did a lot in the Arduino IDE I am very close in giving that a try They write there: This means they use the S3-WiFi-ST (login is "admin" and "your WiFis password"). Since they also did the decoding of the hex-codes aswell, there would be no need to reinvent the wheel ;) |
I've got the S3 wifi stick, and was planning on attempting this later. If I send you the output file would you be able to help decode this? Looks like it does provide some output, and as I also need to keep the cloud component connected, I'm hoping this will work. Thanks |
Yeah please go for it!
Make sure to turn on the debug feature of the esphome UART bus to show the
raw messages, or any kind of raw serial log of the comms between the stick
and the inverter you can get is helpful.
Hopefully it will be close enough it will only take some minor tweaks to
work. Worst case might need to find the time to get stuck in but very least
I can help you having a crack at it.
…On Wed, 28 June 2023, 12:55 Jonathan Rider, ***@***.***> wrote:
I've got the S3 wifi stick, and was planning on attempting this later. If
I send you the output file would you be able to help decode this? Looks
like it does provide some output, and as I also need to keep the cloud
component connected, I'm hoping this will work.
Thanks
—
Reply to this email directly, view it on GitHub
<#1 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACA3FBBLLNG5PYQA4I7TJKLXNQLULANCNFSM6AAAAAATZUQLT4>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
I've attempted this, but not having any luck! Think it may be down to my poor soldering skills, but just not getting anything on the debug messages. I'll keep trying. |
I've given up on this, as I just couldn't get it to work. I connected the
uart port of the WiFi stick to my Pi and it looks like the data is sent to
the stick but not actually processed until it is sent to the Solis cloud.
So, no point trying to hack this as it doesn't get any better! The WiFi
stick S3 just seems so locked up that it isn't worth it.
…On Wed, 28 Jun 2023, 13:04 George, ***@***.***> wrote:
Yeah please go for it!
Make sure to turn on the debug feature of the esphome UART bus to show the
raw messages, or any kind of raw serial log of the comms between the stick
and the inverter you can get is helpful.
Hopefully it will be close enough it will only take some minor tweaks to
work. Worst case might need to find the time to get stuck in but very
least
I can help you having a crack at it.
On Wed, 28 June 2023, 12:55 Jonathan Rider, ***@***.***>
wrote:
> I've got the S3 wifi stick, and was planning on attempting this later.
If
> I send you the output file would you be able to help decode this? Looks
> like it does provide some output, and as I also need to keep the cloud
> component connected, I'm hoping this will work.
>
> Thanks
>
> —
> Reply to this email directly, view it on GitHub
> <
#1 (comment)>,
> or unsubscribe
> <
https://github.com/notifications/unsubscribe-auth/ACA3FBBLLNG5PYQA4I7TJKLXNQLULANCNFSM6AAAAAATZUQLT4>
> .
> You are receiving this because you commented.Message ID:
> ***@***.***>
>
—
Reply to this email directly, view it on GitHub
<#1 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALQ4KYA2QG2DY4XRKNUJQ3TXNQMTPANCNFSM6AAAAAATZUQLT4>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Hello,
thank you for this interesting description. I actually want to reproduce that, because I also want to keep the Solis WiFi Dongle and just "grab" the data.
You wrote, that "Node-MCU / Wemos or similar ESP8266 or ESP32 device" is needed. What firmware did you flash onto this device?
Maybe Tasmota?
Can you provide some information about that? I guess you set up a MQTT via USB serial? I would try to get the MCU in my LAN via WiFi...
Martin
The text was updated successfully, but these errors were encountered: