2.3 KiB
Nulleinspeisung
Overview
This project provides a Docker container (denshooter/nulleinspeisung) for managing solar energy systems. It's designed to optimize the use of energy generated by Hoymiles Wechselrichter, ensuring none of it is fed back into the grid. The container integrates with OpenDTU and Shelly 3EM Pro for effective energy management.
Credits
This project is inspired by and based on Selbstbau-PV's Hoymiles nulleinspeisung mit OpenDTU und Shelly3EM. Special thanks to the original authors for their foundational work.
Prerequisites
- Docker installed
- The python script in this repo
Configuration
Modify Nulleinspeisung.py with your specific setup details:
- Serial Number: Replace
<SERIAL_NUMBER>with your Wechselrichter's serial number. - Wechselrichter Output Range: Set
maximum_wrandminimum_wrfor output range in Watts. - OpenDTU Configuration: Update
dtu_ip,dtu_user, anddtu_passwordwith your OpenDTU's details. - Shelly IP: Change
shelly_ipto your Shelly 3EM Pro IP.
Running the Container
Use the following command to run the container, replacing /path/to/Nulleinspeisung.py with the actual script path:
docker run -d --name nulleinspeisung-container -v /path/to/Nulleinspeisung.py:/app/Nulleinspeisung.py denshooter/nulleinspeisung
Building the Docker Image
For those who prefer to build the Docker image themselves, the Dockerfile is provided in the repository. You can build the image by running the following command in the directory containing the Dockerfile:
docker build -t nulleinspeisung .
Updating the Script and Restarting the Container
To update Nulleinspeisung.py and restart (if build container yourself remove the 'denshooter/' part:
docker stop nulleinspeisung-container
docker rm nulleinspeisung-container
docker run -d --name nulleinspeisung-container -v /path/to/Nulleinspeisung.py:/app/Nulleinspeisung.py denshooter/nulleinspeisung
Additional Notes
- Ensure Docker is running before these commands.
- you may adjust firewall settings for network device communication.
Contribution
Feel free to fork, modify, and send pull requests or raise issues to enhance the functionalities of this project.