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.
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
sudo apt-get install python-serial
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
You can verify if homebridge installed successfully by browsing to homebridge web interface
Default login credentials for Homebridge
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.
You can tap on any zone switch to start boost for the Zone.
Great big thank you to twa127 for working on this and making PiHome compatible with HomeKit App.