Inverter Controller#

pydantic model gdm.distribution.controllers.InverterController#

Inverter contoller represent the complete control settings for a given InverterEquipment. This model may be used with an instance of DistributionSolar, DistributionBattery or any other model that has an inverter.

field active_power_control: Annotated[ActivePowerInverterControllerBase | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Controller settings to control active power output of the inverter')] = None#

Controller settings to control active power output of the inverter

field name: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='', description='Name of the inverter controller.')] = ''#

Name of the inverter controller.

field night_mode: Annotated[bool, FieldInfo(annotation=NoneType, required=True, description='If True, the controller controls reactive power even when there is no active power.')] [Required]#

If True, the controller controls reactive power even when there is no active power.

field prioritize_active_power: Annotated[bool, FieldInfo(annotation=NoneType, required=True, description='If True, the controller tries to prioritize active power.')] [Required]#

If True, the controller tries to prioritize active power.

field reactive_power_control: Annotated[ReactivePowerInverterControllerBase | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Controller settings to control reactive power output of the inverter')] = None#

Controller settings to control reactive power output of the inverter

field uuid: UUID [Optional]#

Reactive Power Controls#

[](../../models/PowerfactorControlSetting.svg

pydantic model gdm.distribution.controllers.PowerfactorControlSetting#

Control settings for the Inverter Controller to represent power factor control. Works with both battery and solar systems. Controls reactive power output of the connected inverter

field name: Annotated[str, Field('', description='Name of the inverter controller.')] = ''#

Name of the inverter controller.

field power_factor: Annotated[float, FieldInfo(annotation=NoneType, required=True, description='The power factor used for the controller.', metadata=[Ge(ge=-1), Le(le=1)])] [Required]#

The power factor used for the controller.

field supported_by: Literal[ControllerSupport.BATTERY_AND_SOLAR] = ControllerSupport.BATTERY_AND_SOLAR#
field uuid: UUID [Optional]#

pydantic model gdm.distribution.controllers.VoltVarControlSetting#

Control settings for the Inverter Controller to represent volt / var control settings. Works with both battery and solar systems. Controls reactive power output of the connected inverter

field name: Annotated[str, Field('', description='Name of the inverter controller.')] = ''#

Name of the inverter controller.

field supported_by: Literal[ControllerSupport.BATTERY_AND_SOLAR] = ControllerSupport.BATTERY_AND_SOLAR#
field uuid: UUID [Optional]#
field var_follow: Annotated[bool, FieldInfo(annotation=NoneType, required=True, description='Set to false if you want inverter reactive power\n                        generation absorption to respect inverter status')] [Required]#

Set to false if you want inverter reactive power generation absorption to respect inverter status

field volt_var_curve: Annotated[Curve, FieldInfo(annotation=NoneType, required=True, description='The volt-var curve that is being applied.')] [Required]#

The volt-var curve that is being applied.

Active Power Controls#

pydantic model gdm.distribution.controllers.VoltWattControlSetting#

Control settings for the Inverter Controller to represent volt / watt control settings. Works with both battery and solar systems. Controls active power output of the connected inverter

field name: Annotated[str, Field('', description='Name of the inverter controller.')] = ''#

Name of the inverter controller.

field supported_by: Literal[ControllerSupport.BATTERY_AND_SOLAR] = ControllerSupport.BATTERY_AND_SOLAR#
field uuid: UUID [Optional]#
field volt_watt_curve: Annotated[Curve, FieldInfo(annotation=NoneType, required=True, description='The volt-watt curve that is being applied.')] [Required]#

The volt-watt curve that is being applied.

pydantic model gdm.distribution.controllers.PeakShavingBaseLoadingControlSetting#

Control settings for the Inverter Controller to represent peak shaving / base loading control settings. Works with battery systems only. Controls active power output of the connected inverter. If the loading on the controlled element exceeds peak_shaving_target, the battery discharges to shave off peak load. If the loading drops below the base_loading_target, the battery charges to maintain minimum loading.

field base_loading_target: Annotated[ActivePower, FieldInfo(annotation=NoneType, required=True, description='The base loading target.')] [Required]#

The base loading target.

field name: Annotated[str, Field('', description='Name of the inverter controller.')] = ''#

Name of the inverter controller.

field peak_shaving_target: Annotated[ActivePower, FieldInfo(annotation=NoneType, required=True, description='The peak shaving target.')] [Required]#

The peak shaving target.

field supported_by: Literal[ControllerSupport.BATTERY_ONLY] = ControllerSupport.BATTERY_ONLY#
field uuid: UUID [Optional]#

pydantic model gdm.distribution.controllers.CapacityFirmingControlSetting#

Control settings for the Inverter Controller to represent capacity firming control settings. Works with battery systems only. Controls active power output of the connected inverter

field max_active_power_roc: Annotated[ActivePowerOverTime, FieldInfo(annotation=NoneType, required=True, description='Maximum allowable rate of charge for active power on the controlled bus.')] [Required]#

Maximum allowable rate of charge for active power on the controlled bus.

field min_active_power_roc: Annotated[ActivePowerOverTime, FieldInfo(annotation=NoneType, required=True, description='Minimum allowable rate of charge for active power on the controlled bus.')] [Required]#

Minimum allowable rate of charge for active power on the controlled bus.

field name: Annotated[str, Field('', description='Name of the inverter controller.')] = ''#

Name of the inverter controller.

field supported_by: Literal[ControllerSupport.BATTERY_ONLY] = ControllerSupport.BATTERY_ONLY#
field uuid: UUID [Optional]#

pydantic model gdm.distribution.controllers.TimeBasedControlSetting#

Control settings for the Inverter Controller to represent time based charge / discharge control settings. Works with battery systems only. Controls active power output of the connected inverter

field charging_end_time: Annotated[time, FieldInfo(annotation=NoneType, required=True, description='The time at which the battery stops charging.')] [Required]#

The time at which the battery stops charging.

field charging_power: Annotated[ActivePower, FieldInfo(annotation=NoneType, required=True, description='The power to charge the battery.')] [Required]#

The power to charge the battery.

field charging_start_time: Annotated[time, FieldInfo(annotation=NoneType, required=True, description='The time at which the battery starts charging.')] [Required]#

The time at which the battery starts charging.

field discharging_end_time: Annotated[time, FieldInfo(annotation=NoneType, required=True, description='The time at which the battery stops discharging.')] [Required]#

The time at which the battery stops discharging.

field discharging_power: Annotated[ActivePower, FieldInfo(annotation=NoneType, required=True, description='The power to discharge the battery.')] [Required]#

The power to discharge the battery.

field discharging_start_time: Annotated[time, FieldInfo(annotation=NoneType, required=True, description='The time at which the battery starts discharging.')] [Required]#

The time at which the battery starts discharging.

field name: Annotated[str, Field('', description='Name of the inverter controller.')] = ''#

Name of the inverter controller.

field supported_by: Literal[ControllerSupport.BATTERY_ONLY] = ControllerSupport.BATTERY_ONLY#
field uuid: UUID [Optional]#

pydantic model gdm.distribution.controllers.SelfConsumptionControlSetting#

Control settings for the Inverter Controller to represent self comsumption control settings. Works with battery systems only. Controls active power output of the connected inverter

field name: Annotated[str, Field('', description='Name of the inverter controller.')] = ''#

Name of the inverter controller.

field supported_by: Literal[ControllerSupport.BATTERY_ONLY] = ControllerSupport.BATTERY_ONLY#
field uuid: UUID [Optional]#

pydantic model gdm.distribution.controllers.TimeOfUseControlSetting#

Control settings for the Inverter Controller to represent time of use control settings. Works with battery systems only. Controls active power output of the connected inverter

field charging_power: Annotated[ActivePower, FieldInfo(annotation=NoneType, required=True, description='The power to charge the battery after TOU window.')] [Required]#

The power to charge the battery after TOU window.

field name: Annotated[str, Field('', description='Name of the inverter controller.')] = ''#

Name of the inverter controller.

field supported_by: Literal[ControllerSupport.BATTERY_ONLY] = ControllerSupport.BATTERY_ONLY#
field tarriff: ... [Required]#
field uuid: UUID [Optional]#

pydantic model gdm.distribution.controllers.DemandChargeControlSetting#

Control settings for the Inverter Controller to represent demand charge focused control settings. Works with battery systems only. Controls active power output of the connected inverter

field charging_power: Annotated[ActivePower, FieldInfo(annotation=NoneType, required=True, description='The power to charge the battery after demand change window.')] [Required]#

The power to charge the battery after demand change window.

field name: Annotated[str, Field('', description='Name of the inverter controller.')] = ''#

Name of the inverter controller.

field supported_by: Literal[ControllerSupport.BATTERY_ONLY] = ControllerSupport.BATTERY_ONLY#
field tarriff: ... [Required]#
field uuid: UUID [Optional]#