Dyskusja ogólna [bramka Zigbee]

Moderator: vajera

LukiSpajder
Posts: 1548
Joined: Tue Aug 18, 2020 2:22 pm
Has thanked: 25 times
Been thanked: 34 times

Post

Jeśli chodzi o te LYWSD03MMC czy Supla mogła by przesyłać korektę temperatury i wilgotności do termometru ?
Bo jeśli damy korektę w cloudzie to w apce mamy uwzględniona a na wyświetlaczu termometru już nie .
Rozumie że to nie ten etap projektu ale może w przyszłości ....... 😀
Last edited by LukiSpajder on Mon Feb 03, 2025 7:38 pm, edited 1 time in total.
User avatar
Zibi_007
Posts: 3985
Joined: Tue Oct 31, 2023 10:06 pm
Has thanked: 10 times
Been thanked: 32 times

Post

lukasz06 wrote: Mon Feb 03, 2025 7:08 pm Ogólnie czytałem, że Zigbee jest trochę bardziej prądożerne niż ble. Też chętnie zobaczę, poczytam, jak wyciągasz te tokeny 😉
Z ciekawości zapytam, czy jest to możliwe dla LYWSD 002? Bo ma takiego i nie mogę go przerobić przez ota.
Tokeny sam wyciąga skrypt w Pythonie ;-) Jak dobrze pamiętam to ten 002 nie ma Zigbee, tylko BLE. Robiłem na nich kiedyś Tasmotę (dla kolegi) i chodziło, ale nie pamiętam, jaka była wersja softu.
Korzystałem z tych bibliotek https://github.com/h4/lywsd02/tree/master
Dobra, a teraz koniec OT i wracamy do tematu.
Na jednej bramce działa 6 termometrów Xiaomi, gniazdko, czujnik zalania i dwa czujniki ruchu. Wszystko na C6 N4 i nawet się nie grzeje ;-)
Image Wiesz, że Supla obsługuje Zigbee? Wstąp do Klubu Promila: https://forum.supla.org/viewtopic.php?t=18018
Image Szukasz nowego GG? Jest tutaj: https://forum.supla.org/viewtopic.php?t=18036
User avatar
vajera
Posts: 7295
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 291 times
Been thanked: 161 times

Post

Wrzuciłem mały update (kod + bin):

1. dodane nowe urządzenia (ze zgłoszeń),
2. czujniki iaszone mają włączone raportowanie (przy parowaniu) co 900 sekund (15 minut),
3. wszystkie typy mierników elektrycznych raportują przy parowaniu takie dane jak domyślne ustawienia raportów + tzw. mnożniki i dzielniki - będę wdzięczny za logi bo to być może pozwoli rozwiązać problem przeliczników,
4. Z2S_DEVICE_DESC_RELAY_ELECTRICITY_METER_2 - dla tego profilu licznik energii elektrycznej pobiera dane co 30 sekund,
5. dodałem VirtualRelayScenesSwitch ( credits @[email protected]),
6. porządków w kodzie ciąg dalszy,
7. w bazie jest obecnie 58 urządzeń
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
User avatar
Zibi_007
Posts: 3985
Joined: Tue Oct 31, 2023 10:06 pm
Has thanked: 10 times
Been thanked: 32 times

Post

vajera wrote: Mon Feb 03, 2025 10:53 pm Wrzuciłem mały update (kod + bin):

1. dodane nowe urządzenia (ze zgłoszeń),
2. czujniki iaszone mają włączone raportowanie (przy parowaniu) co 900 sekund (15 minut),
3. wszystkie typy mierników elektrycznych raportują przy parowaniu takie dane jak domyślne ustawienia raportów + tzw. mnożniki i dzielniki - będę wdzięczny za logi bo to być może pozwoli rozwiązać problem przeliczników,
4. Z2S_DEVICE_DESC_RELAY_ELECTRICITY_METER_2 - dla tego profilu licznik energii elektrycznej pobiera dane co 30 sekund,
5. dodałem VirtualRelayScenesSwitch ( credits @[email protected]),
6. porządków w kodzie ciąg dalszy,
7. w bazie jest obecnie 58 urządzeń
Musiałem wyedytować i na nowo skompilować kod, bo mojego przypadku jeszcze nie zdążyłeś uwzględnić. W każdym razie można dodać (zmienić) w liniach 244, 245:

