Dyskusja ogólna [bramka Zigbee]

Moderator: vajera

User avatar
Zibi_007
Posts: 3985
Joined: Tue Oct 31, 2023 10:06 pm
Has thanked: 10 times
Been thanked: 32 times

Post

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ą.
Dwa, trzy resety i powinien się obudzić. Też tak miałem. Nie czyść tablicy (przez dłuższy BOOT), bo to nie pomaga. Daj mu po prostu trochę czasu, powinna wrócić prawidłowa komunikacja. Piszę z doświadczenia, bo w ciągu minionej doby dodałem ponad 40 różnych urządzeń do tej bramki bez wgrywania na nowo softa. Może tez napisz co to był za czujnik (ten co się nie chciał dodać, a zawiesił bramkę)? Będzie można w przyszłości zwrócić większą na niego uwagę...
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
Zibi_007
Posts: 3985
Joined: Tue Oct 31, 2023 10:06 pm
Has thanked: 10 times
Been thanked: 32 times

Post

[email protected] wrote: Fri Jan 31, 2025 1:31 pm
vajera wrote: Fri Jan 31, 2025 1:27 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ą.
Dobrze wiedzieć, że jest C6 z 8 MB FLASH, bin był kompilowany na 4 MB, ale czy to może mieć znaczenie?
dopóki w boardach się zgadza z partycjami to jest OK, ja tez mam 8MB i dlatego się z tym bujałem
Zanim opublikuję tutaj jakikolwiek .bin wgrywam go najpierw na C6 N4, N8, N16 i mini. Do tej pory (poza małymi komplikacjami, które udało się opanować) nie było problemów w działaniu z którymkolwiek. Dostępnej pamięci po wgraniu jest też zawsze powyżej 200 kilkobajtów, nie ma problemu z partycjami, więc powinno działać na wszystkim. Jeśli wgrywacie plik .bin to polecam flash_download_tool_3.9.7, który działa niezawodnie (wgrywany od adresu 0x0 wcześniej czyszcząc pamięć - opcja "erase").
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

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.
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
vajera
Posts: 7295
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 291 times
Been thanked: 161 times

Post

@Zibi_007 Sprawdzam i sprawdzam, ale u mnie to kółko działa :?: Rozumiem, że dodaje Ci się 5 przekaźników w tym 2 z "rotate"?

Spójrz w swój plik Z2S_Gateway.ino, masz tak w liniach 310 - 333?

Code: Select all

switch (joined_device->model_id) {
                          case Z2S_DEVICE_DESC_SWITCH_4X3: {
                            Z2S_addZ2SDevice(joined_device, ON_OFF_CUSTOM_CMD_BUTTON_PRESSED_SID);
                            Z2S_addZ2SDevice(joined_device, ON_OFF_CUSTOM_CMD_BUTTON_DOUBLE_PRESSED_SID);
                            Z2S_addZ2SDevice(joined_device,ON_OFF_CUSTOM_CMD_BUTTON_HELD_SID);
                           } break; 
                          case Z2S_DEVICE_DESC_SMART_BUTTON_5F: {
                            Z2S_addZ2SDevice(joined_device, ON_OFF_CUSTOM_CMD_BUTTON_PRESSED_SID);
                            Z2S_addZ2SDevice(joined_device, ON_OFF_CUSTOM_CMD_BUTTON_DOUBLE_PRESSED_SID);
                            Z2S_addZ2SDevice(joined_device,ON_OFF_CUSTOM_CMD_BUTTON_HELD_SID);
                            Z2S_addZ2SDevice(joined_device, ON_OFF_CUSTOM_CMD_BUTTON_ROTATE_RIGHT_ID);
                            Z2S_addZ2SDevice(joined_device, ON_OFF_CUSTOM_CMD_BUTTON_ROTATE_LEFT_ID);
                          } break;
                          case Z2S_DEVICE_DESC_SMART_BUTTON_3F: {
                            Z2S_addZ2SDevice(joined_device, ON_OFF_CUSTOM_CMD_BUTTON_PRESSED_SID);
                            Z2S_addZ2SDevice(joined_device, ON_OFF_CUSTOM_CMD_BUTTON_DOUBLE_PRESSED_SID);
                            Z2S_addZ2SDevice(joined_device,ON_OFF_CUSTOM_CMD_BUTTON_HELD_SID);
                          } break;
                          case Z2S_DEVICE_DESC_SMART_BUTTON_2F: {
                            Z2S_addZ2SDevice(joined_device, ON_OFF_CUSTOM_CMD_BUTTON_PRESSED_SID);
                            Z2S_addZ2SDevice(joined_device, ON_OFF_CUSTOM_CMD_BUTTON_DOUBLE_PRESSED_SID);
                          } break;
                          default: Z2S_addZ2SDevice(joined_device, NO_CUSTOM_CMD_SID); 
                        }
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
vajera
Posts: 7295
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 291 times
Been thanked: 161 times

