Cara Menghubungkan Semua Perangkat Cerdas ke HomeKit (dengan Raspberry Pi)
Diterbitkan: 2022-01-29Banyak perangkat pintar melewatkan dukungan Apple HomeKit dan hanya berintegrasi dengan Alexa, Google, dan platform lainnya. Namun, dengan peretasan Raspberry Pi ini, Anda dapat menambahkan dukungan HomeKit ke perangkat pintar apa pun dengan perangkat lunak Homebridge open-source.
HomeKit untuk Semua Perangkat Cerdas
Jika Anda sepenuhnya menggunakan HomeKit, satu masalah besar adalah betapa sedikit perangkat pintar yang mendukungnya. Misalnya, satu-satunya hal yang menahan beberapa bola lampu pintar yang murah adalah kurangnya dukungan HomeKit. Amazon's Choice for a "Smart Light Bulb" adalah paket empat dari TECKIN, yang, pada tulisan ini, berharga sekitar $40—kurang dari satu bohlam LIFX.
Tentu, mereka tidak premium seperti LIFX; warnanya tidak semarak, dan mereka mengeluarkan suara yang terdengar di kamar mandi, tetapi untuk $ 10 pop, mereka adalah nilai yang tidak ada duanya.
Namun, masalah utamanya adalah mereka tidak memiliki dukungan HomeKit. Mereka tidak sepenuhnya bodoh—mereka bekerja dengan Google Home, Alexa, IFTTT, dan aplikasi pabrikan. Mereka baik-baik saja untuk seseorang yang hanya memiliki bohlam pintar TECKIN.
Namun, karena Anda tidak dapat mengaksesnya dari HomeKit, Anda tidak dapat mengontrolnya dari app Rumah, widget di Pusat Kontrol, atau Siri. Anda juga tidak dapat menyertakannya dalam adegan dengan bohlam dari merek lain atau menggunakannya di Otomatisasi. Jika Anda sudah berinvestasi di HomeKit, kemungkinan besar ini adalah dealbreaker.
Temui Homebridge
Untungnya, ada peretasan yang membuat bohlam khusus ini jauh lebih berguna. API HomeKit memungkinkan perangkat yang disebut jembatan, seperti yang ini dari Philips Hue, untuk menghubungkan perangkat anak yang beroperasi pada protokol lain. Anda cukup menambahkan jembatan sebagai perangkat di HomeKit, dan itu mendaftarkan setiap lampu yang terhubung dengannya di HomeKit. Setiap kali Anda membuat permintaan untuk memperbarui cahaya, telepon Anda berbicara ke jembatan, dan jembatan berbicara dengan cahaya.
Jadi, jembatan hanya menyampaikan informasi dari satu API ke API lainnya. Karena Anda dapat mengontrol bola lampu TECKIN melalui internet, sangat mungkin untuk menghubungkannya ke HomeKit hanya dengan perangkat lunak—tidak diperlukan perangkat keras berpemilik.
Jika Anda memiliki Raspberry Pi (nilai $ 5 Pi Zero baik-baik saja), Anda dapat mengaturnya sebagai jembatan dengan kerangka kerja yang disebut Homebridge. Aplikasi NodeJS yang ringan ini mengemulasi HomeKit API dan meneruskan permintaan ke perangkat pintar non-HomeKit Anda.
Pada dasarnya, Anda menjalankannya di Pi, dan itu menambahkan setiap perangkat 'bodoh' ke aplikasi Home. Saat Anda mencoba mengontrol bohlam melalui app Rumah atau Siri, Homebridge berbicara ke perangkat untuk Anda. Setelah Anda mengaturnya, perangkat ini seperti memiliki dukungan HomeKit sejak awal.
Ini mengharuskan perangkat menjalankan Homebridge setiap saat, jadi ini bukan sesuatu yang akan Anda instal di laptop Anda. Raspberry Pi sangat ideal, tetapi jika Anda memiliki perangkat lama yang dapat digunakan kembali sebagai server atau desktop yang selalu berjalan, Anda dapat menginstalnya di sana.
Homebridge adalah kerangka kerja, dan Anda dapat memperluasnya dengan plug-in. Ini memiliki dukungan komunitas yang cukup besar, jadi ada kemungkinan besar perangkat pintar tertentu mungkin memiliki plug-in Homebridge untuk menambahkan dukungan untuknya. Jika perangkat Anda tidak memiliki plug-in, tetapi perangkat pintar Anda memiliki API, dan Anda paham teknologi, Anda dapat menulisnya sendiri.
Namun, bagi kebanyakan orang, pengaturannya hanya menginstal Homebridge dan plug-in merek untuk perangkat, bersama dengan sedikit konfigurasi. Jika Anda dapat menggunakan baris perintah dan memiliki sedikit waktu, itu cukup mudah.
Memasang dan Mengonfigurasi Homebridge
Homebridge adalah aplikasi NodeJS, jadi Anda harus menginstal node
dan npm
untuk menggunakannya. Jika mesin Anda menjalankan Linux, Anda mungkin bisa mendapatkannya dari manajer paket Anda.
Di Ubuntu, Anda harus mengetik berikut ini untuk mengatur repo Node secara manual, dan kemudian menginstal nodejs
:
curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash - sudo apt-get install -y nodejs
Jika tidak, Anda dapat berkonsultasi dengan halaman unduh Node untuk informasi tentang cara menginstalnya untuk OS khusus Anda.
Jika Anda menggunakan Linux, Anda juga perlu menginstal beberapa dependensi, seperti yang ditunjukkan di bawah ini:
sudo apt-get install libavahi-compat-libdnssd-dev
Setelah itu, Anda dapat menginstal Homebridge secara global melalui npm
, seperti yang ditunjukkan di bawah ini:
sudo npm install -g --unsafe-perm homebridge
Anda juga ingin menginstal plug-in merek yang Anda butuhkan, karena Homebridge hanyalah sebuah kerangka kerja. Untuk bohlam TECKIN, misalnya, plug-innya adalah homebridge-tuya-web
, yang juga dipasang secara global.
Anda akan mengetik berikut ini:
npm saya homebridge-tuya-web -g
Setelah semuanya terinstal, Anda benar-benar dapat menggunakan benda itu! Ketik yang berikut untuk menjalankan Homebridge sekali dan inisialisasi semuanya:
jembatan rumah
Ini akan mengeluh tentang kurangnya konfigurasi, yang harus Anda buat. Direktori default adalah ~/.homebridge/
, tetapi Anda dapat menggunakan parameter -U
jika Anda ingin memindahkannya.
Ketik berikut ini untuk membuat file konfigurasi JSON baru di folder ini:
nano ~/.homebridge/config.json
Terlepas dari plugin yang Anda gunakan, Anda memerlukan konfigurasi dasar berikut:
{ "menjembatani": { "nama": "Jembatan rumah", "nama pengguna": "CC:22:3D:E3:CE:30", "pelabuhan": 51826, "pin": "031-45-154" }, "deskripsi": "Server HomeBridge Kustom", "pelabuhan": { "mulai": 52100, "akhir": 52150, }, "platform": [ ] }
Ini mengonfigurasi Homebridge dengan port default, nama, PIN, dan rentang port yang tersedia untuk dialokasikan ke perangkat lain.
Di dalam array platforms
kosong, Anda menempatkan konfigurasi untuk setiap plug-in. Anda seharusnya dapat menemukan instruksi dan contoh ini di setiap halaman GitHub plugin.
Pada contoh di bawah, plug-in homebridge-tuya-web
untuk bohlam TECKIN ingin mengetahui nama pengguna dan kata sandi saya untuk terhubung ke API untuk aplikasi bohlam, dan beberapa hal lainnya:
"platform": [ { "platform": "TuyaWebPlatform", "nama": "TuyaWebPlatform", "pilihan": { "nama pengguna": "nama pengguna", "kata sandi": "kata sandi", "kode negara": "1", "platform": "smart_life", "pollingInterval": 10 } } ]
Setelah semuanya dikonfigurasi, Homebridge harus siap digunakan. Jalankan lagi, dan terminal Anda akan menampilkan kode QR raksasa yang mungkin memaksa Anda untuk memperkecil. Pindai ini dengan aplikasi Home untuk menambahkannya dan semua perangkat yang terhubung ke HomeKit.
Homebridge memuat plug-in Anda dan harus mencatat pesan ke layar untuk setiap perangkat yang ditemukannya. Anda akan melihat semuanya di HomeKit setelah ditambahkan, dan semuanya harus berfungsi penuh.
Saya memang melihat sedikit keterlambatan dibandingkan dengan bohlam LIFX saya. Ini mungkin karena bohlam dikontrol melalui API daripada secara langsung. Pada awalnya, bohlam juga tidak menampilkan beberapa putih dan putih hangat dengan benar, tetapi setelah sedikit penyesuaian, saya dapat mengatur adegan yang tepat.
Anda selalu dapat mengonfigurasi perangkat di aplikasi mereka sendiri, menunggu aplikasi Home diperbarui, lalu mengatur adegan di HomeKit dengan konfigurasi yang telah dibuat sebelumnya.
Jika Anda perlu menambahkan kembali Homebridge, Anda dapat menghapus folder persist/
di direktori config, dan kemudian menghapus jembatan dari HomeKit dari pengaturan bohlam yang terhubung di bawah tab "Jembatan".
Menambahkan Homebridge sebagai Layanan
Jika Anda ingin Homebridge berjalan sepanjang waktu, Anda mungkin ingin mengonfigurasinya untuk memulai ulang jika macet atau jika Raspberry Pi Anda dimulai ulang. Anda dapat melakukan ini melalui layanan Unix. Siapkan ini setelah Anda memverifikasi bahwa Homebridge berfungsi sebagaimana mestinya.
Pertama, tambahkan pengguna layanan baru, yang disebut homebridge
:
sudo useradd -M --system homebridge
Tetapkan kata sandi:
sudo passwd homebridge
Selanjutnya, Anda harus memindahkan konfigurasi homebridge
di luar direktori home pribadi Anda. /var/lib/homebridge/
seharusnya baik-baik saja:
sudo mv ~/.homebridge /var/lib/homebridge/
Pastikan orang yang menggunakan homebridge
memiliki kepemilikan direktori itu dan semua subfolder:
sudo chown -R homebridge /var/lib/homebridge/
Setelah selesai, Anda dapat membuat layanan. Untuk melakukannya, buat file baru bernama homebridge.service
di /etc/systemd/system/
:
sudo nano /etc/systemd/system/homebridge.service
Dan kemudian rekatkan konfigurasi berikut:
[Satuan] Description=Layanan jembatan rumah After=syslog.target network-online.target [Melayani] Jenis = sederhana Pengguna=jembatan rumah ExecStart=/usr/bin/homebridge -U /var/lib/homebridge Mulai ulang = saat gagal RestartSec=10 KillMode=proses [Install] WantedBy=multi-pengguna.target
Muat ulang daemon layanan untuk memperbaruinya dengan perubahan Anda:
sudo systemctl daemon-reload
Sekarang, Anda harus dapat mengaktifkan layanan Anda (mengaturnya agar berjalan saat boot):
sudo systemctl aktifkan homebridge
Dan mulailah:
sudo systemctl start homebridge
Jika Anda perlu men-debug kesalahan yang muncul dari konfigurasi layanan, Anda dapat melihat log layanan dengan mengetik:
journalctl -fn 50 -u homebridge