Code: Select all

  { .manufacturer_name = "_TZ3000_5f43h46b", .model_name = "TS011F", 
    .z2s_device_desc_id = Z2S_DEVICE_DESC_RELAY_ELECTRICITY_METER_2, .z2s_device_endpoints_count = 1},
bo choć błędnie pokazuje moc, to przynajmniej działa i aktualizuje :-)

Załączam logi z parowania (jest też tam na końcu naciśnięcie przycisku, pewnie zbędne, piszę tylko dla informacji). No i rzeczywiście stan licznika zmienia się co kilkadziesiąt sekund.

EDIT: Nie wiem, czy ma tak być, pewnie coś przegapiłem (może to ten VRSS), ale po dodaniu włącznika scen (tego z 4 klawiszami) mam możliwość przypisania im tylko funkcji otwierania bramy i automatu schodowego.
You do not have the required permissions to view the files attached to this post.
Image Wiesz, że Supla obsługuje Zigbee? Wstąp do Klubu Promila: https://forum.supla.org/viewtopic.php?t=18018
Image Szukasz nowego GG? Jest tutaj: https://forum.supla.org/viewtopic.php?t=18036
LukiSpajder
Posts: 1548
Joined: Tue Aug 18, 2020 2:22 pm
Has thanked: 25 times
Been thanked: 34 times

Post

Gniazdko sparowało się bez problemów
Ogólnie działa dobrze :D
A czy suma energii pobranej zapisuje się w gniazdku ? Nie da się wyzerować licznika - to zauważyłem

A przycisk czteroklawiszowy zgłasza się tak ja u Zibi_007 czyli do wyboru otwieranie furtki i schodowy w cloudzie

Logi:
You do not have the required permissions to view the files attached to this post.
bokk
Posts: 730
Joined: Fri Mar 01, 2019 4:26 am
Has thanked: 7 times
Been thanked: 25 times

Post

Zibi_007 wrote: Tue Feb 04, 2025 12:08 am
vajera wrote: Mon Feb 03, 2025 10:53 pm Wrzuciłem mały update (kod + bin):

1. dodane nowe urządzenia (ze zgłoszeń),
2. czujniki iaszone mają włączone raportowanie (przy parowaniu) co 900 sekund (15 minut),
3. wszystkie typy mierników elektrycznych raportują przy parowaniu takie dane jak domyślne ustawienia raportów + tzw. mnożniki i dzielniki - będę wdzięczny za logi bo to być może pozwoli rozwiązać problem przeliczników,
4. Z2S_DEVICE_DESC_RELAY_ELECTRICITY_METER_2 - dla tego profilu licznik energii elektrycznej pobiera dane co 30 sekund,
5. dodałem VirtualRelayScenesSwitch ( credits @[email protected]),
6. porządków w kodzie ciąg dalszy,
7. w bazie jest obecnie 58 urządzeń
Musiałem wyedytować i na nowo skompilować kod, bo mojego przypadku jeszcze nie zdążyłeś uwzględnić. W każdym razie można dodać (zmienić) w liniach 244, 245:

Code: Select all

  { .manufacturer_name = "_TZ3000_5f43h46b", .model_name = "TS011F", 
    .z2s_device_desc_id = Z2S_DEVICE_DESC_RELAY_ELECTRICITY_METER_2, .z2s_device_endpoints_count = 1},
bo choć błędnie pokazuje moc, to przynajmniej działa i aktualizuje :-)

Załączam logi z parowania (jest też tam na końcu naciśnięcie przycisku, pewnie zbędne, piszę tylko dla informacji). No i rzeczywiście stan licznika zmienia się co kilkadziesiąt sekund.

EDIT: Nie wiem, czy ma tak być, pewnie coś przegapiłem (może to ten VRSS), ale po dodaniu włącznika scen (tego z 4 klawiszami) mam możliwość przypisania im tylko funkcji otwierania bramy i automatu schodowego.
U mnie rownież pod podwójnym przyciskiem jedynie możliwość przypisania funkcji otwierania bramy i automatu schodowego
[email protected]
Posts: 1592
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 27 times

Post

Tam jest kwestia kombinacji flag funkcji, ogarnę to wieczorem.

EDIT:

w z2s_devices_table w Z2S_initSuplaChannels:

