APIS
Autonomous Power Interchange System is an innovative open-source platform that enables Physical Peer-to-Peer (PP2P) energy sharing between distributed batteries in microgrids.
https://github.com/hyphae/apis
Category: Energy Storage
Sub Category: Battery
Last synced: about 10 hours ago
JSON representation
Repository metadata
- Host: GitHub
- URL: https://github.com/hyphae/apis
- Owner: hyphae
- License: apache-2.0
- Created: 2021-02-19T03:36:42.000Z (almost 5 years ago)
- Default Branch: add-license-1
- Last Pushed: 2025-12-22T20:25:05.000Z (2 days ago)
- Last Synced: 2025-12-23T04:29:01.167Z (2 days ago)
- Language: Makefile
- Size: 197 KB
- Stars: 29
- Watchers: 3
- Forks: 21
- Open Issues: 46
- Releases: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Governance: GOVERNANCE.md
- Notice: NOTICE.md
README.md
๐ APIS - Autonomous Power Interchange System
Share energy like sharing WiFi - Connect your batteries and let communities power themselves
๐ฏ What is APIS?
APIS is an innovative open-source platform that enables Physical Peer-to-Peer (PP2P) energy sharing between distributed batteries in microgrids. By leveraging Variable Renewable Energy (VRE) sources, APIS builds resilient microgrids that enhance community self-sufficiency and reduce dependency on traditional centralized power generation.
๐ Why This Matters
Imagine if your home battery could automatically share power with your neighbors when they need it, and get power back when you need it. That's exactly what APIS does!
- ๐ฐ Save Money: Share excess solar power instead of selling it back to the grid at low prices
- ๐ Stay Powered: Never run out of energy when your neighbors have extra
- ๐ฑ Go Green: Maximize renewable energy use in your community
- ๐ Be Independent: Reduce reliance on big power companies
- ๐ก๏ธ Build Resilience: Keep communities powered during grid outages
Click here for more details about the research behind APIS.
๐ง How It Works
Physical Peer to Peer (PP2P) Energy Sharing
APIS achieves precise energy sharing between batteries using constant current control. This technology:
- โ Offsets energy shortages by delivering the necessary amount from surplus batteries
- โ Enables fixed-amount power transfers between specific users (batteries)
- โ Supports P2P energy trading based on energy amount and price conditions
- โ Works where voltage control fails - providing true peer-to-peer transactions
Autonomous Distributed Control
The same software is installed on every battery system, creating a truly decentralized network where:
- ๐ค Smart Decision Making: Each system makes autonomous trading decisions
- โ๏ธ Flexible Conditions: Set different trading rules for each battery system
- ๐ Dynamic Updates: Change conditions for each time window
- ๐ Custom Parameters: Configure energy amount, pricing, and timing preferences
๐ Quick Start (5 Minutes)
Want to try it out? Here's how:
# 1. Get the code
git clone https://github.com/hyphae/APIS.git
cd APIS
# 2. Build everything
make build
# 3. Start the system
make run
That's it! Now open your web browser and go to:
| Service | URL | What You'll See |
|---|---|---|
| ๐ Main Controller | http://0.0.0.0:4382/ |
Primary dashboard and controls |
| ๐ง Hardware Emulator | http://0.0.0.0:4390/ |
Simulate batteries and DC/DC converters |
| ๐งช Testing Interface | http://0.0.0.0:10000/ |
System testing and validation tools |
| ๐ข Service Center | http://127.0.0.1:8000/static/ui_example/staff/visual.html |
Admin interface (login: admin/admin) |
Starting Your First Energy Exchange
- Access the Main Controller at
http://0.0.0.0:4382/ - Clear your browser cache (recommended for best performance)
- Set Global Mode to "Run" to start energy exchange simulation
- Watch the magic happen - energy will start flowing between simulated batteries automatically!
To stop the system:
make stop
๐ ๏ธ System Components
APIS consists of several interconnected software modules that work together seamlessly:
๐ Core Components (Essential for Basic Operation)
| Component | Purpose | What It Does |
|---|---|---|
| ๐ง apis-main | Energy Exchange Engine | Makes smart trading decisions and handles bi-directional energy flow with autonomous control (Documentation) |
| ๐ apis-main_controller | Visual Dashboard | Monitor system status and energy exchanges in real-time through an easy web interface (Documentation) |
| ๐ apis-web | Web Service Layer | Provides data and API services, connects everything to the internet securely (Documentation) |
| ๐ง apis-emulator | Hardware Simulator | Test the system without real batteries - simulates DC/DC converters and battery behavior (Documentation) |
๐ข Extended Services (For Advanced Users & Communities)
| Component | Purpose | What It Does |
|---|---|---|
| ๐ข apis-service_center | Community Management | Admin tools for managing large networks, user services, and cluster information Added Dec 24, 2020 (Documentation) |
| ๐ก apis-ccc | Communication Hub | Coordinates between different APIS networks and uploads energy sharing information Added Dec 24, 2020 (Documentation) |
| ๐ apis-log | Smart Analytics | Receives data via multicast and stores comprehensive system analytics in database Added Dec 24, 2020 (Documentation) |
| ๐งช apis-tester | Quality Assurance | Automated testing and evaluation framework for system validation Added Dec 24, 2020 (Documentation) |
โก Real Hardware Integration (For Production Deployments)
| Component | Purpose | What It Does |
|---|---|---|
| โ๏ธ apis-dcdc_batt_comm | Hardware Driver | Controls actual DC/DC converters and batteries (replaces emulator for real deployments) (Documentation) |
| ๐ apis-build_version_up_system | Deployment Tool | Automates multi-node software installation and configuration for production systems (Documentation) |
| ๐ apis-hw-info | Hardware Guide | Reference documentation for compatible hardware and technical specifications (Documentation) |
๐ป Installation Guide
๐ฅ๏ธ System Requirements
Tested Operating Systems:
- Ubuntu: 18.04, 20.04 โ
- CentOS: 7, 8 โ
- macOS: Catalina, Big Sur โ
โ ๏ธ Important: Virtual environments are not currently supported.
๐ Prerequisites
Before you start, make sure you have:
# Ubuntu/Debian systems:
sudo apt update
sudo apt install git make maven groovy python3-venv python3-pip
Also Required:
- Java Development Kit (JDK): Latest version
- Python: 3.6.9 or later
- SQLite: 3.8.3 or later (required for CentOS 7)
๐ Installation Steps
1. Clone the Repository
git clone https://github.com/hyphae/APIS.git
cd APIS
2. Build All Components
make build
This downloads and compiles all necessary software - takes 5-10 minutes
3. Start the System
make run
4. Verify Installation
- Open
http://0.0.0.0:4382/in your browser - You should see the APIS control panel
- All components should show as "Running" status
๐ง Troubleshooting
If you encounter issues:
- "Command not found" errors: Install all prerequisites first
- "make build" or "make run" fails: Open a new terminal and try again
- Port conflicts: Stop other web servers or restart your computer
- Permission issues: Check file permissions or try with appropriate privileges
๐ How to Use APIS
๐ฎ Basic Operations
Start the System:
make run
Monitor System Health:
- Check component status through the Main Controller interface
- Monitor energy flow patterns and transaction logs
- Review system performance metrics in the Service Center
Stop the System:
make stop
โ๏ธ Configuration
Energy Trading Setup:
- Access the web interfaces to modify transaction parameters
- Adjust energy trading conditions per time window
- Configure battery system preferences and constraints
- Set pricing rules and availability schedules
System Monitoring:
- Real-time energy flow visualization
- Transaction history and analytics
- Performance metrics and system health
- Community-wide energy balance reports
๐ Key Benefits
For Homeowners ๐
- ๐ฐ Lower Bills: Reduce electricity costs significantly
- ๐ Backup Power: Access community energy when your battery runs low
- ๐ค Fully Automatic: Set preferences once, let APIS handle everything
- ๐ฑ Easy Monitoring: Simple web interface accessible from any device
For Communities ๐๏ธ
- ๐ฑ Environmental Impact: Maximize clean energy use and reduce carbon footprint
- ๐ก๏ธ Disaster Resilience: Keep power flowing during grid outages and emergencies
- ๐ผ Economic Benefits: Keep energy money in the community
- ๐ Energy Independence: Reduce reliance on big power companies
For Developers ๐จโ๐ป
- ๐ Open Source: Free to use and modify under Apache License 2.0
- ๐ Well Documented: Comprehensive guides and API references
- ๐ค Active Community: Get help and contribute back
- โ Proven Technology: Already working in real installations worldwide
๐ค Contributing
We welcome contributions from the community! Here's how you can help:
๐ Ways to Contribute
Even if you're not a programmer:
- ๐ Improve documentation (fix typos, add examples)
- ๐งช Test new features and report bugs
- ๐ฃ๏ธ Help answer questions in forums
- ๐ข Share your APIS success stories
If you code:
- ๐ Fix bugs and improve stability
- โก Add new features and capabilities
- ๐ง Create better tools and interfaces
- ๐ Improve performance and efficiency
If you're a hardware person:
- ๐ Create drivers for new battery systems
- โ๏ธ Design better integration methods
- ๐ Contribute hardware compatibility guides
- ๐ ๏ธ Help with installation and setup
๐ Getting Started
- Fork the Repository: Create your own fork of the APIS project
- Create Feature Branch:
git checkout -b feature/your-feature-name - Make Changes: Implement your improvements or fixes
- Test Thoroughly: Ensure all tests pass and functionality works
- Submit Pull Request: Describe your changes and their benefits
๐ Contribution Guidelines
- Follow existing code style and conventions
- Include comprehensive tests for new features
- Update documentation for any API changes
- Provide clear commit messages and PR descriptions
๐ Getting Help & Support
๐ Self-Service Options
- ๐ Documentation: Most questions answered in our comprehensive guides
- ๐ GitHub Issues: Search existing problems and solutions
- ๐ฌ Community Forums: Ask and answer questions with other users
๐ Direct Support
- ๐ Bug Reports: Create a GitHub issue for bug reports
- ๐ก Feature Requests: Suggest improvements through GitHub issues
- ๐ Security Issues: Contact maintainers directly for sensitive matters
๐ License & Legal
APIS is released under the Apache License Version 2.0
What this means for you:
- โ Use it for free, forever
- โ Modify it however you want
- โ Use it in commercial products
- โ No fees or royalties
- โ Patent protection included
What you need to do:
- ๐ Include the license notice if you redistribute
- ๐ Note any changes you make
- ๐ That's pretty much it!
See the LICENSE file for all legal details.
See the NOTICE for additional notices.
๐ฏ What's Next for APIS
๐ Coming Soon
- ๐ฑ Mobile App: Control APIS from your smartphone
- โ๏ธ Cloud Integration: Connect with major cloud platforms
- ๐ค AI Optimization: Smarter energy trading decisions
- ๐ More Hardware: Support for additional battery brands
๐ Long-Term Vision
- ๐ Global Network: Connect APIS communities worldwide
- ๐ฑ Carbon Credits: Automatic environmental impact tracking
- ๐น Dynamic Pricing: Real-time energy market integration
- ๐ฅ Peer Review: Community-driven system improvements
๐ Ready to Get Started?
Choose your path:
๐ For Homeowners
Try the Quick Start guide above and start saving on your energy bills today!
๐จโ๐ป For Developers
Explore the system components and documentation to start building energy applications.
๐๏ธ For Communities
Set up APIS for your neighborhood and bring energy independence to your community.
๐ For Researchers
Contribute to the future of distributed energy systems through APIS development and research.
Made with โค๏ธ by the APIS Community - Powering the future, one battery at a time.
Owner metadata
- Name: Hyphae
- Login: hyphae
- Email: hyphae@lfenergy.org
- Kind: organization
- Description: By providing an Autonomous Power Interchange System (APIS), Hyphae automatically and efficiently distributes locally-produced renewable energy over a DC grid
- Website: https://www.lfenergy.org/projects/hyphae/
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/78509563?v=4
- Repositories: 1
- Last ynced at: 2023-03-06T21:27:44.236Z
- Profile URL: https://github.com/hyphae
GitHub Events
Total
- Create event: 10
- Issues event: 40
- Release event: 1
- Watch event: 18
- Issue comment event: 40
- Push event: 19
- Pull request review comment event: 5
- Pull request review event: 12
- Pull request event: 20
- Fork event: 13
Last Year
- Create event: 10
- Issues event: 40
- Release event: 1
- Watch event: 18
- Issue comment event: 40
- Push event: 19
- Pull request review comment event: 5
- Pull request review event: 12
- Pull request event: 20
- Fork event: 13
Issue and Pull Request metadata
Last synced: 2 days ago
Total issues: 36
Total pull requests: 16
Average time to close issues: 6 days
Average time to close pull requests: 4 months
Total issue authors: 5
Total pull request authors: 9
Average comments per issue: 0.31
Average comments per pull request: 0.38
Merged pull request: 6
Bot issues: 0
Bot pull requests: 0
Past year issues: 36
Past year pull requests: 14
Past year average time to close issues: 6 days
Past year average time to close pull requests: 1 day
Past year issue authors: 5
Past year pull request authors: 8
Past year average comments per issue: 0.31
Past year average comments per pull request: 0.36
Past year merged pull request: 4
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- RodKWATE (23)
- WillSams (6)
- axmsoftware (5)
- subhramit (1)
- 3akare (1)
Top Pull Request Authors
- WillSams (4)
- AkarshSahlot (3)
- axmsoftware (2)
- Venkata-Sai-Vishwanath-robo (2)
- Manpreets59 (1)
- BillBensing (1)
- werkmanne (1)
- HritikRaj2 (1)
- Souradip121 (1)
Top Issue Labels
- good first issue (2)
- documentation (1)
- bug (1)
Top Pull Request Labels
Dependencies
- actions/checkout b4ffde65f46336ab88eb53be808477a3936bae11 composite
- actions/upload-artifact 97a0fba1372883ab732affbe8f94b823f91727db composite
- github/codeql-action/upload-sarif v3 composite
- ossf/scorecard-action 0864cf19026789058feabb7e87baa5f140aac736 composite
Score: -Infinity