2 poin oleh GN⁺ 2024-04-24 | 1 komentar | Bagikan ke WhatsApp
  • ESPHome adalah platform yang mengubah board seperti ESP32, ESP8266, BK72xx, dan RP2040 menjadi perangkat smart home, dengan konfigurasi perangkat menggunakan YAML alih-alih C++
  • Mendukung kontrol lokal dan pembaruan nirkabel untuk mengurangi ketergantungan pada cloud, serta memungkinkan pembuatan berbagai perangkat dengan menggabungkan sensor, display, dan komponen
  • Cakupan penggunanya luas, dari pengguna DIY hingga integrator profesional dan produsen yang membuat produk bersertifikasi Made for ESPHome
  • Lingkungan yang didukung mencakup Espressif ESP32·ESP8266, Raspberry Pi RP2040, Nordic Semiconductor nRF52, Realtek RTL87xx, Beken BK72xx, hingga platform host untuk sebagian komponen
  • Untuk mulai menggunakan, jalur lewat Home Assistant adalah yang paling mudah, sementara pengguna tingkat lanjut dapat memulai dari panduan command line atau proyek yang sudah dikonfigurasi sebelumnya

Perangkat smart home lokal yang dikonfigurasi dengan YAML

  • ESPHome mengubah ESP32, ESP8266, BK72xx, RP2040, dan board lain yang didukung menjadi perangkat smart home
  • Perangkat dikonfigurasi menggunakan file konfigurasi YAML, bukan kode C++ yang kompleks
  • Fitur utama

    • Konfigurasi tanpa coding: menggunakan konfigurasi YAML sederhana tanpa C++ yang rumit
    • Pembaruan nirkabel: dapat diperbarui tanpa akses fisik ke perangkat
    • Desain modular: mendukung ratusan sensor, display, dan komponen lainnya
    • Kontrol lokal: berjalan secara lokal tanpa bergantung pada cloud
  • Sumber daya terkait

Cakupan pengguna dan jalur memulai

  • Siapa yang menggunakannya

    • Pengguna DIY: membuat sensor, switch, dan display yang disesuaikan dengan kebutuhan tertentu
    • Penggemar smart home: memperluas sistem otomasi rumah dengan perangkat kustom berbiaya rendah
    • Integrator profesional: menerapkan perangkat smart home dengan kontrol lokal untuk pelanggan
    • Produsen: membuat produk bersertifikasi Made for ESPHome dengan firmware terstandar
  • Mikrokontroler dan lingkungan eksekusi yang didukung

    • Espressif ESP32·ESP8266: mendukung mikrokontroler ESP32·ESP8266 yang digunakan di banyak proyek IoT
    • RP2040: mendukung mikrokontroler RP2040 dari Raspberry Pi
    • Chip lainnya: mendukung Nordic Semiconductor nRF52, Realtek RTL87xx, dan Beken BK72xx
    • Platform host desktop: banyak komponen ESPHome juga dapat dijalankan di komputer desktop
  • Cara memulai

    • Memulai melalui aplikasi Home Assistant adalah jalur yang paling mudah: Home Assistant Guide
    • Pengguna tingkat lanjut yang lebih suka bekerja lewat command line dapat menggunakan panduan terpisah: Command Line Guide
    • Kasus penggunaan umum dapat dimulai dari proyek yang sudah dikonfigurasi sebelumnya: Browse Projects

1 komentar

 
GN⁺ 2024-04-24
Opini Hacker News
  • Saya salah satu orang yang memimpin ESPHome. Kalau ada pertanyaan, silakan beri tahu
    Sabtu lalu kami mengumumkan bahwa ESPHome kini dimiliki oleh Open Home Foundation
    Open Home Foundation adalah organisasi yang berupaya menjaga privasi, pilihan, dan keberlanjutan untuk smart home dan semua orang yang tinggal di dalamnya: https://www.openhomefoundation.org/blog/announcing-the-open-...

    • Kalau ingin mencoba ESPHome, Anda bisa langsung memasang proyek siap pakai tanpa menulis satu baris konfigurasi pun: https://esphome.io/projects/
      Anda bisa mengubah mikrokontroler murah langsung dari browser menjadi asisten suara, proxy Bluetooth, atau pemutar media
    • Tidak ada pertanyaan, hanya pujian. ESPHome benar-benar luar biasa, dan saya selalu takjub setiap kali melihat fiturnya
      Saya sudah menggali dalam-dalam Espressif SDK dan hampir selesai membuat switch nirkabel dengan sensor suhu dan MQTT, tetapi begitu menemukan ESPHome, semua pekerjaan yang saya lakukan jadi tidak diperlukan
      Semua fungsi yang saya tulis sudah ada, ditambah jauh lebih banyak fitur lagi
    • ESPHome memang hebat, tetapi saya ingin lepas dari Internet of Things berbasis Wi-Fi. Alasan besarnya adalah saya menyukai jaringan mesh yang dapat memulihkan diri sendiri dan bisa berjalan sepenuhnya offline tanpa banyak konfigurasi
      Sepertinya Espressif punya beberapa perangkat dengan kemampuan Zigbee, dan saya penasaran apakah ke depannya akan ada jalan untuk membuat perangkat Zigbee sendiri
    • Proyek ESPHome luar biasa kompeten dan berorientasi pengguna, dan bekerja begitu baik sampai hampir terasa aneh
      Namun yang saya inginkan adalah kemampuan menjalankan loop umpan balik cepat dan algoritme onboard yang lebih kompleks di dalam perangkat, meski saya juga tidak yakin apakah ini masuk cakupan ESPHome atau bisa diimplementasikan dengan rapi
      Misalnya, saya ingin sensor cahaya mengendalikan bohlam sambil terus menyesuaikan kecerahan dengan perubahan kecil yang nyaris tak terasa, dan memakai sesuatu seperti filter Kalman untuk menjaga tingkat pencahayaan serta temperatur warna yang konsisten sesuai waktu
      Saya juga ingin terus mengendalikan penjernih udara, ventilasi, pemanas, pelembap, dehumidifier, dan pendingin untuk mengoptimalkan lingkungan serta penggunaan daya. Ventilasi menurunkan CO2/TVOC tetapi membawa masuk PM2.5 dan suhu luar, sementara pemanasan/pendinginan, ventilasi, dan kelembapan saling terkait secara rumit
      Pemanas tambahan jauh lebih mahal daripada pemanas utama, tetapi diperlukan pada hari yang sangat dingin; ketika tidak ada orang di rumah, prioritasnya berubah, jadi saat ada penghuni saya ingin kelembapan yang nyaman untuk ditinggali, sementara saat kosong saya ingin meminimalkan kelembapan
      Kedua, saya berharap ESPHome bisa dipakai untuk membuat bukan hanya perangkat Wi-Fi, tetapi juga perangkat Zigbee
    • Berkat ESPHome, flashing, kompilasi, log, dan update OTA semuanya menjadi mudah. Dulu ini selalu merepotkan, sekarang sederhana
      Melihat log lewat Wi-Fi terasa hampir terlalu sederhana
      Saya membuat penerima/pemancar inframerah mini untuk mengendalikan sistem audio dengan remote TV, dan konfigurasinya sangat mudah, sementara integrasinya dengan Home Assistant juga sangat bagus
  • Saya menjalankan lebih dari 20 perangkat dengan ESPHome; sekitar tiga perempatnya masuk ke jaringan Home Assistant, dan sekitar 6 perangkat dibiarkan berdiri sendiri dengan ESPHome berkomunikasi dengan yang lain lewat MQTT
    Saya memantau stasiun cuaca murah buatan Tiongkok yang bagian dalamnya saya ganti dengan ESP32, pemantauan tangki air hujan, kelembapan tanah rumah kaca, suhu dan kelembapan di berbagai lokasi di dalam rumah, kualitas udara di dapur dan kamar anak, dan sebagainya
    ESPHome benar-benar proyek yang kurang diapresiasi. Secara harfiah, dalam 5 menit, dengan hardware seharga 10 dolar, dan tanpa pemrograman, Anda bisa membuat sendiri perangkat Internet of Things di rumah dan mendapatkan data real-time dari mana pun di lahan Anda

    • Saya juga mirip; karena sangat murah, saya menyimpan belasan papan berbagai varian ESP32 di kotak komponen elektronik
      Kebebasan yang didapat dari punya hardware dalam jangkauan saat sebuah ide muncul itu luar biasa
      Stabilitasnya juga mengejutkan, dan modul seperti kontroler sprinkler bisa diprogram agar beroperasi mandiri, sehingga terus berjalan selama ada daya
      Saya baru sadar kartu microSD Home Assistant saya rusak beberapa bulan kemudian, karena peralatan hidroponik saya tetap berjalan normal
      Yang paling banyak memakan waktu adalah menyambungkan kabel ke konverter DC/DC untuk menggerakkan relay di dalam Sockitbox tahan air
      Papan breakout terminal kabel juga sangat berguna jika disiapkan di sekitar Anda: https://www.amazon.com/whiteeeen-Development-Expansion-ESP-W...
      CloudFree juga bagus untuk mendapatkan komponen Internet of Things siap pakai yang bisa diprogram ulang dengan ESPHome: https://cloudfree.shop/
    • Anda sebaiknya berbagi lebih detail tentang hardware, casing, daya, dan proses pengerjaan yang dipakai untuk perangkat-perangkat itu
    • Saya penasaran bagaimana Anda memasok dayanya
      Dulu saya memakai ESPHome dengan Wittycloud ESP8266 seharga 3 dolar untuk mengambil data analisis tenaga surya dan melihat konsumsi di Home Assistant
      Namun selain adaptor USB, saya masih belum menemukan cara pasokan daya yang elegan. Untuk sensor luar ruangan, akan bagus kalau ada metode baterai yang rapi
    • Secara umum saya setuju, tetapi saya ingin menghapus bagian hardware 10 dolar
      Sepertinya Anda memakai chip yang cukup kelas atas
      Kalau ingin lebih hemat, ESP8266 bisa sampai 4 dolar, dan itu benar-benar mengagumkan
    • Saya penasaran apakah Anda bisa merekomendasikan komponen yang bagus untuk penggunaan keamanan
      Misalnya, ketika ada seseorang masuk ke rumah saya yang sedang disewakan tanpa tanda-tanda pembobolan
      Dokumentasinya punya beberapa opsi, tetapi saya tidak tahu apakah harus memilih deteksi gerakan/kehadiran atau sensor kehadiran biner. Saya penasaran sensor mana yang lebih baik dan hemat biaya
  • Hal terbaik dari ESPHome adalah komunitasnya yang kuat dan aktif.
    Untuk monitor kualitas udara perangkat keras sumber terbuka yang kami buat [1], seorang anggota komunitas mengembangkan integrasi ESPHome yang canggih [2].
    Integrasi itu memiliki semua fitur yang ada di firmware sumber terbuka bawaan, dan terkadang bahkan lebih cepat dari kami dalam mengimplementasikan fitur baru.
    Dalam arti tertentu, persaingan sumber terbuka seperti ini membantu dan memotivasi kami untuk membuat versi perangkat lunak kami menjadi lebih baik.
    [1] https://www.airgradient.com/
    [2] https://github.com/MallocArray/airgradient_esphome

  • Sebagai referensi terkait, ada kumpulan konfigurasi perangkat ESPHome untuk perangkat keras komersial: https://devices.esphome.io/
    Ada juga kumpulan konfigurasi Tasmota untuk perangkat yang sering kali juga bisa menjalankan ESPHome: https://templates.blakadder.com/

  • Sedikit melenceng, tapi saya menyukai ESPHome dan telah memakainya untuk beberapa sensor suhu berbasis IoT di rumah.
    Namun bagian yang selalu menjadi hambatan dalam WAF, alias penerimaan istri, adalah memasukkan dan menyembunyikan ESP32, sensor, serta kabel yang kusut ke dalam wadah agar terlihat rapi.
    Saya penasaran apa yang dipakai orang-orang untuk menyembunyikan komponen elektronik.

    • Kalau punya printer 3D, Anda bisa membuat benda yang lolos standar WAF saya.
      Produk Apollo dibuat cukup tidak mencolok: https://apolloautomation.com/products/sensor-stand?pr_prod_s...
    • Untuk benda mandiri yang saya butuhkan, saya lebih dulu mengecek apakah sudah ada produk jadi yang tersedia. Biasanya lebih hemat biaya dan juga lebih enak dilihat daripada membuat sendiri.
      Untuk sensor suhu, biasanya saya memilih produk jadi yang didukung firmware ini: https://github.com/pvvx/ATC_MiThermometer
      Bonusnya, perangkat itu bisa berjalan dengan baterai selama lebih dari setahun.
    • Saya bisa merekomendasikan wadah Tupperware. Bentuk dan ukurannya beragam, dan harganya sangat murah.
      Jika memakai mangkuk kaca atau produk plastik transparan, komponen tidak akan kotor sekaligus bagian dalamnya tetap bisa dilihat.
      Untuk pemasangan di dinding, cukup kencangkan papan ke sisi dalam tutup dengan sekrup, lalu pasang tutup itu ke dinding. Dengan begitu, Anda bisa mengaksesnya dengan mudah hanya dengan melepas wadah dari tutupnya.
      Kekurangannya, jika diletakkan di tempat yang mudah terlihat, tampilannya bisa tampak jelek.
    • Enclosure untuk proyek saya cetak dengan printer 3D.
      Biasanya saya mencari desain yang kira-kira cocok di Thingiverse. Kalau memakai komponen umum, peluang menemukan model yang pas persis juga lebih besar.
    • Di sini, M5Stack adalah jawabannya.
  • Ada pertanyaan yang jawabannya belum saya temukan meski sudah mencari.
    Saya punya sistem alarm septic tank, dan ketika float switch mendeteksi tangki sudah terisi 3/4, alarm suara dan visual menyala.
    Ada sepasang kontak kering NO yang menutup saat alarm berbunyi.
    Saya penasaran bagaimana cara memantau apakah kontak ini tertutup atau terbuka. Sepertinya bisa dengan pin GPIO, tetapi saya tidak menemukan jawaban yang berguna saat mencari.
    Saya sedang mempertimbangkan untuk menyerah saja dan memakai relay paket RIB01BDC [0] untuk menyalakan Raspberry Pi, lalu mengirim email ketika kontak septic tank tertutup.
    [0] https://www.functionaldevices.com/product/rib01bdc/

    • Jika tidak mengasumsikan mikrokontroler apa yang dipakai, Anda bisa menghubungkan salah satu kontak ke ground, lalu menghubungkan pin GPIO, kontak lainnya, resistor 10k atau 100k, dan VCC bersama-sama secara seri.
      Buat mikrokontroler membaca pin GPIO secara berkala; jika tinggi berarti kontak terbuka dan alarm tidak berbunyi, sedangkan jika rendah berarti kontak tertutup dan alarm berbunyi.
      Konfigurasi GPIO/kontak/resistor/VCC berfungsi sebagai rangkaian pull-up yang menarik salah satu sisi rangkaian ke level logika tinggi, dan resistor membatasi arus yang mengalir saat kontak tertutup.
      Jika mikrokontroler mendukung pengaturan pull-up internal pada pin GPIO, Anda juga bisa langsung menghubungkan pin ke kontak tanpa perangkat keras tambahan.
      Sebaliknya, jika ada pengaturan pull-down internal, Anda bisa membaliknya dengan menghubungkan VCC ke kontak dan GPIO langsung ke sisi lainnya. Untuk fitur yang tersedia dan pembatasan arus, lihat dokumentasi mikrokontroler.
    • Saya memakai sensor ultrasonik dan ESPHome untuk memantau ketinggian air di sump pit.
      Tergantung informasi yang Anda inginkan dari pemantauan septic tank, ini juga bisa menjadi opsi yang berguna.
  • Saya membuat jam pencatat masuk/pulang kerja dengan ESPHome dan M5StickC.
    Saat mencatat masuk/pulang, Home Assistant mengirim waktunya ke Google Sheet, dan ini berjalan sangat stabil.

  • Satu hal menarik: ESP32 mendukung deteksi sentuh kapasitif pada beberapa pin, sehingga permukaan konduktif bisa diubah menjadi tombol smart home atau perangkat input.
    Ini juga didukung dengan baik di ESPHome: https://esphome.io/components/binary_sensor/esp32_touch.html

  • Ada proyek kecil yang ingin saya coba kerjakan
    Saya ingin mengambil waktu kedatangan bus di halte dekat rumah melalui API transportasi lokal, lalu menampilkan waktu untuk 3 bus utama di satu layar besar atau di 3 layar kecil terpisah untuk tiap bus
    Tidak perlu beresolusi tinggi, tetapi saya ingin cukup besar dan terang agar keluarga bisa melihatnya sekilas dari jauh. Misalnya, dengan display 7-segmen yang menampilkan 3 digit nomor bus dan 4 digit menit tersisa hingga tiba
    Harus bisa diperbarui lewat Wi‑Fi, dan tidak masalah jika dipasangkan dengan perangkat berdaya rendah seperti Arduino/Raspberry Pi. Lebih bagus lagi kalau bisa berjalan dengan baterai AA
    Yang pertama saya bisa lakukan, tetapi yang kedua sama sekali tidak tahu, dan saya juga belum pernah menyolder. Akan bagus kalau ada yang paham bisa memberi arahan

    • ESPHome adalah titik awal yang bagus karena merupakan framework yang cocok untuk merakit berbagai komponen secara bertumpuk
      Kamu bisa menggabungkan komponen display untuk menggambar pada grid piksel https://esphome.io/components/display/, perender teks, driver LED yang dapat dialamati https://esphome.io/components/light/neopixelbus, platform addressable_light yang membuat matriks tampilan di atasnya https://esphome.io/components/display/addressable_light, serta panel LED 8x32 murah https://www.google.com/search?q=8x32+ws2812b
      Kalau butuh ruang lebih, kamu bisa membuat beberapa unit atau menyambungkan panel-panelnya
      Tentu saja, tidak perlu menciptakan ulang semuanya; kamu juga bisa mengikuti panduan seperti ini: https://community.home-assistant.io/t/led-matrix-with-esphom...
      Terutama jika arahnya memanfaatkan ulang hardware yang sudah ada seperti Ulanzi, penyolderan tidak terlalu banyak dibutuhkan; yang penting adalah koneksi data dan catu daya yang benar
    • Kalau sepertinya kamu sudah terbiasa dengan Arduino, pakai saja itu sebagai framework
      ESP32 bisa diprogram dengan Arduino, dan kamu tetap bisa memakai library yang sudah familiar serta penanganan Wi‑Fi seperti biasa
      Di Adafruit kamu bisa membeli matriks RGB, dan mereka juga menjual board ESP32 yang bisa menggerakkannya langsung, jadi praktis tinggal colok dan jalan, hampir tidak perlu pengetahuan hardware
      Kalau ingin membuat sendiri tetapi butuh panduan, lihat proyek ini yang mendokumentasikan hardware dan software untuk perangkat display teks terhubung Wi‑Fi yang mirip dengan yang kamu inginkan: https://github.com/BlueAndi/esp-rgb-led-matrix
  • Secara pribadi saya tidak memakainya, tetapi ini terlihat seperti ide yang benar-benar bagus
    Dulu saya membuat board sensor dan menulis firmware sendiri, jadi saya perlu melihat apakah ESPHome bisa dikonfigurasi dengan mudah untuk berjalan di board itu
    Namun satu fitur yang sudah ada di firmware saya dan benar-benar saya butuhkan adalah pembaruan OTA model pull
    Saat ini, kalau saya menyalin firmware ke sebuah folder, semua sensor di rumah otomatis memperbarui diri ke firmware itu melalui server HTTP
    Di ESPHome, pembaruan harus didorong ke tiap sensor satu per satu, sehingga merepotkan kalau jumlahnya puluhan

    • Saya juga melakukan hal yang hampir sama, tetapi terakhir kali saya melihatnya, hampir tidak ada materi yang membantu membuat firmware kustom untuk board baru dengan beberapa sensor selain membaca kode ESPHome
      Rasanya lebih mudah dan cepat menulis sendiri firmware yang berkomunikasi dengan backend sederhana
      Saya juga penasaran bagaimana kode untuk perangkat ESP32 bisa muat. Kalau ingin OTA pada perangkat flash 4MB, batas programnya secara efektif sekitar 1MB
      Program sederhana yang hanya memanggil fungsi library standar seperti GPIO, ADC, UART, Wi‑Fi, HTTPS, server HTTPS, interrupt, FreeRTOS, MQTT, NVS, informasi chip, log, dan OTA saja sudah melewati batas 1MB. Satu scanf saja memakan 30KB
      Jika semua log dimatikan dan dikompilasi, ukuran program bisa turun menjadi sekitar 800KB, tetapi bahkan tanpa logika program pun sudah cukup dekat dengan batasnya
      Kalau lain kali saya perlu perangkat pemantauan jarak jauh, saya berencana melihatnya lagi
    • Di antarmuka web ada tombol update all, jadi cukup praktis
      Kalau ada perangkat yang tidak ingin diperbarui, saya sementara memasukkan kata kunci tak terduga ke file YAML agar kompilasi dan pembaruannya gagal
    • Dengan memakai ini, bug dan kebutuhan perbaikan mungkin bisa berkurang
      Saya punya cukup banyak perangkat ESP dengan probe suhu di berbagai tempat di rumah, dan sedang mempertimbangkan memindahkannya ke ESPHome agar kode yang perlu dipelihara berkurang
    • Layak dicoba. ESPHome sangat praktis
      Terutama enak karena pada awalnya bisa di-flash dari browser, lalu setelah itu diperbarui secara nirkabel
    • Fitur ini rencananya akan masuk di rilis berikutnya