Sonoff ZBDongle-E üzerinde ZHA'da EZSP/Ember zaman aşımı: bağlantıyı nasıl yeniden kurarsınız?

Kerem Aydın·9 Temmuz 2026·⏱4 dk

ZHA'daki EZSP/ember/serial timeout hatası neredeyse her zaman Home Assistant'ın USB-seri üzerinden koordinatörle olan kararlı bağlantısını kaybettiği anlamına gelir. En hızlı çözüm: /dev/serial/by-id/... portunu belirtmek, rekabet eden servisleri (Z2M/flasher'lar) kaldırmak ve dongle üzerinde Zigbee NCP (MultiPAN değil) firmware'inin yüklü olduğundan emin olmaktır.

İçindekiler

Serial timeout sırasında tam olarak ne bozulur

ZHA, Sonoff ZBDongle-E (Silicon Labs çipi) ile seri port üzerinden EZSP protokolü aracılığıyla iletişim kurar. Zaman aşımı şu durumlarda ortaya çıkar:

  • yanlış port açıktır (yeniden başlatmadan sonra /dev/ttyUSB0 "yer değiştirmiştir");
  • port başka bir süreç tarafından meşguldür;
  • dongle parazitler/güç/USB 3.0 nedeniyle "takılı kalır";
  • uygunsuz firmware/yığın yüklüdür ve ZHA NCP'yi doğru şekilde başlatamaz.

Firmware değiştirmeden teşhis (5–10 dakika)

  1. ZHA'daki port yolunu kontrol edin
    Entegrasyon ayarlarında /dev/ttyUSB0 yerine kararlı bir yol olmalıdır:
  • /dev/serial/by-id/....
    Bu, sistemin dongle'a başka bir tty* atadığı durumu ortadan kaldırır.
  1. Portun meşgul olmadığından emin olun Tipik senaryo: ZHA ve Zigbee2MQTT aynı anda etkin veya USB-UART'a erişen bir eklenti/konteyner çalışıyor. Belirti — ZHA bazen başlar, bazen zaman aşımına girer.

Kural basittir: bir dongle — bir "port sahibi". Bu seri porta erişebilecek her şeyi durdurun ve ancak ardından ZHA'yı yeniden başlatın.

  1. Zaman aşımının ne zaman oluştuğunu anlayın
  • ZHA başlatıldığında hemen → çoğunlukla port/çakışma/firmware.
  • Saatler/günler sonra → çoğunlukla USB parazitleri, güç, hub, VM'ye geçiş.

Firmware: MultiPAN neden ZHA ile çoğu zaman çalışmaz

Eğer dongle MultiPAN/çoklu protokol moduna (örneğin Zigbee+Thread) flashlanmışsa, ZHA sıklıkla beklenen EZSP sürümü/NCP davranışı açısından uyumsuzluk yaşar — dışarıdan bu, sonsuz zaman aşımları, sıfırlamalar ve ağın başlatılamaması olarak görünür.

Ne yapılmalı:

  1. Dongle'ı ZBDongle-E için Zigbee NCP (koordinatör, "sadece Zigbee") firmware'ine geri döndürün.
  2. Flash işleminden sonra Home Assistant'ı tamamen yeniden başlatın.
  3. Ağ başlamazsa, koordinatörün IEEE adresinin değişip değişmediğini kontrol edin (bazen firmware dalı değiştirildikten sonra cihazlar koordinatörü "tanımaz"). Böyle bir durumda ağın yeniden kurulması veya Zigbee yedeğinin geri yüklenmesi gerekebilir.

Thread'e ihtiyacınız yoksa — ZHA için en kararlı seçenek: dongle'ı çoklu protokol olmadan "sadece Zigbee" modunda kullanmaktır.

Hızlı kılavuz: belirti → muhtemel neden

BelirtiÇoğunlukla nedenİlk eylem
ZHA başlangıcında hemen zaman aşımıyanlış port / port meşgul / MultiPANby-id, rakipleri kapatın, Zigbee NCP'ye dönün
Günde bir kez kopuyorUSB parazitleri/güç/hubuzatma kablosu, USB 2.0, harici beslemeli hub
VM'de "bazen görünüyor, bazen yok"kararsız USB geçişicihazı tamamen geçirin, ID'ye göre sabitleyin

USB, güç ve sanallaştırma: "rastgele" kopmaları nasıl ortadan kaldırılır

  1. Dongle'ı parazitlerden uzaklaştırın
    0,5–1 m USB uzatma kablosu kullanın. Çoğu zaman bu, serial timeout'u tamamen ortadan kaldırır.

  2. Dongle'ın yanındaki USB 3.0'dan kaçının
    Mümkünse USB 2.0 portu kullanın ve yakına SSD/bellek/USB 3.0 hub'ları bağlamayın.

  3. Güç ve hub'lar Eğer dongle bir hub üzerinden bağlıysa — başka bir hub deneyin veya harici beslemeli bir hub kullanın. Kararsız güç, "rastgele" zaman aşımlarına ve reset döngüsüne neden olur.

  4. Home Assistant VM/konteynerde ise

  • "Sanal COM" yerine USB cihazını tamamen geçirin.
  • ZHA'da portu /dev/serial/by-id/... ile sabitleyin.
  • Ana makinede cihazı uykuya sokan agresif USB güç tasarrufunu devre dışı bırakın.

Yaygın hatalar

  • /dev/serial/by-id/... yerine /dev/ttyUSB0 belirtilmiş.
  • ZHA ve Zigbee2MQTT (veya başka bir servis) aynı anda çalışıyor, ikisi de aynı dongle'a erişiyor.
  • Dongle MultiPAN/çoklu protokolle flashlanmış, oysa normal Zigbee koordinatörü bekleniyor.
  • Dongle, uzatma kablosu olmadan doğrudan USB 3.0/SSD yanındaki porta takılı.
  • Firmware değiştirilmiş ancak HA tamamen yeniden başlatılmamış (güç/USB dahil).

SSS

Düzeltmeden sonra tüm cihazları yeniden bağlamak gerekir mi?
Eğer firmware türünü değiştirmediyseniz ve koordinatörün IEEE'si değişmediyse — çoğu zaman ağ kendiliğinden kalkar. IEEE değiştiyse veya MultiPAN'a/from MultiPAN'a geçiş yaptıysanız, ağın yeniden kurulması ve cihazların yeniden eşleştirilmesi gerekebilir.

Sorunun firmware'de değil de gerçekten USB'de olduğunu nasıl anlarsınız?
Eğer ZHA kararlı bir şekilde başlıyor ancak bir süre sonra kopuyorsa ve dongle'ı yeniden takmak/yeniden başlatmak işe yarıyorsa — bu tipik bir USB paraziti/güç/hub belirtisidir.

Zaman aşımını firmware değiştirmeden sadece ayarlarla "tedavi etmek" mümkün mü?
Bazen evet: doğru by-id, rekabet eden süreçlerin olmaması ve USB uzatma kablosu çoğu zaman sorunu tamamen çözer. Eğer zaman aşımları en baştan beri varsa ve çakışmaları kesinlikle elediyseniz — o zaman firmware dalını (Zigbee NCP vs MultiPAN) kontrol edin.