{"id":26851726,"url":"https://github.com/jpizquierdo/draco","last_synced_at":"2026-05-03T06:37:01.961Z","repository":{"id":177853653,"uuid":"658473254","full_name":"jpizquierdo/Draco","owner":"jpizquierdo","description":"An automated watering system to take care of your plants using a raspberry Pi","archived":false,"fork":false,"pushed_at":"2026-04-26T22:54:30.000Z","size":68,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-27T00:25:21.887Z","etag":null,"topics":["plants-grow","raspberry","raspberry-pi","raspberrypi","watering-plants","watering-system"],"latest_commit_sha":null,"homepage":"","language":"Python","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/jpizquierdo.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":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-06-25T21:01:46.000Z","updated_at":"2026-04-26T22:53:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"eef8f40a-776a-4cac-b355-04f441abcde8","html_url":"https://github.com/jpizquierdo/Draco","commit_stats":null,"previous_names":["jpizquierdo/draco"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/jpizquierdo/Draco","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpizquierdo%2FDraco","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpizquierdo%2FDraco/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpizquierdo%2FDraco/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpizquierdo%2FDraco/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jpizquierdo","download_url":"https://codeload.github.com/jpizquierdo/Draco/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpizquierdo%2FDraco/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32560901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["plants-grow","raspberry","raspberry-pi","raspberrypi","watering-plants","watering-system"],"created_at":"2025-03-30T22:33:29.737Z","updated_at":"2026-05-03T06:37:01.956Z","avatar_url":"https://github.com/jpizquierdo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n[![Python 3.9+](https://img.shields.io/badge/python-3.9%2B-blue.svg)](https://www.python.org/)\n[![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)\n\n# Draco\n\nDraco is an automated plant watering system for Raspberry Pi. It controls a 4-relay shield to drive a water pump and up to three valves, with optional Telegram and MQTT integration for remote monitoring and control.\n\n## Features\n\n| Interface   | Required | Description |\n|-------------|----------|-------------|\n| **GPIO**    | Yes      | Controls the 4-relay shield (pump + valves) |\n| **Scheduler** | Conditional | Time-based automatic watering (activated by default when Telegram/MQTT are disabled) |\n| **Telegram** | No      | Remote commands and log streaming |\n| **MQTT**    | No       | Integration with Home Assistant or any MQTT broker |\n\n### Supported combinations\n\n- `GPIO + Scheduler`\n- `GPIO + Telegram`\n- `GPIO + MQTT`\n- `GPIO + Telegram + MQTT`\n- `GPIO + Scheduler + Telegram + MQTT`\n\n\u003e **Note:** If neither Telegram nor MQTT is enabled, the scheduler activates automatically. Watering runs at the interval defined in `config.json` (first run after `holidays_frequency_days` days from start).\n\n## Requirements\n\n- Raspberry Pi (any model with GPIO)\n- Python 3.9+\n- [uv](https://docs.astral.sh/uv/) (recommended) or pip\n\n## Installation\n\n### With uv (recommended)\n\n```shell\ngit clone https://github.com/jpizquierdo/Draco.git\ncd Draco\nuv sync\n```\n\n### With pip\n\n```shell\ngit clone https://github.com/jpizquierdo/Draco.git\ncd Draco\npython -m venv .venv\n.venv/bin/pip install .\n```\n\n## Configuration\n\nCopy and edit the example config:\n\n```shell\ncp config/config.yaml config/my_config.yaml\n```\n\nKey fields in `config.yaml`:\n\n```yaml\ntelegram_bot:\n  enable: true\n  api: YOUR_TELEGRAM_BOT_TOKEN\n  allowed_users:\n    user1: CHAT_ID\n\nrelayshield:\n  WaterPump: 4\n  Valve1: 22\n  Valve2: 6\n  Valve3: 26\n\nscheduler:\n  holidays_frequency_days: 3\n  water_start_time_HH: \"10\"\n  water_start_time_MM: \"00\"\n  water_stop_time_HH: \"10\"\n  water_stop_time_MM: \"02\"\n  enable_alive_logging: false\n\nmqtt:\n  enable: true\n  broker_ip: 192.168.1.153\n  broker_port: 1883\n```\n\nGPIO pin numbers refer to BCM numbering.\n\n## Usage\n\n```shell\n# With uv\nuv run python draco.py -c config/config.yaml\n\n# With activated venv\npython draco.py -c config/config.yaml\n```\n\n## Running as a systemd Service\n\nSee [docs/systemd/how_to_systemd.md](docs/systemd/how_to_systemd.md).\n\n## Home Assistant Integration\n\nMQTT-based switch configuration and a custom Lovelace card are provided under [`docs/homeassistant/`](docs/homeassistant/).  \nSee [docs/homeassistant/readme.md](docs/homeassistant/readme.md) for setup instructions.\n\n## Telegram Commands\n\nSee [docs/telegram_commands.md](docs/telegram_commands.md) for the full command list to register with @BotFather.\n\n## Roadmap\n\n- Moisture sensor support for demand-based watering\n- DHT temperature and humidity sensor integration\n\n## Contributing / Feedback\n\nOpen a [discussion](https://github.com/jpizquierdo/Draco/discussions/new) to ask questions, share your setup, or propose ideas.\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpizquierdo%2Fdraco","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjpizquierdo%2Fdraco","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpizquierdo%2Fdraco/lists"}