diff --git a/apps/predbat/fox.py b/apps/predbat/fox.py index 1fde0e934..1c025f17c 100644 --- a/apps/predbat/fox.py +++ b/apps/predbat/fox.py @@ -29,6 +29,11 @@ # Define TIME_FORMAT_HA locally to avoid dependency issues TIME_FORMAT_HA = "%Y-%m-%dT%H:%M:%S%z" +# Fox integration config options +# When enabled, Predbat will not wire Fox PV energy/power entities into the +# standard pv_today/pv_power config arguments. +FOX_PV_IGNORE_CONFIG_KEY = "fox_pv_ignore" + BASE_TIME = datetime.strptime("00:00", "%H:%M") OPTIONS_TIME = [((BASE_TIME + timedelta(seconds=minute * 60)).strftime("%H:%M")) for minute in range(0, 24 * 60, 1)] OPTIONS_TIME_FULL = [((BASE_TIME + timedelta(seconds=minute * 60)).strftime("%H:%M") + ":00") for minute in range(0, 24 * 60, 1)] @@ -1674,12 +1679,15 @@ async def automatic_config(self): self.set_arg("load_today", [f"sensor.{self.prefix}_fox_{device}_loads" for device in batteries]) self.set_arg("import_today", [f"sensor.{self.prefix}_fox_{device}_gridconsumption" for device in batteries]) self.set_arg("export_today", [f"sensor.{self.prefix}_fox_{device}_feedin" for device in batteries]) - self.set_arg("pv_today", [f"sensor.{self.prefix}_fox_{device}_pvenergytotal_today" for device in pvs]) + fox_pv_ignore = self.base.get_arg(FOX_PV_IGNORE_CONFIG_KEY, default=False) + if not fox_pv_ignore: + self.set_arg("pv_today", [f"sensor.{self.prefix}_fox_{device}_pvenergytotal_today" for device in pvs]) self.set_arg("battery_rate_max", [f"sensor.{self.prefix}_fox_{device}_battery_rate_max" for device in batteries]) self.set_arg("battery_power", [f"sensor.{self.prefix}_fox_{device}_invbatpower" for device in batteries]) self.set_arg("grid_power", [f"sensor.{self.prefix}_fox_{device}_meterpower" for device in batteries]) self.set_arg("grid_power_invert", [True for device in batteries]) - self.set_arg("pv_power", [f"sensor.{self.prefix}_fox_{device}_pvpower" for device in pvs]) + if not fox_pv_ignore: + self.set_arg("pv_power", [f"sensor.{self.prefix}_fox_{device}_pvpower" for device in pvs]) self.set_arg("load_power", [f"sensor.{self.prefix}_fox_{device}_loadspower" for device in batteries]) self.set_arg("soc_percent", [f"sensor.{self.prefix}_fox_{device}_soc" for device in batteries]) self.set_arg("soc_max", [f"sensor.{self.prefix}_fox_{device}_battery_capacity" for device in batteries])