package meter // Code generated by github.com/evcc-io/evcc/cmd/tools/decorate.go. DO NOT EDIT. import ( "github.com/evcc-io/evcc/api" ) func decorateHomeAssistant(base *HomeAssistant, meterEnergy func() (float64, error), phaseCurrents func() (float64, float64, float64, error), phaseVoltages func() (float64, float64, float64, error), battery func() (float64, error), batteryCapacity func() float64, batterySocLimiter func() (float64, float64), batteryPowerLimiter func() (float64, float64), batteryController func(api.BatteryMode) error, maxACPowerGetter func() float64) api.Meter { switch { case battery == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return base case battery == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.MeterEnergy }{ HomeAssistant: base, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.PhaseCurrents }{ HomeAssistant: base, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.PhaseVoltages }{ HomeAssistant: base, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatterySocLimiter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatterySocLimiter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatterySocLimiter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatterySocLimiter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatterySocLimiter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatterySocLimiter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatterySocLimiter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatterySocLimiter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatterySocLimiter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatterySocLimiter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatterySocLimiter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatterySocLimiter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatterySocLimiter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatterySocLimiter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatterySocLimiter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatterySocLimiter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.BatterySocLimiter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.BatterySocLimiter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.BatterySocLimiter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.BatterySocLimiter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.BatterySocLimiter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.BatterySocLimiter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.BatterySocLimiter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.BatterySocLimiter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.BatterySocLimiter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.BatterySocLimiter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.BatterySocLimiter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.BatterySocLimiter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.BatterySocLimiter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.BatterySocLimiter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.BatterySocLimiter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.BatterySocLimiter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatterySocLimiter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatterySocLimiter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatterySocLimiter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatterySocLimiter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatterySocLimiter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatterySocLimiter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatterySocLimiter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatterySocLimiter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatterySocLimiter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatterySocLimiter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatterySocLimiter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatterySocLimiter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatterySocLimiter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatterySocLimiter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatterySocLimiter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatterySocLimiter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter == nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.MaxACPowerGetter }{ HomeAssistant: base, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, } case battery == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.MaxACPowerGetter api.MeterEnergy }{ HomeAssistant: base, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.MaxACPowerGetter api.PhaseCurrents }{ HomeAssistant: base, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.MaxACPowerGetter api.PhaseVoltages }{ HomeAssistant: base, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.MaxACPowerGetter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.MaxACPowerGetter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.MaxACPowerGetter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.MaxACPowerGetter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.MaxACPowerGetter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.MaxACPowerGetter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.MaxACPowerGetter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.MaxACPowerGetter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.MaxACPowerGetter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.MaxACPowerGetter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.MaxACPowerGetter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.MaxACPowerGetter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.MaxACPowerGetter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.MaxACPowerGetter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatterySocLimiter api.MaxACPowerGetter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatterySocLimiter api.MaxACPowerGetter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatterySocLimiter api.MaxACPowerGetter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatterySocLimiter api.MaxACPowerGetter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatterySocLimiter api.MaxACPowerGetter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatterySocLimiter api.MaxACPowerGetter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatterySocLimiter api.MaxACPowerGetter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatterySocLimiter api.MaxACPowerGetter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.MaxACPowerGetter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.MaxACPowerGetter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.MaxACPowerGetter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.MaxACPowerGetter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.MaxACPowerGetter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.MaxACPowerGetter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.MaxACPowerGetter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.MaxACPowerGetter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.MaxACPowerGetter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.MaxACPowerGetter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController == nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.MaxACPowerGetter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.MaxACPowerGetter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.MaxACPowerGetter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.MaxACPowerGetter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.MaxACPowerGetter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.MaxACPowerGetter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.MaxACPowerGetter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.MaxACPowerGetter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.MaxACPowerGetter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.MaxACPowerGetter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.MaxACPowerGetter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.MaxACPowerGetter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatterySocLimiter api.MaxACPowerGetter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatterySocLimiter api.MaxACPowerGetter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatterySocLimiter api.MaxACPowerGetter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatterySocLimiter api.MaxACPowerGetter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatterySocLimiter api.MaxACPowerGetter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatterySocLimiter api.MaxACPowerGetter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatterySocLimiter api.MaxACPowerGetter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatterySocLimiter api.MaxACPowerGetter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter == nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.MaxACPowerGetter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.MaxACPowerGetter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.MaxACPowerGetter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.MaxACPowerGetter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.MaxACPowerGetter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.MaxACPowerGetter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.MaxACPowerGetter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.MaxACPowerGetter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.MaxACPowerGetter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.MaxACPowerGetter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter == nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity == nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages == nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents == nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy == nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } case battery != nil && batteryCapacity != nil && batteryController != nil && batteryPowerLimiter != nil && batterySocLimiter != nil && maxACPowerGetter != nil && meterEnergy != nil && phaseCurrents != nil && phaseVoltages != nil: return &struct { *HomeAssistant api.Battery api.BatteryCapacity api.BatteryController api.BatteryPowerLimiter api.BatterySocLimiter api.MaxACPowerGetter api.MeterEnergy api.PhaseCurrents api.PhaseVoltages }{ HomeAssistant: base, Battery: &decorateHomeAssistantBatteryImpl{ battery: battery, }, BatteryCapacity: &decorateHomeAssistantBatteryCapacityImpl{ batteryCapacity: batteryCapacity, }, BatteryController: &decorateHomeAssistantBatteryControllerImpl{ batteryController: batteryController, }, BatteryPowerLimiter: &decorateHomeAssistantBatteryPowerLimiterImpl{ batteryPowerLimiter: batteryPowerLimiter, }, BatterySocLimiter: &decorateHomeAssistantBatterySocLimiterImpl{ batterySocLimiter: batterySocLimiter, }, MaxACPowerGetter: &decorateHomeAssistantMaxACPowerGetterImpl{ maxACPowerGetter: maxACPowerGetter, }, MeterEnergy: &decorateHomeAssistantMeterEnergyImpl{ meterEnergy: meterEnergy, }, PhaseCurrents: &decorateHomeAssistantPhaseCurrentsImpl{ phaseCurrents: phaseCurrents, }, PhaseVoltages: &decorateHomeAssistantPhaseVoltagesImpl{ phaseVoltages: phaseVoltages, }, } } return nil } type decorateHomeAssistantBatteryImpl struct { battery func() (float64, error) } func (impl *decorateHomeAssistantBatteryImpl) Soc() (float64, error) { return impl.battery() } type decorateHomeAssistantBatteryCapacityImpl struct { batteryCapacity func() float64 } func (impl *decorateHomeAssistantBatteryCapacityImpl) Capacity() float64 { return impl.batteryCapacity() } type decorateHomeAssistantBatteryControllerImpl struct { batteryController func(api.BatteryMode) error } func (impl *decorateHomeAssistantBatteryControllerImpl) SetBatteryMode(p0 api.BatteryMode) error { return impl.batteryController(p0) } type decorateHomeAssistantBatteryPowerLimiterImpl struct { batteryPowerLimiter func() (float64, float64) } func (impl *decorateHomeAssistantBatteryPowerLimiterImpl) GetPowerLimits() (float64, float64) { return impl.batteryPowerLimiter() } type decorateHomeAssistantBatterySocLimiterImpl struct { batterySocLimiter func() (float64, float64) } func (impl *decorateHomeAssistantBatterySocLimiterImpl) GetSocLimits() (float64, float64) { return impl.batterySocLimiter() } type decorateHomeAssistantMaxACPowerGetterImpl struct { maxACPowerGetter func() float64 } func (impl *decorateHomeAssistantMaxACPowerGetterImpl) MaxACPower() float64 { return impl.maxACPowerGetter() } type decorateHomeAssistantMeterEnergyImpl struct { meterEnergy func() (float64, error) } func (impl *decorateHomeAssistantMeterEnergyImpl) TotalEnergy() (float64, error) { return impl.meterEnergy() } type decorateHomeAssistantPhaseCurrentsImpl struct { phaseCurrents func() (float64, float64, float64, error) } func (impl *decorateHomeAssistantPhaseCurrentsImpl) Currents() (float64, float64, float64, error) { return impl.phaseCurrents() } type decorateHomeAssistantPhaseVoltagesImpl struct { phaseVoltages func() (float64, float64, float64, error) } func (impl *decorateHomeAssistantPhaseVoltagesImpl) Voltages() (float64, float64, float64, error) { return impl.phaseVoltages() }