{"id":21008379,"url":"https://github.com/apexad/homebridge-garagedoor-command","last_synced_at":"2025-07-03T15:06:55.112Z","repository":{"id":53091335,"uuid":"96443000","full_name":"apexad/homebridge-garagedoor-command","owner":"apexad","description":"Homebridge plugin to control a garage door using command line functions","archived":false,"fork":false,"pushed_at":"2021-04-09T02:14:01.000Z","size":59,"stargazers_count":21,"open_issues_count":3,"forks_count":14,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-05-01T20:49:18.991Z","etag":null,"topics":["automation","command-line","control","garage-door","homebridge"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/homebridge-garagedoor-command","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/apexad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"apexad","custom":"https://www.paypal.me/apexadm"}},"created_at":"2017-07-06T15:06:27.000Z","updated_at":"2023-02-04T10:58:04.000Z","dependencies_parsed_at":"2022-08-25T02:20:14.345Z","dependency_job_id":null,"html_url":"https://github.com/apexad/homebridge-garagedoor-command","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apexad%2Fhomebridge-garagedoor-command","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apexad%2Fhomebridge-garagedoor-command/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apexad%2Fhomebridge-garagedoor-command/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apexad%2Fhomebridge-garagedoor-command/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apexad","download_url":"https://codeload.github.com/apexad/homebridge-garagedoor-command/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225324135,"owners_count":17456460,"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":["automation","command-line","control","garage-door","homebridge"],"created_at":"2024-11-19T09:12:22.925Z","updated_at":"2024-11-19T09:12:23.570Z","avatar_url":"https://github.com/apexad.png","language":"JavaScript","funding_links":["https://github.com/sponsors/apexad","https://www.paypal.me/apexadm","https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=JS2VTL89E6VZ4\u0026source=url"],"categories":[],"sub_categories":[],"readme":"# homebridge-garagedoor-command\n[![mit license](https://badgen.net/badge/license/MIT/red)](https://github.com/apexad/homebridge-mysmartblinds-bridge/blob/master/LICENSE)\n[![npm](https://badgen.net/npm/v/homebridge-garagedoor-command)](https://www.npmjs.com/package/homebridge-garagedoor-command)\n[![npm](https://badgen.net/npm/dt/homebridge-garagedoor-command)](https://www.npmjs.com/package/homebridge-garagedoor-command)\n[![donate](https://badgen.net/badge/donate/paypal/91BE09)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=JS2VTL89E6VZ4\u0026source=url)\n\n[Homebridge](https://github.com/homebridge/homebridge) plugin to control a garage door using command line functions  \nIt supports commands to check `state`, `open`, and `close` the garage door\n\n## Configuration\nThis easiest way to use this plugin is to use [homebridge-config-ui-x](https://www.npmjs.com/package/homebridge-config-ui-x).  \nTo configure manually, add to the `accessories` section of Homebridge's `config.json` after installing the plugin as shown below:\n\n\n```json\n\"accessories\": [\n  {\n    \"accessory\": \"GarageCommand\",\n    \"name\": \"Garage Door\",\n    \"open\": \"./open.sh\",\n    \"close\": \"./close.sh\",\n    \"state\": \"./check_state.sh\",\n    \"status_update_delay\": 15,\n    \"poll_state_delay\": 20,\n    \"ignore_errors\": false,\n    \"log_polling\": false\n  }\n]\n\n```\n\nField                   | Description\n------------------------|------------\n**accessory**           | Must always be \"GarageCommand\" (required)\n**name**                | Name of the Garage Door (required)\n**open**                | open command. Examples: `./open.sh` or `node open.js` (required)\n**close**               | close command. Examples: `./close.sh` or `node close.js` (required)\n**state**               | state command.  Examples: `./check_state.js` or `node state.js` (required)\n**status_update_delay** | Time to have door in opening or closing state (defaults to 15 seconds)\n**poll_state_delay**    | Time between polling for the garage door's state (leave blank or set to 0 to disable state polling)\n**ignore_errors**       | Causes the plugin to replace 'STOPPED' status with 'CLOSED' (defaults to false)\n**log_polling**         | Will log every single status check to the homebridge log (default to false)\n\n* The open, close, and state commands must return the following verbs: OPEN, CLOSED, OPENING, CLOSING, STOPPED.\n\n## Branding\nThe following config options can also be added manually or configured in [homebridge-config-ui-x](https://www.npmjs.com/package/homebridge-config-ui-x):\n\nField                   | Description\n------------------------|------------\n**manufacturer**        | Manufacturer to display instead of default 'Apexad'\n**model**               | Model to display instead of default 'Garage Commmand'\n**serialNum**           | Serial Number to display instead of default '001'\n\n\n## FAQ\n### Can I have multiple garage doors?\nYes! but this is a feature of homebridge, not the plugin.  \nAdd another accessory block with a different name than your other garage door.  \nIf using [homebridge-config-ui-x](https://www.npmjs.com/package/homebridge-config-ui-x) you can do this in the plugin settings.\n\n### Can you add 'x' feature?\nYes, I probably could.  Will I?  Probably not.  It does not hurt to ask though but I will also gladly look at any PRs too.\n\n### What is the STOPPED status?\nSTOPPED is a valid status for a door to be in, but in the Home App, it is reported as OPEN (with a slightly different icon). If an error occures in getting the status, STOPPED should be returned, and it will be logged, but the plugin has the `ignore_errors` config option so that a false OPEN event won't be triggered. Be careful with `ignore_errors` as it can be somewhat dangerous to report an error as CLOSED.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapexad%2Fhomebridge-garagedoor-command","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapexad%2Fhomebridge-garagedoor-command","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapexad%2Fhomebridge-garagedoor-command/lists"}