HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
KhaosT
HAP-NodeJS
TypeScript2014–2018
KhaosT / HAP-NodeJS

HAP-NodeJS

Node.js implementation of the HomeKit Accessory Protocol (HAP)

5Distinct people
5Mentions
0Explicit recommenders
66GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Node.js implementation of the HomeKit Accessory Protocol (HAP)

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 12:54:37 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year5 dated mentions

Observed mentions: 2014-10-24 09:25:53 UTC to 2018-07-01 18:13:19 UTC.

012014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC110
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC101
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC101
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101

What Hacker News says

5 sources
From day one, HomeKit had hardware PKI (and strong crypto with a hardware security module on all their devices). All their authentication and messaging was fully end-to-end encrypted, but again, all _in hardware_. [1] But the beauty of it was, you never felt that complexity in software as a customer. It's the proverbial Apple product. The tradeoff is, because you need this special hardware HomeKit chip, the ecosystem is pretty dull, or too expensive. And that's held back HomeKit adoption. After playing chicken with the industry for years, Apple finally gave in and is allowing software HomeKit devices to get certified now. That actually does away with some of the security IMO. But that's ok, it bothers me slightly less to have HomeKit software based lights. Whereas, I wouldn't compromise on that when it comes to security (like locks on my
Read the rest
doors, or the garage door). Hope that helps. While I've had aspirations to get more into home automation from the business side, most of my experience is as a consumer, so weigh my input that way. :-) [1] HomeKit Accessory Protocol: https://developer.apple.com/support/homekit-accessory-protoc... [2] NodeJS Implementation of it to emulate things: https://github.com/KhaosT/HAP-NodeJS
In Azure IoT Edge: Microsoft’s 60k LOC open source Rust code base
This is great news. I've written a HAP Server[1] in Swift, which proved quite difficult as there was no complete specification available. I've written my implementation based on various non-offical HAP Server implementations (written in Go[2], JavaScript[3] and Java[4]). The major difficulties I ran into while implementing were; * No debug messages from iOS client. It would fail without telling me why. * Incompatible SRP implementations (3, 6 and 6a) that slightly differ. * Chacha20-Poly1305 are provided by libsodium, however the parameters of the variant (IETF) differ from the RFC. I hoped to run this code on my Raspberry Pi, but Swift and Swift-Foundation are not quite on-par with their macOS counterparts. Hopefully the cross-compiling effort will allow me in the future to run my HAP Server on this machine. [1]: https://github.com/Bouke
Read the rest
In Using the HomeKit Accessory Protocol Specification (Non-Commercial Version)
I went through Apple's DMCA requests sent to Github and the only one that is remotely similar is this: https://github.com/github/dmca/blob/master/2014-11-04-Apple.... But even then they weren't claiming it was reverse engineered material, but instead material ripped directly from Apple's copyrighted and confidential docs. I think both Apple and Github understand the boundaries of the DMCA pretty well. According to Github they haven't attempted to take down any of the following: https://github.com/nygard/class-dump https://github.com/nst/iOS-Runtime-Headers https://github.com/brutella/hc https://github.com/KhaosT/HAP-NodeJS https://github.com/nfarina/homebridge https://github.com/lisimia/piMessage https://github.com/stefanesser/dumpdecrypted https://github.com/comex/imaon2 … etc
In PieMessage: iMessage on Android
I am doing something similar to this. My setup includes multiple temperature sensors in addition to a Raspberry Pi thermostat which controls my heating system. The thermostat also acts as a HomeKit server, and so can be controlled using Siri - which is really just a fun party trick more than anything else. (I know Nest and Ecobee can probably do all of this out of box -- my reasons for building this were just to tinker and learn) Here's what I use: Sensors: Since these are likely to run on batteries, you'll need to choose a platform with allows for low enough power consumption that you aren't draining the batteries too quickly. This is suitable for the microcontroller-based options (Arduino, ESP8266, NodeMCU, Particle), but not for R-Pi (due to too-high power consumption). In addition to the platform, your code will also need to take adva
Read the rest
ntage of power saving opportunities, like going to sleep and disabling battery-draining radio services like WiFi, waking up periodically to take a measurement, enable WiFi and emit the metric before going back to sleep. For my temperature sensors, I chose to the $19 Particle Photon [1] for the following features: - Built-in WiFi - Built-in REST API (goes through Particle's cloud REST API) - Add a temperature sensor like TMP36 [2] to it and your sensor hardware is done. Thermostat: For this I use a Raspberry Pi (plugged into wall power) + a relay breakout board to interface with my heating system. My thermostat needs to periodically do things like access google calendar, keep a log of temperature data, to run a HomeKit server [3] [4], and to be ever-ready to respond to REST requests from the internet (eg. IFTTT). So, it's more like a real server, for which RPi was much more appropriate. Data Storage: Many options here. Take a look at Phant [5] from SparkFun form something quick and simple. [1] https://store.particle.io/collections/photon [2] https://www.sparkfun.com/products/10988 [3] https://github.com/KhaosT/HAP-NodeJS [4] https://github.com/nfarina/homebridge [5] https://learn.sparkfun.com/tutorials/pushing-data-to-dataspa...
In Raspberry Pi Zero: the $5 computer

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.