Skip to main content

Solar Inverter Attributes

Solar inverter attributes are writable parameters that control battery behavior, self-consumption optimization, and system configuration for photovoltaic installations.

Required Parameters

owner
string (UUID)
required
User ID that owns this solar inverter.Example: 016b78a7-0c7c-4241-a277-015c3ad3cb90Writable: No (set at device creation)
battery_policy
enum
required
Policy defining how the battery storage should be used.Options:
  • Optimize self consumption - Maximize use of solar power within the building
  • Optimize grid balancing - Support grid stability and benefit from grid services
  • Export all - Export all solar production to grid
Example: Optimize self consumptionWritable: Yes

Device Configuration

building
string (UUID)
Building ID this inverter belongs to. Optional - devices can exist without building assignment.Example: 016b78a7-0c7c-4241-a277-015c3ad3cb90Writable: Yes
device_model
string (UUID)
Device model identifier. Must be a valid UUID that your organization is authorized to use.Example: 016b78a7-0c7c-4241-a277-015c3ad3cb90Writable: Yes

Solar System Configuration

solar_power_rating_kw
float
Currently installed peak power rating of the solar system in kilowatts.Example: 10.2Writable: Yes
information_last_updated_utc
datetime
Timestamp when solar power rating, battery capacity, and user preferences were last updated. Read-only, automatically managed.Example: 2023-03-22T13:54:34.000ZWritable: No (system-managed)

Battery Configuration

battery_connected
boolean
Flag indicating whether the inverter has a storage battery connected.Set to false for solar-only installations without battery storage.Example: trueWritable: Yes
battery_capacity_kwh
float
Currently installed battery capacity in kilowatt-hours.Required if battery_connected is true.Example: 10.0Writable: Yes

Battery Charge Limits

user_limits_enabled
boolean
Flag indicating whether minimum and maximum charge limits from the user should be enforced.Example: trueWritable: Yes
min_battery_charge
integer
Minimum allowed battery charge level in percent.Battery will not discharge below this level, ensuring backup power availability.Example: 20Range: 0-100Writable: Yes
max_battery_charge
integer
Maximum allowed battery charge level in percent.Useful for battery longevity or to reserve capacity for grid services.Example: 100Range: 0-100Writable: Yes

Battery Policy

battery_policy_last_updated_utc
datetime
Timestamp when the battery policy was last updated. Read-only, automatically managed.Example: 2023-03-22T13:54:34.000ZWritable: No (system-managed)

Optimization Control

is_smart_optimization_active
boolean
Flag indicating whether Podero’s smart optimization is actively controlling the inverter and battery.Set to false to pause optimization without disconnecting the device.Example: trueWritable: Yes
pause_power_until_utc
datetime
Manual override timestamp to pause solar production until a specific time.Set to a future timestamp to temporarily stop export. Set to null to resume normal operation.Example: 2023-03-22T13:54:34.000ZWritable: Yes
pause_power_active
boolean
Flag indicating whether the manual power pause override is currently active.Example: trueWritable: Yes

Usage Examples

Configure Solar System with Battery

curl -X PUT \
  'https://app.podero.com/api/partners/v2.0/org/{org_id}/users/{user_id}/inverters/{device_id}' \
  -H 'Authorization: Bearer {auth_token}' \
  -H 'Content-Type: application/json' \
  -d '{
    "is_smart_optimization_active": true,
    "battery_policy": "Optimize self consumption",
    "solar_power_rating_kw": 10.2,
    "battery_connected": true,
    "battery_capacity_kwh": 13.5,
    "user_limits_enabled": true,
    "min_battery_charge": 20,
    "max_battery_charge": 100
  }'

Configure Solar-Only System (No Battery)

curl -X PUT \
  'https://app.podero.com/api/partners/v2.0/org/{org_id}/users/{user_id}/inverters/{device_id}' \
  -H 'Authorization: Bearer {auth_token}' \
  -H 'Content-Type: application/json' \
  -d '{
    "is_smart_optimization_active": true,
    "battery_policy": "Export all",
    "solar_power_rating_kw": 8.5,
    "battery_connected": false
  }'

