{"id":26566452,"url":"https://github.com/s-t-e-f-a-n/openpv","last_synced_at":"2026-04-09T11:49:05.694Z","repository":{"id":174474652,"uuid":"652286396","full_name":"s-t-e-f-a-n/OpenPV","owner":"s-t-e-f-a-n","description":"Comprehensive photovoltaics (600 W) with battery based engergy spreading, visualization and control","archived":false,"fork":false,"pushed_at":"2024-04-30T23:11:12.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-05-01T00:29:37.523Z","etag":null,"topics":["balkonkraftwerk","docker","esp32","grafana","influxdb","mqtt","opendtu","openmediavault","telegraf","volkszaehler"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/s-t-e-f-a-n.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-06-11T17:10:15.000Z","updated_at":"2024-04-30T23:11:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"e8808e56-6954-461a-b0a3-50a1983a8207","html_url":"https://github.com/s-t-e-f-a-n/OpenPV","commit_stats":{"total_commits":5,"total_committers":1,"mean_commits":5.0,"dds":0.0,"last_synced_commit":"6fa8e31ec54a97c6f2fd3fd337cc724e806f0dd1"},"previous_names":["s-t-e-f-a-n/openpv"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-t-e-f-a-n%2FOpenPV","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-t-e-f-a-n%2FOpenPV/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-t-e-f-a-n%2FOpenPV/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-t-e-f-a-n%2FOpenPV/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/s-t-e-f-a-n","download_url":"https://codeload.github.com/s-t-e-f-a-n/OpenPV/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245003262,"owners_count":20545585,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["balkonkraftwerk","docker","esp32","grafana","influxdb","mqtt","opendtu","openmediavault","telegraf","volkszaehler"],"created_at":"2025-03-22T18:33:35.766Z","updated_at":"2025-12-30T23:45:13.234Z","avatar_url":"https://github.com/s-t-e-f-a-n.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenPV Overview\nComprehensive photovoltaics system (600 W) with battery based energy spreading, control and visualization.\n\nThe complete system consists of the following subsystems:\n1. 600 W photovoltaic system: two 400 W panels, one Hoymiles HM-600 inverter\n2. [OpenDTU](https://github.com/tbnobody/OpenDTU): Really awesome ESP32 based WiFi frontend for the HM-600\n3. Volkszaehler SmartMeter EHZ: Another awesome ESP8266 Wifi frontend to gather energy information from an EHZ energy meter via its infrared interface\n4. Data logging and visualization: Dockerized MQTT data brokerage and Grafana visualization with the support of InfluxDB and Telegraf\n5. Battery extension of the PV system: Two Victron SmartSolar and two Renogy 24 V / 25 Ah batteries for spreading the daytime solar energy over night\n6. Optimizing PV yield by energy spreading: Dockerized Python script optimizes the yield by battery energy spreading targeting basic load coverage\n\nI started step by step with 1. - 4. and then decided to extend the little photovoltaic system by batteries (5.) and programmed a python script for optimizing (6.).\n\n# The basic PV system\n* Two monocristalline solar panels [TrinaSolar VertexS TSM-405 DE09.08](https://github.com/s-t-e-f-a-n/OpenPV/files/11762367/DE_Datasheet_VertexS_DE09.08_2021_A.pdf)\n\n\u003cimg src=\"https://github.com/s-t-e-f-a-n/OpenPV/assets/16215726/ec4fbf72-5db7-4878-a9c1-0756b01ddf20\" width=\"200\"\u003e \u003cimg src=\"https://github.com/s-t-e-f-a-n/OpenPV/assets/16215726/a43ccae1-1bdb-40c9-b6c3-b0774fd46b0c\" width=\"200\"\u003e \u003cimg src=\"https://github.com/s-t-e-f-a-n/OpenPV/assets/16215726/8b546799-029f-473c-a256-9b3ac4a9e6fb\" width=\"200\" height=\"270\"\u003e \u003cimg src=\"https://github.com/s-t-e-f-a-n/OpenPV/assets/16215726/cf318696-577b-4477-92cd-d15f95446e9c\" width=\"200\"\u003e \n\n* One dual-DC/single AC 600 W inverter [Hoymiles HM-600](https://github.com/s-t-e-f-a-n/OpenPV/files/11762369/hm600.pdf)\n\u003cimg src=\"https://github.com/s-t-e-f-a-n/OpenPV/assets/16215726/3231166a-8a3b-495a-b62a-e01aefce2be1\" width=\"200\"\u003e\n\nI mounted some bracket stands \n\n# OpenDTU\nAs the Hoymiles HM-600 inverter is not equipped with a general WiFi interfacee but instead with a proprietrary wireless interface you'd need for remote access to the inverter a so called Data Transer Unit (DTU) from Hoymiles which you'd get on the market for appr. 50 € - 100 €. It only works via a Hoymiles server where you'd have to register etc.\n\nContrary to the commercial solution there are two open source solutions available which cost you ca. 30 €:\n* [Ahoy-DTU](https://github.com/lumapu/ahoy)\n* [OpenDTU](https://github.com/tbnobody/OpenDTU)\n\nA really good comparison of both projects (...sorry, German ;-) https://blog.helmutkarger.de/balkonkraftwerk-teil-8-opendtu-und-ahoydtu-fuer-hoymiles-wechselrichter/\nBoth projects are really awesome. The story of development reads quite exciting [here](https://www.mikrocontroller.net/topic/525778).\n\nHowever, I decided for OpenDTU and followed the instructions on [OpenDTU](https://github.com/tbnobody/OpenDTU) and ordered four basic components:\n* NodeMCU-ESP32 Development Board @ 11 €\n* nRF24L01+ Wireless Transceiver Module  @ 2 €\n* 100-240 VAC to 5 VDC / 600 mA converter @ 9 €\n* ABS Housing 83x58x33 mm @ 10 € \n* breadboard, cable, solder tin @ ca. 5 €\n\n\u003cimg src=\"https://github.com/s-t-e-f-a-n/OpenPV/assets/16215726/29769f5b-adfd-4b61-9e83-b76f14064ce6\" width=\"200\"\u003e  \u003cimg src=\"https://github.com/s-t-e-f-a-n/OpenPV/assets/16215726/306e99b0-a73d-43a7-8eed-3995c031e3c5\" width=\"200\"\u003e \u003cimg src=\"https://github.com/s-t-e-f-a-n/OpenPV/assets/16215726/2a5e95b4-65b7-4e06-bb9f-71698c63c742\" width=\"200\"\u003e \u003cimg src=\"https://github.com/s-t-e-f-a-n/OpenPV/assets/16215726/b9317b2c-ed11-4398-8279-7dabd766023f\" width=\"200\"\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fs-t-e-f-a-n%2Fopenpv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fs-t-e-f-a-n%2Fopenpv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fs-t-e-f-a-n%2Fopenpv/lists"}