Skip to main content

Electric Vehicle Attributes

Electric vehicle attributes are writable parameters that control charging behavior, optimization settings, and user preferences for charge limits and schedules.

Required Parameters

owner
string (UUID)
required
User ID that owns this electric vehicle.Example: 016b78a7-0c7c-4241-a277-015c3ad3cb90Writable: No (set at device creation)
device_model
string (UUID)
required
Device model identifier. Must be a valid UUID that your organization is authorized to use.Example: 016b78a7-0c7c-4241-a277-015c3ad3cb90Writable: Yes

Device Configuration

building
string (UUID)
Building ID where this vehicle is typically charged. Optional - vehicles can exist without building assignment.Example: 016b78a7-0c7c-4241-a277-015c3ad3cb90Writable: Yes

Optimization Control

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

Charge Limits

charge_limit_min
integer
Minimum charge level in percent that the vehicle should maintain.The vehicle will charge to at least this level when plugged in.Example: 10Range: 0-100Writable: Yes
charge_limit_max
integer
Maximum charge level in percent that the vehicle should reach by default.This is the target charge level for daily use. Most manufacturers recommend 80-90% for battery longevity.Example: 85Range: 0-100Writable: Yes
is_over_charge_allowed
boolean
Flag indicating whether charging above the maximum charge limit is allowed when electricity prices are exceptionally low.Enable this to take advantage of negative or very low prices for occasional full charges.Example: trueWritable: Yes

Charge Policy

Charge policies allow users to specify a required charge level by a specific deadline, ensuring the vehicle is ready for planned trips.
is_charge_policy_enabled
boolean
Flag indicating whether a charge policy is active.Example: trueWritable: Yes
charge_deadline_at
datetime
Timestamp when the specified charge level must be reached.Used in combination with minimum_charge_limit to ensure the vehicle is ready by a specific time.Example: 2023-03-22T13:54:34.000ZWritable: Yes
minimum_charge_limit
integer
Minimum charge level in percent that must be reached by the deadline specified in charge_deadline_at.This overrides normal charging optimization to prioritize meeting the deadline.Example: 75Range: 0-100Writable: Yes
charge_policy_last_updated_at
datetime
Timestamp when the charge policy was last updated. Read-only, automatically managed.Example: 2023-03-22T13:54:34.000ZWritable: No (system-managed)

Usage Examples

Configure Daily Charging

curl -X PUT \
  'https://app.podero.com/api/partners/v2.0/org/{org_id}/users/{user_id}/electric-vehicles/{device_id}' \
  -H 'Authorization: Bearer {auth_token}' \
  -H 'Content-Type: application/json' \
  -d '{
    "is_smart_optimization_active": true,
    "charge_limit_min": 20,
    "charge_limit_max": 80,
    "is_over_charge_allowed": false
  }'

Set Charge Deadline for Trip

curl -X PUT \
  'https://app.podero.com/api/partners/v2.0/org/{org_id}/users/{user_id}/electric-vehicles/{device_id}' \
  -H 'Authorization: Bearer {auth_token}' \
  -H 'Content-Type: application/json' \
  -d '{
    "is_charge_policy_enabled": true,
    "charge_deadline_at": "2024-01-15T07:00:00Z",
    "minimum_charge_limit": 90
  }'

Enable Opportunistic Full Charging

# Allow charging to 100% during low-price periods
curl -X PUT \
  'https://app.podero.com/api/partners/v2.0/org/{org_id}/users/{user_id}/electric-vehicles/{device_id}' \
  -H 'Authorization: Bearer {auth_token}' \
  -H 'Content-Type: application/json' \
  -d '{
    "charge_limit_max": 85,
    "is_over_charge_allowed": true
  }'

Pause Charging Temporarily

# Pause charging for 3 hours
curl -X PUT \
  'https://app.podero.com/api/partners/v2.0/org/{org_id}/users/{user_id}/electric-vehicles/{device_id}' \
  -H 'Authorization: Bearer {auth_token}' \
  -H 'Content-Type: application/json' \
  -d '{
    "pause_power_until_utc": "2024-01-15T16:00:00Z",
    "pause_power_active": true
  }'

Best Practices

  • Set charge_limit_max to 80-85% for daily use to maximize battery longevity
  • Use 100% charge only when needed for long trips
  • Set charge_limit_min high enough to cover unexpected trips (20-30%)
  • Enable is_over_charge_allowed to benefit from negative price events
  • Use charge policies for planned trips requiring specific charge levels
  • Set deadlines with enough buffer time for charging completion
  • Clear charge policies after the deadline passes
  • minimum_charge_limit in policy overrides charge_limit_max
  • Monitor charge_policy_last_updated_at to track changes
  • Keep is_smart_optimization_active enabled for cost savings
  • Use pause_power_until_utc for temporary manual control
  • Optimization works best with spot hourly energy pricing
  • Vehicle will always respect deadlines and minimum charge requirements
  • Link vehicle to building where it’s typically charged
  • Helps with building-level consumption tracking
  • Enables solar self-consumption optimization if inverter is present
  • Optional but recommended for multi-building users

Charge Policy Scenarios

Scenario: User needs 70% charge by 7 AM every weekday
# Set recurring daily deadline
tomorrow_7am = datetime.now() + timedelta(days=1)
tomorrow_7am = tomorrow_7am.replace(hour=7, minute=0, second=0)

update_vehicle({
    'is_charge_policy_enabled': True,
    'charge_deadline_at': tomorrow_7am.isoformat(),
    'minimum_charge_limit': 70,
    'charge_limit_max': 80
})

Understanding Charge Limits

The interaction between charge_limit_max, minimum_charge_limit, and is_over_charge_allowed determines charging behavior:
  • Normal operation: Charge to charge_limit_max (e.g., 80%)
  • With deadline: Charge to minimum_charge_limit by charge_deadline_at
  • Low prices + over-charge allowed: May charge above charge_limit_max up to 100%
  • Always maintain: Battery never drops below charge_limit_min