You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Voice-activated solar monitoring for Enphase IQ Gateway systems. Users can check real-time solar production, battery status, consumption, and grid import/export with natural voice commands.
Suggested Trigger Words
"solar"
"how's my solar"
"solar status"
"solar production"
"battery level"
"battery status"
"am I exporting"
"grid status"
"solar today"
"enphase"
"solar panels"
Type
New community Ability
Improvement to existing Ability
Bug fix
Documentation update
External APIs
No external APIs
Uses external API(s):
Enphase Cloud API v4 (requires OAuth 2.0 authentication)
Requires: System ID, API key, OAuth client ID/secret, access/refresh tokens
Testing
Tested in OpenHome Live Editor
All exit paths tested (said "stop", "exit", etc.)
Error scenarios tested (API down, bad input, etc.)
Checklist
Files are in community/enphase-solar-monitor/
main.py follows SDK pattern (extends MatchingCapability, has register_capability + call)
README.md included with description, suggested triggers, and setup
resume_normal_flow() called on every exit path
No print() — using editor_logging_handler
No hardcoded API keys — using placeholders
No blocked imports (redis, connection_manager, user_config)
No asyncio.sleep() or asyncio.create_task() — using session_tasks
Error handling on all external calls
Tested in OpenHome Live Editor
Anything else?
Demo Mode Included:
The ability includes a DEMO_MODE = True flag that returns realistic fake data for testing without real Enphase credentials. Perfect for trying out the conversation flow before connecting a real system.
User: "enphase"
Assistant: "Sure! Let me check your solar system."
Assistant: "You're producing 4.2 kilowatts right now."
Assistant: "Today you've generated 28.0 kilowatt hours."
Assistant: "Your battery is at 73 percent and charging."
User: "what about consumption?"
Assistant: "You're using 3.1 kilowatts right now."
User: "stop"
Assistant: "Okay, talk to you later!"
@uzair401 I have fixed it, and Reopen the PR (#193) and now all the relevant files are within the community folder. Please check, and let me know if there is still an issue.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this Ability do?
Voice-activated solar monitoring for Enphase IQ Gateway systems. Users can check real-time solar production, battery status, consumption, and grid import/export with natural voice commands.
Suggested Trigger Words
Type
External APIs
/systems/{system_id}/summary,/systems/{system_id}/encharge,/systems/{system_id}/consumption_statsTesting
Checklist
community/enphase-solar-monitor/main.pyfollows SDK pattern (extendsMatchingCapability, hasregister_capability+call)README.mdincluded with description, suggested triggers, and setupresume_normal_flow()called on every exit pathprint()— usingeditor_logging_handlerredis,connection_manager,user_config)asyncio.sleep()orasyncio.create_task()— usingsession_tasksAnything else?
Demo Mode Included:
The ability includes a
DEMO_MODE = Trueflag that returns realistic fake data for testing without real Enphase credentials. Perfect for trying out the conversation flow before connecting a real system.Features:
Conversation Example:
Loom Demo: https://www.loom.com/share/0ae21d6369eb4310bc96446dd5f5923c
community/enphase-solar-monitor/
├── main.py
└── README.md