{"id":35216683,"url":"https://github.com/dasbo1975/iobroker.poolcontrol","last_synced_at":"2026-04-18T22:14:56.853Z","repository":{"id":317249264,"uuid":"1066027106","full_name":"DasBo1975/ioBroker.poolcontrol","owner":"DasBo1975","description":"Adapter zur Steuerung von Poolanlagen","archived":false,"fork":false,"pushed_at":"2026-04-10T21:52:24.000Z","size":3914,"stargazers_count":1,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-04-10T22:11:49.345Z","etag":null,"topics":["adapter","automation","climate-control","iobroker","pool","poolcontrol"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DasBo1975.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-28T22:39:47.000Z","updated_at":"2026-04-10T21:52:32.000Z","dependencies_parsed_at":"2025-10-24T23:31:38.392Z","dependency_job_id":null,"html_url":"https://github.com/DasBo1975/ioBroker.poolcontrol","commit_stats":null,"previous_names":["dasbo1975/iobroker.poolcontrol"],"tags_count":61,"template":false,"template_full_name":null,"purl":"pkg:github/DasBo1975/ioBroker.poolcontrol","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DasBo1975%2FioBroker.poolcontrol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DasBo1975%2FioBroker.poolcontrol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DasBo1975%2FioBroker.poolcontrol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DasBo1975%2FioBroker.poolcontrol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DasBo1975","download_url":"https://codeload.github.com/DasBo1975/ioBroker.poolcontrol/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DasBo1975%2FioBroker.poolcontrol/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31875183,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"online","status_checked_at":"2026-04-16T02:00:06.042Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["adapter","automation","climate-control","iobroker","pool","poolcontrol"],"created_at":"2025-12-29T22:29:52.438Z","updated_at":"2026-04-18T22:14:56.840Z","avatar_url":"https://github.com/DasBo1975.png","language":"JavaScript","funding_links":["https://www.paypal.com/donate?business=dirk.bertin@t-online.de"],"categories":[],"sub_categories":[],"readme":"# ioBroker.poolcontrol\n\n![Test and Release](https://github.com/DasBo1975/ioBroker.poolcontrol/actions/workflows/test-and-release.yml/badge.svg)\n![npm](https://img.shields.io/npm/v/iobroker.poolcontrol?color=blue)\n![Downloads](https://img.shields.io/npm/dm/iobroker.poolcontrol)\n![Installs](https://iobroker.live/badges/poolcontrol-installed.svg)\n![Stable](https://iobroker.live/badges/poolcontrol-stable.svg)\n[![License](https://img.shields.io/github/license/DasBo1975/ioBroker.poolcontrol?cacheSeconds=3600)](https://github.com/DasBo1975/ioBroker.poolcontrol/blob/main/LICENSE)\n\n---\n\n## Description\n\nThe adapter ioBroker.poolcontrol is used for controlling and monitoring pool systems.\nIt enables automation of pump, temperature, and solar control as well as energy consumption analysis.\n\n---\n\n## Features\n\n- **Pump Control**\n  - Operating modes: Automatic, Automatic (PV), Manual, Time Control, Off\n  - Automatic (PV) controls the pump depending on photovoltaic surplus\n  - Error detection (no power consumption, power despite “OFF”, overload)\n  - Safety functions (frost protection, overheating protection)\n  - Pump power recommendation for variable-speed pumps\n  \n- **Temperature Management**\n  - Up to 6 sensors (surface, bottom, flow, return, collector, outside temperature)\n  - Daily minimum / maximum\n  - Hourly change\n  - Differences (e.g., collector – air, surface – bottom, flow – return)\n\n- **Solar Control**\n  - On/off thresholds with hysteresis\n  - Collector warning (with automatic reset at 10% below threshold)\n  - Optional speech output on warning\n\n- **Heating / Heat Pump Control (new, test phase)**\n  - Automatic control of heating rod or heat pump based on pool temperature\n  - Target temperature and maximum safety temperature configurable\n  - Active only when:\n    - pool season is active\n    - pump mode **Automatic**\n    - maintenance mode is not active\n  - Priority logic:\n    - Maintenance mode fully blocks heating control\n    - Heating does not interfere with manual or time-based pump modes\n  - Configurable pump overrun time after heating ends\n  - Ownership protection:\n    - The pump is only switched off if it was previously switched on by the heatHelper itself\n  - Supports:\n    - switchable sockets **or**\n    - boolean control states of external heating systems\n  - Internal status and diagnostic section under `heat.*`\n  - Purely controlling, **no chemistry or solar logic**\n  \n  **Note:**  \n  This function is currently in a **test phase**.  \n  The logic is fully implemented but should initially only be used by interested test users.\n\n- **Photovoltaic Control (since v0.6.0)**\n  - Automatic pump control based on PV generation and household consumption\n  - Start logic: surplus ≥ (pump rated power + safety margin)\n  - Optional overrun during cloudy phases\n  - Ignore if daily circulation target reached\n  - Configuration via two foreign object IDs (power_generated_id, power_house_id)\n  - New pump mode “Automatic (PV)”\n\n- **Time Control**\n  - Up to 3 freely configurable time windows per week\n\n- **Runtime \u0026 Circulation**\n  - Counts runtime (today, total)\n  - Calculates daily circulation and remaining volume\n  - Backwash reminder with configurable interval (e.g., every 7 days)\n  - Display of last backwash including date\n  - Automatic reset after completed backwash\n  - PV mode considers circulation status (e.g., “Ignore when circulation reached”)\n\n- **Consumption \u0026 Costs**\n  - Evaluation of an external kWh meter\n  - Daily, weekly, monthly and yearly consumption\n  - Calculation of electricity costs based on configurable price  \n\n**Note:**  \nDetails about the behavior of consumption and cost values (e.g., after restarts or when changing the electricity meter) can be found here:  \n\n- [Documentation (English)](https://github.com/DasBo1975/ioBroker.poolcontrol/blob/main/docs/en/help.md)  \n- [Dokumentation (Deutsch)](https://github.com/DasBo1975/ioBroker.poolcontrol/blob/main/docs/de/help.md)\n\n- **Statistics System**\n  - Section `analytics.statistics.*` with daily, weekly and monthly values\n  - Automatic calculation of min, max, average and runtime values\n  - Fully persistent data points (overinstall protection)\n  - HTML and JSON summaries per sensor and overall overview\n\n- **Pressure Sensor Integration (since v0.7.x)**\n  - Real-time filter pressure measurement\n  - Trend analysis: rising / falling / stable\n  - Moving learning average (avg_bar)\n  - Self-learning min/max pressure values\n  - Diagnostic text + last update\n  - No automatic control – purely informational\n  - Normal pressure range configurable by the user\n\n- **AI System (from v0.8.0)**\n  - Modules: Weather hints (Open-Meteo), pool tips, daily summary, weekend report\n  - Automatic text outputs with optional speech output\n  - Hourly weather updates for continuous refresh\n  - Anti-spam system to avoid duplicate hints\n  \n  - **Forecast for Tomorrow (aiForecastHelper, from v0.8.0)**\n    - Automatically creates a daily weather forecast for the next day\n    - Analysis of temperature, weather situation, rain probability and wind strength\n    - Generates pool recommendations for the following day (e.g., close cover, little solar heat expected)\n    - Fully event-based and only requires Open-Meteo data from ioBroker geodata\n    - Separate switches under `ai.weather.switches.*` to enable/disable individual forecast functions\n    - Results stored under `ai.weather.outputs.forecast_text`\n\n  - **Chemistry Help (aiChemistryHelpHelper, from v0.8.x)**\n    - Interactive, purely informative AI help for water chemistry\n    - Selection of typical pool problems via selection field (e.g., pH too high/low, chlorine ineffective, green/cloudy water)\n    - Clear cause and solution descriptions as text output\n    - No automatic dosing\n    - No product recommendations\n    - No device control\n    - No speech output (purely visual information)\n    - Goal: understand causes and proceed systematically (measure → correct → filter → measure again)\n    - Data points under `ai.chemistry_help.*`\n\n- **Info System (since v0.7.x)**\n  - Adapter information system\n  - Seasonal greetings (Christmas, New Year’s Eve, New Year, Easter)\n  - Display of installed adapter version\n   \n- **Speech Outputs**\n  - Output via Alexa or Telegram\n  - Announcements on pump start/stop, errors or temperature thresholds\n\n- **SystemCheck (Diagnostic Section)**\n  - Internal diagnostic section for debug and monitoring functions\n  - Selection of area to monitor (e.g., pump, solar, temperature)\n  - Continuous log of the latest changes\n  - Manual log clearing possible\n\n  This section is used exclusively for analysis and troubleshooting.  \n  In normal operation, monitoring should remain disabled.\n\n---\n\n\n## Configuration\n\nConfiguration is done via tabs in the Admin interface:\n- **General** → Pool name, pool size, minimum circulation  \n- **Pump** → Pump power, power limits, safety functions  \n- **Temperatures** → Selection and object IDs of sensors  \n- **Solar Management** → On/off thresholds, hysteresis, warning threshold  \n- **Time Control** → Time windows for pump operation  \n- **Speech Outputs** → Activation, Alexa/Telegram integration  \n- **Consumption \u0026 Costs** → external kWh meter, electricity price  \n\n---\n\n## Planned Extensions\n\n- Extended PV and solar efficiency analysis (COP calculation, daily benefit, weather integration)\n- Statistics export function (CSV/Excel)\n- Diagnostic helper for automatic system checks\n- Own widgets for VIS/VIS2 (graphical pool and solar visualization)\n- Control of pool lighting, valves and counter-current systems\n- Integration of additional sensor boxes (e.g., TempBox, PressureBox, LevelBox)\n- AI and voice assistant extension (pool daily report, tips, voice commands)\n\n---\n\n## Note\n\nThe adapter is under active development.  \nNew features are added regularly – please refer to the changelog.\n\n---\n\n## Documentation\n- [help.md (detailed description and notes)](./help.md)\n\n---\n\n## Changelog\n### 1.3.3 (2026-04-18)\n\n- Added solar COP calculation to evaluate system efficiency\n- Added solar logbook helper with easy-to-read daily summaries for better user understanding\n\n### 1.3.2 (2026-04-17)\n\n- Fix: Solar Extended no longer interferes with controlHelper or timeHelper (prevents unwanted pump shutdown)\n- Fix: Solar Extended no longer interferes with standard solar mode\n- Fix: Improved handling of external actuator (clean ON/OFF behavior depending on Solar Extended state)\n- Improvement: Added stable delta hysteresis (delta_on / delta_off) to prevent switching fluctuations\n- Improvement: Replaced global timers with adapter timers in solarExtendedHelper\n- Cleanup: Removed duplicate reading of request_active state\n\n### 1.3.1 (2026-04-17)\n\n- Fix: Solar Extended now correctly controls the pump\n- Fix: Integrated Solar Extended into existing solar status handling via `speech.solar_active`\n- Improvement: Consistent pump status display for Solar and Solar Extended\n- Minor bug fixes and internal optimizations\n\n### 1.3.0 (2026-04-16)\n\n- Added extended solar control (delta-based temperature logic)\n- Support for external actuator control (boolean/socket)\n- Standard / Extended solar mode selection\n- Priority and blocking logic (controlHelper, timeHelper, pump mode, season)\n- Improved status states (active, request, blocked, reason, info)\n- Added i18n support for solar extended status texts\n- Added selectable configuration for temperature source and control type\n\n### 1.2.22 (2026-04-16)\n\n- Added new read-only state `solar.request_active` to indicate when solar logic would request the pump\n- Improved solarHelper robustness by handling invalid temperature values\n\n## Support\n- [ioBroker Forum](https://forum.iobroker.net/)  \n- [GitHub Issues](https://github.com/DasBo1975/ioBroker.poolcontrol/issues)\n\n---\n\n## Support Adapter Development\nIf you like **ioBroker.poolcontrol**, please consider making a donation:  \n➡️ [Support via PayPal](https://www.paypal.com/donate?business=dirk.bertin@t-online.de)\n\n---\n\n## Disclaimer\nUse of the adapter is **at your own risk**.  \nThe developer assumes **no liability** for damages resulting from installation, use or malfunctions.  \nThis especially applies to direct control of electrical devices (e.g., pool pumps).  \nThe user is responsible for the **safe installation and operation of their hardware**.\n\n---\n\n## License \u0026 Legal\n\nPoolControl is an open-source project developed by D. Bertin (DasBo1975).\n\n- The name PoolControl and the associated logo are original developments and may be freely used within the scope of the open-source publication (adapter, GitHub repository, wiki, documentation, visualizations).\n\n- Commercial use, redistribution or publication in modified form (especially as part of a commercial product or service) requires the explicit permission of the author.\n\n- All developed sensor, hardware and enclosure constructions (e.g., temperature, pressure, level, electronics or control boxes) including designs, schematics, 3D models and internal constructions are subject to the copyright of D. Bertin (DasBo1975).\n\n- Publication, reproduction for resale or commercial use of these hardware designs is only permitted with written authorization from the author.\n\nThe software source code of this project is licensed under the MIT License. See LICENSE for details.\n\n---\n\n## License\nCopyright (c) 2026 D. Bertin (DasBo1975) \u003cdasbo1975@outlook.de\u003e  \n\nMIT License","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdasbo1975%2Fiobroker.poolcontrol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdasbo1975%2Fiobroker.poolcontrol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdasbo1975%2Fiobroker.poolcontrol/lists"}