Select Page

Jak zostać deweloperem HomeKit, cz. VII: automatyka

Jak zostać deweloperem HomeKit, cz. VII: automatyka

  • 0
  • 20.02.2019
Jaromir Kopp

Prąd nie jest tani, a będzie jeszcze droższy. Do tego trendem jest coraz większa energooszczędność i spełnianie coraz bardziej wyśrubowanych norm minimalizujących zużycie energii. Nie można już używać tradycyjnych żarówek, odkurzacze również stały się ofiarą poprawności energetycznej. Jak pogodzić oszczędzanie energii z komfortem? Jednym ze sposobów jest właśnie „Inteligentny dom” i co się z tym wiąże: HomeKit.

HomeKit pozwala na automatyzację, czyli sterowanie urządzeniami bez naszego udziału, ale według stworzonych przez nas reguł. Warunkiem koniecznym do użycia automatyki jest posiadanie jakiegoś urządzenia, które może pełnić funkcję „Centrum akcesoriów”. Obecnie są to Apple TV 4 lub 4K, iPad (z najnowszym systemem) lub HomePod. Te urządzenia, aby automatyka działała, muszą stale przebywać w domu, którego akcesoriami mają sterować i mieć je w swoim zasięgu. To ostatnie dotyczy to urządzeń Bluetooth. Dla Wi-Fi wystarczy, że będą w tej samej sieci lokalnej.

Czym można sterować?

Po pierwsze można tworzyć sceny. Pozwalają one na sterowanie wieloma urządzeniami za pomocą jednego przycisku w aplikacji. Np. „wyłącz wszystkie światła w salonie” lub „zmień kolor na czerwony” i dodatkowo „ustaw termostat na 23°C”. To są proste zadania, choć już odpowiednio zastosowane pozwalają oszczędzać energię i nasz czas, gdy wyłączamy wszystkie światła jednym puknięciem w ekran lub komendą Siri.

Kolejne funkcje to uruchamianie scen o określonej porze. Poza stałymi porami możemy wybrać zdarzenia jak wschód lub zachód słońca i dodatkowo dodać lub odjąć od tego momentu określoną liczbę minut. To bardzo ułatwia sterowanie oświetleniem zewnętrznym domu.

To nie koniec. Można ustawić sceny tak, aby się uruchamiały, gdy my lub ktoś z domowników, który został zaproszony do sterowania domem, opuszcza go lub do niego przybywa . Funkcje związane z lokalizacją mogą się aktywować np. tylko w nocy lub pomiędzy określonymi godzinami. Oczywiście, aby ta automatyzacja zadziałała, musimy mieć iPhone’a przy sobie. To on wyśle informację do centrum sterowania w domu, że się zbliżamy.

Kolejna porcja automatyzacji, którą może zaoferować HomeKit, to reagowanie na ustawienia akcesoriów. Chodzi o np. normalny włącznik ścienny, który steruje żarówką zgodną z HomeKit. Jeżeli włączymy przyciskiem światło, to HomeKit może dodatkowo uruchomić sceny. Podobnie jeżeli mamy w domu czujniki zgodne z HomeKit, np. sensor ruchu. Z jego aktywacją i dezaktywacją możemy powiązać sceny.

I na tym się w zasadzie kończą możliwości aplikacji Dom, która pojawiła się wraz z systemem iOS 10. Jednak jak, mam nadzieję, pamiętacie, HomeKit jest już znany od wprowadzenia systemu iOS 8. Wcześniej bazował tylko na aplikacjach firm trzecich, których wciąż przybywa, choćby z powodu specyficznych, nieobsługiwanych przez Dom funkcji oferowanych przez akcesoria. I właśnie dzięki tym programom można z automatyzacji HomeKit wydusić znacznie więcej. Nie zawsze jest to łatwe, ale przy odrobinie cierpliwości się sprawdza. W ten sposób uruchomiłem „termostat” w bojlerze i terrarium. Sprzętowy termostat w bojlerze ustawiony jest na graniczną, wysoką temperaturę, a za pomocą HomeKit ustawiam zależnie od pory roku i dnia odpowiednie, niższe temperatury. Tak samo w terrarium, gdzie żółwie za dnia mają około 26°C, a nocą nie mniej niż 19°C.

