PiHome Smart Heating has been designed to offer control your multi zone heating system. Apple HomeKit support adds great connectivity to an already feature rich open source Smart Heating solution.

Homekit is a home accessories management framework developed by Apple. It allows Apple devices owners to control connected objects from different manufacturers using a single interface. It enhances Siri’s capability to interpret commands intended for those devices.

To make PiHome work with Siri you need to install Homebridge and the Homebridge Http Webhooks plugin to provide control of BOOST for individual zones and to integrate temperature sensors.

PiHome with iOS HomeKit and Homebridge

PiHome with iOS HomeKit and Homebridge

Update PiHome

Lets update your PiHome software from Github to latest. login to your raspberry pi and issue following commands.

cd /var/www/
git pull origin

Update PiHome Database

Updating PiHome database is easy enough, run following two lines, this update process will create backup of your exiting database in case if you need to revert back.

cd /var/www/MySQL_Database/
php update_db.php

Install python serial library

After PiHome version 1.73 python serial library required to connect to your Smart Home Gateway

sudo apt-get install python-serial

Installed Homebridge

Homebridge is a lightweight NodeJS server that emulates the iOS HomeKit API. It allows you to integrate with smart home devices that do not support the HomeKit protocol.

curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -
sudo apt-get install -y nodejs gcc g++ make python
sudo npm install -g --unsafe-perm homebridge homebridge-config-ui-x
sudo hb-service install --user homebridge
Homebridge Install

Homebridge Install

You can verify if homebridge installed successfully by browsing to homebridge web interface
http://<PiHome ip>:8581/login

Default login credentials for Homebridge
username: admin
password: admin

Connect PiHome to Homebridge

Install all dependencies to connect your PiHome to Homebridge.

cd /var/www/add_on/homekit
bash install.sh

Bash script will install following:

  • Install the Homebridge Http Webhooks plugin.
  • Modify /etc/apache2/sites-available/000-default.conf and enable mod_rewrite so that urls without the .php extension can be used (a backup will be created)
  • Check that the Webhooks cache storage directory has been created and is empty
  • Create a backup of /var/lib/homebridge/config.json.
  • Add to config.json the Webhooks platform
  • Add to config.json Webhooks switches for each zone where status = 1, the [id] value will be switchxx where xx is the zone_id
  • Add to config.json Webhooks sensors for each zone where status = 1 or graph_it = 1, the [id] value will be sensorxx where xx is the zone_id

Pair iOS Device

Brows to Homebridge web portal and Enter this code with in your HomeKit app on your iOS device to pair with Homebridge and add all zone in your Apple Homekit app.

  • Tape Add Anyway, after this tap Next to continue adding all zone to your Apple HomeKit App.
PiHome with iOS HomeKit Add Accessory

PiHome with iOS HomeKit Add Accessory

You can tap on any zone switch to start boost for the Zone.

PiHome Heating Zone iOS HomeKit

PiHome Heating Zone iOS HomeKit

Great big thank you to twa127 for working on this and making PiHome compatible with HomeKit App.