RTX ZDM2LN - zmiana jasności za pomoca przełącznika

Walczę z przełącznikiem Zigbee podłączonym przez zigbee2mqtt w Home Assistant:

Z2M wykrywa go jako TuYa TS110E_2gang_2:

I prawie wszystko działa jak trzeba. Problem stanowi zmiana jasności za pomocą przełącznika - swiatlo się sciemnia/rozjaśnia - owszem ale wartości jasności w rozglaszamych komunikatach się nie zmieniają. Suwak w HA tez stoi w miejscu…
Jezeli zmieniam jasnośc z poziomu HA wszystko jest OK.

Zgłosiłem problem tutaj:

ale cisza póki co…

Jakies pomysły?

Następny “niecierpliwy” użytkownik Z2M, spokojnie, cierpliwości, przy ilości zgłoszonych issue czas reakcji to kilka dni, tygodni a nie godzin :slight_smile:. Wsparcie dla podobnych modułów TuYa TS110E_2gang_1 control via MQTT | Zigbee2MQTT do tej pory nie zostało poprawione, zgłoszenie jest z 1 marca 2023 (All Tuya TS110E dimmers broke after update! Cannot update state in all models · Issue #16863 · Koenkk/zigbee2mqtt · GitHub).

Możesz samemu spróbować dodać nowe urządzenie Support new TuYa devices | Zigbee2MQTT.

Właśnie próbuję się przez to przebić, ale chyba jestem za krótki :slight_smile:

W wątku na github nikt nie odpowiada.
Może tutaj ktoś coś?
Dlaczego w logach z2m widać wyraźnie ze przy zmianie jasności przyciskiem sa wysyłane prawidlowe komunikaty ze zmieniającymi się wartościami jasności a z2m rozgłasza komunikaty ze stalą wartością tej jasności?

Debug 2024-03-23 20:59:09Received Zigbee message from ‘living_room/wall_switch’, type ‘attributeReport’, cluster ‘genLevelCtrl’, data ‘{“61440”:282}’ from endpoint 1 with groupID 0
Info 2024-03-23 20:59:09MQTT publish: topic ‘zigbee2mqtt/living_room/wall_switch/l1’, payload ‘{“brightness”:44,”power_on_behavior”:”on”,”state”:”ON”}’
Debug 2024-03-23 20:59:09Received Zigbee message from ‘living_room/wall_switch’, type ‘attributeReport’, cluster ‘genLevelCtrl’, data ‘{“61440”:345}’ from endpoint 1 with groupID 0
Info 2024-03-23 20:59:09MQTT publish: topic ‘zigbee2mqtt/living_room/wall_switch/l1’, payload ‘{“brightness”:44,”power_on_behavior”:”on”,”state”:”ON”}’
Debug 2024-03-23 20:59:10Received Zigbee message from ‘living_room/wall_switch’, type ‘attributeReport’, cluster ‘genLevelCtrl’, data ‘{“61440”:408}’ from endpoint 1 with groupID 0
Info 2024-03-23 20:59:10MQTT publish: topic ‘zigbee2mqtt/living_room/wall_switch/l1’, payload ‘{“brightness”:44,”power_on_behavior”:”on”,”state”:”ON”}’
Debug 2024-03-23 20:59:10Received Zigbee message from ‘living_room/wall_switch’, type ‘attributeReport’, cluster ‘genLevelCtrl’, data ‘{“61440”:471}’ from endpoint 1 with groupID 0
Info 2024-03-23 20:59:10MQTT publish: topic ‘zigbee2mqtt/living_room/wall_switch/l1’, payload ‘{“brightness”:44,”power_on_behavior”:”on”,”state”:”ON”}’
Debug 2024-03-23 20:59:10Received Zigbee message from ‘living_room/wall_switch’, type ‘attributeReport’, cluster ‘genLevelCtrl’, data ‘{“61440”:533}’ from endpoint 1 with groupID 0
Info 2024-03-23 20:59:10MQTT publish: topic ‘zigbee2mqtt/living_room/wall_switch/l1’, payload ‘{“brightness”:44,”power_on_behavior”:”on”,”state”:”ON”}’
Debug 2024-03-23 20:59:11Received Zigbee message from ‘living_room/wall_switch’, type ‘attributeReport’, cluster ‘genLevelCtrl’, data ‘{“61440”:596}’ from endpoint 1 with groupID 0
Info 2024-03-23 20:59:11MQTT publish: topic ‘zigbee2mqtt/living_room/wall_switch/l1’, payload ‘{“brightness”:44,”power_on_behavior”:”on”,”state”:”ON”}’
Debug 2024-03-23 20:59:11Received Zigbee message from ‘living_room/wall_switch’, type ‘attributeReport’, cluster ‘genLevelCtrl’, data ‘{“61440”:659}’ from endpoint 1 with groupID 0
Info 2024-03-23 20:59:11MQTT publish: topic ‘zigbee2mqtt/living_room/wall_switch/l1’, payload ‘{“brightness”:44,”power_on_behavior”:”on”,”state”:”ON”}’
Debug 2024-03-23 20:59:12Received Zigbee message from ‘living_room/wall_switch’, type ‘attributeReport’, cluster ‘genLevelCtrl’, data ‘{“61440”:722}’ from endpoint 1 with groupID 0
Info 2024-03-23 20:59:12MQTT publish: topic ‘zigbee2mqtt/living_room/wall_switch/l1’, payload ‘{“brightness”:44,”power_on_behavior”:”on”,”state”:”ON”}’
Debug 2024-03-23 20:59:12Received Zigbee message from ‘living_room/wall_switch’, type ‘attributeReport’, cluster ‘genLevelCtrl’, data ‘{“61440”:784}’ from endpoint 1 with groupID 0
Info 2024-03-23 20:59:12MQTT publish: topic ‘zigbee2mqtt/living_room/wall_switch/l1’, payload ‘{“brightness”:44,”power_on_behavior”:”on”,”state”:”ON”}’
Debug 2024-03-23 20:59:12Received Zigbee message from ‘living_room/wall_switch’, type ‘attributeReport’, cluster ‘genLevelCtrl’, data ‘{“61440”:847}’ from endpoint 1 with groupID 0
Info 2024-03-23 20:59:12MQTT publish: topic ‘zigbee2mqtt/living_room/wall_switch/l1’, payload ‘{“brightness”:44,”power_on_behavior”:”on”,”state”:”ON”}’
Debug 2024-03-23 20:59:13Received Zigbee message from ‘living_room/wall_switch’, type ‘attributeReport’, cluster ‘genLevelCtrl’, data ‘{“61440”:910}’ from endpoint 1 with groupID 0
Info 2024-03-23 20:59:13MQTT publish: topic ‘zigbee2mqtt/living_room/wall_switch/l1’, payload ‘{“brightness”:44,”power_on_behavior”:”on”,”state”:”ON”}’
Debug 2024-03-23 20:59:13Received Zigbee message from ‘living_room/wall_switch’, type ‘attributeReport’, cluster ‘genLevelCtrl’, data ‘{“61440”:973}’ from endpoint 1 with groupID 0
Info 2024-03-23 20:59:13MQTT publish: topic ‘zigbee2mqtt/living_room/wall_switch/l1’, payload ‘{“brightness”:44,”power_on_behavior”:”on”,”state”:”ON”}’
Debug 2024-03-23 20:59:13Received Zigbee message from ‘living_room/wall_switch’, type ‘attributeReport’, cluster ‘genLevelCtrl’, data ‘{“61440”:984}’ from endpoint 1 with groupID 0
Info 2024-03-23 20:59:13MQTT publish: topic ‘zigbee2mqtt/living_room/wall_switch/l1’, payload ‘{“brightness”:44,”power_on_behavior”:”on”,”state”:”ON”}’

Pewnie dlatego, że nikt jeszcze nie napisał do końca prawidłowego słownika dla tego sprzętu.

Rozglasza MQTT, tam spróbuj zobaczyć co się dzieje. Pobierz jakiś program np. MQTT Explorer, zasybskrybuj temat. zigbee2mqtt/living_room/wall_switch/l1 i zobacz co się dzieje.

@Mnietek tak jak pisze @szopen - konwerter (zigbee-herdsman-converters) nie został jeszcze “przygotowany” pod to dokładnie urządzenie, komunikaty MQTT są efektem końcowym Z2M, wiem co mówię bo już przechodziłem przez ten proces, kiedyś znacznie szybciej można bylo uzyskać wsparcie do nowych urządzeń w Z2M.

Najdziwniejsze jest to, że to POWINNO działac.

Z2M dostaje prawidłową wiadomośc od przełącznika z prawidłową jasnością (data ‘{“61440”:282}’) o czym sam informuje w logach:

Debug 2024-03-23 20:59:09Received Zigbee message from ‘living_room/wall_switch’, type ‘attributeReport’, cluster ‘genLevelCtrl’, data ‘{“61440”:282}’ from endpoint 1 with groupID 0

i kompletnie to ignoruje - rozglasza komunikaty z niezmieniona wielkością jasności.
A jak wczytuje sie w te wszystkie kody to widzę, że ten model odczytuje jasnosc z msg.data[‘61440’] - czyli szuka informacji tam gdzie ona rzeczywiście jest :

TS110E: {
        cluster: 'genLevelCtrl',
        type: ['attributeReport', 'readResponse'],
        convert: (model, msg, publish, options, meta) => {
            const result: KeyValue = {};
            if (msg.data.hasOwnProperty('64515')) {
                result['min_brightness'] = utils.mapNumberRange(msg.data['64515'], 0, 1000, 1, 255);
            }
            if (msg.data.hasOwnProperty('64516')) {
                result['max_brightness'] = utils.mapNumberRange(msg.data['64516'], 0, 1000, 1, 255);
            }
            if (msg.data.hasOwnProperty('61440')) {
                result['brightness'] = utils.mapNumberRange(msg.data['61440'], 0, 1000, 0, 255);
            }
            return result;
        },

chodzi mi o to:
result['brightness'] = utils.mapNumberRange(msg.data['61440'], 0, 1000, 0, 255);

Więc czemu to nie działa u licha???

Bo jak na razie ktoś nie napisał tego konwertera do końca.

Tuya ignoruje założenia standardu Zigbee, więc dla każdego urządzenia na bazie ich technologii jest potrzebny “słownik” który “przetłumaczy” z dialektu Tuya na coś zgodnego z normalnym Zigbee, jak widać są braki w tłumaczeniu.

Jeśli nie wiesz jak to naprawić samodzielnie, to zgłoś issue gdzie trzeba, ktoś to w końcu poprawi (odsetek użytkowników, którzy wkładają swoją pracę w rozwój projektu jest śladowy w stosunku do użytkowników, którzy tylko korzystają, więc wymyślono półautomatyczne tworzenie konwerterów, ale takie generowane automatycznie nie zawsze są idealne, więc najwyraźniej brakuje obróbki końcowej przez kogoś, kto posiada dokładnie taki sprzęt i widzi co nie działa jak należy).