Dlaczego HA nie pokazuje urządzenia połączonego przez zigbee i Zigbee2MQTT?

Mam 4-klawiszowy włącznik połączony do HA przez zigbee: Tuya TS0044 control via MQTT | Zigbee2MQTT
Wszystko działało poprawnie przez 2 lata i ostatnio przestalo dzialac.
Usunąłęm przełącznik z zigbee2mqtt, sparowałem od nowa.
W Zigbee2mqtt wszystko działa poprawnie, naciśnięcie każdego przycisku jest wyświetlane w panelu Zigbee2Mqtt ale na liście urządzeń HA nie ma przełącznika.
Jezeli wejde w w HA->Narzędzia Developerskie->STANY urządzeń to urządzenia nie ma na liście.
Sprawdzałem też MQTT Explorerem i dane do MQTT brokera też docierają:
w gałęzi: zigbee2mqtt/Switch-4-pos mam:
{

  • “battery”: 100,*
  • “last_seen”: “2025-02-16T21:14:03.781Z”,*
  • “linkquality”: 255,*
  • “voltage”: 3000*
    }
    a jak nacisne jakis przycisk to pojawia sie jeszcze stan:
    zigbee2mqtt/Switch-4-pos/action
    1_single

ale dlaczego HA tego nie pokazuje?

Naciśnięcie jest zdarzeniem, a nie stanem.

Stare wersje Z2M (1.x) umożliwiały tworzenie takich protez lecz zrezygnowano z tego w 2.0 ponieważ (w dużym skrócie) tworzyło to więcej programistycznej patologii niż pożytku.

Chyba nie to jest problemem bo powinien HA pokazywać chociaż stany:
{

  • “battery”: 100,*
  • “last_seen”: “2025-02-16T21:14:03.781Z”,*
  • “linkquality”: 255,*
  • “voltage”: 3000*
    }
    a nie pokazuje nawet urzadzenia Switch-4-pos, ktore widzi/ma broker MQTT.

Czy gdzies mozna prześledzić albo podejrzeć w jaki sposob HA pobiera dane z brokera MQTT i transponuje je na swoje urządzenia i encje?

W kodzie źródłowym integracji mqtt

Jeśli dodałeś ponownie urządzenie do Z2M, to w Integracji MQTT musi być teraz odpowiadające mu urządzenie (jeśli sprzęt jest obsługiwany przez Z2M) i dokładnie tak jak mówisz powinien mieć jakieś encje, jeśli to encje diagnostyczne, to domyślnie są wyłączone i trzeba je włączyć.

Jeśli chcesz mieć zaawansowane logi z Integracji MQTT dorzuć do configuration.yaml (UWAGA tego należącego do HA, a nie tego który należy do Z2M)

logger:
  default: warning
  logs:
    homeassistant.components.mqtt: debug

Aha i
Jak prawidłowo zamieszczać YAML, inny kod lub logi w postach na forum

Problem był inny. Twórcy Zigbee2MQTT usunęli stary sposób obsługi button-ow bo jest przestarzały a nie włączyli nowego bo jest jeszcze “experimental” dlatego mój włacznik przestał być widziany przez HA.
W Zigbee2MQTT->Settinges->Home Assistant Integrations są ważne opcje:

obie były wyłączone w moim przypadku :frowning_face:

  • włączenie “legacy” pozwala używać przycisków tak jak wcześniej ale w kolejnych wersjach może to być wyłączone
  • włączenie “experimental” pozwala już korzystać z przycisków w nowy sposób i można się powoli przesiadać (przerabiać ustawienia) na nową obsługę.