Post

@Zibi_007 Tutaj jest u Ciebie problem:

Code: Select all

[249206][I][Z2S_Devices_Table.cpp:354] Z2S_onOnOffCustomCmdReceive(): Z2S_onOnOffCustomCmdReceive command id 0xfc, command data 0x1
powinno być :

Code: Select all

[249206][I][Z2S_Devices_Table.cpp:354] Z2S_onOnOffCustomCmdReceive(): Z2S_onOnOffCustomCmdReceive command id 0xfc, command data 0xa
Sprawdź proszę plik src/ZigbeeGateway.cpp linie 864 - 871, powinno być tak:

Code: Select all

if ((cluster_id == ESP_ZB_ZCL_CLUSTER_ID_ON_OFF) && (cmd_id == ON_OFF_CUSTOM_CMD_BUTTON_ROTATE)) {
      char button_states[][15]={"rotated right", "rotated left"};
      
      log_i("Button nr %d was: %s", src_endpoint, button_states[*buffer]); 
      if (_on_on_off_custom_cmd_receive)
        _on_on_off_custom_cmd_receive(source.u.ieee_addr, src_endpoint, cmd_id, ON_OFF_CUSTOM_CMD_BUTTON_ROTATE_RIGHT_ID + (*buffer));
    
      return true;
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
vajera
Posts: 7295
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 291 times
Been thanked: 161 times

Post

@bokk, @Yepestis - działają Wam te smart buttony zgodnie ze specyfikacją?
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: Fri Jan 31, 2025 1:47 pm @Zibi_007 Sprawdzam i sprawdzam, ale u mnie to kółko działa :?: Rozumiem, że dodaje Ci się 5 przekaźników w tym 2 z "rotate"?

Spójrz w swój plik Z2S_Gateway.ino, masz tak w liniach 310 - 333?

Code: Select all

switch (joined_device->model_id) {
                          case Z2S_DEVICE_DESC_SWITCH_4X3: {
                            Z2S_addZ2SDevice(joined_device, ON_OFF_CUSTOM_CMD_BUTTON_PRESSED_SID);
                            Z2S_addZ2SDevice(joined_device, ON_OFF_CUSTOM_CMD_BUTTON_DOUBLE_PRESSED_SID);
                            Z2S_addZ2SDevice(joined_device,ON_OFF_CUSTOM_CMD_BUTTON_HELD_SID);
                           } break; 
                          case Z2S_DEVICE_DESC_SMART_BUTTON_5F: {
                            Z2S_addZ2SDevice(joined_device, ON_OFF_CUSTOM_CMD_BUTTON_PRESSED_SID);
                            Z2S_addZ2SDevice(joined_device, ON_OFF_CUSTOM_CMD_BUTTON_DOUBLE_PRESSED_SID);
                            Z2S_addZ2SDevice(joined_device,ON_OFF_CUSTOM_CMD_BUTTON_HELD_SID);
                            Z2S_addZ2SDevice(joined_device, ON_OFF_CUSTOM_CMD_BUTTON_ROTATE_RIGHT_ID);
                            Z2S_addZ2SDevice(joined_device, ON_OFF_CUSTOM_CMD_BUTTON_ROTATE_LEFT_ID);
                          } break;
                          case Z2S_DEVICE_DESC_SMART_BUTTON_3F: {
                            Z2S_addZ2SDevice(joined_device, ON_OFF_CUSTOM_CMD_BUTTON_PRESSED_SID);
                            Z2S_addZ2SDevice(joined_device, ON_OFF_CUSTOM_CMD_BUTTON_DOUBLE_PRESSED_SID);
                            Z2S_addZ2SDevice(joined_device,ON_OFF_CUSTOM_CMD_BUTTON_HELD_SID);
                          } break;
                          case Z2S_DEVICE_DESC_SMART_BUTTON_2F: {
                            Z2S_addZ2SDevice(joined_device, ON_OFF_CUSTOM_CMD_BUTTON_PRESSED_SID);
                            Z2S_addZ2SDevice(joined_device, ON_OFF_CUSTOM_CMD_BUTTON_DOUBLE_PRESSED_SID);
                          } break;
                          default: Z2S_addZ2SDevice(joined_device, NO_CUSTOM_CMD_SID); 
                        }
Dokładnie tam miałem, wszystkie testy robię zawsze na "czystym" kodzie od Ciebie, ale na wszelki wypadek wkleiłem to, co przed chwilą podałeś jeszcze raz, skompilowałem i... cuda Panie, cuda!. Działa! Wcześniej owszem dodawało się 5 przekaźników, ale lewo i prawo działy jak dwuklik i klik. Nie rozumiem tego zupełnie, ale ważne, że działa!

Edit: po kilku testach myślę jednak, że ten switch jest jakiś p......y! Nowa bramka z tym samym softem i znowu nie działa. Wgranie na nowo softu i po trzecim parowaniu zadziałało. Bez sensu... Pomijam już fakt, że każde parowanie przestawia go w tryb sceny.
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
Zibi_007
Posts: 3985
Joined: Tue Oct 31, 2023 10:06 pm
Has thanked: 10 times
Been thanked: 32 times

Post

vajera wrote: Fri Jan 31, 2025 2:21 pm @Zibi_007 Tutaj jest u Ciebie problem:

Code: Select all

[249206][I][Z2S_Devices_Table.cpp:354] Z2S_onOnOffCustomCmdReceive(): Z2S_onOnOffCustomCmdReceive command id 0xfc, command data 0x1
powinno być :

Code: Select all

[249206][I][Z2S_Devices_Table.cpp:354] Z2S_onOnOffCustomCmdReceive(): Z2S_onOnOffCustomCmdReceive command id 0xfc, command data 0xa
Sprawdź proszę plik src/ZigbeeGateway.cpp linie 864 - 871, powinno być tak:

Code: Select all

if ((cluster_id == ESP_ZB_ZCL_CLUSTER_ID_ON_OFF) && (cmd_id == ON_OFF_CUSTOM_CMD_BUTTON_ROTATE)) {
      char button_states[][15]={"rotated right", "rotated left"};
      
      log_i("Button nr %d was: %s", src_endpoint, button_states[*buffer]); 
      if (_on_on_off_custom_cmd_receive)
        _on_on_off_custom_cmd_receive(source.u.ieee_addr, src_endpoint, cmd_id, ON_OFF_CUSTOM_CMD_BUTTON_ROTATE_RIGHT_ID + (*buffer));
    
      return true;
Zaraz sprawdzę i poprawię. Dzięki!
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
bokk
Posts: 730
Joined: Fri Mar 01, 2019 4:26 am
Has thanked: 7 times
Been thanked: 25 times

Post

vajera wrote: Fri Jan 31, 2025 2:35 pm @bokk, @Yepestis - działają Wam te smart buttony zgodnie ze specyfikacją?
Tak. W cloud zgłasza się jako button i button double. Po przypisaniu do każdego 2 reakcji na włącz i wyłącz działa bardzo dobrze.
User avatar
vajera
Posts: 7295
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 291 times
Been thanked: 161 times

Post

bokk wrote: Fri Jan 31, 2025 2:47 pm
vajera wrote: Fri Jan 31, 2025 2:35 pm @bokk, @Yepestis - działają Wam te smart buttony zgodnie ze specyfikacją?
Tak. W cloud zgłasza się jako button i button double. Po przypisaniu do każdego 2 reakcji na włącz i wyłącz działa bardzo dobrze.
Dzięki! Może powinniśmy dopisywać w komentarzach jakieś oceny dla tych czujników?

@Zibi_007 Masz rację, potwierdzam. Ten konkretny przycisk zepsuł mi tyle krwi, że szkoda gadać. On ma ewidentnie zrypany soft, nie czyści RAMu i stąd te cyrki.
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”