Replies: 4 comments 1 reply
-
So after a few hours of looking at it, it still does not look like any of the intended Modbus registers for 'time since last full charge' ie. slave 225 register 289, returns anything except a 0 value. A pity as that would be nice to just pull. So two possible ways are now explored, with both being an Automation triggered by Battery SOC = 100% AND Modbus slave 100 register 844 for Battery State = 0 (Idle = current stops flowing into battery). Normally the battery will be charging (Battery State = 1) until it gets to SOC 100%, and it will keep charging until it goes into Idle mode which means cells should be fully balanced etc. I'm going to also monitor Modbus slave 246 register 31 for Ve Bus State = 4 (Absorption), 5 (Float), 7 (Equalise) just to see if they show anything conclusive at full charge. The latter is because it may be that balancing only happens a time after Idle mode has started. It would be great to have a timer running on how long Idle mode has been on, but if any heavy appliance is run, there is sometimes a Discharge and that would interrupt the Idle mode timer (it was, say, 5 minutes). So I'm intending to set a very short time for the Idle mode like say 5 or 10 seconds to trigger full charge. Likewise a timer on the 100 SOC may not be reliable depending on how long the battery must charge at 100% to reach Idle mode. The two ways of storing the last full charge time and then counting down 7 days (168 hours) are:
Supposedly, both the timer and variable method should survive restarts (must be tested - update: timer does survive a restart of HA). The Var method offers a further advantage of being able to write it to a file in case it does not survive reboots. Also, the Var method better supports timedelta calculations, as I'm noticing by default the timer does not show as a number for a nice gauge view. But I'm aiming to finish the middle first (saving the full charge time and resetting it on trigger), then finalise card display and warning, and last actually define the trigger condition. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Interesting observations today after the battery SOC reached 100%:
For now I think this is good enough. If Float mode turns out to actually work, then I'll re-assess whether the trigger should rather change to Ve.Bus State=5. It is one simple change to the trigger of the automation, as everything else stays the same. |
Beta Was this translation helpful? Give feedback.
-
Here is the response from my installer regarding why I'm not seeing the Ve.Bus State enter Float Mode with the Lithium battery:
So the test being done for battery idle mode for 10 secs at 100% SOC seems to be the best one for establishing it is at a properly fully charged state. But I'm going to do another test on a sunny day and time exactly what happens during an hour after absorption mode starts, to see if it correlates with the idle time changes. |
Beta Was this translation helpful? Give feedback.
-
The problem is that if the battery is not regularly fully charged, it tends to have imbalanced cells, and this leads to incorrect SOC being shown. It happened to me during Winter that I ran the battery down to 30% for some weeks it never got a full 100% charge. One night the system just shut down and the SOC was actually around 35% I think. The installers said I should ensure that at least weekly I make sure it has a full 100% charge (and at 100% to balance the cells ie. until the charge current actually reaches close to 0A). This will usually be achieved in Summer months by solar alone, but in Winter it may require a manual switch to Ensure Battery Life, or similar mode, to get charged. I'm not sure yet about whether to automate that process, but I'll start with a warning alert.
The theory will be to start a counter running in Automations when SOC is 100% and the current to battery has dropped close to 0A. Then if that counter has elapsed 7 days, to give a warning. The counter just needs to restart every time the trigger conditions happen, as it may get a full charge every day even.
I'm aware there are registers that show a cell imbalance, for example, but no data seems to be changing or extracted from these registers. So part of this exercise will be to also have a relook at all available registers that provide any meaningful data.
Beta Was this translation helpful? Give feedback.
All reactions