Code: Select all

 case SUPLA_CHANNELTYPE_ACTIONTRIGGER: {
            //auto Supla_VirtualRelay = new Supla::Control::VirtualRelay();
            auto Supla_VirtualRelay = new Supla::Control::VirtualRelaySceneSwitch((0xFF ^ SUPLA_BIT_FUNC_CONTROLLINGTHEROLLERSHUTTER), 1000);
            Supla_VirtualRelay->setInitialCaption(z2s_devices_table[devices_counter].Supla_channel_name);
            Supla_VirtualRelay->setDefaultFunction(z2s_devices_table[devices_counter].Supla_channel_func);
            Supla_VirtualRelay->getChannel()->setChannelNumber(z2s_devices_table[devices_counter].Supla_channel);
          } break;
w Z2S_addZ2SDevice:

Code: Select all

 case Z2S_DEVICE_DESC_SWITCH_4X3: {
        //auto Supla_Z2S_VirtualRelay = new Supla::Control::VirtualRelay();
        auto Supla_Z2S_VirtualRelay = new Supla::Control::VirtualRelaySceneSwitch((0xFF ^ SUPLA_BIT_FUNC_CONTROLLINGTHEROLLERSHUTTER), 1000);
        Supla_Z2S_VirtualRelay->setDefaultFunction(SUPLA_CHANNELFNC_POWERSWITCH);
        char button_name_function[30];
        char button_function[][15] = {"pressed", "double pressed","held"};
        sprintf(button_name_function, "button #%d %s", device->endpoint, button_function[sub_id]);
        Z2S_fillDevicesTableSlot(device, first_free_slot, Supla_Z2S_VirtualRelay->getChannelNumber(), SUPLA_CHANNELTYPE_ACTIONTRIGGER, sub_id,
        button_name_function, SUPLA_CHANNELFNC_POWERSWITCH); 
      } break;
ale to działa dopiero po wyczyszczeniu flashu!
kiler88
Posts: 339
Joined: Sun Jun 21, 2020 10:55 am
Been thanked: 1 time

Post

vajera wrote: Fri Jan 31, 2025 1:44 pm
kiler88 wrote: Fri Jan 31, 2025 12:41 pm Dopiero zaczynam zabawę, wgrałem ostatniego bina i próba sparowania czujnika którego nie ma na liście tak jakby uwala bramkę, przestają działać dodane wcześniej czujniki, nie pomaga reset zasilaniem, nie działa trzymanie 5s BOOT żeby wyczyścić listę urządzeń, usunięta po tym z cloud i dodana ponownie bramka zgłasza się z wcześniej sparowanymi czujnikami. Pomaga wgranie od nowa bina. Nie wiem czy coś nie tak z moim ESP32-C6-8MB czy to tak po prostu jest. Dwa działające czujniki które mam działają stabilnie, nie ma problemów po resecie, dopiero dodanie czegoś spoza listy wykrzacza działanie, sprawdzałem na dwóch różnych czujnikach które się nie dodają.
Bramka obecnie próbuje przy każdym nowym urządzeniu wykonać odczyt kilku atrybutów z klastra Basic w określonej kolejności (tzw. Tuya magic spell). Ten odczyt zrobiłem na semaforach z timeout 10 sekund każdy. Niestety część czujników pomimo wprowadzenia w tryb parowania ma jakiś bałagan w pamięci i nie chce zwracać tych parametrów, co sprawia, że bramka blokuje się na około 70-80 sekund. Jedyne rozwiązanie to skuteczne wprowadzenie czujnika w stan parowania, czasami konieczne jest wyjęcie baterii na 20-30 sekund.
Wczoraj i dzisiaj jeszcze testowałem, także mam jakieś spostrzeżenia, może coś wymyślicie.
Także za radą @Zibi-007 najpierw czekałem, ale nawet kilka godzin nie pomogło.
Zawieszenie komunikacji po Zigbee powodowało nawet wciśnięcie przycisku BOOT bez wprowadzania problematycznego czujnika w tryb parowania.
Dzisiaj ponowna instalacja, czujnik temperatury i wilgotności oraz czujnik zalanie działają bez problemu, bramka stabilna.
Próba dodania problematycznego czujnika otwarcia okna i siada komunikacja także z pozostałymi, bramka w Supla online.
Ponownie sparowałem działające wcześniej moduły i ożyły, a co najśmieszniejsze po ponownej próbie parowania czujnika który zawieszał bramkę, nie dodał się w supli, ale z bramką się sparował i nie zawiesza już Zigbee.
Wrzucam loga.

Edit
Czujnik ruchu, który wcześniej też się nie parował i zawieszał komunikację, dzisiaj też postanowił się sparować, także może ESP się wygrzało, bo pierwszy raz je zostawiłem włączone na 24h, albo mam w nim coś z pamięcią. Dorzucam loga czujki ruchu.

