An Apple HomeKit accessory for the Pimoroni Enviro+ running on a Raspberry Pi.
- Go - this accessory is written in Go
- HomeControl - to expose climate readings from the Enviro+ as an Apple HomeKit accessory
- enviroplus-exporter - to read the sensors of the Enviro+ and export them for scraping by Prometheus
Install this on a Raspberry Pi, or test it on macOS.
- Install Go >= 1.14 (useful Gist for Raspberry Pi)
- Clone this project:
git clone https://github.com/sighmon/homekit-enviroplus
and thencd homekit-enviroplus
- Install the Go dependencies:
go get
- Install and run the Prometheus enviroplus-exporter
- Optionally if you'd prefer a Docker container of the exporter, see: balena-enviro-plus
- To build this accessory:
go build homekit-enviroplus.go
- To cross-compile for Raspberry Pi on macOS:
env GOOS=linux GOARCH=arm GOARM=7 go build homekit-enviroplus.go
- Execute the executable:
./homekit-enviroplus
- Or run with the command:
go run homekit-enviroplus.go
- sudo cp homekit-enviro.service /lib/systemd/system/homekit-enviro.service
- sudo systemctl daemon-reload
- sudo systemctl enable homekit-enviro.service
- sudo systemctl start homekit-enviro.service
The flag defaults can be overridden by handing them in at runtime:
-host=http://0.0.0.0
The host of your Enviro+ sensor-port=1006
The port of your Enviro+ sensor-sleep=5s
The time between updating the accessory with sensor readings (5s
equals five seconds)-dev
This turns on development mode to return a random temperature reading without needing to have an Enviro+
e.g. to override the port run: go run homekit-enviroplus.go -port=8000
or ./homekit-enviroplus -port=8000
- In iOS Home, click Add Accessory -> "More options..." and you should see "Enviro"
- The default code is
00102003
and can be changed via this line
If you uninstall this accessory from your Apple Home, you'll also need to delete the stored data for it to be able to be re-added.
- Delete the data in the folder created:
homekit-enviroplus/Enviro+/
- Restart the executable
- Remove the persistent data:
rm -rf /var/lib/homekit-enviroplus/data
- Restart the Raspberry Pi
This project uses the amazing work of Matthias. Please consider donating if you found this useful.