[email protected] wrote: Fri Jan 03, 2025 12:11 pm
Też mam ten pin jak Ty, moze dlatego nie działał
EDIT2:
Jest jakiś temat z GPIO, 9 to u mnie jest normalny pin a nie boot , mam konkretnie : ESP32-C6 WROOM-1 DevKitC-1-N4
Code: Select all
=========== After Setup Start ============ INTERNAL Memory Info: ------------------------------------------ Total Size : 451372 B ( 440.8 KB) Free Bytes : 418128 B ( 408.3 KB) Allocated Bytes : 25412 B ( 24.8 KB) Minimum Free Bytes: 415052 B ( 405.3 KB) Largest Free Block: 393204 B ( 384.0 KB) ------------------------------------------ GPIO Info: ------------------------------------------ GPIO : BUS_TYPE[bus/unit][chan] -------------------------------------- 9 : GPIO 16 : UART_TX[0] 17 : UART_RX[0] ============ After Setup End =============
Dyskusja ogólna [bramka Zigbee]
Moderator: vajera
O to Ci chodziło?vajera wrote: Fri Jan 03, 2025 11:11 pm @Zibi_007 zmieniłem fragment kodu w ZigbeeHandlers, ZigbeeEP.h (katalog lib) i w ZigbeeGateway.h+cpp, ale znowu z komórki, więc mogłem coś zamieszać. Ten kod jest na przyszłość, więc do poniższego testu nie jest niezbędny.
To inaczej - skompiluj kod z core debug level Verbose, powiąż czujnik z bramką a później nie ruszając czujnika odetnij na kilka sekund zasilanie od bramki i uruchom ją pomownie pod kontrolą Serial Monitor.
Code: Select all
zbInit
[ 1115][D][ZigbeeCore.cpp:124] zigbeeInit(): Initialize Zigbee stack
[ 1182][D][ZigbeeCore.cpp:131] zigbeeInit(): Register all Zigbee EPs in list
[ 1184][I][ZigbeeCore.cpp:139] zigbeeInit(): List of registered Zigbee EPs:
[ 1185][I][ZigbeeCore.cpp:141] zigbeeInit(): Device type: Home Gateway, Endpoint: 1, Device ID: 0x0050
[ 1193][V][ZigbeeCore.cpp:340] esp_zb_app_signal_handler(): ZDO signal: ZDO Config Ready (0x17), status: ESP_FAIL
[ 1193][I][ZigbeeCore.cpp:220] esp_zb_app_signal_handler(): Zigbee stack initialized
[ 1198][I][ZigbeeCore.cpp:329] esp_zb_app_signal_handler(): Network(0x48b7) closed, devices joining not allowed.
[ 1200][I][ZigbeeCore.cpp:226] esp_zb_app_signal_handler(): Device started up in non factory-reset mode
[ 1200][I][ZigbeeCore.cpp:239] esp_zb_app_signal_handler(): Device rebooted
[ 1201][I][ZigbeeCore.cpp:243] esp_zb_app_signal_handler(): Opening network for joining for 180 seconds
[ 1201][D][ZigbeeCore.cpp:467] searchBindings(): Requesting binding table for address 0x0000
[ 1203][D][ZigbeeCore.cpp:407] bindingTableCb(): Binding table callback for address 0x0000 with status 0
[ 1203][D][ZigbeeCore.cpp:410] bindingTableCb(): Binding table info: total 3, index 0, count 3
[ 1204][D][ZigbeeCore.cpp:420] bindingTableCb(): Binding table record: src_endp 1, dst_endp 1, cluster_id 0x0006, dst_addr_mode 3
[ 1204][D][ZigbeeCore.cpp:437] bindingTableCb(): Device bound to EP 1 -> device endpoint: 1, short addr: 0x9467, ieee addr: 70:B3:D5:2B:60:0F:4F:A8
[ 1205][D][ZigbeeCore.cpp:420] bindingTableCb(): Binding table record: src_endp 1, dst_endp 1, cluster_id 0x0702, dst_addr_mode 3
[ 1206][D][ZigbeeCore.cpp:437] bindingTableCb(): Device bound to EP 1 -> device endpoint: 1, short addr: 0x9467, ieee addr: 70:B3:D5:2B:60:0F:4F:A8
[ 1206][D][ZigbeeCore.cpp:420] bindingTableCb(): Binding table record: src_endp 1, dst_endp 1, cluster_id 0x0b04, dst_addr_mode 3
[ 1207][D][ZigbeeCore.cpp:437] bindingTableCb(): Device bound to EP 1 -> device endpoint: 1, short addr: 0x9467, ieee addr: 70:B3:D5:2B:60:0F:4F:A8
[ 1208][D][ZigbeeCore.cpp:458] bindingTableCb(): Filling bounded devices finished
[ 1285][I][ZigbeeCore.cpp:327] esp_zb_app_signal_handler(): Network(0x48b7) is open for 180 seconds
Wiesz, że Supla obsługuje Zigbee? Wstąp do Klubu Promila: https://forum.supla.org/viewtopic.php?t=18018
Szukasz nowego GG? Jest tutaj: https://forum.supla.org/viewtopic.php?t=18036A takie coś jest z tego switcha:
Ale i tak nie wydaje się jakoś specjalnie reagować na konkretny przycisk. Mam wrażenie, że reaguje na wszystkie 
Edit: kod wkleiłem jeszcze raz, bo mi głupoty skopiował.
Code: Select all
01:01:35.553 -> zbInit
01:01:35.553 -> [ 1254][D][ZigbeeCore.cpp:124] zigbeeInit(): Initialize Zigbee stack
01:01:35.588 -> [ 1303][D][ZigbeeCore.cpp:131] zigbeeInit(): Register all Zigbee EPs in list
01:01:35.588 -> [ 1306][I][ZigbeeCore.cpp:139] zigbeeInit(): List of registered Zigbee EPs:
01:01:35.588 -> [ 1306][I][ZigbeeCore.cpp:141] zigbeeInit(): Device type: Home Gateway, Endpoint: 1, Device ID: 0x0050
01:01:35.588 -> [ 1313][V][ZigbeeCore.cpp:340] esp_zb_app_signal_handler(): ZDO signal: ZDO Config Ready (0x17), status: ESP_FAIL
01:01:35.588 -> [ 1313][I][ZigbeeCore.cpp:220] esp_zb_app_signal_handler(): Zigbee stack initialized
01:01:35.621 -> [ 1318][I][ZigbeeCore.cpp:329] esp_zb_app_signal_handler(): Network(0x7c8e) closed, devices joining not allowed.
01:01:35.621 -> [ 1320][I][ZigbeeCore.cpp:226] esp_zb_app_signal_handler(): Device started up in non factory-reset mode
01:01:35.621 -> [ 1320][I][ZigbeeCore.cpp:239] esp_zb_app_signal_handler(): Device rebooted
01:01:35.621 -> [ 1321][I][ZigbeeCore.cpp:243] esp_zb_app_signal_handler(): Opening network for joining for 180 seconds
01:01:35.621 -> [ 1321][D][ZigbeeCore.cpp:467] searchBindings(): Requesting binding table for address 0x0000
01:01:35.621 -> [ 1323][D][ZigbeeCore.cpp:407] bindingTableCb(): Binding table callback for address 0x0000 with status 0
01:01:35.621 -> [ 1323][D][ZigbeeCore.cpp:410] bindingTableCb(): Binding table info: total 1, index 0, count 1
01:01:35.621 -> [ 1324][D][ZigbeeCore.cpp:420] bindingTableCb(): Binding table record: src_endp 1, dst_endp 1, cluster_id 0x0006, dst_addr_mode 3
01:01:35.621 -> [ 1324][D][ZigbeeCore.cpp:437] bindingTableCb(): Device bound to EP 1 -> device endpoint: 1, short addr: 0x5482, ieee addr: A4:C1:38:91:94:BB:9C:13
01:01:35.621 -> [ 1325][D][ZigbeeCore.cpp:458] bindingTableCb(): Filling bounded devices finished
01:01:36.072 -> [ 1788][I][ZigbeeCore.cpp:327] esp_zb_app_signal_handler(): Network(0x7c8e) is open for 180 seconds
01:01:43.544 -> [ 9269][I][ZigbeeHandlers.cpp:20] zb_action_handler(): Receive Zigbee action(0x0) callback
01:01:43.544 -> [ 9270][V][ZigbeeHandlers.cpp:42] zb_attribute_set_handler(): Received message: endpoint(1), cluster(0x6), attribute(0x0), data size(1)
01:01:45.238 -> [ 10952][I][ZigbeeHandlers.cpp:20] zb_action_handler(): Receive Zigbee action(0x0) callback
01:01:45.238 -> [ 10953][V][ZigbeeHandlers.cpp:42] zb_attribute_set_handler(): Received message: endpoint(1), cluster(0x6), attribute(0x0), data size(1)
01:01:50.471 -> [ 16187][I][ZigbeeHandlers.cpp:20] zb_action_handler(): Receive Zigbee action(0x0) callback
01:01:50.471 -> [ 16187][V][ZigbeeHandlers.cpp:42] zb_attribute_set_handler(): Received message: endpoint(1), cluster(0x6), attribute(0x0), data size(1)
01:01:53.035 -> [ 18753][I][ZigbeeHandlers.cpp:20] zb_action_handler(): Receive Zigbee action(0x0) callback
01:01:53.035 -> [ 18754][V][ZigbeeHandlers.cpp:42] zb_attribute_set_handler(): Received message: endpoint(1), cluster(0x6), attribute(0x0), data size(1)
01:02:01.935 -> [ 27637][I][ZigbeeHandlers.cpp:20] zb_action_handler(): Receive Zigbee action(0x0) callback
01:02:01.935 -> [ 27637][V][ZigbeeHandlers.cpp:42] zb_attribute_set_handler(): Received message: endpoint(1), cluster(0x6), attribute(0x0), data size(1)
01:02:03.102 -> [ 28805][I][ZigbeeHandlers.cpp:20] zb_action_handler(): Receive Zigbee action(0x0) callback
01:02:03.102 -> [ 28805][V][ZigbeeHandlers.cpp:42] zb_attribute_set_handler(): Received message: endpoint(1), cluster(0x6), attribute(0x0), data size(1)
01:02:21.880 -> [ 47603][I][ZigbeeHandlers.cpp:20] zb_action_handler(): Receive Zigbee action(0x0) callback
01:02:21.880 -> [ 47604][V][ZigbeeHandlers.cpp:42] zb_attribute_set_handler(): Received message: endpoint(1), cluster(0x6), attribute(0x0), data size(1)
01:02:22.725 -> [ 48449][I][ZigbeeHandlers.cpp:20] zb_action_handler(): Receive Zigbee action(0x0) callback
01:02:22.725 -> [ 48449][V][ZigbeeHandlers.cpp:42] zb_attribute_set_handler(): Received message: endpoint(1), cluster(0x6), attribute(0x0), data size(1)
01:02:35.563 -> [ 61280][I][ZigbeeGateway.cpp:154] printGatewayDevices(): gateway devices:
01:02:35.563 -> [ 61281][I][ZigbeeGateway.cpp:157] printGatewayDevices(): Device on endpoint 1, short address: 0x5482
01:02:35.563 -> [ 61281][I][ZigbeeGateway.cpp:163] printJoinedDevices(): joined devices:
01:02:44.686 -> [ 70397][V][ZigbeeCore.cpp:340] esp_zb_app_signal_handler(): ZDO signal: NLME Status Indication (0x32), status: ESP_OK
01:02:54.686 -> [ 80398][V][ZigbeeCore.cpp:340] esp_zb_app_signal_handler(): ZDO signal: NLME Status Indication (0x32), status: ESP_OK
01:03:04.687 -> [ 90399][V][ZigbeeCore.cpp:340] esp_zb_app_signal_handler(): ZDO signal: NLME Status Indication (0x32), status: ESP_OK
01:03:14.698 -> [100400][V][ZigbeeCore.cpp:340] esp_zb_app_signal_handler(): ZDO signal: NLME Status Indication (0x32), status: ESP_OK
01:03:17.001 -> [102720][V][ZigbeeCore.cpp:340] esp_zb_app_signal_handler(): ZDO signal: ZDO Device Unavailable (0x3c), status: ESP_OK
01:03:35.627 -> [121331][I][ZigbeeGateway.cpp:154] printGatewayDevices(): gateway devices:
01:03:35.627 -> [121331][I][ZigbeeGateway.cpp:157] printGatewayDevices(): Device on endpoint 1, short address: 0x5482
01:03:35.627 -> [121332][I][ZigbeeGateway.cpp:163] printJoinedDevices(): joined devices:Edit: kod wkleiłem jeszcze raz, bo mi głupoty skopiował.
Wiesz, że Supla obsługuje Zigbee? Wstąp do Klubu Promila: https://forum.supla.org/viewtopic.php?t=18018
Szukasz nowego GG? Jest tutaj: https://forum.supla.org/viewtopic.php?t=18036-
[email protected]
- Posts: 1586
- Joined: Mon Feb 06, 2023 8:56 am
- Has thanked: 18 times
- Been thanked: 26 times
@vajera
Jaki masz pomysł na pozenienie tego z Supla ?
Ja bym zrobił tak :
W trybie konfiguracji zbieramy urządzenia które się łącza po zigbee do jakiejś kolekcji i zapisujemy w konfigu , do każdego przypisują kanał z Supli po id urządzenia, cluster id i jego kolejności dodania - żeby potem nie było konfliktów jak dojdzie coś nowego . Cluster id mówi na typ kanału w Supli .
Stronę wystawiania danych do Supli to się ogarnie w moment , bardziej mnie zastanawia jak zrobic interakcje jak to jest np włącznik światła .
Jaki masz pomysł na pozenienie tego z Supla ?
Ja bym zrobił tak :
W trybie konfiguracji zbieramy urządzenia które się łącza po zigbee do jakiejś kolekcji i zapisujemy w konfigu , do każdego przypisują kanał z Supli po id urządzenia, cluster id i jego kolejności dodania - żeby potem nie było konfliktów jak dojdzie coś nowego . Cluster id mówi na typ kanału w Supli .
Stronę wystawiania danych do Supli to się ogarnie w moment , bardziej mnie zastanawia jak zrobic interakcje jak to jest np włącznik światła .
-
vajera
- Posts: 7293
- Joined: Wed Oct 31, 2018 7:58 am
- Location: Biedrusko
- Has thanked: 291 times
- Been thanked: 161 times
Mniej więcej tak mam to rozpisane na schemacie:[email protected] wrote: Sat Jan 04, 2025 9:12 am @vajera
Jaki masz pomysł na pozenienie tego z Supla ?
Ja bym zrobił tak :
W trybie konfiguracji zbieramy urządzenia które się łącza po zigbee do jakiejś kolekcji i zapisujemy w konfigu , do każdego przypisują kanał z Supli po id urządzenia, cluster id i jego kolejności dodania - żeby potem nie było konfliktów jak dojdzie coś nowego . Cluster id mówi na typ kanału w Supli .
Stronę wystawiania danych do Supli to się ogarnie w moment , bardziej mnie zastanawia jak zrobic interakcje jak to jest np włącznik światła .
1. urządzenie Zigbee przyłącza się do sieci
2. Identyfikacja urządzenia ->znane -> pkt. 3
3. binding urządzenia Zigbee (trafia do tablicy bindingu stosu Zigbee)
4. restart ESP
5. analiza tablicy bindingu po adresach IEEE vs. tablica kanałów Supla (zapisanych w konfigu: typ kanału Supla, nr kanału Supla, adres IEEE urządzenia, nr klastra) - jeżeli znaleziono to tworzy się kanał Supla z odpowiednimi danymi, jeżeli nie to tworzy się nowy kanał Supla i zapisuje w konfigu.
6. Żeby uniknąć konfliktów kanałów mam taki pomysł podziału numeracji kanałów na grupy, np. 1 - 16 czujnik temperatury.
7. Trzeba pamiętać, że jedno urządzenie Zigbee może przełożyć się na dwa albo więcej kanałów Supla.
8. Do rozdziału interakcji mam zarys dispatchera, który będzie rozdzielał komunikaty bazując na adresach urządzeń i numerach klastrów.
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
-
[email protected]
- Posts: 1586
- Joined: Mon Feb 06, 2023 8:56 am
- Has thanked: 18 times
- Been thanked: 26 times
Gitvajera wrote: Sat Jan 04, 2025 10:20 amMniej więcej tak mam to rozpisane na schemacie:[email protected] wrote: Sat Jan 04, 2025 9:12 am @vajera
Jaki masz pomysł na pozenienie tego z Supla ?
Ja bym zrobił tak :
W trybie konfiguracji zbieramy urządzenia które się łącza po zigbee do jakiejś kolekcji i zapisujemy w konfigu , do każdego przypisują kanał z Supli po id urządzenia, cluster id i jego kolejności dodania - żeby potem nie było konfliktów jak dojdzie coś nowego . Cluster id mówi na typ kanału w Supli .
Stronę wystawiania danych do Supli to się ogarnie w moment , bardziej mnie zastanawia jak zrobic interakcje jak to jest np włącznik światła .
1. urządzenie Zigbee przyłącza się do sieci
2. Identyfikacja urządzenia ->znane -> pkt. 3
3. binding urządzenia Zigbee (trafia do tablicy bindingu stosu Zigbee)
4. restart ESP
5. analiza tablicy bindingu po adresach IEEE vs. tablica kanałów Supla (zapisanych w konfigu: typ kanału Supla, nr kanału Supla, adres IEEE urządzenia, nr klastra) - jeżeli znaleziono to tworzy się kanał Supla z odpowiednimi danymi, jeżeli nie to tworzy się nowy kanał Supla i zapisuje w konfigu.
6. Żeby uniknąć konfliktów kanałów mam taki pomysł podziału numeracji kanałów na grupy, np. 1 - 16 czujnik temperatury.
7. Trzeba pamiętać, że jedno urządzenie Zigbee może przełożyć się na dwa albo więcej kanałów Supla.
8. Do rozdziału interakcji mam zarys dispatchera, który będzie rozdzielał komunikaty bazując na adresach urządzeń i numerach klastrów.
Z tymi grupami to zawsze się znajdzie ktoś kto będzie miał problem , układał bym po prostu w kolejności kanały zgodnie z tym jak zostały zarejestrowane urządzenia bo przecież to samo urządzenie nagle nie wystawi 3 wartości jak umie 2
Wtedy kanały odpowiadają mozliwosciom urządzeń i jak podłączysz kilka takich samych to zawsze będzie tak samo wyglądało w Supli , np temp i wilgotność , temp i wilgotność , itd.
Wiecie Panowie, że jak to wypali, to będzie bomba? Chyba największa w Supli od czasu wprowadzenia GG. Przynajmniej ja nie pamiętam nic większego. Może nawet nie tyle bomba a rewolucja, która poszerzy możliwości tego systemu wielokrotnie. Pisałem na Forum kiedyś, co jest moim marzeniem w rozwoju Supli. I właśnie Zigbee było numerem jeden. Dlatego tak chętnie przyłączyłem się do tego projektu i po pierwszym poście zamówiłem kilka C6. Jak to będzie dodawane w Supli, to sprawa wtórna (przedstawiona koncepcja wydaje się OK). Ważne, że jest pomysł i można go zrealizować. Ze swojej strony jestem ciekaw, jak będzie z zasięgiem. W tej chwili na dom (3 poziomy) mam 4 bramki Zigbee, a i tak niektóre urządzenia są na krawędzi zasięgu. W każdym razie zamówiłem kolejne C6, mogę tych bramek na C6 postawić nawet 10 i testować zarówno działanie, jak i zasięg. Trzymam kciuki, Autorowi tematu życzę spokojnego powrotu z urlopu (patrząc na aktywność, to nie wiem czy wypocząłeś
) i czekam na dalsze wytyczne, co jeszcze mogę zrobić (sprawdzić). Pozdrawiam!
Wiesz, że Supla obsługuje Zigbee? Wstąp do Klubu Promila: https://forum.supla.org/viewtopic.php?t=18018
Szukasz nowego GG? Jest tutaj: https://forum.supla.org/viewtopic.php?t=18036-
veeroos
- Posts: 1081
- Joined: Sun Mar 20, 2022 9:30 am
- Location: Głogów
- Has thanked: 1 time
- Been thanked: 9 times
Hej. co u mnie nie tak jak mam takie błędy kompilacji:
Boardy i schemat partycji poustawiane, zaznaczam, że przykłady zigbee z biblioteki kompilują się poprawnie
Code: Select all
In file included from C:\Users\Robercik\Downloads\Zigbee_Gateway_2-main\Zigbee_Gateway_2\ZigbeeITempMeas.cpp:1:
C:\Users\Robercik\Downloads\Zigbee_Gateway_2-main\Zigbee_Gateway_2\ZigbeeTempMeas.h:49:8: error: 'void ZigbeeTempMeas::zbAttributeRead(uint16_t, const esp_zb_zcl_attribute_t*)' marked 'override', but does not override
49 | void zbAttributeRead(uint16_t cluster_id, const esp_zb_zcl_attribute_t *attribute) override;
| ^~~~~~~~~~~~~~~
In file included from C:\Users\Robercik\Downloads\Zigbee_Gateway_2-main\Zigbee_Gateway_2\ZigbeeIASZone.cpp:1:
C:\Users\Robercik\Downloads\Zigbee_Gateway_2-main\Zigbee_Gateway_2\ZigbeeIASZone.h:45:8: error: 'void ZigbeeIASZone::zbAttributeRead(uint16_t, const esp_zb_zcl_attribute_t*)' marked 'override', but does not override
45 | void zbAttributeRead(uint16_t cluster_id, const esp_zb_zcl_attribute_t *attribute) override;
| ^~~~~~~~~~~~~~~
exit status 1
Compilation error: 'void ZigbeeTempMeas::zbAttributeRead(uint16_t, const esp_zb_zcl_attribute_t*)' marked 'override', but does not overrideZamel Mew-01, Zamel PEW-01, Zamel SBW-01, Zamel THW-01, Zamel SRW-01, Zamel mSLW-02, Auraton BOX + Indor Sensor, Airly Gate By Veeroos, Zigbee to Supla Gateway + sensors, Zamel SGW-01 and more
https://github.com/v33r005
https://github.com/v33r005
