Jump to content
Genetry Solar Forums

Firmware Version 1.1r6


Recommended Posts

Ah, here's a request that's pretty simple and could be useful for others...
A little more versatility on the Power Save Mode Timers.

I have a few appliances that have quite lengthy startup timers that would benefit from a "test-on time" of upwards of 2 minutes. Of course, you'd pair that with a much longer "off-time" of like 30 minutes, or even more.
Useful for "away from home" situations where HVAC-related power is the only thing needed.

This would also probably pair well with larger watt-thresholds. (Not sure what the limit is now, but i could see 100-500W thresholds being reasonable for some situations [mine would be 200W])
This may also require some heuristic enhancements as well - like wattage hysteresis over the much longer test period. Not sure what heuristics you're using now...

Anyway, yet another thought from me. lol

 

OOH, and if you're feeling froggy, that brings up the possibility of selectable/savable "power save" profiles. "Normal" "Vacation" "Winter", "Summer", etc.

Edited by NotMario
Link to comment
Share on other sites

1 hour ago, NotMario said:

I have a few appliances that have quite lengthy startup timers that would benefit from a "test-on time" of upwards of 2 minutes. Of course, you'd pair that with a much longer "off-time" of like 30 minutes, or even more.
Useful for "away from home" situations where HVAC-related power is the only thing needed.

Didn't even think of that...

...another one being newer 'fridges/freezers that will run a power-up compressor timeout.  Renders power-save just about useless with them, though I did hack my freezer to run the logic on 12v.  Means the compressor relay turns on "whenever", and when the inverter runs a powersave load check, the compressor starts.

I'll add it to the list.  It's just code timers, not like it's a significant issue.  Hardest part then would be the way the settings are stored, as the registers aren't quite big enough for that currently 😉.

  • Like 1
Link to comment
Share on other sites

On 3/20/2022 at 11:28 PM, Sid Genetry Solar said:

...another one being newer 'fridges/freezers that will run a power-up compressor timeout.  Renders power-save just about useless with them, though I did hack my freezer to run the logic on 12v.  Means the compressor relay turns on "whenever", and when the inverter runs a powersave load check, the compressor starts.

You can also use a thermometer-probe controlled outlet. When cold enough, it just doesn't close the circuit. No power, compressor wont start "whenever." When it warms up, the next load-test the outlet will close and the fridge will run.
Of course getting the probe in there becomes a "holey" situation... Also give you a cool digital readout of your fridge temp. 😮

I suspected register-size had something to do with the limits. Suspect 1<<16 jiffies or similar.

Edited by NotMario
Link to comment
Share on other sites

That would work for the compressor but it will screw with the defrost cycle timing.  The time of day is not known, and the state of the defrost cycle is not remembered between power cycles.  My own F&P fridge will do the compressor stall lockout delay, bring the cabinet back down to temperature and then do a defrost cycle after power up.  Fridges/freezers with a microcontroller running the show need to be powered 24 x 7, at least the microcontroller anyway.

External sensors switching the power to the fridge only really works with old dumb thermostat controls, and even then it screws with the defrost cycle interval since the timer motor will stop running, but at least it won't do excessive defrosts.  Of course, the defrost timer can be disabled in this style of fridge to save power but manual defrost is not something I miss one bit.

  • Like 2
Link to comment
Share on other sites

23 hours ago, Sid Genetry Solar said:

Didn't even think of that...

...another one being newer 'fridges/freezers that will run a power-up compressor timeout.  Renders power-save just about useless with them, though I did hack my freezer to run the logic on 12v.  Means the compressor relay turns on "whenever", and when the inverter runs a powersave load check, the compressor starts.

I'll add it to the list.  It's just code timers, not like it's a significant issue.  Hardest part then would be the way the settings are stored, as the registers aren't quite big enough for that currently 😉.

I figured the register size had something to do with the weird limits. lol Probably 1<<16 jiffies?

Do you mean the fridge/freezer always run the compressor on power on? At least in that case, you could have a temperature-probe based ac outlet just keep the power off to the fridge when it's cold enough. Else once it warms up, it closes the circuit and the inverter can detect it with the load test.
Of course, getting the probe in there is a "holey" matter.

27 minutes ago, TheButcher said:

