{"id":13528387,"url":"https://github.com/homebridge/HAP-NodeJS","last_synced_at":"2025-04-01T11:31:39.180Z","repository":{"id":21627244,"uuid":"24947768","full_name":"homebridge/HAP-NodeJS","owner":"homebridge","description":"Node.js implementation of the HomeKit Accessory Protocol (HAP)","archived":false,"fork":false,"pushed_at":"2025-03-23T08:58:29.000Z","size":33460,"stargazers_count":2698,"open_issues_count":8,"forks_count":628,"subscribers_count":154,"default_branch":"latest","last_synced_at":"2025-03-29T18:38:49.783Z","etag":null,"topics":["hap","hap-nodejs","hap-server","homekit","homekit-accessory","homekit-accessory-protocol","homekit-device","homekit-protocol","homekit-server","homekit-support","siri"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/homebridge.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"Supereg","custom":"https://paypal.me/Supereg"}},"created_at":"2014-10-08T15:42:23.000Z","updated_at":"2025-03-23T08:58:06.000Z","dependencies_parsed_at":"2022-07-17T09:46:11.470Z","dependency_job_id":"5eb39117-9d61-4632-8f42-3e1a437c3026","html_url":"https://github.com/homebridge/HAP-NodeJS","commit_stats":{"total_commits":893,"total_committers":82,"mean_commits":"10.890243902439025","dds":0.5195968645016797,"last_synced_commit":"ee41309fd9eac383cdcace39f4f6f6a3d54396f3"},"previous_names":[],"tags_count":129,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/homebridge%2FHAP-NodeJS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/homebridge%2FHAP-NodeJS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/homebridge%2FHAP-NodeJS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/homebridge%2FHAP-NodeJS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/homebridge","download_url":"https://codeload.github.com/homebridge/HAP-NodeJS/tar.gz/refs/heads/latest","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246418655,"owners_count":20773933,"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":["hap","hap-nodejs","hap-server","homekit","homekit-accessory","homekit-accessory-protocol","homekit-device","homekit-protocol","homekit-server","homekit-support","siri"],"created_at":"2024-08-01T06:02:30.167Z","updated_at":"2025-04-01T11:31:34.149Z","avatar_url":"https://github.com/homebridge.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://homebridge.io\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/homebridge/branding/latest/logos/homebridge-color-round-stylized.png\" height=\"140\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cspan align=\"center\"\u003e\n  \n# HAP-NodeJS\n  \n  \u003ca href=\"https://www.npmjs.com/package/hap-nodejs\"\u003e\u003cimg title=\"npm version\" src=\"https://badgen.net/npm/v/hap-nodejs\" \u003e\u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/hap-nodejs/v/beta\"\u003e\u003cimg title=\"npm version beta\" src=\"https://badgen.net/npm/v/hap-nodejs/beta\" \u003e\u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/hap-nodejs/v/alpha\"\u003e\u003cimg title=\"npm version apha\" src=\"https://badgen.net/npm/v/hap-nodejs/alpha\" \u003e\u003c/a\u003e\u003cbr\u003e\n  \u003ca href=\"https://www.npmjs.com/package/hap-nodejs\"\u003e\u003cimg title=\"npm downloads\" src=\"https://badgen.net/npm/dt/hap-nodejs\" \u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/homebridge/HAP-NodeJS/actions/workflows/build.yml\"\u003e\u003cimg title=\"Node Build\" src=\"https://github.com/homebridge/HAP-NodeJS/actions/workflows/build.yml/badge.svg\" \u003e\u003c/a\u003e\n  \u003ca href='https://coveralls.io/github/homebridge/HAP-NodeJS'\u003e\u003cimg src='https://coveralls.io/repos/github/homebridge/HAP-NodeJS/badge.svg' alt='Coverage Status' /\u003e\u003c/a\u003e\n\n\u003c/span\u003e\n\nHAP-NodeJS is an implementation of the HomeKit Accessory Server as specified in the HomeKit Accessory Protocol (HAP),\nwhich is defined by Apple as part of the HomeKit Framework.\n\nHAP-NodeJS is intended to be used as a library to easily create your own HomeKit Accessory on a Raspberry Pi,\nIntel Edison, or any other platform that can run Node.js :)  \nIf you are searching for a pluggable HomeKit bridge with over a thousand community driven plugins to bring HomeKit\nsupport to devices which do not support HomeKit out of the box, you may want to look at the \n[homebridge][project-homebridge] project (which also uses HAP-NodeJS internally).\n\nThe implementation tries to follow the HAP specification as close as it can, but may differ in some cases.\nHAP-NodeJS is not an Apple certified HAP implementation, as this is only available to members of the MFi program.\n\n## Getting started\n\nYou may start by having a look at our [Wiki][wiki], especially have a look at the \n[Important HomeKit Terminology][hk-terminology] used in this project.\n\nThere is also a pretty detailed guide on [how to start developing with HAP-NodeJS][dev-guide].\nOr you may just have a look at our [examples][examples-repo] repository\n(or some of the old [accessory examples][example-accessories]).\n\nThe documentation (WIP) can be found [here](https://developers.homebridge.io/HAP-NodeJS/modules.html).\n\nSee the FAQ on how to enable [debug output][faq-debug] for HAP-NodeJS.\n\nIf you wish to do a contribution please read through our [CONTRIBUTING][contributing] guide.\n\n## Projects based on HAP-NodeJS\n\n- [Homebridge][project-homebridge] - HomeKit support for the impatient - Pluggable HomeKit Bridge.  \n    Plugins available for  e.g. Pilight, Telldus TDtool, Savant, Netatmo, Open Pixel Control, HomeWizard, Fritz!Box, \n    LG WebOS TV, Home Assistant, HomeMatic and many more.\n- [OpenHAB-HomeKit-Bridge][project-openhab-homekit-bridge] - OpenHAB HomeKit Bridge bridges openHAB items to \n    Apples HomeKit Accessory Protocol.\n- [homekit2mqtt][project-homekit2mqtt] - HomeKit to MQTT bridge.\n- [pimatic-hap][project-pimatic-hap] - Pimatic homekit bridge.\n- [node-red-contrib-homekit][project-node-red-contrib-homekit] - Node-RED nodes to simulate Apple HomeKit devices.\n- [ioBroker.homekit][project-ioBroker-homekit] - connect ioBroker to HomeKit.\n- [AccessoryServer][project-accessoryserver] - HomeKit integration for IR/RF/IP-devices\n\n## Notes\n\nSpecial thanks to [Alex Skalozub][link-alex-skalozub], who reverse-engineered the server side HAP.\n~~You can find his research [here][link-homekit-research].~~\n(Sadly, on Nov 4 2014, Apple sent the [DMCA][link-apple-dmca] request to GitHub to remove the research.)\n\n[There](https://www.instagram.com/p/t4cPlcDksQ/) is a video demo running this project on Intel Edison.\n\nIf you are interested in HAP over BTLE, you might want to check [this][link-hap-over-btle].\n\n\u003c!-- links --\u003e\n\n[wiki]: https://github.com/homebridge/HAP-NodeJS/wiki\n[hk-terminology]: https://github.com/homebridge/HAP-NodeJS/wiki/HomeKit-Terminology\n[dev-guide]: https://github.com/homebridge/HAP-NodeJS/wiki/Using-HAP-NodeJS-as-a-library\n[faq-debug]: https://github.com/homebridge/HAP-NodeJS/wiki/FAQ#debug-mode\n[contributing]: https://github.com/homebridge/HAP-NodeJS/blob/master/CONTRIBUTING.md\n\n[examples-repo]: https://github.com/homebridge/HAP-NodeJS-examples\n[example-accessories]: https://github.com/homebridge/HAP-NodeJS/tree/master/src/accessories\n\n[project-homebridge]: https://github.com/homebridge/homebridge\n[project-openhab-homekit-bridge]: https://github.com/htreu/OpenHAB-HomeKit-Bridge\n[project-homekit2mqtt]: https://github.com/hobbyquaker/homekit2mqtt\n[project-pimatic-hap]: https://github.com/michbeck100/pimatic-hap\n[project-node-red-contrib-homekit]: https://github.com/NRCHKB/node-red-contrib-homekit-bridged\n[project-ioBroker-homekit]: https://github.com/ioBroker/ioBroker.homekit2\n[project-accessoryserver]: https://github.com/Appyx/AccessoryServer\n\n[link-alex-skalozub]: https://twitter.com/pieceofsummer\n[link-homekit-research]: https://gist.github.com/pieceofsummer/13272bf76ac1d6b58a30\n[link-apple-dmca]: https://github.com/github/dmca/blob/master/2014/2014-11-04-Apple.md\n[link-hap-over-btle]: https://gist.github.com/KhaosT/6ff09ba71d306d4c1079\n","funding_links":["https://github.com/sponsors/Supereg","https://paypal.me/Supereg"],"categories":["TypeScript","硬件_其他"],"sub_categories":["资源传输下载"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhomebridge%2FHAP-NodeJS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhomebridge%2FHAP-NodeJS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhomebridge%2FHAP-NodeJS/lists"}