Complete guide to installing, configuring, and using the SmartHome Architect Agent.
- Installation
- Configuration
- Running the Agent
- Usage Patterns
- Advanced Features
- Troubleshooting
- Best Practices
- Python: 3.10 or higher
- Operating System: Windows, macOS, or Linux
- Memory: Minimum 4GB RAM
- Internet: Required for API calls
python --version
# Should show: Python 3.10.x or higher
# If not installed, download from:
# https://www.python.org/downloads/git clone https://github.com/nobitanobi22/SmartHome-Architect-Agent.git
cd SmartHome-Architect-Agent# Create virtual environment
python -m venv venv
# Activate it
# On Windows:
venv\Scripts\activate
# On Mac/Linux:
source venv/bin/activatepip install -r requirements.txtRequirements:
google-adk>=1.15.0- Agent Development Kitgoogle-generativeai>=0.8.3- Gemini APIpython-dotenv>=1.0.0- Environment management
- Go to Google AI Studio
- Click "Create API Key"
- Copy the generated key
Method 1: Environment Variable (Temporary)
# Mac/Linux
export GOOGLE_API_KEY="your_api_key_here"
# Windows Command Prompt
set GOOGLE_API_KEY=your_api_key_here
# Windows PowerShell
$env:GOOGLE_API_KEY="your_api_key_here"Method 2: .env File (Recommended)
# Create .env file
echo 'GOOGLE_API_KEY=your_api_key_here' > .envOr create .env manually:
GOOGLE_API_KEY=your_actual_api_key_here
Method 3: Python Script
import os
os.environ['GOOGLE_API_KEY'] = 'your_api_key_here'# test_setup.py
import google.generativeai as genai
from dotenv import load_dotenv
import os
load_dotenv()
api_key = os.getenv('GOOGLE_API_KEY')
if api_key:
print("β
API Key loaded successfully")
genai.configure(api_key=api_key)
print("β
Gemini configured successfully")
else:
print("β API Key not found")Run it:
python test_setup.pyadk webWhat happens:
- ADK starts local web server (usually port 8000)
- Opens browser automatically
- Shows available agents
- In the browser interface, you'll see: "SmartHome Architect Agent"
- Click to load the agent
- Chat interface appears
# Run agent in terminal
adk run agent:root_agentScenario: You have a room you want to renovate with a specific budget.
Step 1: Upload photo of your current room
Step 2: Type your request
Example:
User: "What can I improve in this kitchen with $20,000?"
[Upload: current_kitchen.jpg]
Agent Response:
β Analyzes your current space
β Identifies issues and opportunities
β Suggests budget-appropriate improvements
β Generates rendering showing renovation
β Provides budget breakdown
β Creates timeline and action plan
Scenario: You have a room and a Pinterest/magazine photo showing your desired style.
Step 1: Upload your current room photo
Step 2: Upload inspiration image
Step 3: Describe what you want
Example:
User: "Transform my bathroom to look like this modern spa style. What's the cost?"
[Upload 1: current_bathroom.jpg]
[Upload 2: inspiration_spa.jpg]
Agent Response:
β Analyzes current bathroom layout
β Extracts style elements from inspiration
β Identifies specific changes needed
β Estimates costs for transformation
β Generates rendering matching inspiration
β Provides complete renovation plan
Scenario: No photos, but you have a clear vision.
Provide detailed description including:
- Room type and dimensions
- Current state
- Desired style
- Budget
- Specific preferences
Example:
User: "I want to renovate my 10x12 bedroom. Currently has beige carpet,
white walls, and basic lighting. I love modern minimalist style with
gray accent wall, hardwood floors, and better lighting. Budget is $12,000.
Can you create a plan and show me what it would look like?"
Agent Response:
β Creates design based on description
β Selects appropriate materials
β Generates photorealistic rendering
β Provides budget breakdown
β Suggests timeline
Scenario: You have a rendering but want to make changes.
After initial rendering:
Step 1: Request specific changes
Step 2: Agent updates rendering
Step 3: Repeat until satisfied
Example:
[After initial kitchen rendering generated]
User: "Make the cabinets cream instead of white"
β Agent generates v2 with cream cabinets
User: "Add pendant lights over the island"
β Agent generates v3 with pendant lights
User: "Change backsplash to subway tile"
β Agent generates v4 with subway tile
All versions saved and tracked automatically.
Every rendering is automatically versioned:
kitchen_modern_v1.png # Original
kitchen_modern_v2.png # First edit
kitchen_modern_v3.png # Second edit
List all versions:
User: "Show me all versions"
Agent: Uses list_renovation_renderings tool
# Agents automatically track:
- Current room photos
- Inspiration images
- Generated renderings
- Edit history
# You can reference any by name:
User: "Use the first inspiration image"
User: "Apply style from pinterest_modern.jpg"User: "My budget is only $15k, show me what's possible"
Agent will:
β Prioritize high-impact changes
β Suggest cost-effective materials
β Phase renovation if needed
β Show must-haves vs nice-to-haves
User: "I want to renovate kitchen and bathroom. Kitchen budget: $25k,
bathroom budget: $12k. Can you plan both?"
Agent will:
β Create separate plans for each
β Consider shared contractors
β Optimize timeline for both
β Generate renderings for both
ASSESSMENT COMPLETE
Images Provided:
- Current room photo: Yes - 10x12 kitchen with oak cabinets
- Inspiration photo: Yes - Modern farmhouse style
Room Details:
- Type: Kitchen
- Current Analysis: Dated oak cabinets, laminate counters, poor lighting
- Desired Style: Modern farmhouse with white shakers
- Key Issues: Outdated finishes, insufficient lighting
- Budget Constraint: $25,000DESIGN COMPLETE
Renovation Scope: Moderate
Design Approach: Preserve layout
Materials Summary:
- Cabinets: Shaker style white (Benjamin Moore Simply White)
- Countertops: Carrara quartz
- Flooring: Light oak LVP
- Backsplash: White subway tile
- Hardware: Brushed nickel
- Lighting: Recessed LED + pendant over island## Renovation Plan
Budget Breakdown:
- Materials: $12,500
- Labor: $9,800
- Permits/fees: $1,200
- Contingency (10%): $2,350
- **Total: $25,850**
Timeline: 8-10 weeks
## π¨ Visual Rendering
[Photorealistic image generated]
## Action Checklist
1. Get 3 contractor quotes
2. Apply for permits
3. Order materials (4-week lead time)
4. Schedule installationSolution:
# Check if key is loaded
echo $GOOGLE_API_KEY # Mac/Linux
echo %GOOGLE_API_KEY% # Windows
# If empty, set it:
export GOOGLE_API_KEY="your_key" # Mac/Linux
set GOOGLE_API_KEY=your_key # WindowsSolution:
# Ensure virtual environment is activated
# Then reinstall:
pip install --upgrade google-adkPossible causes:
- Prompt not detailed enough
- API quota exceeded
- Network issues
Solution:
# Check API key permissions at:
# https://makersuite.google.com/app/apikey
# Ensure prompt includes:
# - Room type
# - Style
# - Colors
# - Materials
# - DimensionsSolution:
- Ensure a rendering was generated first
- Be specific in edit requests
- Check version history
User: "Show me all renderings"
# Agent lists all versions
User: "Edit version 2: make cabinets darker cream (Benjamin Moore Muslin OC-12)"
# Be very specific about what to change
Current Limitation: ADK Web has some limitations with image uploads. The agent can analyze images in the conversation but direct editing has constraints.
Workaround: Provide detailed descriptions alongside images:
User: [Upload kitchen photo]
"This is my 12x15 kitchen. Oak cabinets, white appliances, laminate counters.
There's a window over the sink and island in the center."
Bad:
User: "Renovate my kitchen"
Good:
User: "Renovate my 10x14 kitchen. Currently has oak cabinets, white
appliances, laminate counters, linoleum flooring. I want modern
farmhouse style with white shaker cabinets, quartz counters,
stainless appliances. Budget: $28,000"
- β Good lighting
- β Multiple angles
- β Show entire room
- β Clear, in-focus
- β Avoid dark, blurry, or partial views
Bad:
User: "Make it look nice"
Good:
User: "Modern farmhouse style: white shaker cabinets, natural wood
accents, marble-look quartz, matte black hardware, rustic lighting"
Use these guidelines:
- Cosmetic refresh: $50-100/sq ft
- Moderate renovation: $150-250/sq ft
- Full renovation: $300-500/sq ft
- Luxury transformation: $600-1200/sq ft
Make one change at a time:
User: "Change cabinets to cream"
[Wait for v2]
User: "Now add pendant lights"
[Wait for v3]
User: "Lighten the floor color"
[Get v4]
Renderings are saved automatically, but you can:
User: "I love version 3, can you save that as my final design?"
Agent: Confirms and can regenerate if needed
- Provide room dimensions
- Specify quality level (budget/mid-range/luxury)
- Mention existing conditions
- Include location if possible (costs vary by region)
-
Use specific color names with codes
- β "Benjamin Moore Simply White OC-117"
- β "white color"
-
Mention exact materials
- β "Carrara marble-look quartz countertops"
- β "nice countertops"
-
Describe lighting specifically
- β "3 recessed LED lights, 2 pendant lights over island"
- β "better lighting"
Mention:
- Your availability
- Any deadlines
- Seasonal considerations
- Contractor availability in your area
User: "What can you help me with?"
Agent: Provides system capabilities overview
User: "Show me an example"
Agent: Gives sample prompts
- GitHub Issues: Report bugs or request features
- Discussions: Ask questions, share results
- Examples: See what others have created
Ready to transform your space? Start chatting with the agent! π β¨