
Kamu sudah berhasil mengatur Home Assistant dan menghubungkannya dengan berbagai perangkat smart home di rumah — lampu, sensor, kamera, dan lainnya. Semuanya berjalan lancar selama kamu berada di rumah dan terhubung ke jaringan lokal (LAN). Namun begitu kamu keluar rumah, koneksi terputus. Kamu tidak bisa memantau kamera, menyalakan AC sebelum pulang, atau mengecek status perangkat dari luar.
Inilah masalah klasik yang dihadapi banyak pengguna Home Assistant: bagaimana cara mengakses Home Assistant dari internet secara remote?
Artikel ini membahas semua opsi yang tersedia, kelebihan dan kekurangan masing-masing, lalu memberikan panduan langkah demi langkah cara setup Cloudflare Tunnel sebagai solusi terbaik — terutama jika ISP kamu tidak mengizinkan modifikasi pengaturan router.
Tanpa akses internet ke Home Assistant, manfaat smart home menjadi sangat terbatas. Beberapa skenario nyata yang membutuhkan remote access:
Singkatnya, remote access mengubah smart home dari sekadar otomasi lokal menjadi sistem yang benar-benar "smart" dan responsif.
Ada beberapa metode untuk mengakses Home Assistant secara remote dari internet. Masing-masing punya karakteristik berbeda tergantung kebutuhan, kemampuan teknis, dan kondisi infrastruktur jaringan kamu.
Tim Home Assistant menyediakan layanan cloud resmi bernama Nabu Casa. Dengan menghubungkan instance Home Assistant ke cloud mereka, kamu bisa langsung mendapatkan akses internet melalui fitur Remote UI.
Setup-nya sangat mudah — cukup beberapa klik dari antarmuka web Home Assistant. Namun ada dua kekurangan utama:
Kelebihan: Setup termudah, integrasi native.
Kekurangan: Berbayar, bergantung pada third-party service.
Metode ini paling umum digunakan oleh pengguna yang ingin self-hosted tanpa biaya tambahan. Caranya adalah membuka port 8123 pada router dan mengarahkan traffic tersebut ke IP lokal Raspberry Pi atau server Home Assistant kamu.
Prosedur pengaturannya bervariasi tergantung merek router, tapi secara umum cukup mudah dilakukan.
Kelebihan: Mudah di-setup, self-hosted, gratis.
Kekurangan: Kurang aman karena membuka port ke seluruh internet, membutuhkan akses ke pengaturan router.
VPN menawarkan keamanan yang lebih baik dibanding port forwarding biasa. Solusi seperti OpenVPN atau WireGuard memungkinkan kamu membuat koneksi terenkripsi antara perangkat mobile dan jaringan rumah.
Namun kamu tetap perlu melakukan port forwarding untuk VPN-nya sendiri, dan setup-nya lebih kompleks.
Kelebihan: Aman, self-hosted.
Kekurangan: Setup lebih rumit, tetap membutuhkan akses ke pengaturan router.
Inilah solusi terbaik jika ISP kamu tidak mengizinkan modifikasi router sama sekali — kondisi yang cukup umum terjadi di banyak daerah di Indonesia, di mana router dikunci oleh penyedia layanan.
Tunneling bekerja dengan cara menginstal software connector di jaringan lokal kamu (misalnya di Raspberry Pi), lalu menghubungkannya ke layanan cloud tunnel. Traffic dari internet akan "ditunnel" ke connector tersebut, yang kemudian meneruskan request ke Home Assistant di jaringan lokal.
Tidak perlu membuka port, tidak perlu menyentuh pengaturan router.
Kelebihan: Aman (jika dikonfigurasi dengan benar), tidak memerlukan akses ke pengaturan router.
Kekurangan: Setup sedikit lebih kompleks, menggunakan layanan third-party.
Ada banyak layanan tunneling yang tersedia, seperti ngrok, Tailscale, ZeroTier, dan lainnya. Namun Cloudflare Tunnel menjadi pilihan utama karena beberapa alasan kuat:
Catatan penting: Meskipun Cloudflare menyediakan free plan, kamu tetap perlu menambahkan kartu kredit/debit ke akun Cloudflare untuk mengaktifkan layanan cloud mereka. Kartu tidak akan ditagih untuk penggunaan dalam batas free tier.
Sebelum memulai, pastikan kamu sudah memiliki:
Login ke akun Cloudflare kamu, lalu pergi ke menu Websites → Add a site. Masukkan nama domain kamu, klik Continue, dan pilih paket Free.
Jika domain kamu tidak terdaftar di Cloudflare, kamu perlu mengubah Name Server (NS) domain ke nameserver milik Cloudflare. Caranya:
Proses propagasi nameserver bisa memakan waktu hingga 24 jam. Cloudflare akan mengirimkan email konfirmasi setelah proses selesai.
Setelah nameserver berhasil diubah, klik Check nameservers di dashboard Cloudflare. Jika berhasil, domain kamu akan muncul dengan status Active di bawah menu Websites.
Di menu kiri Cloudflare, pilih Access → Tunnels → Create a tunnel. Beri nama tunnel sesuka kamu, lalu klik Next.
Di bagian Choose your environment, pilih Docker. Cloudflare akan memberikan perintah docker run yang siap digunakan.
Buka terminal di komputermu, lalu SSH ke Raspberry Pi:
ssh pi@<IP_RASPBERRY_PI>Buat direktori baru untuk Cloudflare:
cd ~/
mkdir cloudflare && cd cloudflareJalankan perintah docker run yang disediakan oleh Cloudflare:
docker run --name cloudflare cloudflare/cloudflared:latest tunnel --no-autoupdate run --token <YOUR_TOKEN>Setelah container berjalan, perhatikan output log-nya. Cari baris yang mengandung teks seperti:
INF ICMP proxy will use 172.17.0.2 as a source for IPv4Catat IP address tersebut (contoh: 172.17.0.2) — kamu akan membutuhkannya nanti.
Tekan Ctrl+C untuk menghentikan container sementara. Kemudian jalankan kembali dalam mode background (detached):
docker start cloudflareKamu bisa mengecek nama container dengan perintah:
docker ps -aKembali ke dashboard Cloudflare. Di bagian Connectors, kamu seharusnya melihat connector baru dengan status Connected. Klik Next.
Di bagian ini, kamu akan mendefinisikan URL publik untuk mengakses Home Assistant:
hass (artinya kamu akan akses via hass.namadomain.com)HTTPhttp://192.168.1.100:8123)Klik Save untuk menyimpan konfigurasi tunnel.
Ambil ponsel kamu, matikan WiFi, dan gunakan koneksi data seluler (4G/5G). Buka browser dan akses subdomain yang baru saja kamu buat, misalnya hass.namadomain.com.
Jika muncul error "400: Bad Request" — jangan panik! Ini justru kabar baik. Pesan error ini berasal dari Home Assistant itu sendiri, yang artinya tunnel sudah bekerja dan berhasil meneruskan request ke Home Assistant di Raspberry Pi. Masalahnya hanya pada konfigurasi Home Assistant yang belum mengizinkan koneksi dari proxy.
Home Assistant secara default memblokir request yang datang melalui proxy atau reverse proxy. Kamu perlu mengeditnya secara manual.
SSH ke Raspberry Pi dan masuk ke direktori Home Assistant:
cd ~/homeassistantEdit file configuration.yaml dan tambahkan konfigurasi berikut di bagian paling atas:
http:
use_x_forwarded_for: true
trusted_proxies:
- 172.17.0.0/24Ganti IP address di atas dengan IP Cloudflare Tunnel Connector yang kamu catat sebelumnya. Ubah digit terakhir menjadi0. Contoh: jika IP connector adalah172.17.0.2, maka masukkan172.17.0.0/24.
Buka antarmuka web Home Assistant di browser, pergi ke Settings → System, lalu klik ikon Power di pojok kanan atas dan pilih Restart.
Tunggu beberapa menit hingga Home Assistant aktif kembali.
Kembali ke ponsel kamu (pastikan masih menggunakan data seluler, bukan WiFi rumah), buka browser, dan akses kembali URL tunnel kamu. Kali ini, halaman login Home Assistant seharusnya muncul dengan sempurna.
Selamat! Home Assistant kamu sekarang bisa diakses dari mana saja di seluruh internet!
Membuka akses Home Assistant ke internet tanpa lapisan keamanan tambahan adalah tindakan yang sangat berisiko. Bot dan scanner berbahaya terus-menerus menyisir internet untuk mencari target. Berikut langkah-langkah pengamanan yang wajib kamu lakukan.
Karena nameserver domain sudah diarahkan ke Cloudflare, SSL certificate akan dikelola secara otomatis oleh mereka. Namun kamu perlu memastikan enkripsi berjalan dengan benar:
Selanjutnya, pergi ke SSL/TLS → Edge Certificates dan aktifkan:
Ini adalah langkah terpenting untuk memastikan hanya kamu yang bisa mengakses Home Assistant dari internet.
Langkah 1: Tambahkan Login Method
Di Cloudflare, masuk ke menu Zero Trust → Settings → Authentication → Login methods → Add new.
Pilih identity provider yang ingin kamu gunakan. Dalam contoh ini, kita menggunakan GitHub. Ikuti instruksi yang diberikan untuk membuat OAuth application di akun GitHub kamu.
Langkah 2: Buat Zero Trust Application
Pergi ke Access → Applications → Add an application → pilih Self-hosted.
hass.namadomain.com).Langkah 3: Konfigurasi Security Policy
Buat dua aturan keamanan:
Login Methods → Value → GitHubEmails → Value → alamat email akun GitHub kamuDengan konfigurasi ini, hanya akun GitHub dengan email spesifik milikmu yang bisa melewati lapisan autentikasi Cloudflare.
Buka browser dalam mode incognito/private. Akses URL Home Assistant kamu. Kamu akan melihat halaman Cloudflare Access dengan opsi login GitHub — bukan halaman login Home Assistant. Coba login dengan akun GitHub yang berbeda (bukan akun utama kamu). Hasilnya: Access Denied.
Ini berarti lapisan keamanan Zero Trust berjalan dengan sempurna.
Setelah semua dikonfigurasi, penting untuk memantau siapa saja yang mencoba mengakses tunnel kamu.
Pergi ke Analytics & Logs → Account Analytics. Di sini kamu bisa melihat:
Jangan kaget jika ada request dari berbagai negara yang tidak kamu kenal — itu adalah aktivitas normal dari scanner dan bot yang terus berjalan di internet. Lapisan Zero Trust yang sudah kamu buat akan memblokir mereka sebelum bisa menyentuh Home Assistant.
Pergi ke Zero Trust → Logs → Access. Di sini kamu bisa melihat riwayat autentikasi: kapan kamu login, dari perangkat apa, dan percobaan login yang gagal dari akun tidak sah.
Mengakses Home Assistant dari internet tanpa port forwarding sepenuhnya bisa dilakukan menggunakan Cloudflare Tunnel. Solusi ini sangat ideal untuk pengguna di Indonesia yang ISP-nya sering mengunci pengaturan router dan tidak mengizinkan modifikasi port forwarding.
Dengan mengikuti panduan ini, kamu telah berhasil:
Smart home kamu sekarang bukan hanya nyaman digunakan di dalam rumah, tapi juga bisa diakses dengan aman dari mana saja di seluruh dunia.
Artikel ini merupakan adaptasi dan pengembangan dari panduan teknis seputar remote access Home Assistant menggunakan Cloudflare Tunnel. Untuk pengaturan awal Home Assistant di Raspberry Pi menggunakan Docker, pastikan kamu sudah mengikuti panduan instalasi dasar terlebih dahulu.