That would work for the compressor but it will screw with the defrost cycle timing.  The time of day is not known, and the state of the defrost cycle is not remembered between power cycles.  My own F&P fridge will do the compressor stall lockout delay, bring the cabinet back down to temperature and then do a defrost cycle after power up.  Fridges/freezers with a microcontroller running the show need to be powered 24 x 7, at least the microcontroller anyway.

External sensors switching the power to the fridge only really works with old dumb thermostat controls, and even then it screws with the defrost cycle interval since the timer motor will stop running, but at least it won't do excessive defrosts.  Of course, the defrost timer can be disabled in this style of fridge to save power but manual defrost is not something I miss one bit.

Good point. Pick your poison, i guess.
I wonder if those super fancy fridges have an RTC on board...

FWIW, my original intent was that this configuration would usually be temporary, lasting only the duration of your absence. I'm not particularly fond of power-save mode for daily-driver use anyway - unless you jump off the deep end like Sid and hack all your appliances to run on DC...

Link to comment
Share on other sites

3 hours ago, NotMario said:

Do you mean the fridge/freezer always run the compressor on power on? At least in that case, you could have a temperature-probe based ac outlet just keep the power off to the fridge when it's cold enough. Else once it warms up, it closes the circuit and the inverter can detect it with the load test.

No.  "Compressor time-out" is a delay after power-on in which the compressor WILL NOT run, regardless of how warm it is inside the 'fridge.  This is to avoid tripping the thermal protector on the compressor (if there was a brownout while the compressor was running, and there's a high head pressure on the compressor.)

 

3 hours ago, TheButcher said:

That would work for the compressor but it will screw with the defrost cycle timing.  The time of day is not known, and the state of the defrost cycle is not remembered between power cycles.  My own F&P fridge will do the compressor stall lockout delay, bring the cabinet back down to temperature and then do a defrost cycle after power up.  Fridges/freezers with a microcontroller running the show need to be powered 24 x 7, at least the microcontroller anyway.

Automatic defrost on the MCU-based 'fridges is actually not based on a timer cycle (at least in the 'fridges I've seen).  They base the defrost cycle on a temperature sensor threshold on the evaporator coil (or whether [x] compressor time has elapsed without the refrigerator temperature being reached)--in other words, defrost is only run when necessary.

 

State of the defrost cycle being remembered: An older (2003?) GE Profile 'fridge I used for 2 years or so DID remember the defrost cycle across a power outage.  This actually became the refrigerator's demise--because the engineers presumably stored this "defrost state" in MCU EEPROM.  My guess is that the "automatic defrost" routine would just write to this EEPROM location--leaving another task to check the state of said EEPROM location, and decide to actually run the defrost.  What could possibly go wrong?

Well, that memory location evidently began to wear out.  The 'fridge randomly stopped running defrost cycles, and ended up COMPLETELY icing up the evaporator coil.  I pulled the thing apart, went through the service manual and verified that ALL the sensors and hardware were in working order.  It just wouldn't automatically run the defrost. 

Before you say, "the defrost heater burned out", or "the relay was faulty"--guess what: I could manually initiate a defrost cycle from the refrigerator's built-in "service mode" accessed via the display panel (proving that the MCU output, the relay driver, the relay, and the defrost heater circuits ALL were functioning).  Then the 'fridge would run another 4-5 days before icing up again.

 

Similar thing happened with a GE Profile HE washing machine: it slowly forgot how to run a spin cycle, eventually being completely unable to spin.  I managed to find a service manual, and went through all 7 diagnostic checks.  All of them passed except for the spin cycle: when I selected that test, the washing machine started a wash cycle.  And no, it wasn't a mechanical fault: I had a spare motor, and when I swapped JUST the board on the motor, the washing machine would run a spin cycle when requested.

Presumably, saving the washer state would allow the washer to handle a mid-cycle brownout: if it hadn't spun out, a power cycle would restart from a wash (as the length of the "brown out" would not be known, and rerunning a wash cycle would prevent sour clothes.)  But if said memory location was worn out, the automatic "brownout -> wash" function would instead result in any attempt to run a "spin cycle" be instead treated as a "brownout recovery -> wash."

 

