Geçen hafta bir XDA yazısı, bir akşam içinde çöken akıllı bir evden bahsediyordu. Sahibi cihazlarının adlarını düzeltti, kaydet’e bastı ve eski ID’lere başvuran her otomasyon sessizleşti. Işıklar harekete tepki vermeyi durdurdu. Sabah rutini adımlarının yarısını atladı. Pano kırmızı ünlem işaretleriyle doldu. Home Assistant’te değişiklikten önce hiçbir şey onları uyarmadı; değişiklikten sonra hiçbir şey bunu geri almadı.
Bu hikaye yeterince yaygın, Home Assistant varlık adlandırması kendi araç setine layık, sadece yağmurlu bir öğleden sonra yeniden adlandırmaya değil. Aşağıdaki yedi masaüstü uygulaması, tek bir kimliğe dokunmadan önce ihtiyaç duyduğunuz her şeyi kapsar: kuru çalıştırma yeniden düzenleme, YAML linting, çapraz dosya araması, arkadaş canlısı adı makine anahtarından ayıran takma adlar, Zigbee ve Z-Wave yeniden adlandırma akışları varlıklara geri senkronize edilir ve sürüm kontrolü bu nedenle hatalar saniyeler içinde tersine çevrilebilir.
Varlık adlandırma kurulumunda ne aramalı
- Kuru çalıştırma yeniden düzenleme. Yeniden adlandırma herhangi bir şey taahhüt etmeden her otomasyonu, betiği, sahnesi, panosu ve plan referansını önceden görüntülemelidir.
- YAML linting. Kırık girintileme veya asılı bir
entity_id:editörünüzde başarısız olmalı, sabah rutininizde değil. - Otomasyonlar, betikler ve sahneler arasında varlık kimliği araması.
light.living_room_lampgöründüğü her yeri bulmak için bir kısayol, şablonlar içinde dahil. - Takma ad desteği. Arkadaş canlısı adlar, otomasyonların bağlı olduğu temel alınan varlık kimliğine dokunmadan değiştirilmekten özgür olmalıdır.
- Zigbee ve Z-Wave cihazı varlıklara geri senkronize olan adı değiştir. ZHA veya Z-Wave JS UI’de bir cihazı yeniden adlandırmak, o cihazın ortaya çıkardığı her varlığa yayılmalıdır, yetim bırakmak yerine.
- Sürüm kontrollü yapılandırma. Git veya eşdeğer böylece kötü bir yeniden düzenleme bir
git revertşifa uzakta.
Hızlı karşılaştırma
| Uygulama | En iyi | Yeniden adlandırma referanslarını işle | Maliyet |
|---|---|---|---|
| Home Assistant | Çekirdek yeniden adlandırma diyalogu | Evet, yerel | Ücretsiz |
| Studio Code Server | YAML düzenleme ve arama | Evet, dosyalarda arama aracılığıyla | Ücretsiz |
| HACS | Bu listenin geri kalanını kurmak | Hayır, ön koşul | Ücretsiz |
| ESPHome | DIY donanım, tek gerçek kaynak | Evet, derleme zamanında | Ücretsiz |
| Node-RED | Karmaşık görsel otomasyonlar | Kısmi, akış başına | Ücretsiz |
| Automation Editor | Tek otomasyonu UI-ilk düzenle | Evet, yerel | Ücretsiz |
| Custom Brand Icons | Adlandırma kurallarının görsel denetimi | Hayır, görsel olarak sapması yakalar | Ücretsiz |
Uygulamalar
1. Home Assistant
İndir: Home Assistant
Buradan başlayın, çünkü çekirdek bunun konusunda çok daha iyi hale geldi. 2023.4 sürümü itibaren varlık ayarları diyaloğu, eski ID’ye referanslar için otomasyonları, betikleri, sahneleri, panoları ve planları arayan ve bunları tek bir geçişte güncellemeyi sunan bir “Entity ID rename” aracını içerir. İlk olarak bir ön izleme olarak çalışır, her eşleşmeyi dosyası ve satırıyla listeler ve yalnızca doğrulandığında taahhüt eder.
Bu ön izleme yığındaki en kullanışlı güvenlik ağıdır. Jinja içindeki şablonlu referansları yakalar, düz metin araması kaçırırsa ve bir YAML çapasının içinde veya UI’nin başka türlü dokunmayacağı bir paket dosyasında bir ID göründüğü durumları işaretler. Bir referansı otomatik olarak çözemediğinde (örneğin, bir değişkenden çalışma zamanında oluşturulan varlık kimliği), sessizce geçmek yerine bunu söyler.
Yakalamak: sadece görebileceği kaynakları bilir. Varlık kimliklerini kendi JSON dosyalarında depolayan veya .storage dışında kaydedilen NodeRED akışlarını özel tümleştirmeler, bu listenin aşağısında araçlarla ikinci bir geçiş gerekir.
2. Studio Code Server
İndir: Studio Code Server
HACS tarafından kurulan eklenti bu tam VS Code bir tarayıcı sekmesine yerleştirir, doğrudan /config işaret etti. YAML linting varsayılan olarak açıktır, Home Assistant uzantısı önceden yüklenmiş gemi ve Ctrl+Shift+F .gitignore saygı duyar, bir proje genelinde arama yapar.
Varlık adlandırması için bu ikinci geçiş denetimi nerede olur. Çekirdek yeniden adlandırma diyaloğu çalıştıktan sonra, Studio Code Server’ı açın, eski ID’yi arayın ve sıfır isabet olduğunu onaylayın. Herhangi biri geri gelirse, bunlar genellikle diyaloğun muayene edemediği dosyalardır: shell komut tanımları, REST sensörü URL’leri veya state_attr() ile oluşturulan şablon sensörleri. Orada düzeltin, işle, yeniden yükle.
Otomatik tamamlama kendi bir anma değer. entity_id: yazın ve canlı kayıt defterini önerir, bu nedenle yazım hatası hiç çalışma zamanına kadar yaşamaz. Yarın bir cihazı yeniden adlandır ve öneriler bir sonraki yüklemede yenilenir.
3. HACS (Home Assistant Community Store)
İndir: HACS
Bir adlandırma aracı değil, bir ön koşul. HACS Studio Code Server’ı, Custom Brand Icons’ı yükleyen topluluk paket yöneticisidir ve iş akışının geri kalanını mümkün kılan birkaç yaşam kalitesi tümleştirmesi. Kurulum bir kez: profilinizde gelişmiş modu etkinleştirin, HACS tümleştirmesini bir kabuk komutu aracılığıyla bırakın, yeniden başlatın ve tümleştirmeyi ekleyin.
HACS yerinde olduktan sonra benimsemeye değer iki alışkanlık. İlk olarak, varlıklara dokunan her şey üzerinde main izleme yerine sürümleri sabitleyin, çünkü yeniden adlandırma yeniden düzenlemesi sırasında şaşırtıcı bir kopya değişiklik en kötü olasılıklı zamandır. İkincisi, her güncelleme öncesi HACS’ın yerleşik değişiklik günlüğü görünümünü kullanın. Buna kopyala davranış adı değiştirme önceden çıkıyor yegane yer olur.
4. ESPHome
İndir: ESPHome
ESP32 veya ESP8266 donanımında herhangi bir şey için ESPHome adlandırma katmanıdır. name: living-room-lamp cihaz YAML’da bir kez ayarlayın ve o tahtaya flash gelen her varlık (light.living_room_lamp, sensor.living_room_lamp_temperature, her neyse) eşleşen bir kimlik alır. name: alanını değiştirin, yeniden flash yapın ve Home Assistant bir sonraki önyükleme sırasında yeni kimlikler görür.
Bu tek gerçek kaynak XDA parçasının açıklamış olduğu sapma türünü engeller. Eski desen: Home Assistant’da cihazı yeniden adlandır, ESPHome’da tekrar adlandır, iki tarafın da aynı fikirde olmasını umar. Mevcut desen: ESPHome’da yeniden adlandır, Home Assistant’ın takip etmesine izin ver. Tutarlılığı koruması gereken bir küçük yüzey alanıdır ve sürüm kontrollü .yaml dosyaları her yeniden adlandırma bir repo’da farkı anlamına gelir.
İlk değişim için bunu çekirdek yeniden adlandırma diyaloğuyla eşleştirin. ESPHome ilk önyükleme yeni kimlikler oluşturur; diyalog eski olanlar referansını yeniden yazar. İki geçiş, yetim yok.
5. Node-RED
İndir: Node-RED
Otomasyonlar yirmi veya otuz geçtiğinde ve YAML editörü dar hissettirmeye başladığında, Node-RED’in görsel akış editörü olağan bir sonraki adımdır. Varlık kimlikleri tuval üzerinde birinci sınıf vatandaş haline gelir: her bir düğüm ona etiket içinde gösterir ve kenar çubuğu bir canlı kayıt defteri araması yapılmış kimlikler olamaz kaydetmek için olamaz.
Varlık adlandırması özellikle, Node-RED’in akış başına araması araçtır. Bir akış açın, Ctrl+F basın, eski kimliği yazın ve referansını yapan her düğüm ışınlanır. Düğüm yapılandırma panelleri aracılığıyla toplu olarak yeniden adlandır, konuşlandır, bitti. Akışlar JSON olarak dışa aktarılır, bu nedenle konfigürasyonun geri kalanında olduğu gibi aynı git repo’da mutlu bir şekilde yaşarlar.
Değiş tokuş: Node-RED bunu değiştirmek yerine Home Assistant’ın kendi otomasyon motoru yanında çalışır, bu nedenle varlık kimliği yeniden adlandırma şimdi iki yerde uygulanmalıdır. Bir kontrol listesi saklayın.
6. Automation Editor (yerleşik)
İndir: Automation Editor (Home Assistant ile gemi)
Stok UI editörü çoğunlukla hafife alınır. Tek otomasyon düzenlemeleri için varlık kimliklerini aranabilir referanslar olarak değerlendirir: tetikleyici varlık seçicisini değiştirin ve karşılık gelen koşul ve eylem alanları aynı kayıtta güncelleştirilir. Hiçbir manuel YAML düzenleme, hiçbir kayıp virgül riski.
Bu listedeki yerini kazandığı yer, otomasyon tarafından başvurulan bir cihazı veya varlığı değiştirdiğinde görünen “Rename” istemdir. Çekirdek diyaloğun yaptığı aynı güncelleme referansı ön izlemesini sunar, açık olduğu otomasyona kapsama. Ortak durum için, tek bir otomasyonu düzenleyin, bağlı varlığın daha dostça bir kimlik aldığını fark edin, yeniden adlandırma kabul edin, kaydedin ve devam edin.
Birden çok otomasyonu kapsayan her şey için, bunun yerine çekirdek yeniden adlandırma diyaloğunu kullanın. Bu cerrahi tek dosyalı değişiklikler içindir.
7. Custom Brand Icons
İndir: Custom Brand Icons
Tuhaf ve kendisi hızlı ödenen. Custom Brand Icons HACS tümleştirmesi, desen tarafından satıcı ve ürün simgelerini varlıklara eklemenize olanak tanır. Her light.living_* varlığı aynı lamba simgesine, her sensor.*_battery aynı pil simgesine, her switch.plug_* aynı sokete verin.
Adlandırma yeniden düzenleme faydası görseldir. Yeniden adlandırma sonra panoyu açın ve desene dışında düşen herhangi bir varlık (bir yazım hatası, eski bir takma ad, yeniden adlandırılan bir cihaz ama bağlı yardımcı değil) aile simgesi yerine varsayılan geri dönüş simgesini gösterir. Yanlış bir yeniden adlandırma kırık bir otomasyonu olarak gösterilmeden görsel bir aykırı değer olarak görünür.
Adlandırma kuralınızda kalıpları bir kez ayarlayın, configuration.yaml‘de tutun ve her gelecek yeniden adlandırma kalıpla eşleşir veya kendini duyurur.
Doğru yığını nasıl seçeceği
Temel katman, her kurulum için: Home Assistant artı HACS artı Studio Code Server artı git. Bu kombinasyon çekirdek yeniden adlandırma diyaloğu, ikinci geçiş araması, bir başka şey için topluluk paketi kanalı ve geri al düğmesini verir.
ESPHome ekleyin varlıklarınızın bazıları DIY donanımından gelirse. Bu adları Home Assistant UI dışında ve sürüm kontrollü YAML’ye taşır ve sapma hataları tüm sınıfı kaldırır.
Node-RED ekleyin birkaç düzine otomasyondan daha fazla varsa veya herhangi biri üç dört adımdan daha uzun kapsama. Görsel editör ölçekte denetlemesi kolaydır ve akış başına arama karmaşık akışlarda yetim kimlikler nasıl yakalar.
Custom Brand Icons erken ekle, geç değil. Yeniden adlandırma öncesi kalıp ayarı pano bir görüntüden daha fazlası olan değişim algılama aracı olur anlamına gelir.
Automation Editor her zaman kullanılabilir ve tek dosya düzenlemeleri için kullanmaya değer. Bir değişim birden çok otomasyona dokunduğunda çekirdek yeniden adlandırma diyaloğu için yedek değildir, ama günlük temizlik için en hızlı yoldur.
Sık sorulan sorular
Home Assistant’da bir varlığı yeniden adlandırmak otomatik olarak onu kullanan her otomasyonu güncelleme mi?
2023.4 sürümü itibaren varlık kimliği yeniden adlandırma diyaloğu otomasyonları, betikleri, sahneleri, panoları ve eski kimliğe referanslar için planlar arar ve bunları tek bir geçişte güncellemeyi sunar. İlk ön izleme gösterir. Kendi dosyalarında kimlikler depolayan özel tümleştirmeler içindeki veya Node-RED akışları içindeki referansları göremez, bu nedenle Studio Code Server’da ikinci geçiş araması hala her yeniden adlandırma sonra çalıştırılmaya değer.
Arkadaş canlısı isim ve varlık kimliği arasında fark nedir?
Varlık kimliği (light.living_room_lamp) otomasyonları, betikleri ve şablonları varlığı ele almak için kullandığı makine anahtarıdır. Arkadaş canlısı isim (“Living room lamp”) panolarda, ses yardımcılarında ve bildirilerde görüntülenen etikettir. Arkadaş canlısı adı özgürce değiştirin; varlık kimliği sabit kalır ve hiçbir otomasyon kırılmaz. Varlık kimliğini yalnızca yeniden adlandırma diyaloğu aracılığıyla değiştirin, böylece referanslar güncellenmeleri.
Cihazlar entegrasyon UI’den mi yoksa varlık ayarlarından mı yeniden adlandırılması gerekir?
Entegrasyon UI’den (ZHA, Z-Wave JS, ESPHome, vb.) cihaz yeniden adlandırması amaç o cihazı bir kez ortaya çıkaran her varlığı değiştirmektir. Yalnızca cihazın varlıklarından biri farklı bir kimlik gerektiğinde ayrı varlığı yeniden adlandırın. Her iki akış şimdi aynı güncelleme referansı ön izlemesini tetikler, bu nedenle güvenlik ağı her iki şekilde de aynıdır.
Home Assistant yapılandırmasını varlık kimliği yazım hatalarına karşı nasıl denetlersiniz, bunlar arızalara neden olmadan?
Home Assistant uzantısı ile Studio Code Server hızlı denetim. entity_id: için proje genelinde arama açın ve canlı kayıt defterine karşı otomatik tamamlanan hiçbir şey taraması. Betik kontrol için, hassio ha check (yerleşik yapılandırma doğrulayıcısının CLI eşdeğeri) bulunmayan varlıklara referanslar bayraklayacak ve her değişiklik sonra git diff inceleme bir komut alışkanlığı yapar.
Üretim Home Assistant örneğinde varlıkları yeniden adlandırmak güvenli midir?
Yeniden adlandırma varlık ayarları diyaloğu veya bağlı otomasyon editörü istemi aracılığıyla giderse daha önce daha güvenli. İlk UI’den bir yedek alın, sakin bir pencere sırasında yeniden adlandırma yapın ve değişiklikten sonra etkilenen tümleştirmeyi yeniden yükleyin veya Home Assistant’ı yeniden başlatın. Herhangi bir şey yanlış görünürse, bu yığının geri kalanı tutmaya teşvik ettiği git repo önceki duruma dönüş yoludur.