Setting Device Preferences
End-users need the ability to customize their device settings while maintaining the benefits of smart optimization. This page covers common preference settings for different device types.
Heat Pump Preferences
Set Temperature Range
Configure the heating temperature range to ensure user comfort while allowing optimization within boundaries:
curl -X PUT \
'https://app.podero.com/api/partners/v2.0/org/{org_id}/users/{user_id}/heat-pumps/{heat_pump_id}' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {auth_token}' \
-d '{
"maximum_temperature_limit": 21.5,
"minimum_temperature_limit": 19.0
}'
The optimization algorithm will work within these temperature boundaries to minimize costs while maintaining comfort.
Set Domestic Hot Water Temperature
Configure the standard and minimum domestic hot water (DHW) temperature:
curl -X PUT \
'https://app.podero.com/api/partners/v2.0/org/{org_id}/users/{user_id}/heat-pumps/{heat_pump_id}' \
-H 'Authorization: Bearer {auth_token}' \
-H 'Content-Type: application/json' \
-d '{
"dhw_standard_temperature": 48.0,
"minimum_dhw_temperature_limit": 40.0
}'
Enable/Disable Smart Optimization
Allow users to turn smart optimization on or off:
curl -X PUT \
'https://app.podero.com/api/partners/v2.0/org/{org_id}/users/{user_id}/heat-pumps/{heat_pump_id}' \
-H 'Authorization: Bearer {auth_token}' \
-H 'Content-Type: application/json' \
-d '{
"is_smart_optimization_active": true
}'
Set away mode to reduce energy consumption when the user is not home:
curl -X PUT \
'https://app.podero.com/api/partners/v2.0/org/{org_id}/users/{user_id}/heat-pumps/{heat_pump_id}' \
-H 'Authorization: Bearer {auth_token}' \
-H 'Content-Type: application/json' \
-d '{
"is_away_mode_enabled": true,
"away_mode_start": "2024-02-15T08:00:00Z",
"away_mode_end": "2024-02-20T18:00:00Z",
"away_mode_minimum_temperature_limit": 16.0,
"away_mode_minimum_dhw_temperature_limit": 35.0
}'
Electric Vehicle Preferences
Set Battery Charge Limits
Configure minimum and maximum battery charge levels:
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_min": 50,
"charge_limit_max": 80
}'
Setting a maximum charge limit below 100% can extend battery life and reduce costs.
Set Charge Deadline
Specify when the vehicle must be charged by:
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_deadline_at": "2024-02-16T07:00:00Z"
}'
Enable/Disable EV Optimization
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": false
}'
Energy Contract Preferences
Update Hourly Energy Prices
Provide hourly price data for optimization:
curl -X PUT \
'https://app.podero.com/api/partners/v2.0/org/{org_id}/users/{user_id}/energy-contracts/{energy_contract_id}' \
-H 'Authorization: Bearer {auth_token}' \
-H 'Content-Type: application/json' \
-d '{
"hourly_energy_price": [0.20, 0.20, 0.18, 0.14, 0.09, 0.09, 0.08, 0.09, 0.10, 0.15, 0.25, 0.31, 0.32]
}'
Update energy prices regularly (e.g., daily) to ensure optimal device scheduling based on current market conditions.
Common Preference Patterns
You only need to send the fields you want to update. Omitted fields remain unchanged. // Only update optimization status
{
"is_smart_optimization_active" : true
}
Update multiple settings in a single API call: {
"maximum_temperature_limit" : 22.0 ,
"minimum_temperature_limit" : 19.0 ,
"is_smart_optimization_active" : true ,
"dhw_standard_temperature" : 48.0
}
The API will validate your settings:
Temperature ranges must be logical (min < max)
Charge limits must be between 0-100
Dates must be in valid ISO 8601 format
Invalid values will return a 400 error with details
Best Practices
Provide clear UI controls for each preference
Show current values before allowing changes
Validate input on the client side before API calls
Provide feedback when preferences are saved
Allow users to customize while maintaining optimization benefits
Educate users about the impact of their settings
Suggest optimal ranges based on device type and location
Show estimated savings with different configurations
Handle validation errors gracefully
Provide clear error messages
Allow users to revert changes if save fails
Log preference changes for debugging
Next Steps