Czujnik dymu Shelly Smoke
w HomeKit

Tym razem podniesiemy poziom bezpieczeństwa w naszym domu dodając czujnik dymu Shelly Smoke do HomeKit.


Czujnik pojawił się w przedsprzedaży pod koniec zeszłego roku, jednak ze względu na problemy produkcyjne dopiero teraz, po 5 miesiącach otrzymałem pierwszy egzemplarz. Czujnik zasilany jest 3V baterią CR123A, która pozwoli na pracę przez 2 lata. Zakres temperatury pracy od -10 do 50°C. Urządzenie komunikuje się z siecią przez WiFi 2.4 GHz. Syrena alarmu osiąga 85 dB i wg mnie jest bardzo głośna. Bez problemu wyrwie ze snu domowników, nawet przez zamknięte drzwi. Oprócz detekcji dymu, czujnik monitoruje również temperaturę. Wykonanie jest bardzo staranne i wygląda całkiem przyzwoicie. Czujnik montujemy na suficie, czyli tam gdzie natężenie dymu w czasie pożaru jest największe. Możemy to zrobić na taśmę dwustronną, która jest już przygotowana na uchwycie montażowym lub na wkręty.

Podobnie, jak opisywany niedawno czujnik temperatury i wilgotności Shelly HT, czujnik Shelly Smoke można połączyć z chmurą shelly.cloud i korzystać w aplikacji producenta, jednak my zmusimy go do działania w HomeKit za pośrednictwem HomeBridge mimo, że urządzenie nie ma wparcia HomeKit.

Zasada działania Shelly Smoke jest identyczna jak Shelly HT, to znaczy, że urządzenie cały czas pozostaje w stanie czuwania i jest gotowe na połączenie z siecią WiFi natychmiast po wykryciu zagrożenia. Na bieżąco odczytuje również temperaturę i wybudza się za każdym razem, gdy ta się zmieni.

Do działania Shelly Smoke w HomeKit potrzebujemy HomeBridge, który będzie pośredniczył między HomeKit a czujnikiem. Gotowy obraz systemu można pobrać z naszej strony (HomeBridge Ready To Use). Dostępne są 2 wersje gotowych systemów - na Raspberry Pi 3B+ i Raspberry Pi ZERO W. Jak zainstalować gotowy obraz można znaleźć w krótkim poradniku HomeBridge w 10 minut. Ten gotowy do użycia, przygotowany dla Was obraz systemu Raspbian posiada już wszystkie niezbędne do działania dodatki i pluginy. Jedyne co musimy zrobić to dodać konfigurację naszej kamery oraz dodać akcesorium do aplikacji DOM.

Konfiguracja czujnika Shelly Smoke

Konfiguracja jest niemal identyczna, jak w przypadku opisywanego ostatnio Shelly HT - Czujnik temperatury i wilgotności w HomeKit. Jeśli mamy nowe urządzenie, jeszcze nie podłączone do naszej sieci WiFi, to w pierwszej kolejności musimy je dodać. Możemy to zrobić przez aplikację Shelly Cloud, poducenta czujnika lub skonfigurować wszystko przez www. My skorzystamy z drugiego rozwiązania. Po uruchomieniu czujnika powinniśmy zobaczyć nową sieć WiFi o nazwie shellysmoke-xxxxx.

Łączymy się z nią, a po połączeniu, w przeglądarce internetowej wpisujemy adres http://192.168.33.1

Przechodzimy do ustawień WiFi na Shelly Smoke - Internet & Security, wpisujemy nazwę naszej sieci WiFi, hasło i zapisujemy.

Zostaniemy rozłączeni z siecią WiFi shellysmoke-xxxxx, ponieważ czujnik połączy się z naszą siecią WiFi, którą przed chwilą mu wskazaliśmy. My również możemy ponownie połączyć się z naszym WiFi.

Teraz sprawdzamy na routerze jaki adres IP otrzymał czujnik i ponownie wchodzimy na web panel urządzenia (w pasku adresu przeglądarki wpisujemy adres IP czujnika np. http://192.168.99.148). 

UWAGA: Od teraz nasz czujnik działa już w normalnym trybie, to znaczy, że jest dostępny online przez 3 minuty. W tym czasie na czujniku świeci się czerwona dioda. Gdy zgaśnie czujnik przechodzi w tryb uśpienia. Aby go wybudzić i móc dalej konfigurować go przez www należy nacisnąć przycisk w środku (1 klik).

Przechodzimy do zakładki Internet & Security i w sekcji ADVANCED - DEVELOPER SETTINGS zaznaczamy Enable action execution via MQTT, wpisujemy Username: homebridge i Password: homebridge. Podajemy adres Brokera MQTT czyli IP lub host naszego HomeBridge homebridge.local oraz po dwukropu port 1883. Zaznaczamy opcję Retain. Nada on każdej wiadomości MQTT wysyłanej przez czujnik do brokera status przechowywania, zapisze ją na stałe w Brokerze MQTT, a ponowne uruchomienie HomeBridge nie usunie tych informacji.

Zanotujmy sobie również ID urządzenia. Potrzebne nam będzie później przy dodawaniu akcesorium do HomeBridge. Jest podany w polu Will Topic. Chodzi o 6 unikalnych znaków shellies/shellysmoke-743B66/online. Każdy czujnik na inne ID.

Możemy też ustawić hasło www do naszego czujnika Shelly HT, aby zwiększyć bezpieczeństwo.

Po stornie czujnika to wszystko. Zapisujemy i zamykamy WWW.

Dodajemy nowe akcesorium do HomeBridge

Teraz zajmiemy się dodaniem akcesorium. W tym celu logujemy się na HomeBridge przez przeglądarkę http://homebridge.local:8080, podając swoje dane logowania. Przechodzimy do zakładki konfiguracja i dodajemy wpis:

    {
    "accessory": "mqttthing",
    "type": "smokeSensor",
    "name": "Shelly Smoke",
    "username": "homebridge",
    "password": "homebridge",
    "url": "mqtt://localhost",
    "logMqtt": false,
    "topics": {
        "getSmokeDetected": "shellies/shellysmoke-XXXXXX/sensor/smoke",
        "getCurrentTemperature": "shellies/shellysmoke-XXXXXX/sensor/temperature",
        "getBatteryLevel": "shellies/shellysmoke-XXXXXX/sensor/battery"
    },
    "onValue": "true",
    "offValue": "false",
    "resetStateAfterms": 300000
    },
    {
    "accessory": "mqttthing",
    "type": "temperatureSensor",
    "name": "Shelly Smoke temperatura",
    "url": "mqtt://localhost",
    "username": "homebridge",
    "password": "homebridge",
    "topics": {
        "getCurrentTemperature": "shellies/shellysmoke-XXXXXX/sensor/temperature",
        "getBatteryLevel": "shellies/shellysmoke-XXXXXX/sensor/battery"
        }
    }

Jedyne co musimy, to w miejsce XXXXXX wstawić zapisany wcześniej ID urządzenia. 

W podanej konfiguracji dodajemy 2 akcesoria, jedno do czujnika, drugie do temperatury. W pierwszym możemy zdefiniować również czas po jakim czujnik zmieni stan na "nie wykryto dymu". Jest to parametr 

resetStateAfterms

a czas podajemy w milisekundach.

Oczywiście możemy też zmienić nazwę naszego akcesorium:

name

Zapisujemy konfigurację i restartujemy HomeBridge.

W aplikacji DOM pojawią się 2 nowe kafelki.