{"id":25903897,"url":"https://github.com/christracy/clickpi","last_synced_at":"2026-05-12T00:41:06.556Z","repository":{"id":278821952,"uuid":"936885864","full_name":"ChrisTracy/clickpi","owner":"ChrisTracy","description":"A project that enables you to utilize a relay and Raspberry Pi to open a gate, garage door, trigger a deer feeder or anything else that involves shorting a circuit.","archived":false,"fork":false,"pushed_at":"2025-03-02T03:42:13.000Z","size":199,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-02T04:25:10.074Z","etag":null,"topics":["api","hacs-integration","home-assistant","home-automation","raspberry-pi"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ChrisTracy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-02-21T21:33:22.000Z","updated_at":"2025-03-02T03:43:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"b96f81b1-6ef1-4d9c-aded-38428eddfdbd","html_url":"https://github.com/ChrisTracy/clickpi","commit_stats":null,"previous_names":["christracy/clickpi"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisTracy%2Fclickpi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisTracy%2Fclickpi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisTracy%2Fclickpi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisTracy%2Fclickpi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChrisTracy","download_url":"https://codeload.github.com/ChrisTracy/clickpi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241605820,"owners_count":19989612,"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":["api","hacs-integration","home-assistant","home-automation","raspberry-pi"],"created_at":"2025-03-03T04:16:14.409Z","updated_at":"2025-11-29T02:03:58.062Z","avatar_url":"https://github.com/ChrisTracy.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ClickPi\nThis project comes as a pre-built Docker image that enables you to utilize a relay and Raspberry Pi to open a gate, garage door, trigger a deer feeder or anything else that involves shorting a circuit.\nIncludes a mobile-friendly admin dashboard and API endpoints that will allow you to manage users and control one or more relays from a single Raspberry Pi.\n\n## Screenshots\n![Login Page](diagrams/login.png)\n\n![Main Dashboard](diagrams/dashboard.png)\n\n![Add User](diagrams/addUser.png)\n\n![Mobile](diagrams/mobile.png)\n\n## Hardware\n\nThis is the hardware I am using. You can certainly do this with less. A pi0, jumper wires, and any relay will work.\n\n- [Raspberry Pi 3B+](https://www.raspberrypi.com/products/raspberry-pi-3-model-b-plus/)\n- [Electronics-Salon RPi Power Relay Board](https://www.amazon.com/dp/B07CZL2SKN?ref_=ppx_hzsearch_conn_dt_b_fed_asin_title_1)\n\n## Wiring\n![Raspberry Pi 3 Wiring](diagrams/pi-wiring.jpg)\n\n## Installation\n\n### 1. Install Docker:\n- [Docker Install Documentation](https://docs.docker.com/engine/install/debian/)\n\n### 2. Add the current user to the docker group to avoid using sudo. You must log out and back in after doing this, otherwise you will need to sudo the rest of the commands!:\n```bash\nsudo usermod -aG docker ${USER}\n```\n\n### 3. Create a docker-compose.yml file:\n```bash\nmkdir clickpi \u0026\u0026 cd clickpi \u0026\u0026 nano docker-compose.yml\n```\n\n### 4. Add this to the YAML file with your own parameters:\n```yml\n  services:\n    click_pi:\n      image: christracy/clickpi\n      restart: unless-stopped\n      privileged: true\n      environment:\n        FRIENDLY_NAME: \"My Garage Door\"       # Name of the device you're controlling. Will show up in logs and responses\n        SECRET_KEY: \"LongSuperSecretKey\"      # This can be anything but it should be long, random, and kept secret\n        ADMIN_PASSWORD: \"SuperSecretPassword\" # Password for the admin panel\n        GPIO_PIN: \"16\"                        # GPIO PIN used for the trigger route (this is the GPIO number, NOT the pin number)\n\n        #API_EXPIRATION_DAYS: 90  # Number of days before the API token will expire (Default: 365)\n        #CLICK_DELAY: .50         # Time between closing and opening the relay on the trigger route (Default: .10)\n        #TRIGGER_LIMIT: 5         # The number of times the trigger routes can be called within 1 minute (Default: 8)\n        \n      volumes:\n        - ./db:/data\n        \n      ports:\n        - \"5151:5151\"\n        - \"5252:5252\"\n\n```\n\n### 5. Bring up your stack by running:\n\n```bash\ndocker compose up -d\n```\n\n## Updating\n\n```bash\ndocker-compose pull\n```\n\n```bash\ndocker-compose up -d\n```\n\n## API\n\n### These are the API endpoints for the server:\n\n| Method   | URI                                      | Description                                                  |  Params             | Auth      |\n| -------- | ---------------------------------------- | -------------------------------------------------------------| ------------------- |---------- |\n| `POST`   | `{default_host}/api/v1/trigger`          | Triggers the relay with the default GPIO pin                 |                     | `api_key` |\n| `POST`   | `{default_host}/api/v1/customtrigger`    | Triggers the relay but you can specify the GPIO pin and time | `pin` `click_delay`  | `api_key` |\n\n## Clients\n\n- **Home Assitant (HACS)** - Add this to your custom repositories in hacs for a garage door: `https://github.com/christracy/clickpi_garage_door`. For detailed instructions refer to the [clickpi_garage_door repo](https://github.com/christracy/clickpi_garage_door).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristracy%2Fclickpi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchristracy%2Fclickpi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristracy%2Fclickpi/lists"}