Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pteich/esphomekit

Connect ESPHome devices to Apple's HomeKit and control it with Siri or Home App
https://github.com/pteich/esphomekit

esp8266 esphome homekit iot raspberry-pi

Last synced: about 2 hours ago
JSON representation

Connect ESPHome devices to Apple's HomeKit and control it with Siri or Home App

Awesome Lists containing this project

README

        

# ESPHomeKit

ESPHomeKit is a simple solution to connect ESPHome devices (https://esphome.io) to HomeKit.
The service is written in Go and can run on any platform like Raspberry PI.

I've written this service because I needed a simple, small and fast solution to make my devices available in
any HomeKit compatible app like Apple's Home.

It's still more like a proof of concept because I added only what I need for myself. At my home ESPHomeKit is now running on an Raspberry PI Zero W and works without latency or problems for a long time.

## Setup and Run

You need some ESPHome powered devices with enabled REST api. Have a look at https://esphome.io on
how to setup ESPHome on any ESP8266 or ESP32 board. Its a great tool and supports
almost all ESP devices even the famous Sonoff.

To compile ESPHomeKit you need an working Go environment.
Compile (`make build-arm` for Raspberry Pis) and run ESPHomeKit with a specific 8 digit pin (given as `-pin` command line flag) and open Apple's Home app. Tap to add a new device ("EspHomeKit Bridge" should already appear in the dialog) accept the message about untrusted devices and enter the pin. That's it.

**Commandline flags:**
`-pin` the 8 digit pin for HomeKit
`-config` path to config file with all you accessories (default: ./accessories.json)
`-storage` path storage for HomeKit transport data (default: ./)
`-logConsole` log in human readable format to console, otherwise json log is created
`-logLevel` one of debug info or error - defaults to debug

## Limitations

By now only color lights and temperature sensors are supported because that's what
I needed.