Jump to content
Genetry Solar Forums

Firmware Version 1.2r0


Sid Genetry Solar
 Share

Recommended Posts

Sometimes I wonder if I could be any slower at some things.......it's been MONTHS since the last firmware update release!

But there's a good reason for that: I've made multiple MAJOR overhauls to functionality and accessibility on the firmware.  And there's nothing worse than releasing an update that ends up being a major headache due to issues, etc., etc.

Several customers have been invaluable beta testers, and I am hoping that as a result of said real world testing, everything should be A-OK to go 😉

  • major improvements/redesigns on the WiFi functionality
    • FINALLY implement revised local server page.  First started on this over a year ago--but shelved it due to extremely serious instabilities.  Came back to it a couple months ago, and wrote things differently...it works really well now!
    • fix issues with the "Configure WiFi" captive portal, now when you connect to to the inverter's AP ("Configure WiFi"), it should automatically pop up a message/window/webpage on almost all phones/tablets/etc.
    • some minor tweaks/adjustments to JSON status data
    • DISABLE WiFi "sleep" mode if local server enabled: increases power usage ~0.25W, but decreases request response time from 800mS to 20mS.
  • add "WiFi Settings Delete" and "WiFi Board Reset" functions (WiFi tab)
  • complete revamp of WiFi/update mode flags (THESE SETTINGS WILL NOT CARRY OVER FROM PREVIOUS VERSIONS!)
    • revamp WiFi function handling, now you can specify "STA", "AP", or "AP+STA" WiFi modes
      • AP "hotspot" mode with WPA2 WiFi security.  Allows connecting a device to the inverter without a WiFi network.  (Wireless remote screen.)  Random password generated once and saved; you can see it on the "Configure WiFi" page.
    • adjustments/improvements to Update functionality
      • add "updater initialize" timeout (avoid infinite lockup on bad connection)
      • add HTTP error code feedback for Update qualification process (diagnostics) [bug report: @deeezz]
      • added audible firmware mismatch alarm [for @Sean Genetry Solar]
      • add "Firmware Upload" function for remote systems that don't have WiFi Internet access.  Now you can literally update an inverter with just a laptop/smartphone that has a GS firmware file on it.
        • NOTE: Only accessible if MQTT either cannot connect or is disabled.  A bit of security 😉.
  • revise TEMP screen display for Rev. C control board temperature sensors to differentiate between sets A / B
    • change ProCool calculation methodology (only affects customers using it!)
    • minor corrections/changes to fan speed control
  • STAT screen "peak watts" now reads single-cycle full peak watts (not 1sec averaged value).  May yet need some adjustments...
  • add option to display "Total KWH" or just "Inverter KWH" (i.e. not counting pass-thru grid power) on OUT screen
  • revise oscilloscope "DAMP" and "DVLT" screens to provide "after-error" info
    • add "SYNC" channel for debug purposes
    • renumber all oscilloscope channels from 1 instead of 0
    • add "ERROR" bar to indicate where inverter tripped
  • some adjustments to solve random "Xformer Polarity" errors
  • first support for "AC Volt Relay Error" protection (Rev. C2+)
  • Charge adjustments:
    • change "UPS" mode behavior (now charge is not "forced"; it is controlled by the charge threshold settings)
    • adjust charge throttle regulation (fix overvoltage on 12v inverters, hopefully prevent oscillations) [bug report: @Nilao]
    • adjust the charge waveform to increase efficiency, better PFC behavior.  Not perfect yet, but it's a lot better.
  • Fix voltage regulation bug for 120v single-phase inverters, should regulate much quicker [bug report: @Bossrox]
  • Fix bug in LCD driver causing rare random WiFi board crashes
    • also some LCD GUI implementation adjustments; may "feel" different than before.

 

Bugs I'm aware of (yeah, I've waited long enough to release this update--I can tweak these later!)

  • Power LED alternating between green & cyan.  This is a bit of a leftover from GTM (grid-tie master) charge functionality, as the charge rules have to be applied there as well--but it shouldn't be indicating charge unless there's actual backfeed power.
  • "Inverter Cooldown" often doesn't quite work as expected on inverters with Rev. C control boards (depending on internal setup).  To be frank, I find it a completely useless function--and the Rev. C hardware adjustments make it extremely difficult to implement as originally intended.  Letting this one slide for now.

 

Future Fixes/Features:

  • a lot of things involving line-synced power output, including:
    • Hybrid Input Limit, where if the loads exceed the configured max input amperage, it'll pull power from the batteries to make up the difference
    • Zero Export "Grid-Tie"
    • Parallel Mode (yeah, long time coming...I need to get back to it!)
    • Seamless ATS transitions from grid -> battery.  (Currently the battery -> grid transition is seamless, but not the return.)
      • note that "power loss" transitions never will be seamless.  It's not feasibly possible.

 

The vast majority of the tweaks/changes are to the WiFi board code.  The revised local server is a huge accomplishment...many thanks to @kazetsukai for rewriting my Hillbilly Javascript into proper JS...and @NotMario for the custom gauges that have such a beautifully tiny zero-dependency footprint.  After you see that pretty GUI, just remember that the ENTIRE local server webpage totals 41.6KB!  These days a single "JQuery" include will run you nearly TWICE the size--and give you absolutely nothing to show for it without further code!

 

Local server is considerably different now.  If you try to access "/remote.htm" or "/status.htm", it will instead simply provide "/index.htm" (instead of redirecting, as that's a lot more complicated than simply serving a different file!)

To specify the screen mirror as a bookmark, you would now access "/index.htm#remote".  And now the WiFi setup is right there on another tab...easily accessible.

 

As of right now, this update is only for GS inverters with Rev. C control boards.  I need to take a moment to update the A.1 / B board inverter code as well to this point.  A lot of the more advanced power handling/monitoring features are only possible due to the added monitoring on the Rev. C control boards--so not all of the functionality will be available on the older boards.  But the fancy local server and GUI stuff will 😉.
And yes, I do know I said this about 1.1r6 too....which obviously didn't happen.

 

Ah, the joys of firmware updates...the nervousness of hoping that everything's all good and rosy 😉.  (BTW You'll need to set your inverter on "Rev." or "Minor" to see this update.)

As always, any issues / suggestions, let me know.  I can't do anything about bugs I don't know about.

Link to comment
Share on other sites

Hey, let me check the last time i got an update for my Sigineer inverter... ah ha.. never! LOL. You're doing alright.
FWIW, the gauge code can be "minified" quite a bit as my coding style is very namespace verbose.

Eagerly waiting for the Zero-Export Grid-Tie functionality. Now that i have AC Input, i'm at your disposal for testing AC-In related functionality.

Link to comment
Share on other sites

1 hour ago, Steve Trumann said:

I am having trouble getting the 1.2 update. The remote screen seems to work. But the diagnostic says I still have 1.6.

1.1r6 has remote screen ("/remote.htm"), not the unified redesigned local server in 1.2r0.

I am assuming that your inverter is showing you the option to "Get 1.2r0"?  And that you've tried downloading it?  Or what's happening?

Downloading/installing the update will take several minutes, and the inverter will automatically restart afterwards--so you'll definitely know if it's updated.

Link to comment
Share on other sites

1 minute ago, Steve Trumann said:

It says that I am up to date. It never got to the restart process.

2 things:

  • Can you confirm that your inverter has a Rev. C control board in it?  (STAT page -> second line.  Will show "A.1", "B", or "C".)  This update is only for Rev. C; I haven't back-ported it for the previous revisions (though I do plan to do so).
  • If your inverter IS a Rev. C unit, then is the "Update Branch" option on the WIFI page set to "Rev." or "Minor"?
Link to comment
Share on other sites

I'm beginning to suspect that the fault might be with your ISP....

...actually just went through that with @NotMario, where his ISP was corrupting up the file...causing the inverter to reject it.  He switched to a different ISP option, and *poof* inverter got the update without any issues.

I can see from the WiFi SSID that you're using AT&T...is that through a mobile hotspot by any chance?  Any other info you can provide about your ISP?

...I don't have a test bench that can replicate the issue, so it's awfully hard for me to solve it.

Link to comment
Share on other sites

Another thing to try is if you have access to the router is to change the SSID and connect the inverter to the new SSID this makes it so your inverter is all on its own on that network.  I know sounds dumb, but the last two updates I did the inverter got stuck in a reboot cycle trying to connect and download the update and that was the only way to get it out of that loop.  I am on on a PJ Genetry LCD upgraded inverter so not apples to apples different code base, but something to try to see if it helps.  Worked for me the last two times I updated since it just kept getting in that loop.  I am thinking there is something on my network that doesn't play well with connecting to the upgrade server.

Link to comment
Share on other sites

52 minutes ago, AquaticsLive said:

Another thing to try is if you have access to the router is to change the SSID and connect the inverter to the new SSID this makes it so your inverter is all on its own on that network.  I know sounds dumb, but the last two updates I did the inverter got stuck in a reboot cycle trying to connect and download the update and that was the only way to get it out of that loop.  I am on on a PJ Genetry LCD upgraded inverter so not apples to apples different code base, but something to try to see if it helps.  Worked for me the last two times I updated since it just kept getting in that loop.  I am thinking there is something on my network that doesn't play well with connecting to the upgrade server.

