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

Nowy bin wgrany wygląda że wszystko działa dobrze 👍
You do not have the required permissions to view the files attached to this post.
lukasz06
Posts: 2543
Joined: Sun Jul 17, 2022 6:53 pm
Has thanked: 46 times
Been thanked: 21 times

Post

O Pany, nie zajrzałem ty przez cały dzień, a tu masa postów do czytania :)
A więc wróciła wilgotność w termometrach Xiaomi ;) , pojawiła się ikona baterii :shock:
i jeszcze można zaktualizować boardy
Dużo się dzieje i fajnie. Projekt rośnie w siłę, tak trzymać :)
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 136 times
Been thanked: 137 times

Post

Proponuję nie ustawiać parametru "battery powered" a tylko "battery level".
Ten "powered" jest w zasadzie przeznaczony do urządzeń, które mogą być zasilane z sieci lub baterii
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
vajera
Posts: 7293
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 291 times
Been thanked: 161 times

Post

Moja głowica termostatyczna Tuya zaczęła ze mną rozmawiać, więc myślę, że kwestię komunikacji da się opanować. Pytanie jak to pożenić z Supla?
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: 31 times

Post

vajera wrote: Tue Jan 21, 2025 10:45 pm Moja głowica termostatyczna Tuya zaczęła ze mną rozmawiać, więc myślę, że kwestię komunikacji da się opanować. Pytanie jak to pożenić z Supla?
Chyba na razie tylko jako termostat. Jeśli oczywiście dasz radę. ;-) Może jest tutaj ktoś mądrzejszy ode mnie i podpowie.
@Klew, może podobnie jak w Auratonie? Tam to też idzie przez boxa (bramkę). Podpowiesz koledze @vajera, jak to ugryźć?
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
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 136 times
Been thanked: 137 times

Post

Zibi_007 wrote: Wed Jan 22, 2025 1:02 am
vajera wrote: Tue Jan 21, 2025 10:45 pm Moja głowica termostatyczna Tuya zaczęła ze mną rozmawiać, więc myślę, że kwestię komunikacji da się opanować. Pytanie jak to pożenić z Supla?
Chyba na razie tylko jako termostat. Jeśli oczywiście dasz radę. ;-) Może jest tutaj ktoś mądrzejszy ode mnie i podpowie.
@Klew, może podobnie jak w Auratonie? Tam to też idzie przez boxa (bramkę). Podpowiesz koledze @vajera, jak to ugryźć?
Termostat oparty o klasę HvacBase. Innego u nas nie ma ;). Ogólnie trzeba zrobić sobie własną implementację klasy Supla::Control::OutputInterface, na której przechowujesz stan "czy grzeje" (czytany z radia) i ustawiasz metodę "isOutputControlledInternally" aby zwracała false.
Potem trzeba pilnować tego co jest na głowicy i w odpowiedniej klasie HVAC i odpowiednio przesyłać dane (czyli zmiana nastawy na głowicy -> propagujemy na klasę hvac; zmiana na hvac -> propagujemy na głowicę).
Najlepsze suple dla Twojego domu :mrgreen:
[email protected]
Posts: 1586
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

Ja próbowałem tak się zapiąć z temperaturą CWU na pompie ciepła po Modbus
ModbusHeatpomp.zip
You do not have the required permissions to view the files attached to this post.
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

Fajny projekt gratulacje :) Mam jakiś uparty jeden czujnik temperatury i wilgotności "_TZE200_vvmbj46n", "TS0601" który nie chce współpracować. Nie wiem na ile to możliwe ale dla niego musiała być zrobiona komunikacja dwustronna w której trzeba by wysłać aktualną datę i czas ze względu na wyświetlanie tych danych na wyświetlaczu.

A druga sprawa to jak powinna się zachowywać bramka jak ją się zrestartuje? Wtedy każdy czujnik zarejestruje się automatycznie ponownie do bramki?

@vajera czy nie myślałeś o przeniesieniu plików Z2S_Devices_Table.cpp Z2S_Devices_Table.h z examples/Z2S_Gateway do katalogu src? wtedy łatwiej jest zrobić z tego bibliotekę którą łatwo można dołączyć do projektu.

Code: Select all

