
Product
Introducing Custom Tabs for Org Alerts
Create and share saved alert views with custom tabs on the org alerts page, making it easier for teams to return to consistent, named filter sets.
hap-nodejs
Advanced tools
HAP-NodeJS is a Node.js implementation of the HomeKit Accessory Server.
With this project, you should be able to create your own HomeKit Accessory on a Raspberry Pi, Intel Edison, or any other platform that can run Node.js :)
The implementation may not 100% follow the HAP MFi Specification since the MFi program doesn't allow individual developers to join.
Remember to run npm install before actually running the server.
Users can define their own accessories in: accessories/[name]_accessory.js files, where [name] is a short description of the accessory. All defined accessories get loaded on server start. You can define accessories using an object literal notation (see Fan_accessory.js for an example) or you can use the API (see below).
You can use the following command to start the HAP Server in Bridged mode:
node BridgedCore.js
Or, if you wish to host each Accessory as an independent HomeKit device:
node Core.js
The HAP-NodeJS library uses the debug library for log output. You can print some or all of the logs by setting the DEBUG environment variable. For instance, to see all debug logs while running the server:
DEBUG=* node BridgedCore.js
Hint: the Homekit Application Protocol (HAP) allows that you can pair a Homekit device with one device. As soon as the Homekit device is paired, its not possible to pair with another iOS device anymore.
HAP-NodeJS provides a set of classes you can use to construct Accessories programatically. For an example implementation, see Lock_accessory.js.
The key classes intended for use by API consumers are:
LockMechanism Service contains a CurrentDoorState Characteristic describing whether the door is currently locked.All known built-in Service and Characteristic types that HomeKit supports are exposed as a separate subclass in HomeKitTypes.
See each of the corresponding class files for more explanation and notes.
Special thanks to Alex Skalozub, who reverse engineered the server side HAP. You can find his research at here. (Sadly, on Nov 4, Apple sent the DMCA request to Github to remove the research.)
There is a video demo running this project on Intel Edison.
If you are interested in HAP over BTLE, you might want to check this.
FAQs
HAP-NodeJS is a Node.js implementation of HomeKit Accessory Server.
The npm package hap-nodejs receives a total of 12,047 weekly downloads. As such, hap-nodejs popularity was classified as popular.
We found that hap-nodejs demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 10 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Create and share saved alert views with custom tabs on the org alerts page, making it easier for teams to return to consistent, named filter sets.

Product
Socket’s Rust and Cargo support is now generally available, providing dependency analysis and supply chain visibility for Rust projects.

Security News
Chrome 144 introduces the Temporal API, a modern approach to date and time handling designed to fix long-standing issues with JavaScript’s Date object.