Niestety proces ustawiania automatyzacji jest dość złożony i chwilami dziwny. Akcja składa się z trzech etapów. Najpierw jest „triger”, czyli zdarzenie, które rozpoczyna akcję. Może to być pora dnia, włączenie czegoś, wykrycie ruchu itp. Niestety, nie może to być zmiana temperatury poniżej lub powyżej określonej wartości. Taki warunek ustawia się w następnym kroku „Conditions”. Tu możemy wybrać dowolne parametry oraz ustawienia „większy, mniejszy, równy”. W ostatnim etapie wybieramy scenę, która ma być uruchomiona. W sumie działa to tak, że jakieś zdarzenie, np. powrót do domu lub wykrycie ruchu uruchamia akcję, dalej są sprawdzane warunki (może być ich wiele, np. temperatura niższa niż jakaś wartość oraz czas od–do). Jeżeli są spełnione, to uruchamiana jest akcja. Jak widać, nie da się w ten sposób „oprogramować” termostatu. Nie ma „wyzwalacza” reagującego na przekroczenie temperatury czy innej wartości! Jak mi się udało to jednak zrobić?

Aplikacja Elgato Eve dla iOS 10

Uwaga! Najnowsza aktualizacja Eve dla iOS 12 przywróciła wygodne ustawianie automatyki.

Tak, wytrychem okazała się nadal dostępna w App Store równolegle z wersją dla najnowszych systemów aplikacja Eve. Jak wszystkie zgodne z HomeKit nie wybrzydza i pozwala (bo tak nakazuje Apple) na sterowanie zgodnymi z HomeKit urządzeniami dowolnych producentów, a nawet HomeBridge. Tylko w tej wersji dla iOS 10 podczas definiowania akcji w pierwszym kroku „trigers” można wybrać np. temperaturę i dla niej wartość „any” (dowolna). Czyli akcja jest wyzwalana przy każdej zmianie temperatury, gdy tylko sensor wyśle nową wartość. Dalej już są sprawdzane warunki. Dlaczego wartość „dowolna” zniknęła z kolejnych wersji aplikacji Eve, jeszcze się nie dowiedziałem. Obawiam się, że może to być związane z uznaniem jakiejś funkcji przez Apple za „przestarzałą”, ale pochłonięty grzebaniem w kodzie mikrokontrolerów nie miałem jeszcze czasu tego sprawdzić. Innym obejściem „problemu termostatu” może być użycie jako „wyzwalacza” na przykład obecności kogoś w domu. Tak czy siak trzeba kombinować, co wydaje mi się trochę nieprzemyślane.

Może jest wśród Was jakiś programista iOS, który podjąłby się trudu napisania „aplikacji idealnej” dla HomeKit? Miałbym kilka podpowiedzi.

W następnym odcinku powrócimy do zagadnień energooszczędności, ale w skali samych akcesoriów. Powinienem mieć już trochę własnych doświadczeń z zakresu „jak żyć na baterii CR2032”.

O autorze

Jaromir Kopp

Użytkownik komputerów Apple od 1991 roku. Dziennikarz technologiczny, programista i deweloper HomeKit. Propagator przyjaznej i dostępnej technologii, wyczulony na potrzeby osób niepełnosprawnych i starszych. Tworzy w języku Swift aplikacje na platformy macOS, iOS, tvOS oraz systemy bazodanowe FileMaker. Prowadzi zajęcia z programowania dla dzieci i młodzieży. Autor książki o serwerach NAS „Mój QNAP”. Projektuje, programuje oraz samodzielnie wykonuje prototypy urządzeń Smart Home. Jeździ rowerem.

Zostaw komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Zapisz się

i otrzymuj darmowy magazyn

Witaj w gronie czytelników. Dziękujemy!