{"_id":"@aibui/homebridge-gpio-garagedoor","_rev":"3-7e7b95c23de5ff01e15314836da72bf9","name":"@aibui/homebridge-gpio-garagedoor","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@aibui/homebridge-gpio-garagedoor","version":"1.0.0","keywords":["homebridge-plugin","homebridge","garagedoor","garage-door","raspberry-pi","gpio","rpi"],"license":"ISC","_id":"@aibui/homebridge-gpio-garagedoor@1.0.0","maintainers":[{"name":"aibui","email":"ai.bui@aotech.net.au"}],"homepage":"https://github.com/kraigm/homebridge-gpio-garagedoor#readme","bugs":{"url":"https://github.com/kraigm/homebridge-gpio-garagedoor/issues"},"dist":{"shasum":"797ccd9e2ab8c5d3a792571abb46357dba39d940","tarball":"https://registry.npmjs.org/@aibui/homebridge-gpio-garagedoor/-/homebridge-gpio-garagedoor-1.0.0.tgz","fileCount":27,"integrity":"sha512-XLaqzuzkDwYYDbOuASkwmXqaAYTH/sDBShVV1POVHD2ZPruAlXo8f59cuqmqDefDSum+8JbqrKw8HrRLNPeaxA==","signatures":[{"sig":"MEUCIQDDvKmOdjmj96cVczxpZCCjBWz6MBDI5aUb32b7zEeqyQIgO9VXvFJbY/tCZg8Rf3sOI9LvRnVANxySX6HRAauPDy0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36901},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":"^18.15.0 || ^20.0.0","homebridge":"^1.6.0"},"gitHead":"d4d7711463dd3e78449bba1f133e1fce60fe9fa4","scripts":{"build":"rimraf ./dist && tsc","clean":"rimraf ./dist","postpublish":"npm run clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"aibui","email":"ai.bui@aotech.net.au"},"repository":{"url":"git://github.com/kraigm/homebridge-gpio-garagedoor.git","type":"git"},"_npmVersion":"11.6.2","description":"Raspberry Pi GPIO based Garage Door plugin for Homebridge","directories":{},"displayName":"GPIO Garage Door (Modern)","_nodeVersion":"25.2.1","dependencies":{"onoff":"^6.0.3"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.5","homebridge":"^1.7.0","typescript":"^5.3.0","@types/node":"^20.10.0"},"peerDependencies":{"homebridge":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-gpio-garagedoor_1.0.0_1766031910770_0.5797514660067713","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aibui/homebridge-gpio-garagedoor","version":"1.0.1","keywords":["homebridge-plugin","homebridge","garagedoor","garage-door","raspberry-pi","gpio","rpi"],"license":"ISC","_id":"@aibui/homebridge-gpio-garagedoor@1.0.1","maintainers":[{"name":"aibui","email":"ai.bui@aotech.net.au"}],"homepage":"https://github.com/kraigm/homebridge-gpio-garagedoor#readme","bugs":{"url":"https://github.com/kraigm/homebridge-gpio-garagedoor/issues"},"dist":{"shasum":"6339c4bbe9df19dfc078fbd70ab5563e86ff73c6","tarball":"https://registry.npmjs.org/@aibui/homebridge-gpio-garagedoor/-/homebridge-gpio-garagedoor-1.0.1.tgz","fileCount":27,"integrity":"sha512-SmgBKSRzaUfFvJees5zmBNG5vdv8+FLZtJLK1sJ2Wr4m9o92cPhsl3YFK+itm+En+k9fiv9kEkW/wC52l9PwiQ==","signatures":[{"sig":"MEUCIEK/w7pdjALvpTCObEJdY7VFujMwo5q5Fdelsz3QTddcAiEAjNDiuDqs53pdi1s4QhXBlEM40ZCdjP2PSqE0A01d75w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36900},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":"^18.15.0 || ^20.0.0","homebridge":"^1.6.0"},"gitHead":"d4d7711463dd3e78449bba1f133e1fce60fe9fa4","scripts":{"build":"rimraf ./dist && tsc","clean":"rimraf ./dist","postpublish":"npm run clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"aibui","email":"ai.bui@aotech.net.au"},"repository":{"url":"git://github.com/aibui/homebridge-gpio-garagedoor.git","type":"git"},"_npmVersion":"11.6.2","description":"Raspberry Pi GPIO based Garage Door plugin for Homebridge","directories":{},"displayName":"GPIO Garage Door (Modern)","_nodeVersion":"25.2.1","dependencies":{"onoff":"^6.0.3"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.5","homebridge":"^1.7.0","typescript":"^5.3.0","@types/node":"^20.10.0"},"peerDependencies":{"homebridge":"^1.6.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-gpio-garagedoor_1.0.1_1766032335188_0.11931535853536035","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@aibui/homebridge-gpio-garagedoor","displayName":"GPIO Garage Door (Modern)","description":"Raspberry Pi GPIO based Garage Door plugin for Homebridge","version":"1.0.2","repository":{"type":"git","url":"git://github.com/aibui/homebridge-gpio-garagedoor.git"},"license":"ISC","main":"dist/index.js","keywords":["homebridge-plugin","homebridge","garagedoor","garage-door","raspberry-pi","gpio","rpi"],"engines":{"node":"^18.15.0 || ^20.0.0","homebridge":"^1.6.0"},"dependencies":{"onoff":"^6.0.3"},"peerDependencies":{"homebridge":"^1.6.0"},"devDependencies":{"@types/node":"^20.10.0","homebridge":"^1.7.0","typescript":"^5.3.0","rimraf":"^5.0.5"},"scripts":{"build":"rimraf ./dist && tsc","prepublishOnly":"npm run build","postpublish":"npm run clean","clean":"rimraf ./dist"},"homepage":"https://github.com/kraigm/homebridge-gpio-garagedoor#readme","bugs":{"url":"https://github.com/kraigm/homebridge-gpio-garagedoor/issues"},"gitHead":"d4d7711463dd3e78449bba1f133e1fce60fe9fa4","types":"./dist/index.d.ts","_id":"@aibui/homebridge-gpio-garagedoor@1.0.2","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-3RKZtwG59VbTbekk1qBPDcwLtkPuIUnzfXeZTIDX8TwfksiyaV83HhWTWqxGRqTGZ7GArRF59WPJOBpKom32tg==","shasum":"1b0efc6f4fc8a4b211c4fc39041f5cf1bd4cd982","tarball":"https://registry.npmjs.org/@aibui/homebridge-gpio-garagedoor/-/homebridge-gpio-garagedoor-1.0.2.tgz","fileCount":27,"unpackedSize":36900,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCwJTsXolfAuP2oZIMgezwBLABDa7n61qD/gK3GGRBx8QIhAPpZPOFppQm4Z52clPDc4fWtWBXUoJRaoU8JvsZRQkFy"}]},"_npmUser":{"name":"aibui","email":"ai.bui@aotech.net.au"},"directories":{},"maintainers":[{"name":"aibui","email":"ai.bui@aotech.net.au"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/homebridge-gpio-garagedoor_1.0.2_1766032702466_0.32953338360160966"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-18T04:25:10.682Z","modified":"2025-12-18T04:38:22.784Z","1.0.0":"2025-12-18T04:25:10.937Z","1.0.1":"2025-12-18T04:32:15.335Z","1.0.2":"2025-12-18T04:38:22.604Z"},"bugs":{"url":"https://github.com/kraigm/homebridge-gpio-garagedoor/issues"},"license":"ISC","homepage":"https://github.com/kraigm/homebridge-gpio-garagedoor#readme","keywords":["homebridge-plugin","homebridge","garagedoor","garage-door","raspberry-pi","gpio","rpi"],"repository":{"type":"git","url":"git://github.com/aibui/homebridge-gpio-garagedoor.git"},"description":"Raspberry Pi GPIO based Garage Door plugin for Homebridge","maintainers":[{"name":"aibui","email":"ai.bui@aotech.net.au"}],"readme":"# homebridge-gpio-garagedoor\n\n[![npm version](https://badge.fury.io/js/homebridge-gpio-garagedoor.svg)](https://badge.fury.io/js/homebridge-gpio-garagedoor)\n[![Downloads](https://img.shields.io/npm/dm/homebridge-gpio-garagedoor.svg)](https://www.npmjs.com/package/homebridge-gpio-garagedoor)\n\n[Raspberry Pi](https://www.raspberrypi.org) GPIO based Garage Door plugin for [Homebridge](https://homebridge.io)\n\nThis plugin allows you to control and monitor your garage door using Raspberry Pi GPIO pins through HomeKit.\n\n## Features\n\n- **Door Control**: Open/close garage door via HomeKit\n- **Door Status**: Real-time monitoring of door position (open/closed)\n- **Safety**: Prevents operation while door is moving\n- **Configurable**: Support for both Normally Open (NO) and Normally Closed (NC) sensors\n- **Modern**: Built for Homebridge v1.6+ with full TypeScript support\n\n## Requirements\n\n- **Homebridge v1.6.0** or higher\n- **Node.js v18.15.0** or higher\n- **Raspberry Pi** with GPIO access\n- **Garage door relay** connected to GPIO pin\n- **Door position sensor** (optional but recommended)\n\n## Installation\n\n### Option 1: Homebridge Config UI X (Recommended)\n\n1. Search for `homebridge-gpio-garagedoor` in the Homebridge Config UI X plugin store\n2. Install the plugin\n3. Configure using the graphical interface\n\n### Option 2: Command Line\n\n```bash\nnpm install -g homebridge-gpio-garagedoor\n```\n\n## Configuration\n\n### Basic Configuration\n\n```json\n{\n  \"accessories\": [\n    {\n      \"accessory\": \"GPIOGarageDoor\",\n      \"name\": \"Garage Door\",\n      \"doorSwitchPin\": 23,\n      \"doorSensorPin\": 24,\n      \"isNCSensor\": false,\n      \"doorOpensInSeconds\": 15\n    }\n  ]\n}\n```\n\n### Configuration Options\n\n| Parameter | Type | Required | Default | Description |\n|-----------|------|----------|---------|-------------|\n| `accessory` | string | ✅ | - | Must be `\"GPIOGarageDoor\"` |\n| `name` | string | ✅ | - | Display name for the garage door |\n| `doorSwitchPin` | number | - | - | GPIO pin connected to garage door relay |\n| `doorSensorPin` | number | - | - | GPIO pin connected to door position sensor |\n| `isNCSensor` | boolean | - | `false` | Set to `true` if using Normally Closed sensor |\n| `doorOpensInSeconds` | number | - | `15` | Time for door to fully open/close |\n| `id` | string | - | auto-generated | Unique identifier for the accessory |\n\n### Hardware Setup\n\n#### Door Switch (Relay)\n- Connect relay control pin to specified `doorSwitchPin`\n- Relay should momentarily activate garage door opener (like a button press)\n- Typical activation time: 1 second\n\n#### Door Sensor (Optional but Recommended)\n- **Magnetic Reed Switch**: Mount magnet on door, sensor on frame\n- **Limit Switch**: Mechanical switch activated when door is closed\n- **Normally Open (NO)**: Circuit closed when door is closed (default)\n- **Normally Closed (NC)**: Circuit open when door is closed (set `isNCSensor: true`)\n\n## Wiring Diagram\n\n```\nRaspberry Pi                  Garage Door System\n                             \nGPIO Pin (Switch) ──→ Relay ──→ Door Opener Terminals\n                             \nGPIO Pin (Sensor) ──→ Door Position Sensor\nGround           ──→ Common Ground\n```\n\n## Troubleshooting\n\n### Common Issues\n\n1. **Permission Denied**: Run Homebridge with proper GPIO permissions\n   ```bash\n   sudo usermod -a -G gpio homebridge\n   ```\n\n2. **GPIO Already in Use**: Check if other processes are using the GPIO pins\n   ```bash\n   lsof /dev/gpiomem\n   ```\n\n3. **Door State Incorrect**: Check sensor wiring and `isNCSensor` setting\n\n### Debug Mode\n\nEnable debug logging by setting the Homebridge debug mode:\n```bash\nDEBUG=* homebridge\n```\n\n## Hardware Compatibility\n\n- **Raspberry Pi**: All models with 40-pin GPIO header\n- **GPIO Library**: Uses `onoff` library for GPIO control\n- **Door Operators**: Compatible with most garage door openers that accept dry contact closure\n\n## Version History\n\n- **v1.0.0**: Modern Homebridge v1.6+ support, TypeScript rewrite, improved error handling\n- **v0.2.2**: Legacy version (Homebridge v0.2.5+)\n\n## Contributing\n\nIssues and pull requests are welcome on [GitHub](https://github.com/kraigm/homebridge-gpio-garagedoor).\n\n## License\n\nISC License - see LICENSE file for details.\n","readmeFilename":"README.md"}