Pochodzenie i Cele Projektowe Z-Wave
Około 2000 roku automatyka domowa nadal korzystała z fragmentarycznych i często niekompatybilnych protokołów radiowych. Właściciel łączący oświetlenie, termostaty i czujniki bezpieczeństwa musiał dobierać produkty według producenta i częstotliwości. Wi-Fi zapewniało dostęp do internetu, lecz dla wielu czujników bateryjnych zużywało zbyt dużo energii. Bluetooth koncentrował się na połączeniach osobistych, takich jak słuchawki i klawiatury. Inne protokoły były własnościowe, więc urządzenia różnych dostawców często wymagały oddzielnych bram.
Zensys potrzebował technologii bezprzewodowej przeznaczonej do niezawodnej automatyki domowej. Zasilany bateryjnie czujnik okienny miał działać przez lata, radio miało przenosić sygnały przez ściany i stropy, a włącznik jednej firmy miał sterować żarówką innej firmy za pomocą ustalonego słownika poleceń.
Z-Wave powstał z tej potrzeby. Firma Zensys została założona w Danii w 1999 roku, a pierwszy produkt Z-Wave pojawił się w 2001 roku. Wczesny Z-Wave był wertykalnie zintegrowanym protokołem kontrolowanym przez jednego dostawcę technologii. Z-Wave Alliance powstało w 2005 roku, a Z-Wave stał się później otwartym standardem ITU-T G.9959 reprezentowanym przez Alliance i wspieranym przez wielu dostawców układów. Certyfikacja określa wymagane Klasy Poleceń i zachowanie protokołu, więc produkty różnych producentów mogą współpracować w zakresie obsługiwanych funkcji.
Częstotliwości Sub-GHz w Z-Wave
Jedną z cech odróżniających Z-Wave od Wi-Fi i Zigbee jest wybór częstotliwości radiowej. Zamiast działać w paśmie 2.4 GHz, Z-Wave operuje w regionalnych regulowanych lokalnymi zasadami ISM lub urządzeń bliskiego zasięgu. Konkretna używana częstotliwość różni się w zależności od regionu, aby spełnić lokalne przepisy:
- Ameryka Północna: Plan amerykański obejmuje 908.40 lub 908.42 MHz oraz 916.00 MHz, zależnie od szybkości transmisji.
- Europa: Plan europejski obejmuje 868.40 lub 868.42 MHz oraz 869.85 MHz, zależnie od szybkości transmisji i regionu.
W zależności od kanału klasyczny Z-Wave obsługuje szybkości 9,6, 40 lub 100 kb/s. Wartości częstotliwości i dozwolona moc wynikają z planu regionalnego, dlatego urządzenie przeznaczone na rynek europejski nie powinno być przenoszone do sieci amerykańskiej bez zgodności radia i certyfikacji z tym regionem.
Zastosowanie pasma sub-GHz daje Z-Wave dwie praktyczne korzyści w automatyce domowej:
- Mniej Ruchu w Typowym Domu: Pasmo 2.4 GHz jest współdzielone przez Wi-Fi, Bluetooth, kuchenki mikrofalowe, telefony bezprzewodowe i inne urządzenia. Zatłoczenie może powodować utratę ramek i ponowne transmisje. Z-Wave korzysta z innego przydziału sub-GHz, więc jego ramki omijają dużą część lokalnego ruchu 2.4 GHz, choć poziom zakłóceń nadal zależy od urządzeń i przepisów w danym miejscu. Utrata wiadomości ma znaczenie przy inteligentnym zamku lub czujniku bezpieczeństwa.
- Propagacja przy Niższej Częstotliwości: Przy tej samej antenie i podobnych limitach regulacyjnych fale o niższej częstotliwości zwykle tracą mniej energii w wielu materiałach budowlanych niż fale 2.4 GHz. Łącze Z-Wave o częstotliwości około 900 MHz może więc lepiej przejść przez niektóre ściany, lecz wynik zależy od mocy, rozmieszczenia anten, konstrukcji budynku i zakłóceń. Sieć mesh może wtedy potrzebować mniejszej liczby przeskoków na danym obszarze.
Topologia Mesh i Routing w Z-Wave
Klasyczny Z-Wave, podobnie jak Zigbee, wykorzystuje topologię mesh, aby rozszerzyć zasięg poza bezpośrednie łącze radiowe. W klasycznej sieci Z-Wave może działać do 232 węzłów, każdy z unikatowym NodeID, a domenę rozpoznaje wspólny HomeID. Kontroler buduje mapę sieci, a nadawca umieszcza informacje o trasie w ramce. Przy awarii łącza może zostać użyta inna trasa lub ramka Explorer. Z-Wave Long Range, wprowadzony w 2020 roku, jest odrębnym trybem z topologią gwiazdy, którego standard dopuszcza do 4000 węzłów przy szybkości 100 kb/s.
Role Urządzeń w Sieci Z-Wave
Sieć Z-Wave obejmuje kontrolery i urządzenia końcowe. Kontroler Główny jest jedynym kontrolerem pełniącym tę rolę w domenie, a kontrolery drugorzędne mogą otrzymywać aktualizacje topologii zależnie od obecności SUC lub SIS. W starszej dokumentacji urządzenia końcowe nazywano urządzeniami podrzędnymi, lecz współczesne opisy ról używają terminu urządzenie końcowe:
- Kontrolery: Kontrolery zarządzają siecią. Kontroler jest odpowiedzialny za tworzenie sieci, włączanie lub wykluczanie urządzeń, zarządzanie skojarzeniami i obliczanie ścieżek routingu w sieci. Każda sieć Z-Wave musi mieć jeden Kontroler Główny, który jest głównym zarządcą informacji o sieci. Mogą istnieć również Kontrolery Drugorzędne, które mogą inicjować polecenia, ale otrzymują informacje o sieci od kontrolera głównego. Przykładami kontrolerów są bramki inteligentnego domu, dedykowane piloty Z-Wave lub klucze USB podłączone do komputera.
- Urządzenia Końcowe (dawniej Slave Devices): Odbierają polecenia od kontrolerów i mogą raportować status, na przykład po wykryciu zmiany przez czujnik. Źródło zasilania decyduje o możliwości przekazywania ruchu. Występują dwie częste role:
- Urządzenia Zawsze Aktywne i Routujące: Urządzenia zasilane z sieci, takie jak włączniki lub gniazdka, utrzymują odbiornik włączony. Uczestniczą w sieci mesh, przekazują wiadomości i rozszerzają zasięg.
- Uśpione Urządzenia Końcowe: Zasilane bateryjnie czujniki drzwi i okien spędzają większość czasu w trybie niskiego poboru mocy. Uśpione urządzenia raportujące nie przekazują ruchu. Często nasłuchujące urządzenia uśpione mogą budzić się po odebraniu wiązki, zwykle w cyklu około 1 sekundy, lecz również nie działają jako repeatery.
Mechanizm Routingu: Routing Źródłowy
Podejście Z-Wave do kierowania wiadomościami może wykorzystywać . Jest to kluczowa różnica w stosunku do "zarządzanego rozgłaszania" używanego przez Bluetooth Mesh lub dynamicznego routingu Zigbee.
W wymianie z routingiem źródłowym kontroler utrzymuje mapę sieci oraz informacje o dostępnych trasach. Gdy chce wysłać polecenie z Węzła A do Węzła D, może wybrać trasę A do B do C do D i umieścić listę przeskoków w ramce. Nadawca korzysta wtedy ze znanej ścieżki, zamiast oczekiwać osobnego odkrywania trasy przez każdy węzeł.
Każdy węzeł pośredni, w tym przykładzie B i C, odczytuje następny przeskok zapisany w ramce i przekazuje pakiet. Jeśli trasa zawiedzie, nadawca może spróbować innej trasy, a ramka Explorer może w ostateczności odkryć ścieżkę. Konserwacja sieci aktualizuje mapę po przeniesieniu lub awarii urządzenia.
Klasy Poleceń i Certyfikacja
Certyfikacja Z-Wave określa wspólny słownik aplikacyjny, więc produkty różnych producentów mogą współpracować w zakresie implementowanych funkcji. Kontroler musi nadal obsługiwać odpowiedni typ urządzenia i Klasy Poleceń.
Klasy Poleceń: Słownictwo Z-Wave
"Język" Z-Wave jest zdefiniowany przez bibliotekę predefiniowanych funkcjonalności znanych jako . Są one analogiczne do Klastrów w Zigbee lub Profili/Usług w Bluetooth. Każda Klasa Poleceń reprezentuje określoną funkcję, którą urządzenie może wykonać. Węzeł zgłasza kontrolerowi obsługiwane Klasy Poleceń i ich wersje, co pozwala dobrać polecenia do konkretnego urządzenia. Na przykład:
- COMMAND_CLASS_BASIC: Podstawowa klasa poleceń używana do prostego sterowania włącz/wyłącz.
- COMMAND_CLASS_SWITCH_MULTILEVEL: Używana w urządzeniach, które mają więcej stanów niż włącz/wyłącz, takich jak ściemniacz lub wentylator z wieloma prędkościami.
- COMMAND_CLASS_SENSOR_MULTILEVEL: Używana przez czujniki do raportowania zmiennych odczytów, takich jak temperatura, wilgotność czy poziom światła.
- COMMAND_CLASS_DOOR_LOCK: Specyficzny zestaw poleceń do obsługi i odczytu statusu inteligentnego zamka drzwi.
Obowiązkowa Certyfikacja i Model SoC
Spójność tego słownika zapewniają dwa elementy. Po pierwsze, produkt z oficjalnym logo Z-Wave musi przejść proces certyfikacji administrowany przez Z-Wave Alliance. Certyfikacja sprawdza wymagane Klasy Poleceń i zachowanie protokołu dla typu urządzenia.
Po drugie, Z-Wave historycznie był modelem , w którym radio i stos protokołu są dostarczane w jednym wstępnie certyfikowanym układzie. Silicon Labs przejął biznes Z-Wave od Sigma Designs w 2018 roku, a Sigma Designs wcześniej przejął firmę Zensys w 2008 roku. Platformy 700 i 800 oznaczają generacje układów. Z-Wave Long Range jest odrębnym trybem sieci, używanym obok klasycznej topologii mesh. Producenci budują urządzenia wokół tego rdzenia, ograniczając ilość kodu protokołu implementowanego samodzielnie.
Bezpieczeństwo Z-Wave: S0 i S2
Inteligentny dom może sterować zamkami do drzwi, alarmami i bramami garażowymi, więc protokół musi chronić proces dołączania oraz zwykły ruch. Z-Wave wprowadził S2, aby usunąć słabości wcześniejszego mechanizmu S0.
- Security S0: Pierwszy Standard
Pierwsza struktura bezpieczeństwa Z-Wave szyfrowała ruch sieciowy za pomocą AES-128. Wymiana klucza podczas dołączania urządzenia była podatna na przechwycenie przez napastnika znajdującego się blisko urządzeń w tym momencie.
- Security S2: Uwierzytelnione Dołączanie
W kwietniu 2017 roku Z-Wave Alliance wprowadziło obowiązek stosowania Security S2 w nowych certyfikacjach produktów. S2 wykorzystuje uwierzytelnione dołączanie. Obejmuje klasę dostępu, klasę uwierzytelnioną oraz klasę nieuwierzytelnioną. Klucz specyficzny dla urządzenia, czyli DSK, pozwala potwierdzić właściwy produkt podczas dołączania, a instalator zwykle wpisuje pierwszych pięć cyfr. Trzy klasy pozwalają oddzielić zamki i bramy od czujników oraz ograniczonych kontrolerów.
- Krzywa Eliptyczna Diffiego-Hellmana (ECDH): Ustanawia tymczasowy wspólny klucz przed przekazaniem klucza sieciowego do dołączanego urządzenia.
- Kody QR i PINy: Uwierzytelnianie pozapasmowe korzysta z klucza specyficznego dla urządzenia, umieszczonego na urządzeniu lub opakowaniu. Kontroler może poprosić instalatora o zeskanowanie kodu QR albo wpisanie pierwszych pięciu cyfr, aby potwierdzić tożsamość dołączanego urządzenia.
- Zabezpieczona Komunikacja: S0 oraz trzy klasy S2 używają AES-128 do szyfrowania ruchu. S2 wykorzystuje również unikatowe wartości transmisji i uwierzytelnione dołączanie, ograniczając ryzyko powtórzenia ramek oraz dodania obcego węzła.