Bug Report
PredBat version: v8.37.2
Inverter type: GS_fb00 (Ginlong Solis RHI-3P-10K-HVES-5G, FB00 firmware)
Solis Modbus integration version: v4.1.2
Problem
When using time entities for discharge_start_hour and discharge_end_hour,
PredBat crashes with TypeError when trying to execute discharge plan.
Error
TypeError: argument of type 'int' is not iterable
File "/config/execute.py", line 359, in execute_plan
inverter.adjust_force_export(True, discharge_start_time, discharge_end_time)
File "/config/inverter.py", line 2172, in adjust_force_export
self.write_and_poll_option("discharge_end_hour",
self.base.get_arg("discharge_end_hour", indirect=False, index=self.id),
int(new_end[:2]))
File "/config/inverter.py", line 1775, in write_and_poll_option
if old_value and (":" in old_value) and (":" in new_value)
and (len(old_value) == 5) and (len(new_value) == 8):
TypeError: argument of type 'int' is not iterable
Cause
Solis RHI-3P with FB00 firmware uses time entities instead of separate
hour/minute number entities. The time entities return a value like "22:00:00"
but PredBat passes an int to write_and_poll_option which then fails the
string check (":" in old_value).
apps.yaml configuration
discharge_start_hour:
- time.solis_rhi_3p_grid_time_of_use_discharge_start_slot_1
discharge_end_hour:
- time.solis_rhi_3p_grid_time_of_use_discharge_end_slot_1
Impact
PredBat crashes on every discharge execution attempt.
Charging works correctly. Export/discharge still works via
Solis own TOU settings but PredBat cannot actively control it.
Workaround
Currently running in Monitor mode to avoid crashes.
Bug Report
PredBat version: v8.37.2
Inverter type: GS_fb00 (Ginlong Solis RHI-3P-10K-HVES-5G, FB00 firmware)
Solis Modbus integration version: v4.1.2
Problem
When using time entities for discharge_start_hour and discharge_end_hour,
PredBat crashes with TypeError when trying to execute discharge plan.
Error
TypeError: argument of type 'int' is not iterable
File "/config/execute.py", line 359, in execute_plan
inverter.adjust_force_export(True, discharge_start_time, discharge_end_time)
File "/config/inverter.py", line 2172, in adjust_force_export
self.write_and_poll_option("discharge_end_hour",
self.base.get_arg("discharge_end_hour", indirect=False, index=self.id),
int(new_end[:2]))
File "/config/inverter.py", line 1775, in write_and_poll_option
if old_value and (":" in old_value) and (":" in new_value)
and (len(old_value) == 5) and (len(new_value) == 8):
TypeError: argument of type 'int' is not iterable
Cause
Solis RHI-3P with FB00 firmware uses time entities instead of separate
hour/minute number entities. The time entities return a value like "22:00:00"
but PredBat passes an int to write_and_poll_option which then fails the
string check (":" in old_value).
apps.yaml configuration
discharge_start_hour:
discharge_end_hour:
Impact
PredBat crashes on every discharge execution attempt.
Charging works correctly. Export/discharge still works via
Solis own TOU settings but PredBat cannot actively control it.
Workaround
Currently running in Monitor mode to avoid crashes.