Unable to edit schedule in app or web portal
H1 Gen 2 inverter.
I normally use Home Assistant Modbus to automate my charging times whenever I get off-peak electricity.
This has worked fine for 6 months.
Last night, the battery stopped charging.

As a backup plan, I'm trying to set a schedule using the Fox app.
If I click on work mode, toggle mode schedule to on, then try to edit a schedule, the app crashes:

[Build version: 2.2.19
Build date: 1981-01-01 01:01:02
Current date: 2026-07-26 15:19:03
Device: Samsung SM-X930

Stack trace:
java.lang.IllegalArgumentException: y + height must be <= bitmap.height()
at android.graphics.Bitmap.createBitmap(Bitmap.java:958)
at android.graphics.Bitmap.createBitmap(Bitmap.java:914)
at bfa.view2Bitmap(XPopupUtils.java:13)
at com.lxj.xpopup.core.BasePopupView.init(BasePopupView.java:74)
at com.lxj.xpopup.core.BasePopupView.onAttachedToWindow(BasePopupView.java:4)
at android.view.View.dispatchAttachedToWindow(View.java:24320)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3740)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3747)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3747)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3747)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4593)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3939)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:12916)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1901)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1910)
at android.view.Choreographer.doCallbacks(Choreographer.java:1367)
at android.view.Choreographer.doFrame(Choreographer.java:1292)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1870)
at android.os.Handler.handleCallback(Handler.java:995)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loopOnce(Looper.java:273)
at android.os.Looper.loop(Looper.java:363)
at android.app.ActivityThread.main(ActivityThread.java:9983)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:632)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)

User actions:
2026-07-26 15:03:30: ErrorActivity created
2026-07-26 15:03:30: ErrorActivity resumed
2026-07-26 15:03:36: ErrorActivity paused
2026-07-26 15:03:36: SplashActivity created
2026-07-26 15:03:36: SplashActivity resumed
2026-07-26 15:03:36: ErrorActivity destroyed
2026-07-26 15:03:38: SplashActivity paused
2026-07-26 15:03:38: MainActivity created
2026-07-26 15:03:38: MainActivity resumed
2026-07-26 15:03:38: SplashActivity destroyed
2026-07-26 15:03:40: MainActivity paused
2026-07-26 15:03:40: WorkModeListActivity created
2026-07-26 15:03:40: WorkModeListActivity resumed
2026-07-26 15:03:47: WorkModeListActivity paused
2026-07-26 15:17:14: WorkModeListActivity resumed
2026-07-26 15:17:16: WorkModeListActivity paused
2026-07-26 15:17:16: MainActivity resumed
2026-07-26 15:17:17: MainActivity paused
2026-07-26 15:17:17: LoginNewActivity created
2026-07-26 15:17:17: LoginNewActivity resumed
2026-07-26 15:17:17: WorkModeListActivity destroyed
2026-07-26 15:17:17: MainActivity destroyed
2026-07-26 15:17:24: LoginNewActivity paused
2026-07-26 15:17:24: MainActivity created
2026-07-26 15:17:24: MainActivity resumed
2026-07-26 15:17:24: LoginNewActivity destroyed
2026-07-26 15:17:32: MainActivity paused
2026-07-26 15:17:32: OverviewBatteryDetailActivity created
2026-07-26 15:17:33: OverviewBatteryDetailActivity resumed
2026-07-26 15:17:50: OverviewBatteryDetailActivity paused
2026-07-26 15:17:50: BatteryDetailsActivity created
2026-07-26 15:17:50: BatteryDetailsActivity resumed
2026-07-26 15:17:53: BatteryDetailsActivity paused
2026-07-26 15:17:53: OverviewBatteryDetailActivity resumed
2026-07-26 15:17:53: BatteryDetailsActivity destroyed
2026-07-26 15:18:07: OverviewBatteryDetailActivity paused
2026-07-26 15:18:07: MainActivity resumed
2026-07-26 15:18:07: OverviewBatteryDetailActivity destroyed
2026-07-26 15:18:28: MainActivity paused
2026-07-26 15:18:56: MainActivity resumed
2026-07-26 15:18:58: MainActivity paused
2026-07-26 15:18:58: WorkModeListActivity created
2026-07-26 15:18:58: WorkModeListActivity resumed
2026-07-26 15:19:03: WorkModeListActivity paused
2026-07-26 15:19:03: EditModeSchedulerActivity created
2026-07-26 15:19:03: EditModeSchedulerActivity resumed
]

If I try and access the mode scheduler via the v2 website portal by clicking Quick Settings, the only options I get are Battery Control and Power Limit.


Any ideas?
Re: Unable to edit schedule in app or web portal
No idea on the app crash, not seen that before - on the V2 website, scheduler is no longer in quick settings, instead click on the ‘Details’ button on Workmode, and drop down the list to choose mode scheduler.

But just wondering if your charging always used to work via modbus it still should, unless something has changed - a firmware update ?.

If you have had firmware updated, at the inverters panel, go into Settings, on-grid, Export Control and make sure that ImporlimitPwr is set to at least 12000 watts, and ImportLimitCurr is set to 100A
Re: Unable to edit schedule in app or web portal
It seems like the Fox app no longer works properly on Samsung tablets.
I loaded the Fox app on my iPhone, and I can edit a schedule.
Odd about the Samsung tablet thing, as that's how I originally set the battery up, before I switched to using Home Assistant.

I've actually had two Octopus Intelligent Go off-peak slots today, and HA controlled the battery as expected.

Last night was really strange.
Battery started charging as normal at 23:30
At 23:50, it switched to Backup Mode, and stopped charging.
At 03:30 it started charging again.
At 05:30 it switched back to Self-Use mode as normal.

The HA activity logs showed all kinds of unrequested changes going on with the inverter at 23:50, including Backup Mode, firmware versions, "period one" schedule times, etc.
For some reason, the Sensors area of the Modbus integration was showing Period One as On, with times of 03:30 to 05:30. I think this is what switched the battery back to Force Charge mode, but no idea why these times got set?

No idea why this all happened.
Looking at all the HA activity logs, none of my "local" wifi, ethernet, or Matter over Thread devices went unavailable last night. I did lose some Tapo (wifi, but through the "cloud") devices at around that time. Maybe the broadband went down?

My Shelly EM devices showed no loss of grid power last night.

Would losing the Fox Cloud connection (if the Internet did indeed go down) cause issues with local Modbus control?
Re: Unable to edit schedule in app or web portal
Sounds like you must have had an old charge period set for between 03:30-05:30 and you’ve never noticed because your HA is normally doing the mode switch.

Losing the cloud wouldn’t break the modbus connection but from what you have said it seems more likely your router may have rebooted (possibly a remote update) or there was an internet loss - the HA logs suggest that your Fox modbus integration lost it’s connection for a while as then all the erroneous activity logs will be it re-connecting and restating the states of all the sensors after it had re-connected.

The only thing to be wary of schedules is that you can’t have an active schedule and control the charge with HA at the same time, whatever the schedule is set to will take precedent.
Re: Unable to edit schedule in app or web portal
One of the reasons why I wanted to get to the Schedules was to see if anything was still set from 6 months ago. Nothing in there.
The other reason was finding out how to set a schedule if necessary when/if it plays up again.

I've not actually set anything, left it in basic self-use mode.
Post Reply