Sebuah tulisan XDA minggu lalu membahas rumah pintar yang runtuh dalam satu malam. Pemiliknya menata nama perangkat mereka, menekan simpan, dan setiap otomasi yang mereferensikan ID lama menjadi diam. Cahaya berhenti bereaksi terhadap gerakan. Rutinitas pagi melewatkan setengah dari langkah-langkahnya. Dasbor penuh dengan tanda seru merah. Tidak ada yang memperingatkan di Home Assistant sebelum perubahan; tidak ada yang memulihkannya setelahnya.
Cerita semacam itu cukup umum sehingga penamaan entitas Home Assistant layak mendapat toolchain-nya sendiri, bukan hanya pengubahan nama di sore hari yang santai. Tujuh aplikasi desktop di bawah ini mencakup semua yang Anda butuhkan sebelum menyentuh satu ID pun: refaktor dry-run, linting YAML, pencarian lintas file, alias yang memisahkan nama yang ramah dari kunci mesin, alur rename Zigbee dan Z-Wave yang disinkronkan kembali ke entitas, dan kontrol versi sehingga kesalahan dapat dibatalkan dalam beberapa detik.
Apa yang harus dicari dalam pengaturan penamaan entitas
- Refaktor dry-run. Rename harus memproyeksikan setiap referensi otomasi, skrip, adegan, dasbor, dan cetak biru sebelum menetapkan apa pun.
- Linting YAML. Indentasi yang rusak atau
entity_id:yang menggantung harus gagal di editor Anda, bukan di rutinitas pagi Anda. - Pencarian ID entitas di seluruh otomasi, skrip, dan adegan. Satu jalan pintas untuk menemukan setiap tempat
light.living_room_lampmuncul, termasuk di dalam templat. - Dukungan alias. Nama yang ramah harus bebas untuk berubah tanpa menyentuh ID entitas yang mendasar yang bergantung pada otomasi.
- Rename perangkat Zigbee dan Z-Wave yang disinkronkan kembali ke entitas. Mengubah nama perangkat di UI ZHA atau Z-Wave JS harus menyebarkan ke setiap entitas yang diekspos perangkat itu, bukan meninggalkan yatim piatu.
- Konfigurasi yang dikontrol versi. Git atau setara sehingga refaktor yang buruk adalah satu
git revertdari penyembuhan.
Perbandingan cepat
| Aplikasi | Terbaik untuk | Menangani referensi rename | Biaya |
|---|---|---|---|
| Home Assistant | Dialog rename inti | Ya, bawaan | Gratis |
| Studio Code Server | Mengedit dan mencari YAML | Ya, melalui find-in-files | Gratis |
| HACS | Menginstal sisanya dari daftar ini | Tidak, prasyarat | Gratis |
| ESPHome | Hardware DIY, sumber kebenaran tunggal | Ya, saat kompilasi | Gratis |
| Node-RED | Otomasi visual yang kompleks | Parsial, per aliran | Gratis |
| Automation Editor | Edit otomasi tunggal kali pertama UI | Ya, bawaan | Gratis |
| Custom Brand Icons | Audit visual konvensi penamaan | Tidak, menangkap hanyutan secara visual | Gratis |
Aplikasi-aplikasinya
1. Home Assistant
Unduh: Home Assistant
Mulailah di sini, karena intinya menjadi jauh lebih baik di hal ini. Sejak rilis 2023.4 dialog pengaturan entitas membawa alat “Entity ID rename” yang mencari otomasi, skrip, adegan, dasbor, dan cetak biru untuk referensi ke ID lama dan menawarkan untuk memperbaruinya dalam satu lintasan. Ini berjalan sebagai pratinjau terlebih dahulu, mencantumkan setiap kecocokan dengan file dan barisnya, dan hanya berkomitmen setelah dikonfirmasi.
Pratinjau itu adalah jaring pengaman tunggal paling berguna dalam tumpukan. Ini menangkap referensi bertemplate di dalam Jinja yang pencarian teks biasa akan lewatkan, dan menandai kasus di mana ID muncul di dalam jangkar YAML atau file paket yang UI sebaliknya tidak akan menyentuh. Ketika tidak dapat menyelesaikan referensi secara otomatis (misalnya, ID entitas yang dibangun pada waktu proses dari variabel), itu mengatakan demikian bukan diam-diam melewati.
Tangkapannya: itu hanya tahu tentang sumber yang dapat dilihatnya. Integrasi khusus yang menyimpan ID entitas dalam file JSON mereka sendiri, atau aliran NodeRED yang disimpan di luar .storage, memerlukan lintasan kedua dengan alat lebih jauh di bawah daftar ini.
2. Studio Code Server
Unduh: Studio Code Server
Add-on yang diinstal HACS yang menempatkan VS Code penuh di tab browser, ditunjuk langsung ke /config. Linting YAML aktif secara default, ekstensi Home Assistant dikirim pra-instal, dan Ctrl+Shift+F melakukan pencarian di seluruh proyek yang menghormati .gitignore.
Untuk penamaan entitas ini adalah tempat audit lintasan kedua terjadi. Setelah dialog rename inti dijalankan, buka Studio Code Server, cari ID lama, dan konfirmasi ada nol hit. Jika ada yang kembali, mereka biasanya dalam file yang tidak dapat diperiksa dialog: definisi perintah shell, URL sensor REST, atau sensor template yang dibangun dengan state_attr(). Perbaiki di sana, komit, muat ulang.
Autokompel layak mendapat penyebutan tersendiri. Ketik entity_id: dan itu menyarankan registri langsung, sehingga typo tidak pernah bertahan hingga runtime. Ubah nama perangkat besok dan saran akan menyegarkan pada reload berikutnya.
3. HACS (Home Assistant Community Store)
Unduh: HACS
Bukan alat penamaan, tetapi prasyarat. HACS adalah manajer paket komunitas yang menginstal Studio Code Server, Custom Brand Icons, dan segelintir integrasi kualitas hidup yang membuat alur kerja lainnya mungkin. Setup adalah hal sekali: aktifkan mode lanjutan di profil Anda, turunkan integrasi HACS melalui perintah shell, mulai ulang, dan tambahkan integrasi.
Dua kebiasaan yang layak diadopsi setelah HACS ada. Pertama, pin versi daripada melacak main pada apa pun yang menyentuh entitas, karena perubahan breaking yang mengejutkan selama refaktor rename adalah waktu terburuk yang mungkin. Kedua, gunakan tampilan changelog bawaan HACS sebelum setiap pembaruan. Sering kali satu-satunya tempat perilaku rename breaking dipanggil sebelumnya.
4. ESPHome
Unduh: ESPHome
Untuk apa pun pada hardware ESP32 atau ESP8266, ESPHome adalah lapisan penamaan. Atur name: living-room-lamp sekali dalam YAML perangkat dan setiap entitas yang flash ke papan itu (light.living_room_lamp, sensor.living_room_lamp_temperature, apa saja) mendapat ID yang cocok. Ubah bidang name:, flash ulang, dan Home Assistant melihat ID baru pada boot berikutnya.
Sumber kebenaran tunggal itu yang menghentikan jenis hanyutan yang digambarkan tulisan XDA. Pola lama adalah: ubah nama perangkat di Home Assistant, ubah nama lagi di ESPHome, harap kedua belah pihak setuju. Pola saat ini adalah: ubah nama di ESPHome, biarkan Home Assistant mengikuti. Ini adalah area permukaan yang lebih kecil untuk tetap konsisten, dan file .yaml yang dikontrol versi berarti setiap rename adalah perbedaan dalam repo.
Pasangkan dengan dialog rename inti untuk penggantian awal. ESPHome membuat ID baru pada boot pertama; dialog menulis ulang referensi ke yang lama. Dua lintasan, tidak ada yatim piatu.
5. Node-RED
Unduh: Node-RED
Ketika otomasi melampaui dua puluh atau tiga puluh dan editor YAML mulai merasa sempit, editor aliran visual Node-RED adalah langkah berikutnya yang biasa. ID entitas menjadi warga kelas pertama di kanvas: setiap node yang menyentuh satu menampilkannya di label, dan bilah sisi memiliki pencarian registri langsung sehingga ID yang salah ketik tidak mungkin disimpan.
Untuk penamaan entitas khususnya, pencarian per-aliran Node-RED adalah alatnya. Buka aliran, tekan Ctrl+F, ketik ID lama, dan setiap node yang mereferensikannya menyala. Ubah nama secara massal melalui panel konfigurasi node, terapkan, selesai. Aliran diekspor sebagai JSON, jadi mereka hidup bahagia di repo git yang sama seperti sisa konfigurasi.
Pertimbangannya: Node-RED berjalan bersama mesin otomasi Home Assistant sendiri bukan menggantikannya, jadi rename ID entitas sekarang harus diterapkan di dua tempat. Simpan daftar periksa.
6. Automation Editor (bawaan)
Unduh: Automation Editor (dikirim dengan Home Assistant)
Editor UI stok sering kali kurang dihargai. Untuk edit otomasi tunggal itu memperlakukan ID entitas sebagai referensi yang dapat dicari: ubah pemilih entitas pemicu dan bidang kondisi dan tindakan yang sesuai diperbarui pada penyimpanan yang sama. Tidak ada pengeditan YAML manual, tidak ada kesempatan koma yang tersesat.
Di mana itu mendapat tempat di daftar ini adalah prompt “Rename” yang muncul ketika Anda mengubah perangkat atau entitas yang dirujuk otomasi. Itu menawarkan pratinjau update-referensi-across-config yang sama yang dialog inti lakukan, scoped ke otomasi yang Anda buka. Untuk kasus umum, edit otomasi tunggal, perhatikan entitas terkait mendapat ID yang lebih ramah, terima rename, simpan, dan lanjutkan.
Untuk apa pun yang mencakup beberapa otomasi, gunakan dialog rename inti sebagai gantinya. Ini untuk perubahan file tunggal bedah.
7. Custom Brand Icons
Unduh: Custom Brand Icons
Yang satu ini aneh, dan yang membayar untuk dirinya sendiri paling cepat. Custom Brand Icons adalah integrasi HACS yang memungkinkan Anda melampirkan vendor dan ikon produk ke entitas menurut pola. Berikan setiap entitas light.living_* ikon lampu yang sama, setiap sensor.*_battery ikon baterai yang sama, setiap switch.plug_* ikon stop kontak yang sama.
Manfaat refaktor penamaan adalah visual. Buka dasbor setelah rename dan entitas apa pun yang jatuh di luar pola (typo, alias basi, perangkat yang diubah namanya tetapi tidak pembantu terkait) menunjukkan ikon fallback default bukan ikon keluarga. Rename yang salah muncul sebagai outlier visual sebelum muncul sebagai otomasi yang rusak.
Atur pola sekali melawan konvensi penamaan Anda, simpan di configuration.yaml, dan setiap rename di masa depan baik cocok dengan pola atau mengumumkan dirinya.
Cara memilih tumpukan yang tepat
Lapisan dasar, untuk setiap pengaturan: Home Assistant ditambah HACS ditambah Studio Code Server ditambah git. Kombinasi itu memberi Anda dialog rename inti, pencarian lintasan kedua, saluran paket komunitas untuk apa pun, dan tombol urungkan.
Tambahkan ESPHome jika ada entitas Anda yang berasal dari hardware DIY. Itu memindahkan sumber kebenaran untuk nama-nama itu keluar dari UI Home Assistant dan ke YAML yang dikontrol versi, dan menghilangkan seluruh kelas bug hanyutan.
Tambahkan Node-RED jika Anda memiliki lebih dari beberapa lusin otomasi atau jika ada yang mencakup lebih dari tiga atau empat langkah. Editor visual lebih mudah diaudit dalam skala, dan pencarian per-aliran adalah cara Anda menangkap ID yatim piatu dalam aliran kompleks.
Tambahkan Custom Brand Icons awal daripada terlambat. Mengatur pola sebelum rename berarti dasbor menjadi alat deteksi perubahan, bukan hanya display.
Automation Editor selalu tersedia dan layak digunakan untuk edit file tunggal. Itu bukan pengganti dialog rename inti ketika perubahan menyentuh beberapa otomasi, tetapi itu adalah jalur tercepat untuk pembersihan sehari-hari.
FAQ
Apakah rename entitas di Home Assistant secara otomatis memperbarui setiap otomasi yang menggunakannya?
Sejak rilis 2023.4, dialog rename ID entitas mencari otomasi, skrip, adegan, dasbor, dan cetak biru untuk referensi dan menawarkan untuk memperbaruinya dalam satu lintasan. Itu menunjukkan pratinjau terlebih dahulu. Itu tidak dapat melihat referensi di dalam integrasi khusus yang menyimpan ID dalam file mereka sendiri atau di dalam aliran Node-RED, jadi pencarian lintasan kedua di Studio Code Server masih layak menjalankan setelah setiap rename.
Apa perbedaan antara nama ramah dan ID entitas?
ID entitas (light.living_room_lamp) adalah kunci mesin yang otomasi, skrip, dan templat gunakan untuk mengalamatkan entitas. Nama ramah (“Living room lamp”) adalah label yang muncul di dasbor, asisten suara, dan notifikasi. Ubah nama ramah dengan bebas; ID entitas tetap stabil dan tidak ada otomasi yang rusak. Ubah ID entitas hanya melalui dialog rename sehingga referensi diperbarui.
Haruskah perangkat diubah nama dari UI integrasi atau dari pengaturan entitas?
Ubah nama perangkat dari UI integrasi (ZHA, Z-Wave JS, ESPHome, dll.) ketika tujuannya adalah mengubah setiap entitas yang diekspos perangkat itu sekaligus. Ubah nama entitas individual ketika hanya satu dari entitas perangkat itu memerlukan ID yang berbeda. Kedua aliran sekarang memicu pratinjau update-referensi yang sama, jadi jaring pengaman sama di kedua cara.
Bagaimana Anda mengaudit konfigurasi Home Assistant untuk typo ID entitas sebelum mereka menyebabkan keluaran?
Studio Code Server dengan ekstensi Home Assistant adalah audit tercepat. Buka pencarian di seluruh proyek untuk entity_id: dan pindai apa pun yang tidak autocomplete melawan registri langsung. Untuk pemeriksaan skrip, hassio ha check (setara CLI validator konfigurasi bawaan) akan menandai referensi ke entitas yang tidak ada, dan git diff setelah setiap perubahan membuat tinjauan menjadi kebiasaan satu perintah.
Apakah aman untuk mengubah nama entitas pada instans Home Assistant produksi?
Lebih aman daripada sebelumnya, jika rename melalui dialog pengaturan entitas atau prompt editor otomasi terkait. Ambil backup terlebih dahulu dari UI, lakukan rename selama jendela yang tenang, dan muat ulang integrasi yang terkena dampak atau mulai ulang Home Assistant setelah perubahan. Jika ada yang terlihat salah, repo git yang didorong oleh sisa tumpukan ini adalah cara tercepat kembali ke keadaan sebelumnya.