Buildings allow Partners to group devices by physical location, enabling better consumption tracking, billing accuracy, and optimization for users with multiple properties.
A user has a primary residence with a heat pump and a vacation house with solar panels and an EV:
Copy
# Create main housemain_house = create_building(user_id, { 'name': 'Main Residence', 'property_type': 'single_family_home'})# Create vacation housevacation_house = create_building(user_id, { 'name': 'Vacation House', 'property_type': 'single_family_home'})# Link heat pump to main houselink_device_to_building(heat_pump_id, main_house['id'])# Link solar and EV to vacation houselink_device_to_building(solar_inverter_id, vacation_house['id'])link_device_to_building(ev_id, vacation_house['id'])
When solar panels and energy-consuming devices are in the same building, Podero optimizes for maximum self-consumption:
Copy
# All devices at one locationbuilding = create_building(user_id, { 'name': 'Solar Home'})# Link all devices to same building for self-consumption optimizationlink_device_to_building(solar_inverter_id, building['id'])link_device_to_building(heat_pump_id, building['id'])link_device_to_building(ev_id, building['id'])
The optimization algorithm will prioritize using solar energy to power the heat pump and charge the EV when they’re in the same building.
Even with one property, creating a building helps organize devices and enables future expansion:
Copy
# Create default building for new userbuilding = create_building(user_id, {'name': 'Home'})# All devices go to this buildinglink_all_devices_to_building(building['id'])
Users with multiple properties benefit from separate buildings:
Copy
# Create buildings for each propertybuildings = { 'home': create_building(user_id, {'name': 'Main Home'}), 'vacation': create_building(user_id, {'name': 'Lake House'}), 'rental': create_building(user_id, {'name': 'Rental Property'})}# Assign devices based on locationassign_devices_to_locations(buildings)
Commercial users with multiple sites:
Copy
# Create buildings for business locationslocations = ['Store 1', 'Store 2', 'Warehouse', 'Office']buildings = { loc: create_building(user_id, {'name': loc, 'property_type': 'commercial'}) for loc in locations}