Another thing that went senile as a result of worn-out EEPROM was an older "portable DVD player" with built-in LCD screen.  It slowly began to fail, and eventually became useless; we scavenged it for parts.  Well, one of the parts on the underside of the board was a Microchip PIC16F88.  Recognizing it, that it was reprogrammable ("F", not the OTP "C" variant), I desoldered it from the board.

Some time later, I put the chip to use in a project.  Storing some settings in the first few bytes of EEPROM.

Well, in debugging, I couldn't get it to work right.  No matter how hard I double- and triple-checked the code, the settings wouldn't "stick."

Guess what: I changed the settings location to the other end of the EEPROM memory, and *poof* the settings saved perfectly the first time.  The entire DVD player was rendered useless because the designers had literally worn out a few bytes of the non-volatile EEPROM memory.

 

Similar sort of problem that Tesla ran into fairly recently: https://www.eetimes.com/flash-wearout-drives-tesla-recall/

You may be wondering, "will GS inverters wear their memory out and fail prematurely?"  As the designer, I'm quite aware of the weakness of non-volatile EEPROM/FLASH memory--and no, there are no critically functional settings of this sort that are updated on a constant basis.  The only one that is (hourmeter) is implemented with a wear-leveling algorithm--and even if those memory locations DO wear out, it will not affect the inverter functionality.

  • Like 1
Link to comment
Share on other sites

Aging of the onboard EEPROM would sure do it.  It's a bit silly really.  What they should have done is use a NMI on power loss to quickly write the EEPROM data then but otherwise store it in RAM.  Serial eeproms with RAM backed by flash are handy for this too.  Write to the eeprom as per normal but only ever do a commit to flash on power loss.  Laser printers etc used to do that, not sure about today.

There was an early cloned and modified irdeto pay tv card to gain unauthorised access to programming, often referred to as a goldie.  The code needed too much RAM for what ever microcontroller was in the card so they used the eeprom for volatile storage too.  The cards had limited life spans because of that.

The F&P fridge I have seems to be interval based rather than checking for icing on the evaporator.  Same goes for an inverter LG I have.  The F&P definitely does the power on defrost cycle, not sure about the LG.  I should check it.

Link to comment
Share on other sites

5 minutes ago, Sid Genetry Solar said:

No.  "Compressor time-out" is a delay after power-on in which the compressor WILL NOT run, regardless of how warm it is inside the 'fridge.  This is to avoid tripping the thermal protector on the compressor (if there was a brownout while the compressor was running, and there's a high head pressure on the compressor.)

Ah, i see, basically the same problem i have with my boiler. Safety delay of at least 1 minute.

Have not noticed this with my garage freezer.

Link to comment
Share on other sites

32 minutes ago, TheButcher said:

What they should have done is use a NMI on power loss to quickly write the EEPROM data then but otherwise store it in RAM.  Serial eeproms with RAM backed by flash are handy for this too.  Write to the eeprom as per normal but only ever do a commit to flash on power loss.  Laser printers etc used to do that, not sure about today.

But when the manufacturer warranty is only 1 year ("limited" at that)--and the problem's showing up 15 years later...I don't think they're too concerned about it.

Watching for a power failure is surprisingly difficult without adding circuitry--which the bean counters probably wouldn't take, especially when they sorta plan for the unit to fail in a couple of years so you buy another one...

FRAM (ferroelectric random access memory) kind of bridges the worlds of FLASH and RAM...it doesn't wear out, and maintains state.  More expensive though.

Link to comment
Share on other sites

10 hours ago, NotMario said:

I suspected register-size had something to do with the limits. Suspect 1<<16 jiffies or similar.

Easiest solution is likely going to be defining a bit to change the setting radix from seconds to minutes.  Again, I do realize that this is a fringe usecase...but if necessary, it IS feasible.

Link to comment
Share on other sites

  • 2 weeks later...

@deeezz brought to my attention that with the 1.1r6 update, the battery voltage gauge on the remote server stopped working.  Turns out to be a case change in the JSON string ("BattV" vs "battV") from the inverter, and as most languages are case-sensitive, this resulted in the remote server not seeing the "BattV" key, causing no display of the battery voltage. 

This has now been fixed on the "wifi.genetrysolar.com" remote server--yeah, the whole remote server needs an overhaul anyhow, but that's life 😉.

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...