I need to get revised code down to your codebase as well.  Pretty sure the crash-looping was a fault with the WiFi baseline firmware--which has since been fixed.

The issue that I'm guessing is happening with @Steve Trumann is an ISP-related data corruption.  @NotMario was able to replicate it by duplicating the inverter's HTTP GET request with a CURL command on his laptop--and the ISP provided corrupted data.  It appears that if I change the HTTP request headers, the ISP won't corrupt the data--but I'm very hesitant to change the stock default request headers to solve this issue...because I have no idea whether it would pop up problematic elsewhere.

And FWIW the ISP that @NotMario was experiencing file corruption on?  AT&T.

If you don't mind answering @Steve Trumann what state are you in?

One solution included in the 1.2r0 update is...firmware uploads.  This would bypass the ISP data corruption issues--you would download the update file to your phone/laptop, and then directly upload it from said phone/laptop to the inverter.  Problem is, it's a catch-22: you have to get 1.2r0 before you can use that feature!

Link to comment
Share on other sites

3 hours ago, Sid Genetry Solar said:

I need to get revised code down to your codebase as well.  Pretty sure the crash-looping was a fault with the WiFi baseline firmware--which has since been fixed.

The issue that I'm guessing is happening with @Steve Trumann is an ISP-related data corruption.  @NotMario was able to replicate it by duplicating the inverter's HTTP GET request with a CURL command on his laptop--and the ISP provided corrupted data.  It appears that if I change the HTTP request headers, the ISP won't corrupt the data--but I'm very hesitant to change the stock default request headers to solve this issue...because I have no idea whether it would pop up problematic elsewhere.

And FWIW the ISP that @NotMario was experiencing file corruption on?  AT&T.

If you don't mind answering @Steve Trumann what state are you in?

One solution included in the 1.2r0 update is...firmware uploads.  This would bypass the ISP data corruption issues--you would download the update file to your phone/laptop, and then directly upload it from said phone/laptop to the inverter.  Problem is, it's a catch-22: you have to get 1.2r0 before you can use that feature!

The ISP in question is FirstNet. AT&T was contracted to build/maintain it and share antennae, but are otherwise separate networks.
FWIW, as long as the inverter will be happy with different headers (ie. there isn't some technical limitation preventing "identity" encoding from being usable), i would completely remove the Accept-Encoding header altogether, or set it to "identity". These days it's pretty unusual to use chunked encoding of any kind - especially for static files.

 

A quick and dirty solution for the layman would be to connect your inverter to your phone's hotspot. (assuming you don't have firstnet on your phone...)

Link to comment
Share on other sites

Thanks e everyone for the input. By the way I am in North Carolina. The internet and cell service has been very bad today. I do have a mini with a different carrier for emergency use. But I would have to get the inverter to talk to it. Then change it back to AT&T afterwards. That sounds like a lot of trouble to.

Link to comment
Share on other sites

19 hours ago, Steve Trumann said:

Thanks e everyone for the input. By the way I am in North Carolina. The internet and cell service has been very bad today. I do have a mini with a different carrier for emergency use. But I would have to get the inverter to talk to it. Then change it back to AT&T afterwards. That sounds like a lot of trouble to.

I understand, but if the inverter can't get an uncorrupted update file...there's not much we can do about it remotely.  Am looking into this issue with @NotMario, and we'll do some testing to see if we can "ruggedize" the inverter's HTTP connectivity a bit--which might solve the issue.  (But again, you'd need the update to get the solution!)

Link to comment
Share on other sites

On 8/10/2022 at 12:27 PM, Sid Genetry Solar said:

Seamless ATS transitions from grid -> battery.  (Currently the battery -> grid transition is seamless, but not the return.)
*note that "power loss" transitions never will be seamless.  It's not feasibly possible.

This note is referring to power-loss situations only, right? Manual and Automatic [elective] transfers can be seamless?

Link to comment
Share on other sites

@NotMario: worth noting, I can definitely "tighten up" the glitch on power-loss transfers.  Currently, the transfer delay is software extended...while the CPU waits to ensure that the AC output voltage is basically zero BEFORE it fires up the FETs (this to protect against direct AC backfeed into the inverter's output).  The problem is that all the feedback registers in the firmware are on a running 2-step average.  This means that even though power may go from 240v to 0v in one cycle, the average will run 240v -> 120v -> 60v -> 30v -> ah, 3 cycles after power actually disappeared, THEN it can enable the inverter mode.  That's what I'd like to tighten up for you to test.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...