Edit 2
Teraz mnie dopiero olśniło, co się zmieniło w układzie.
Rano po nocnym wygrzewaniu nadal nie działało, wcześniej wgrywałem ostatniego bina od Zibi, więc postanowiłem teraz wgrać najnowszego z githuba vajera, ale nie rozgłaszał wifi, wiec zróciłem do Z2S_Gateway_31_01_2025_web_virtbin.bin i wszystko działa.
A przy wgrywaniu bin partycje itp nie są już w nim ustalone, nie powinno to mieć znaczenia?
You do not have the required permissions to view the files attached to this post.
Last edited by kiler88 on Tue Feb 04, 2025 9:31 am, edited 1 time in total.
mariomar
Posts: 22
Joined: Thu Feb 11, 2021 10:14 am

Post

Siedem różnych urządzeń bez problemu dodało się do Supli przez jedną bramkę. Pracują i sygnalizują prawidłowo. W wyzwalaczach scen (x1) i (z4) po ustawieniu na automat schodowy wystarczy mi sekundowy impuls, jednak po zostawieniu 0 sek w czasie załączania przekaźnika zachowuje się on jak włącznik bistabilny. Stan baterii urządzenia raportują do kilkunastu minut. Nie zaraportował baterii jedynie czujnik dymu, ale może potrzebuje więcej czasu. Dla minie ten soft to ideał.
User avatar
vajera
Posts: 7295
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 291 times
Been thanked: 161 times

Post

@Zibi_007

Przepraszam, ale nie wiedziałem, który konkretnie model to Twoje gniazdko - już dopisałem u siebie, dam znać jak wrzucę na GH.

Tutaj wycinek Twoich logów (gniazdko):

Code: Select all

