Integracja z systemami audio jest jednym z częściej podnoszonych tematów przez Klientów zainteresowanych systemami automatyki budynkowej. Ten samouczek rozpoczyna serię samouczków, w której zaprezentujemy integrację DOMIQ z systemem audio firmy SONOS.
Czytając ten samouczek poznasz podstawowe funkcje integrujące DOMIQ z systemem SONOS. Ponadto dowiesz się jak:
- Zintegrować urządzenia SONOS z innymi podsystemami inteligentnego budynku.
- Wykorzystać funkcje automatyzacyjne DOMIQ jak reguły czasowe i zdarzenia do sterowania systemem SONOS.
- Sterować urządzeniami SONOS z poziomu interfejsów użytkownika DOMIQ. Tutaj jednakże chcielibyśmy zaznaczyć, że opisywana przez nas integracja nie ma na celu zastąpienia domyślnej aplikacji sterującej SONOS.
1. Kilka słów o SONOS #
SONOS jest mobilnym systemem multiroom audio. Jego struktura oparta jest o przenośne urządzenia z wbudowanymi wzmacniaczami i głośnikami.
Urządzenia komunikują się ze żródłami dzwięku poprzez sięć IP przy użyciu wbudowanych portów Ethernet lub bezprzewodowo używając specjalnego protokołu w paśmie 2.4GHz. Możliwe jest również uruchomienie Bridge, który konweruje dedykowany protokół SONOS do standardu WiFi.
Dzięki wykorzystaniu IP możliwa jest integracja z już istniejącą instalacją inteligentnego budynku, bez żadnej ingerencji w infrastrukurę budynku.
Urządzenia SONOS są niezależne, co oznacza, że każde z nich może odtwarzać inne źródło dźwiękowe. Jednakże w razie potrzeby urządzenia można dowolnie powiązać w grupy, aby odtwarzały to samo źródło dźwięku. Ta funkcja w połączeniu z mobilnością systemu pozwala na dowolne kształtowanie stref muzycznych.
2. Funkcje integracyjne #
Funkcje integracyjne udostępniane w DOMIQ/Base można podzielić na dwie kategorie: funkcje sterujące i informacyjne. Wszystkie wykorzystywane na ten cel identyfikatory mają identyczną składnię: UAV.funkcja.urządzenie
, gdzie funkcja
, to nazwa funkcji w DOMIQ, natomiast urządzenie
to nazwa przyporządkowana danemu urządzeniu w oprogramowaniu SONOS, np. UAV.volume.Office
. UAV
jest typem identyfikatora analogicznie do LCN
, IDS
itp.
2.1. Funkcje informacyjne #
Poniższa tabela prezentuje wszystkie funkcje informacyjne wraz z przykładami użycia. W poniższych przykładach przyjęto nazwę urządzenia jako biuro. Dzięki funkcjom informacyjnym można wyświetlić najważniejsze informacje o odtwarzanym źródle.
Funkcja | Przykład | Objaśnienie |
---|---|---|
album | UAV.album.biuro | Zwraca nazwę aktualnie odtwarzanego albumu |
creator | UAV.creator.biuro | Nazwa wykonawcy aktualnie odtwarzanego utworu |
duration | UAV.duration.biuro | Czas trwania utworu |
mode | UAV.mode.biuro | Tryb odtwarzania (np. normalny, potwarzanie, losowy itd.) |
state | UAV.state.biuro | Aktualny stan odtwarzania: stop/pauza/odtwarzanie |
title | UAV.title.biuro | Tytuł odtwarzanego utworu |
trackno | UAV.trackno.biuro | Numer odtwarzanego pliku |
tracks | UAV.tracks.biuro | Całkowita liczba plików w danym folderze |
uri | UAV.uri.biuro | Ścieżka dostępu do pliku/strumienia audio (np. radio internetowe) |
volume | UAV.volume.biuro | Aktualna głośność |
W przypadku, gdy dane źródło dźwięku nie dostarcza wybranej informacji, wówczas identyfikator przyjmie wartość 0
.
2.2. Funkcje sterujące #
Funkcje z tej grupy umożliwiają sterowanie urządzeniami SONOS. Jako, że są to komendy sterujące muszą być poprzedzone prefiksem ”C.
”.
Funkcja | Przykład/Składnia | Objaśnienie |
---|---|---|
control | C.UAV.control.biuro=play | Funkcja sterująca odtwarzaniem. Dostępne wartości: – stop – Zatrzymanie odtwarzania. Odtwarzanie po komendzie stop jest rozpoczynane od początku listy.– play – Rozpoczęcie odtwarzania– pause – Wstrzymanie odtwarzania– next – Następny utwór– prev – Poprzedni utwór |
mute | C.UAV.mute.biuro=1 | Wyciszenie odtwarzania. Funkcja może przyjmować wartość 1 i 0 , gdzie 1 oznacza wyciszenie. |
uri | C.UAV.uri.biuro=<ścieżka > | Wskazanie odtwarzaczowi ścieżki do pliku, który chcemy odtworzyć. Ścieżka musi wskazywać plik na dysku twardym lub dysku sieciowym. Może być to adres strumienia radia internetowego. W przypadku plików na dyskach, można wskazać konkrenty utwór lub plik z playlistą w formacie m3u . Oprogramowanie SONOS umożliwia ponadto import playlist i biblioteki z programu iTunes.WAŻNE: Wywołanie funkcji uri nie powoduje automatycznego rozpoczęcia odtwarzania. Aby rozpocząć odtwarzanie, należy po funkcji uri , wywołać funkcję control z wartością play . Dokładny opis znajdziesz pod tabelą. |
volume | C.UAV.volume.biuro=30 | Komenda sterująca głośnością. Po znaku równości należy podać głośność w zakresie od 0 do 100. |
Automatyczne rozpoczęcie odtwarzania po zmianie ścieżki do pliku:
Z uwagi na to, że komenta UAV.uri
jedynie wskazuje odtwarzaczowi scieżkę do pliku, dodatkowo należy wysłać komendę rozpoczynającą odtwarzanie. Aby proces przebiegał automatycznie i dla wszystkich odtwarzaczy, należy zdefiniować na ten cel zdarzenie. Zdarzenie zostanie wyzwolone automatycznie po zmianie ścieżki odtwarzania przez dowolny odtwarzacz, czego następstwem będzie wysłanie komendy play
do odtwarzacza, ktory to zdarzenie wyzwolił.
Definicja zdarzenia przebiega wg poniższej procedury:
- Dodaj nowe zdarzenie.
- W polu Kanał wpisz:
E.UAV.uri.(.+)
. Oznacza to, że zdarzenie zostanie wywołane, gdy dowolny z odtwarzaczy zmieni ścieżkę odtwarzania. - Pole Dane pozostaw puste.
- Następnie Dodaj komendę, w polu Nazwa wprowadź:
C.UAV.control.$C1
, natomiast w komórce Wartość wpisz:play
. Parametr$C1
przekazuje nazwę pobraną przez wzorzec(.+)
, czyli w naszym przypadku nazwę odtwarzacza SONOS.
3. Integracja z innymi podsystemami #
Funkcje zaprezentowane w poprzednim rozdziale umożliwiają integrację systemu SONOS z dowolnymi podsystemami inteligentnego budynku. W dalszej cześci skupimy się na przykładach integracji z systemem LCN i systemem alarmowym Satel.
3.1. Integracja z LCN #
Jako, że możliwości integracyjne z LCN są praktycznie nieograniczone, przedstawimy kilka naszym zdaniem najbardziej przydatnych funkcjonalności. Analogicznie do rozdziału 2., prezentowane przykłady odnoszą się do urządzenia SONOS o nazwie biuro
.
3.1.1. Powiązanie ze scenami świetlnymi #
System SONOS może zareagować wg zaprogramowanego schematu w momencie wywołania sceny w systemie LCN. Reakcja systemu SONOS może być dowolna np. zatrzymanie odtwarzania lub odtworzenie z określonego źródła dźwięku itp. Poniżej przedstawiamy przykład sceny „Goście”. Scena w momencie jej wywołania przewiduje zapalenie określonych świateł oraz odtworzenie określonej playlisty. Urządzenia SONOS obsługują popularny format playlist – pliki m3u
. W tym formacie zapiszesz np. playlisty z programu WinAMP lub iTunes.
Pominiemy tutaj konfigurację po stronie LCN-Pro. Jako uwagę dodamy jedynie, że aby moduł Base wiedział o wywołaniu danej sceny należy do klawisza w dowolnej tablicy przypisać akcję w postaci wysłania sceny świetlnej do modułu Base. Dla przypomnienia: moduł Base rozróżnia numery scen od 1 do 100 (rejestr 1 to sceny z zakresu od 1 do 10, rejestr 2 numery od 11 do 20 itd.).
Po stronie modułu Base konfiguracja przebiega następująco:
- W zakładce Zdarzenia dodaj nowe zdarzenie.
- W polu Kanał wpisz:
E.LCN.scene
. - W komórce Dane wprowadź numer wywoływanej sceny.
- Kliknij przycisk Dodaj komendę, a następnie w oknie, które się pojawi w polu Nazwa wprowadź:
C.UAV.uri.<urządzenie>=<ścieżka>
, gdzie<urządzenie>
, to nazwa urządzenia SONOS, natomiast<ścieżka>
to ścieżka do pliku z playlistą. Najprostszym sposobem na sprawdzenie notacji zapisu ścieżki do pliku jest odtworzenie dowolnego pliku muzycznego znajdującego się w katalogu z playlistą przy użyciu oprogramowania dedykowanego SONOS, a następnie sprawdzenie zawartości identyfikatoraUAV.uri.<urządzenie>
w zakładce Stan modułu Base. Poniżej przykładowe ścieżki do plików na dysku sieciowym: - Plik playlisty:
x-file-cifs://192.168.10.20/Muzyka/playlista.m3u
- Utwór mp3:
x-file-cifs://192.168.10.20/Muzyka/track1.mp3
- Stacja radiowa (3. Program Polskiego Radia):
mms://polskieradio.pl/program3
3.1.2. Sterowanie przyciskami ściennymi #
Dzięki integracji DOMIQ i SONOS sterowanie muzyką przy użyciu przycisków ściennych LCN stało się możliwe. Wystarczy oprogramować przyciski LCN tak, aby ich naciśnięcie
powodowało wysłanie polecenia „Wyślij klawisze” na adres modułu Base. Po stronie modułu Base należy następnie zdefiniować zdarzenia, które zareagują na odebranie tej komendy i wykonają odpowiednie akcje w postaci wysłania poleceń do urządzenia/urządzeń SONOS. Poniżej przedstawimy pojedynczy przykład definicji takiego zdarzenia. W naszym przypadku będzie to rozpoczęcie odtwarzania w reakcji na odebranie klawisza A5
z komendą krótko
.
- W zakładce Zdarzenia dodaj nowe zdarzenie.
- W polu Kanał wpisz:
E.LCN.key
. - W komórce Dane wprowadź:
A5 hit
. Pomiędzy numerem klawisza a nazwą komendy musi być spacja. - Wybierz opcję Dodaj komendę. W polu Nazwa wpisz:
C.UAV.control.<urządzenie>
, w naszym przypadkuC.UAV.control.biuro
. W polu Wartość wpisz:play
. - Analogicznie możesz skonfigurować pozostałe funkcje odtwarzacza.
Dzięki możliwości sterowania urządzeniami SONOS przy pomocy przycisków ściennych, możesz zaprogramować bardziej złożone sceny np. na wyjście z budynku, gdzie jednym przyciskiem zatrzymasz odtwarzanie we wszystkich urządzeniach. Definicja takiego zdarzenia nie różni się niczym od przedstawionej powyżej, poza ilością komend wykonywanych w reakcji na wyzwolenie zdarzenia. Podobnie możesz zdefiniować scenę na powrót do domu, gdzie jednym przyciskeim rozpoczniesz odtwarzania ulubionej playlisty w całym budynku lub w jego wybranej części.
3.2. Integracja z Satel #
Dzięki integracji z systemem alarmowym Satel można realizować pewne funkcje podobnie, jak w przypadku integracji z systemem LCN – np. reakcją na uzbrojenie alarmu może być zatrzymanie odtwarzania w całym budynku. Rozbrojenie alarmu może inicjować odtwarzanie wybranej playlisty. W dalszej części przedstawimy, jak to zrealizować, a także opiszemy możliwość wykorzystania systemu SONOS w przypadku alarmu.
3.2.1 Scena na wyjście z budynku #
Do zrealizowania tej sceny wykorzystamy informację zwrotną z centrali Satel o uzbrojeniu alarmu. Konfiguracja modułu Base ogranicza się do zdefiniowania pojedynczego zdarzenia, którego skutkiem będzie wysłanie rozkazów do urządzeń SONOS, aby zatrzymały odtwarzanie. Definicja przebiega wg poniższej procedury:
- Dodaj nowe zdarzenie.
- W polu Kanał wpisz:
E.IDS.armed.<strefa>
, w polu Dane: wpisz1
. Jako<strefa>
wpisz numer strefy, której uzbrojenie oznacza wyjście z budynku. - Kliknij Dodaj komendę. W polu Nazwa wpisz:
C.UAV.control.<urządzenie>
, natomiast w komórce Wartość:stop
. - Powtórz poprzedni krok dla wszystkich urządzeń.
3.2.2. Scena na wejście do budynku #
Rozbrojenie alarmu może inicjować odtwarzanie wybranej playlisty. W tym celu zdefiniuj zdarzenie bazując na procedurze przedstawionej w podrozdziale 3.1.1. Powiązanie ze scenami świetlnymi. W polu Kanał wpisz: E.IDS.armed.<strefa>
, natomiast w polu Dane: 0
, gdzie <strefa>
to numer strefy, która jest rozbrajana przy wejściu do budynku. Reszta procedury jest identyczna.
3.2.3. Sytuacje alarmowe #
System SONOS może zostać również wykorzystany do celów alarmowych przyczyniając się do zwiększenia bezpieczeństwa. W przypadku alarmu mogą zostać odtworzone pliki dźwiękowe informujące np. o pożarze, zalaniu lub w przypadku alarmu włamaniowego dźwięk ostraszający włamywaczy np. szczekanie psów:)
W tym przypadku konfiguracja również ogranicza się do zdefiowania zdarzenia, które będzie wyzwalane przez zmianę stanu centrali alarmowej. Jako przykład przedstawimy scenariusz dla alarmu włamaniowego.
Procedura jest bardzo podobna, jak w przypadku sceny na wejście do budynku:
- Po dodaniu nowego zdarzenie, w polu Kanał wpisz:
E.IDS.alarm.(%d+)
. Zdarzenie zostanie wyzwolone, gdy alarm będzie miał miejsce w dowolnej strefie. - W komórce Dane wpisz:
1
. - Aby odtwarzany dźwięk był dobrze słyszalny, należy pamiętać o ustawieniu głośności na odpowiedni poziom. W tym celu Dodaj komendę, w polu Nazwa wpisz:
C.UAV.volume.<urządzenie>
, w polu Wartość wpisz poziom głośności. - Następnie dodaj drugą komendę, która wskaże plik, który ma zostać odtworzony – definicja jest analogiczna do punktu 4 w rozdziale 3.1.1 Powiązanie ze scenami świetlnymi. Pamiętaj o zmianie ścieżki do pliku.
4. Muzyczny budzik #
Wykorzystując zdarzenia czasowe możesz utworzyć muzyczny budzik. Wystarczy, że zdefiniujesz timer, który o określonej godzinie w wybrane dni tygodnia odtworzy ulubioną playlistę lub radio. Poniżej przedstawiamy definicję reguły, uruchamiającej playlistę w dni powszednie o godzinie 7 rano.
- Dodaj nowy timer i uzupełnij jego właściwości wg poniżego obrazka:
- W sekcji Akcje zdefiniuj komendy, które zostaną wykonane w momencie wyzwolenia timera – ustawienie głośności i wskazanie ścieżki do źródła.
5. Sterowanie z wizualizacji #
Korzystając z funkcji integracyjnych opisanych w rodziale 2. można utworzyć prosty interfejs sterujący odtwarzaniem i wyświetlić najważniejsze informacje o odtwarzanym utworze lub stacji radiowej.
5.1. Sterowanie #
Do sterowania wykorzystamy elementy typu Przycisk. Przykład omówimy na pojedynczym przycisku, gdyż pozostałe funkcje są tworzone analogicznie, a zmianie ulega jedynie przypisane polecenie. Przykład dotyczy przycisku Play
- Dodaj nowy Przycisk do wizualizacji.
- W komórce Polecenie wpisz:
UAV.control.<urządzenie>=play
, w naszym przypadkuUAV.control.biuro=play
. - Dla pozostałych przycisków powtórz kroki 1 i 2.
Przykładowy wygląd interfejsu przedstawia poniższy obrazek. Plik konfiguracyjny znajdziesz jako załącznik do samouczka.