[ 53343][I][ZigbeeHandlers.cpp:21] zb_action_handler(): Receive Zigbee action(0x1040) callback
[ 53352][W][ZigbeeHandlers.cpp:31] zb_action_handler(): Receive unhandled Zigbee action(0x1040) callback
[ 53471][I][ZigbeeHandlers.cpp:21] zb_action_handler(): Receive Zigbee action(0x2000) callback
[ 53479][V][ZigbeeHandlers.cpp:72] zb_attribute_reporting_handler(): Received report from address(0xbe8) src endpoint(1) to dst endpoint(1) cluster(0x0)
[ 53493][I][ZigbeeGateway.cpp:430] zbAttributeRead(): zbAttributeRead from (0x6c30), endpoint (1), cluster (0x0), attribute id (0x1), attribute data type (0x20)
[ 53507][I][ZigbeeHandlers.cpp:21] zb_action_handler(): Receive Zigbee action(0x2000) callback
[ 53516][V][ZigbeeHandlers.cpp:72] zb_attribute_reporting_handler(): Received report from address(0xbe8) src endpoint(1) to dst endpoint(1) cluster(0x0)
[ 53529][I][ZigbeeGateway.cpp:430] zbAttributeRead(): zbAttributeRead from (0x6c30), endpoint (1), cluster (0x0), attribute id (0xffe2), attribute data type (0x20)
[ 53544][I][ZigbeeHandlers.cpp:21] zb_action_handler(): Receive Zigbee action(0x2000) callback
[ 53552][V][ZigbeeHandlers.cpp:72] zb_attribute_reporting_handler(): Received report from address(0xbe8) src endpoint(1) to dst endpoint(1) cluster(0x0)
[ 53566][I][ZigbeeGateway.cpp:430] zbAttributeRead(): zbAttributeRead from (0x6c30), endpoint (1), cluster (0x0), attribute id (0xffe4), attribute data type (0x20)
[ 53701][I][ZigbeeHandlers.cpp:21] zb_action_handler(): Receive Zigbee action(0x1040) callback
[ 53709][W][ZigbeeHandlers.cpp:31] zb_action_handler(): Receive unhandled Zigbee action(0x1040) callback
[ 53826][I][ZigbeeHandlers.cpp:21] zb_action_handler(): Receive Zigbee action(0x1040) callback
[ 53834][W][ZigbeeHandlers.cpp:31] zb_action_handler(): Receive unhandled Zigbee action(0x1040) callback     
[ 53952][I][ZigbeeHandlers.cpp:21] zb_action_handler(): Receive Zigbee action(0x2000) callback
[ 53960][V][ZigbeeHandlers.cpp:72] zb_attribute_reporting_handler(): Received report from address(0xbe8) src endpoint(1) to dst endpoint(1) cluster(0x0)
[ 53974][I][ZigbeeGateway.cpp:430] zbAttributeRead(): zbAttributeRead from (0x6c30), endpoint (1), cluster (0x0), attribute id (0xffdf), attribute data type (0x42)
[ 54085][I][ZigbeeHandlers.cpp:21] zb_action_handler(): Receive Zigbee action(0x1040) callback
[ 54094][W][ZigbeeHandlers.cpp:31] zb_action_handler(): Receive unhandled Zigbee action(0x1040) callback
[ 54224][I][ZigbeeHandlers.cpp:21] zb_action_handler(): Receive Zigbee action(0x1040) callback
https://gui-generic-builder.supla.io/
User avatar
vajera
Posts: 7293
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 291 times
Been thanked: 161 times

Post

krycha88 wrote: Wed Jan 22, 2025 3:48 pm Fajny projekt gratulacje :) Mam jakiś uparty jeden czujnik temperatury i wilgotności "_TZE200_vvmbj46n", "TS0601" który nie chce współpracować. Nie wiem na ile to możliwe ale dla niego musiała być zrobiona komunikacja dwustronna w której trzeba by wysłać aktualną datę i czas ze względu na wyświetlanie tych danych na wyświetlaczu.

A druga sprawa to jak powinna się zachowywać bramka jak ją się zrestartuje? Wtedy każdy czujnik zarejestruje się automatycznie ponownie do bramki?

@vajera czy nie myślałeś o przeniesieniu plików Z2S_Devices_Table.cpp Z2S_Devices_Table.h z examples/Z2S_Gateway do katalogu src? wtedy łatwiej jest zrobić z tego bibliotekę którą łatwo można dołączyć do projektu.
Wow, dziękuję bardzo 😀 To dzięki takim ludziom jak @Espablo, @Elmaya i Ty to forum żyje i rozwija się od lat. Oczywiście pamiętam o @pzygmunt i @klew, ale to już inna liga 😉

Przyjrzę się temu czujnikowi - mam już częściowo ogarnięty klaster Time.

W temacie kodu to aktualnie połowę czasu zajmuje mi jego porządkowanie, ale Twoje spostrzeżenia są, jak najbardziej, słuszne.

Temat restart bramki towarzyszy mi od samego początku, nawet dzisiaj poświęciłem 2h na testy i research w sieci. Standardowo urządzenia końcowe, które zostały zarejestrowane w sieci powinny się przyłączyć ponownie po restarcie bramki (rejoin) i tak się dzieje. Problem dotyczy tzw. sleep end devices bo one mają swój czas na próbę rejoin, który może wynosić nawet do 24h i nie ma prostego sposobu, żeby je do tego zmusić.

Padło tutaj pytanie o brak synchronizacji czujników otwarcia przy bramce offline, ale to jest właśnie ta sytuacja.
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

vajera wrote: Wed Jan 22, 2025 4:29 pm Przyjrzę się temu czujnikowi - mam już częściowo ogarnięty klaster Time.
A czy z tych logów wiesz dlaczego mi nie odczytuje temperatury i wilgotności? :)

Co byś powiedział aby w przyszłości dodać Twój projekt do GG? Można by to zrobić bardzo prosto zamieniamy tablice Z2S_DEVICES_LIST na JSONA np.

Code: Select all

{
  "Z2S_DEVICES_LIST": [
    {
      "manufacturer_name": "_TZ3000_akqdg6g7",
      "model_name": "TS0201",
      "z2s_device_desc_id": "Z2S_DEVICE_DESC_TEMPHUMIDITY_SENSOR",
      "z2s_device_endpoints_count": 1
    },
    {
      "manufacturer_name": "Xiaomi",
      "model_name": "LYWSD03MMC-z",
      "z2s_device_desc_id": "Z2S_DEVICE_DESC_TEMPHUMIDITY_SENSOR_1",
      "z2s_device_endpoints_count": 1
    }
  ]
}
i wtedy sobie każdy będzie mógł sam go generować z buildera z własną listą urządzeń.

Jeszcze dokładnie nie przyglądałem się jak zrobiłeś bramkę ale może dałoby się generować tą listę dynamicznie na podstawie urządzeń które są w trybie parowania? Albo parować wybrany typ urządzenia np. Z2S_DEVICE_DESC_TEMPHUMIDITY_SENSOR i zapisywać wtedy odczytane manufacturer, model, endpoints? :)
https://gui-generic-builder.supla.io/

Return to “Bramka ZigBee”