[ 38643][I][ZigbeeGateway.cpp:778] sendAttributeRead(): Sending 'read attribute' command
[ 38768][I][ZigbeeHandlers.cpp:35] zb_action_handler(): Receive Zigbee action(0x1003) callback
[ 38769][V][ZigbeeHandlers.cpp:242] zb_cmd_read_report_cfg_resp_handler(): Read report configuration response: from address(0xa2da) src endpoint(1) to dst endpoint(1) cluster(0xb04)
[ 38770][V][ZigbeeHandlers.cpp:249] zb_cmd_read_report_cfg_resp_handler(): Read report configuration response: status(140), cluster(0xb04), attribute(0x508), type(0x0), min_interval(0x0), max interval(0x0), delta(0x0)
[ 38785][I][ZigbeeHandlers.cpp:35] zb_action_handler(): Receive Zigbee action(0x1003) callback
[ 38786][V][ZigbeeHandlers.cpp:242] zb_cmd_read_report_cfg_resp_handler(): Read report configuration response: from address(0xa2da) src endpoint(1) to dst endpoint(1) cluster(0xb04)
[ 38787][V][ZigbeeHandlers.cpp:249] zb_cmd_read_report_cfg_resp_handler(): Read report configuration response: status(140), cluster(0xb04), attribute(0x50b), type(0x0), min_interval(0x0), max interval(0x0), delta(0x0)
[ 38816][I][ZigbeeHandlers.cpp:35] zb_action_handler(): Receive Zigbee action(0x1003) callback
[ 38817][V][ZigbeeHandlers.cpp:242] zb_cmd_read_report_cfg_resp_handler(): Read report configuration response: from address(0xa2da) src endpoint(1) to dst endpoint(1) cluster(0x702)
[ 38818][V][ZigbeeHandlers.cpp:249] zb_cmd_read_report_cfg_resp_handler(): Read report configuration response: status(140), cluster(0x702), attribute(0x0), type(0x0), min_interval(0x0), max interval(0x0), delta(0x0)
[ 38850][I][ZigbeeHandlers.cpp:35] zb_action_handler(): Receive Zigbee action(0x1003) callback
[ 38851][V][ZigbeeHandlers.cpp:242] zb_cmd_read_report_cfg_resp_handler(): Read report configuration response: from address(0xa2da) src endpoint(1) to dst endpoint(1) cluster(0xb04)
[ 38852][V][ZigbeeHandlers.cpp:249] zb_cmd_read_report_cfg_resp_handler(): Read report configuration response: status(140), cluster(0xb04), attribute(0x505), type(0x0), min_interval(0x0), max interval(0x0), delta(0x0)
[ 38876][I][ZigbeeHandlers.cpp:35] zb_action_handler(): Receive Zigbee action(0x1000) callback
[ 38877][V][ZigbeeHandlers.cpp:151] zb_cmd_read_attr_resp_handler(): Read attribute response: from address(0xa2da) src endpoint(1) to dst endpoint(1) cluster(0xb04)
[ 38877][V][ZigbeeHandlers.cpp:160] zb_cmd_read_attr_resp_handler(): Read attribute response: status(134), cluster(0xb04), attribute(0x600), type(0x0), value(0)
NLME Status Indication, status: 0x12
[ 48644][E][ZigbeeGateway.cpp:784] sendAttributeRead(): Semaphore timeout reading attribute 0x600 - device 0xa2da, endpoint 0x1, cluster 0xb04
[ 48645][I][ZigbeeGateway.cpp:778] sendAttributeRead(): Sending 'read attribute' command
[ 48693][I][ZigbeeHandlers.cpp:35] zb_action_handler(): Receive Zigbee action(0x1000) callback
[ 48693][V][ZigbeeHandlers.cpp:151] zb_cmd_read_attr_resp_handler(): Read attribute response: from address(0xa2da) src endpoint(1) to dst endpoint(1) cluster(0xb04)
[ 48694][V][ZigbeeHandlers.cpp:160] zb_cmd_read_attr_resp_handler(): Read attribute response: status(134), cluster(0xb04), attribute(0x601), type(0x0), value(0)
[ 58645][E][ZigbeeGateway.cpp:784] sendAttributeRead(): Semaphore timeout reading attribute 0x601 - device 0xa2da, endpoint 0x1, cluster 0xb04
[ 58646][I][ZigbeeGateway.cpp:778] sendAttributeRead(): Sending 'read attribute' command
[ 58688][I][ZigbeeHandlers.cpp:35] zb_action_handler(): Receive Zigbee action(0x1000) callback
[ 58688][V][ZigbeeHandlers.cpp:151] zb_cmd_read_attr_resp_handler(): Read attribute response: from address(0xa2da) src endpoint(1) to dst endpoint(1) cluster(0xb04)
[ 58689][V][ZigbeeHandlers.cpp:160] zb_cmd_read_attr_resp_handler(): Read attribute response: status(134), cluster(0xb04), attribute(0x602), type(0x0), value(0)
NLME Status Indication, status: 0x12
[ 68646][E][ZigbeeGateway.cpp:784] sendAttributeRead(): Semaphore timeout reading attribute 0x602 - device 0xa2da, endpoint 0x1, cluster 0xb04
[ 68647][I][ZigbeeGateway.cpp:778] sendAttributeRead(): Sending 'read attribute' command
[ 68687][I][ZigbeeHandlers.cpp:35] zb_action_handler(): Receive Zigbee action(0x1000) callback
[ 68688][V][ZigbeeHandlers.cpp:151] zb_cmd_read_attr_resp_handler(): Read attribute response: from address(0xa2da) src endpoint(1) to dst endpoint(1) cluster(0xb04)
[ 68688][V][ZigbeeHandlers.cpp:160] zb_cmd_read_attr_resp_handler(): Read attribute response: status(134), cluster(0xb04), attribute(0x603), type(0x0), value(0)
NLME Status Indication, status: 0x12
[ 78647][E][ZigbeeGateway.cpp:784] sendAttributeRead(): Semaphore timeout reading attribute 0x603 - device 0xa2da, endpoint 0x1, cluster 0xb04
[ 78648][I][ZigbeeGateway.cpp:778] sendAttributeRead(): Sending 'read attribute' command
[ 78692][I][ZigbeeHandlers.cpp:35] zb_action_handler(): Receive Zigbee action(0x1000) callback
[ 78693][V][ZigbeeHandlers.cpp:151] zb_cmd_read_attr_resp_handler(): Read attribute response: from address(0xa2da) src endpoint(1) to dst endpoint(1) cluster(0xb04)
[ 78693][V][ZigbeeHandlers.cpp:160] zb_cmd_read_attr_resp_handler(): Read attribute response: status(134), cluster(0xb04), attribute(0x604), type(0x0), value(0)
[ 88648][E][ZigbeeGateway.cpp:784] sendAttributeRead(): Semaphore timeout reading attribute 0x604 - device 0xa2da, endpoint 0x1, cluster 0xb04
[ 88649][I][ZigbeeGateway.cpp:778] sendAttributeRead(): Sending 'read attribute' command
[ 88689][I][ZigbeeHandlers.cpp:35] zb_action_handler(): Receive Zigbee action(0x1000) callback
[ 88689][V][ZigbeeHandlers.cpp:151] zb_cmd_read_attr_resp_handler(): Read attribute response: from address(0xa2da) src endpoint(1) to dst endpoint(1) cluster(0xb04)
[ 88690][V][ZigbeeHandlers.cpp:160] zb_cmd_read_attr_resp_handler(): Read attribute response: status(134), cluster(0xb04), attribute(0x605), type(0x0), value(0)
[ 98651][E][ZigbeeGateway.cpp:784] sendAttributeRead(): Semaphore timeout reading attribute 0x605 - device 0xa2da, endpoint 0x1, cluster 0xb04
[ 98652][I][ZigbeeGateway.cpp:778] sendAttributeRead(): Sending 'read attribute' command
[ 98693][I][ZigbeeHandlers.cpp:35] zb_action_handler(): Receive Zigbee action(0x1000) callback
[ 98694][V][ZigbeeHandlers.cpp:151] zb_cmd_read_attr_resp_handler(): Read attribute response: from address(0xa2da) src endpoint(1) to dst endpoint(1) cluster(0x702)
[ 98694][V][ZigbeeHandlers.cpp:160] zb_cmd_read_attr_resp_handler(): Read attribute response: status(134), cluster(0x702), attribute(0x303), type(0x0), value(0)
[108652][E][ZigbeeGateway.cpp:784] sendAttributeRead(): Semaphore timeout reading attribute 0x303 - device 0xa2da, endpoint 0x1, cluster 0x702
[108653][I][ZigbeeGateway.cpp:778] sendAttributeRead(): Sending 'read attribute' command
[108693][I][ZigbeeHandlers.cpp:35] zb_action_handler(): Receive Zigbee action(0x1000) callback
[108694][V][ZigbeeHandlers.cpp:151] zb_cmd_read_attr_resp_handler(): Read attribute response: from address(0xa2da) src endpoint(1) to dst endpoint(1) cluster(0x702)
[108695][V][ZigbeeHandlers.cpp:160] zb_cmd_read_attr_resp_handler(): Read attribute response: status(134), cluster(0x702), attribute(0x301), type(0x0), value(0)
[118653][E][ZigbeeGateway.cpp:784] sendAttributeRead(): Semaphore timeout reading attribute 0x301 - device 0xa2da, endpoint 0x1, cluster 0x702
[118654][I][ZigbeeGateway.cpp:778] sendAttributeRead(): Sending 'read attribute' command
[118696][I][ZigbeeHandlers.cpp:35] zb_action_handler(): Receive Zigbee action(0x1000) callback
[118697][V][ZigbeeHandlers.cpp:151] zb_cmd_read_attr_resp_handler(): Read attribute response: from address(0xa2da) src endpoint(1) to dst endpoint(1) cluster(0x702)
[118697][V][ZigbeeHandlers.cpp:160] zb_cmd_read_attr_resp_handler(): Read attribute response: status(134), cluster(0x702), attribute(0x302), type(0x0), value(0)
[128654][E][ZigbeeGateway.cpp:784] sendAttributeRead(): Semaphore timeout reading attribute 0x302 - device 0xa2da, endpoint 0x1, cluster 0x702
Faktycznie potwierdza się to, o czym już czytałem, że Tuya zaczęła wyłączać w swoich gniazdkach raportowanie atrybutów :

Code: Select all

Read report configuration response: status(140), cluster(0xb04), attribute(0x508), type(0x0), min_interval(0x0), max interval(0x0), delta(0x0)
Status 140 (0x8C) = UNREPORTABLE_ATTRIB :(

Natomiast wszystkie dzielniki/mnożniki/formatowania, zarówno na klastrze EM jak i na SM, dostają 0x86 UNSUP_ATTRIB, czyli model absolutnie okrojony ze wszystkiego...dobrze, że chociaż na odczyt pozwala ;)

Reasumując zostaje to odczytanie co X sekund, natomiast chciałbym się upewnić co do mocy aktywnej (w W) - na 100% jest 10x za duża, tak? Wychodzi na to, że będę to musiał jakość na sztywno kodować...

EDIT: wrzuciłem mały update (kod + bin) - poprawiłem gniazdko kolegi @Zibi_007, dodałem poprawki do SceneSwitcha i na razie tyle.
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277

Return to “Bramka ZigBee”