HomeKit update, non-commercial version - SRP


thanks @bko, with your hint I passed the previous error message (by including a sea.h files and resolving the “missing” dependencies.

Unfortunately I bump into another issue. (Error: “SRPClient.cpp:12:22: array used as initializer” )
I have to mention I am compiling using the web IDE (to avoid getting local compiler issues). I searched internet for that particular error, but did not find a working solution.

Maybe @moflo you could help me, explaning on which environment you compiled it, CLI or web IDE, if you got the error already, etc…

Thanks in advance :slight_smile:


Could this be your problem?

How about building a target like 0.7.0-rc.7? IIRC this uses a 5.x.x GCC in the build farm.

Also quoting the “offending” line/block of code would help diagnosing the problem.


Hi Moors7, can you point me to a recent guide to setup Homebridge on a Pi? Any site you would particularly recommend?


The official github wiki is always a good place to start: https://github.com/nfarina/homebridge/wiki/Running-HomeBridge-on-a-Raspberry-Pi




OK, I’m not a programmer and not experienced with Linux/Unix but I definitely want to use Homebridge as soon as possible to control my 10 Photons around the house…

So, I took all my courage together and ordered a new Pi3 B+…

In one long day, I have …

  • assembled my brandnew Pi with a SmartiPi touchscreen,
  • set-up the Pi from scratch,
  • learned to speek Linux :wink: ssh and VNC my Pi from my Mac and
  • managed to set it’s resolution to such an incredibly small size that I could’nt configure it anymore and I
  • escaped finally! (With a little help from great Linux minds!)
  • set-up Particle Pi where
  • managed the little green “D7” led using my iPhone App. Then
  • started installing Homebridge by following the original Github instructions by nfarina which Jordy (@Moors7 ) mentioned in the previous post.

I am very happy I managed to install Homebridge that far already without any help, but now I’m afraid to be STUCK!

Can one of you, experienced Homebridge users, give me a tip how I could proceed?
This weekend I 'd like to make it work…

These are the last steps I took a few minutes ago:

All went well with trial & error…
Fnally I also managed to create a required “homebridge” system user using “sudo” as my authorization wasn’t right… However, I couldn’t check if this user can write to that directory.

All seemed to go well until I did this (From NFARINA 's Github procedure):

* Then Enable and run the service (first time) with the following commands:

systemctl daemon-reload
systemctl enable homebridge
systemctl start homebridge

What happened on the Pi’s terminal screen?

pi@raspberrypi:/var/lib/homebridge $ systemctl daemon-reload

=> OK, seems fine…

pi@raspberrypi:/var/lib/homebridge $ systemctl enable homebridge
Failed to enable unit: File homebridge.service: No such file or directory

=> ERROR! ???

When I check the homebridge directory and “config.json” file, they both exist:

pi@raspberrypi:/var/lib/homebridge $ ls

Checking the homebridge status:

pi@raspberrypi:/var/lib/homebridge $ systemctl status homebridge
Unit homebridge.service could not be found.




Continued in this new thread:


With Argons using the ESP32, projects using an ESP might have already figured out the hard parts. Mainly posting so I remember to look into this when I get mine.


I’m not sure whether you are aware of the fact that the ESP32 is only used as the WiFi “coprocessor” and is not actually driving the device. It’s also not intended to be programmed by the user and it’s GPIOs are not exposed via device pins either.


I just made time to click order. Thanks for the info, I read the specs, but obviously not closely. I’ll read up and not derail this thread.

Update, I don’t feel as stupid. With the tag line “Wi-Fi connected and powered by the ESP32”
There isn’t confusion if I say ‘WiFi connected and powered by an i7’


I don’t keep track of all official or inofficial statements about the Argon, so I don’t know where this “powered by the ESP32” statement stems from, but when it’s worded like this somewhere that’d explain the confusion.
And that’s why I wanted to point out the probable misconception.

The official product description I know from https://particle.io/mesh reads



Also, the ESP32-S0WD is a single-core variant of the ESP32.


So, ruling out the ESP32 since the Particle Mesh devices are powered by the Nordic nRF52840, it seems we might actually be in a better place.

For some reason I can’t load the page at the moment, but Nordic actually seems to provide an SDK for HomeKit:

The google search results say The nRF5 SDK for HomeKit provides developers with a unique solution for HomeKit products that meets all requirements on size, power consumption and performance.


This is very cool. I have Photons, Lutron Caseta, Smart Bridge Pro 2, HomeBridge, etc. I used a Photon and magnetic Reed Switch to turn my pantry light on when the door opens and turn it off when the door closes. Additionally, I added code so whenever the Mudroom light is on for 10 minutes turn it off. I used a Smart Plug and an AC relay to turn on and off the fireplace. Love HomeKit and Homebrew methods to interface with it.

Forgot to mention I also did this plugin with HomeBridge. https://www.npmjs.com/package/homebridge-particle-io
Works great.


It actually says “powered by the ESP32” on https://www.particle.io/mesh/
Is this incorrect then? Or does the Nordic chip just provide the BLE part of the device?



Again, the Nordic chip is the main controller for all mesh devices, the ESP32 only “powers” the WiFi connection.

The term “powered by” might give rise to that misinterpretation, but since it’s not a very technical and unambigous term I’d not overinterpret it’s meaning in that respect.

You can also see it used in other connections in the same screenshot.

You would also be correct in saying the device can be “powered by a LiPo” battery.


It’s a bummer that we don’t have some direct access to the ESP32. I was hoping we might be able to use the second core for timing-critical interrupt-driven stuff while the first core serviced the WiFi needs. I’m sure you weighed the cost/benefits of several options before choosing it, but from the user-side it just feels like such wasted potential! I don’t mean this to sound like a gripe – it’s not like we were ever promised we’d have access to it. But the imagination ran wild. :slight_smile:


Yeah it’s a bummer.

@RWB, @seulater and I were hoping for access to the ESP32.


I still have the scar from the wound it left when I found out it was not a Photon2. Which was based on a ESP32, 240 MHZ monster with Wifi, Bluetooth & 4,8, or 16 Meg of flash, and 8 Meg of ram. Oh the pain, the pain…


FINALLY, we have a breakthrough!

See this new thread: LINK

Lukas Jezny developed an application for a Photon, in which he implements a HAP (Homekit Access Point) on the device itself. So, you don’t need a Homebridge or an OpenHAB server to control a Photon with Siri… :star_struck:

It works beautifully: You compile a sketch and flash it to any Particle device and then it can be directly paired with Homekit on any iPad, iPhone… Currently, you can only control the Particle’s RGB LED ON/OFF state.

I was hoping that Lukas would also show us how we could access Particle.function s and Particle.variable s from Homekit. But, fair enough, he apologised because he can’t make the time for it. Pity…
He shared also the Apple document explaining how to expand the functionality, but it goes over my head!
If some of you, professional programmers, would be interested to try and expand his work, I believe many Particle users would be very happy! I would… :bow: