Homepoint adalah antarmuka berbasis layar untuk perangkat Smarthome yang terhubung dengan MQTT & HomeKit yang berjalan pada Chipset ESP32.
Fitur
Demo
Instalasi
Membangun
Konfigurasi
Adegan & Perangkat
WiFi & MQTT
Waktu NTP (opsional)
Contoh
Peta jalan
Bug & masalah yang diketahui
Berkontribusi
Belikan aku kopi
Lisensi
Lihat dan picu adegan (kelompok perangkat) di layar depan.
Picu masing-masing perangkat dengan menyelami adegan (dengan mengetuk indikator atau menekan lama tombol).
Lihat sekilas adegan yang diaktifkan sebagian dengan beberapa perangkat.
Dukungan untuk sensor suhu, kelembaban, kualitas udara & pembacaan energi Tasmota .
Konfigurasi Jarak Jauh : Konfigurasikan dan reboot HomePoint melalui antarmuka web. Tidak perlu melakukan reflash.
Pembaruan Over-The-Air (Beta) : Flash HomePoint versi baru secara nirkabel melalui udara.
Dukungan HomeKit Switch (Pengaturan Otomatisasi di Aplikasi Rumah untuk beralih dari Homepoint)*
Mendukung navigasi berbasis Layar Sentuh atau Tombol .
Reaktif : Layar diperbarui setiap kali perangkat dipicu dari tempat lain.
Konfigurasi mudah melalui file JSON, tidak memerlukan kode tambahan.
Screensaver menghemat daya dengan mematikan layar setelah 10 menit.
Statusbar menunjukkan konektivitas untuk WiFi dan MQTT serta waktu.
Mode Failsafe : Jika konfigurasi rusak, mode failsafe untuk akses jarak jauh disediakan.
Biner yang telah dikompilasi sebelumnya : Cukup flash HomePoint di perangkat ESP32 Anda tanpa kompilasi.
*saat ini di cabang eksperimental.
HomePoint hadir dalam 2 file .bin yang telah dikompilasi sebelumnya dan siap untuk di-flash pada Modul ESP32 generik atau M5Stack. Rincian lebih lanjut tentang pengaturan perangkat keras tersedia di Wiki.
Langkah-langkah untuk menginstal:
Unduh ESPTools dari https://github.com/espressif/esptool/releases
Instal ESPTools dengan python setup.py install
Jalankan esptool.py -b 921600 write_flash -fs 4MB -fm dout 0x0 homepoint_espgeneric.bin
(atau homepoint_m5stack.bin untuk M5Stack)
Atau, tonton video instalasi di bawah ini:
Homepoint dibuat menggunakan ESP-IDF SDK.
Instruksi pembuatan terperinci tersedia di Wiki.
Konfigurasinya ada di data/config.json
.
HomePoint mendukung dua jenis Adegan dengan pilihan perangkat masing-masing:
Jenis ADEGAN | Jenis PERANGKAT |
---|---|
Cahaya, Ganti | (tidak ada, semua perangkat diharapkan menjadi saklar) |
Sensor | menampilkan satu atau dua nilai sekaligus dengan ikon yang dapat disesuaikan (singleValue/combinedValues) |
Sensor yang Dikelompokkan mendukung hingga dua perangkat (karena ruang layar).
Lampu & Sakelar mendukung perangkat dalam jumlah tak terbatas dalam satu grup.
Beberapa Sensor menggunakan JSON sebagai format data, dalam hal ini kunci dapat ditentukan. Ini bisa berada di level muatan sensor json mana pun, untuk colokan pintar Tasmota, nilai kunci "Daya" dapat digunakan untuk menampilkan konsumsi daya saat ini.
Kredensial WiFi dan MQTT harus ditentukan di tingkat atas.
Untuk mengatur zona waktu yang benar, salin & tempel Pengaturan NTP TZ Anda ke kunci timezone
.
Beberapa unit Tampilan IL9341 tampak berbeda, misalnya bagaimana koordinat layar sentuh berhubungan dengan tampilan atau bagaimana lampu latar LED dikontrol. Oleh karena itu kami menawarkan beberapa opsi untuk mengesampingkan default pada file konfigurasi.
Kunci | Jenis | Nilai |
---|---|---|
"ledPinPullup" | Boolean | true atau false - mengontrol daya lampu latar yang dapat ditarik ke atas/bawah tergantung unitnya |
"sudut rotasi layar" | Int | Parameter rotasi bisa 0, 1, 2 atau 3 - bertambah dalam sudut 90 derajat |
"Menit Penghemat Layar" | Int | Menit hingga tampilan dimatikan (default 10) |
"sentuhXAxisTerbalik" | Bodoh | default: false , balikkan Sumbu X pada layar sentuh jika tidak sejajar |
"sentuhYAxisTerbalik" | Bodoh | default: true , balikkan Sumbu Y pada layar sentuh jika tidak sejajar |
"tampilanWarnaTerbalik" | Bodoh | default: false , balikkan ruang warna (mis. untuk Tampilan ILI9342C) |
Topik MQTT peka huruf besar-kecil sesuai spesifikasi MQTT.
{ "wifi": "MyWifiSSID", "kata sandi": "Kata Sandi Wifi Saya", "nama host": "namahost opsional", "login": "admin", "webpass": "admin", "mqttbroker": "mqtt: //192.168.1.2", "mqttusername": "mqttusername", "mqttpasswd": "mymqttpassword", "timezone": "CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00", "adegan": [{ "nama": "Ruang Tamu", "tipe": "Ringan" , "icon": "ruang tamu", "perangkat": [{ "name": "Some Light", "setTopic": "lampu/rona/00:17:88:01:02:3c:2a:6d-0b/set/on", "getTopic": "hue/status/lampu/lampu warna Hue 1", "onValue": " benar", "offValue": "salah" }, { "name": "Lampu Pintu", "setTopic": "lampu/hue/00:17:88:01:02:3c:2a:6d-0b/set/on", "getTopic": "hue/status /lights/Lampu warna rona 1", "onValue": "true", "offValue": "false", "icon": "door" }, ] }, { "nama": "Kamar Tidur", "tipe": "Sensor", "ikon": "pintu", "perangkat": [{ "nama": "Sensor DHT Suhu", "tipe": "singleValue", " jsondata": benar, "firstIcon": "temperature_small", "firstKey": "temperature", "getTopic": "kamar tidur/esptemp" }, { "name": "Tasmota Smart Plug", "type": "singleValue", "jsondata": true, "firstKey": "Power", "firstIcon":"wattage_small", "getTopic": "tele/DVES_2F73BE/ SENSOR" }] }] }
Contoh yang lebih terkonfigurasi tersedia di sini.
Dokumentasi untuk integrasi dengan Homebridge-Hue dan HomeAssistant / ZigBee2MQTT
Dukungan HomeKit
Pengujian
Jika Anda menemukan bug atau memerlukan bantuan, jangan ragu dan buka masalah :)
Kontribusi dipersilahkan! Retas saja dan buka Permintaan Tarik. Namun harap ikuti gaya kode yang sudah ada (yaitu tanpa tab, spasi).
Saya telah mengembangkan HomePoint di waktu luang saya karena saya ingin mempelajari lebih lanjut tentang C++ di ESP32 dan untuk memecahkan masalah nyata di smarthome saya.
Seiring dengan berjalannya pengembangan, saya memikirkan cara untuk menjadikan proyek ini open source dan lebih mudah diakses serta ramah pengguna bagi komunitas pembuat.
Jika Anda senang menggunakan HomePoint atau karya ini, pertimbangkan untuk memberikan sedikit sumbangan. Tapi jangan khawatir, saya akan terus mengerjakannya ;-).
MIT © Matthias Frick