Switch Battery Policy

# Change from self-consumption to grid balancing
curl -X PUT \
  'https://app.podero.com/api/partners/v2.0/org/{org_id}/users/{user_id}/inverters/{device_id}' \
  -H 'Authorization: Bearer {auth_token}' \
  -H 'Content-Type: application/json' \
  -d '{
    "battery_policy": "Optimize grid balancing"
  }'

Configure Battery Limits for Backup Reserve

# Reserve 30% battery for backup power
curl -X PUT \
  'https://app.podero.com/api/partners/v2.0/org/{org_id}/users/{user_id}/inverters/{device_id}' \
  -H 'Authorization: Bearer {auth_token}' \
  -H 'Content-Type: application/json' \
  -d '{
    "user_limits_enabled": true,
    "min_battery_charge": 30,
    "max_battery_charge": 90
  }'

Battery Policy Explained

Best for: Maximizing solar energy use within the buildingThe battery charges during excess solar production and discharges to meet household demand, minimizing grid imports.Benefits:
  • Highest self-consumption rate
  • Reduced electricity bills
  • Less grid dependency
Typical Use: Residential installations wanting energy independence

Best Practices

  • Set min_battery_charge to 20-30% to ensure backup power availability
  • Set max_battery_charge to 90-95% for battery longevity
  • Enable user_limits_enabled to enforce these limits
  • Adjust limits seasonally based on usage patterns
  • Keep solar_power_rating_kw updated if panels are added/removed
  • Update battery_capacity_kwh if battery is upgraded
  • Set battery_connected to false for solar-only installations
  • Review configuration after system maintenance
  • Use “Optimize self consumption” for most residential installations
  • Use “Optimize grid balancing” when enrolled in grid service programs
  • Use “Export all” when feed-in tariffs are favorable
  • Monitor battery_policy_last_updated_utc to track changes
  • Keep is_smart_optimization_active enabled for automatic optimization
  • Use pause_power_until_utc for temporary manual control
  • Pause during system maintenance or emergency situations
  • Set pause_power_until_utc to null to resume immediately

Self-Consumption Optimization

When configured for self-consumption optimization, the system coordinates with other smart devices (heat pumps, EVs) to maximize use of solar energy. For example:
  • Heat pump preheats water during peak solar production
  • EV charges during sunny afternoon hours
  • Battery stores excess for evening consumption
This multi-device coordination requires all devices to be linked to the same building.

Common Scenarios

# Configure newly installed 10kW system with 13.5kWh battery
update_inverter({
    'solar_power_rating_kw': 10.0,
    'battery_connected': True,
    'battery_capacity_kwh': 13.5,
    'battery_policy': 'Optimize self consumption',
    'user_limits_enabled': True,
    'min_battery_charge': 20,
    'max_battery_charge': 100,
    'is_smart_optimization_active': True
})
# Update system after battery retrofit
update_inverter({
    'battery_connected': True,
    'battery_capacity_kwh': 10.0,
    'battery_policy': 'Optimize self consumption',
    'user_limits_enabled': True,
    'min_battery_charge': 20,
    'max_battery_charge': 90
})
# Increase backup reserve for expected power outage
update_inverter({
    'user_limits_enabled': True,
    'min_battery_charge': 50,  # Reserve 50% for backup
    'battery_policy': 'Optimize self consumption'
})

# After emergency passes, return to normal
update_inverter({
    'min_battery_charge': 20
})
# Summer: More solar production, export surplus
update_inverter({
    'battery_policy': 'Optimize self consumption',
    'max_battery_charge': 100
})

# Winter: Less production, reserve more battery
update_inverter({
    'battery_policy': 'Optimize self consumption',
    'min_battery_charge': 30
})