We welcome contributions to the Wallbox Monitor project! Whether it's bug fixes, new features, improvements to documentation, or support for new wallbox models, your help is appreciated.
Please take a moment to review this document to understand how you can best contribute.
There are several ways you can contribute to this project:
- Report Bugs: If you find a bug, please check the issues page to see if it's already reported. If not, open a new issue using the "Bug Report" template.
- Suggest Features: Have an idea for a new feature or an improvement? Open a new issue using the "Feature Request" template.
- Improve Documentation: Spot a typo, unclear explanation, or missing information in the
README.mdor other documentation? Feel free to submit a pull request with your changes. - Submit Code Changes (Pull Requests): If you've developed a fix or a new feature, we'd love to see it! Please follow the guidelines below for submitting pull requests.
- Support New Wallbox Models: This is a key area where we need your help! If you have a different wallbox model and would like to see it supported, please read the section below.
When reporting a bug, please use the provided Bug Report template and include as much detail as possible:
- Steps to reproduce: Clear, numbered steps that describe how to trigger the bug.
- Expected behavior: What you expected to happen.
- Actual behavior: What actually happened.
- Environment details: Wallbox model, Raspberry Pi model, OS, Python version, and script version.
- Screenshots/Logs: Any relevant screenshots or log output that can help diagnose the issue.
When suggesting a new feature or enhancement, please use the provided Feature Request template. Describe:
- The problem the feature solves.
- The proposed solution.
- Any alternative solutions you've considered.
Before submitting a pull request, please ensure you've:
- Forked the repository and created a new branch for your feature or bug fix.
git checkout -b feature/your-feature-name main # or git checkout -b bugfix/your-bug-fix-name main - Written clean, readable code that adheres to the existing code style.
- Tested your changes thoroughly.
- Updated any relevant documentation (e.g.,
README.md) if your changes introduce new features or modify existing behavior. - Written a clear, concise commit message that summarizes your changes.
- Ensured your branch is up-to-date with the
mainbranch of the upstream repository.
Once you're ready, submit your pull request and link it to any relevant issues.
Extending this script to support new wallbox models is a primary goal, but it requires specific information about the wallbox's web interface or API.
How you can help:
If you own a wallbox model not currently supported, and you're willing to assist, we'd appreciate your help in gathering the necessary data. This often involves:
-
Providing secure remote access to your local network/Wallbox interface: To properly integrate a new wallbox, we often need temporary, secure remote access to the wallbox's local web interface or API. This allows us to inspect the web interface, analyze network traffic, and identify the data points needed for monitoring.
- What we need: Typically, this means access to your local network (e.g., via VPN) or a securely exposed (e.g., port-forwarded) web interface/API endpoint of your wallbox. This allows us to run the Selenium-based analysis or directly interact with the wallbox's local API.
- Our commitment: We will only use this access to analyze the wallbox's communication and integrate its data into the script. We will not access or store any personal data. Access will be temporary and you can revoke it at any time once the integration is complete.
- Contact: Please reach out to me directly via Discord to discuss the details and arrange secure access. We can discuss options like an NDA if you have privacy concerns, although for an open-source project, this is less common.
-
Providing technical details (if remote access isn't possible): If secure remote access is not feasible for you, you might be able to provide information manually:
- Screenshots of your wallbox's local web interface: Especially the charging status, current power, and consumed energy.
- Browser developer console output: Network requests (XHR/Fetch) and their responses while charging is active.
- Any publicly available API documentation for your specific wallbox model.
Your collaboration is crucial for making this project compatible with a wider range of wallboxes!
If you have any questions about contributing, don't hesitate to open an issue or reach out directly on Discord.
Thank you for your interest in contributing to Wallbox Monitor!