Jump to content

Welcome to Smart Home Forum by FIBARO

Dear Guest,

 

as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.

 

As a member you can:

  •     Start new topics and reply to others
  •     Follow topics and users to get email updates
  •     Get your own profile page and make new friends
  •     Send personal messages
  •     ... and learn a lot about our system!

 

Regards,

Smart Home Forum by FIBARO Team


  • 0

Serwer + VD do AirPlay i LAN


alloploid

Question

Hej,

 

Jako że korzystam właściwie wyłącznie z systemów iOS i OS X to naturalnym pomysłem na muzykę w nowym mieszkaniu z Fibaro był AirPlay. Niestety nie znalazłem rozwiązania które integrowało by go z Fibaro. Poniżej prezentuję mój pomysł na takie sterowanie w oparciu o serwer (Mac Mini z programem iTunes, podpiętym do Apple Music) i urządzenia wirtualne. Może kogoś to zainspiruje, może ktoś podpowie jakieś inne rozwiazanie...

 

 

Serwer: Mac Mini z oprogramowaniem iTunes (usługa Apple Music integrująca playlisty pomiędzy moimi urządzeniami) + GlassFish.

Sterowanie muzyką odbywa się za pomocą komend http. Za ich obsługę odpowiada prosty Servlet. Odbiera on komendy, wykonuje małą część logiki sterowania (reszta przeniesiona na VD) i za pomocą AppleScript steruje iTunesem. 

 

Dostępne komendy (w zapytaniu przesyłamy odpowiednie parametry, różne komendy wymagają różnych parametrów:

 

/AirPlayMusic:

 

 - action=isPlaying - zwraca informację czy iTunes  odtwarza muzykę na jakimkolwiek urządzeniu

 - action=isPlayingRoom, room=NAZWA_GLOSNIKA - zwraca informację czy na danym głośniku jest aktualnie odtwarzana muzyka

 - action=isSpeakerEnabaled, room=NAZWA_GLOSNIKA- zwraca informację czy dany głośnik jest aktywny (wybrany jako aktualne źródło dźwięku

 - action=getVolume i setVolume, room=NAZWA_GLOSNIKA (w przypadku setVolume dodatkowo value=GLOSNOSC) - pobierają i ustawiają głośność dla danego głośnika

 - action=play, room=NAZWA_URZADZENIA, playlilst=NAZWA_PLAYLISTY - jeżeli muzyka nie jest odtwarzana na żadnym z głośników to na wskazanym głośniku rozpoczyna się odtwarzanie wybranej playlisty, jeżeli muzyka jest już odtwarzana to wskazany głośnik zaczyna grać trwającą playliste. Zwraca nazwę odtwarzanej playlisty.

 - action=setPlaylist, playlist=playlista - ustawia nową playliste

 - action=stopAll - zatrzymuje odtwarzanie muzyki na wszystkich głośnikach, rozłącza je z iTunesem

 - action=stop, room=NAZWA_URZADZENIA - jeżeli gra więcej niż 1 głośnik to odłącza wskazany, jeżeli wskazany głośnik jest jedynym to zatrzymuje odtwarzanie

 - action=getTitle - zwraca tytuł i wykonawcę  aktualnie granej piosenki

 - action=getPlaylist - zwraca nazwę aktualnej playlisty lub źródła muzyki

 - action= next, action=prev - następna, poprzednia piosenka

 

/WakeUpAlarm:  uruchamia bezpośrednio w Sypialni playlistę Alarm na głośność podaną w parametrze vol. Funkcjonalność zrealizowana jako osoby Servlet aby wyeliminować możliwe błędy po stronie VD - wymusza włączenie głośnika, niezależnie od stanu VD sterującego muzyką. 

 

 

Dodatkowe funkcje:

 

/RouterReebot: resetuje router za pomocą skryptu bash. W przypadku mojego modelu potrzebne były m.in. informacje z Cookies, nie miałem pomysłu jak to obsłużyć po stronie HC2. 

 

 

Głośniki:

 - Głośnik AirPlay w Sypialni

 - Wzmacniacz sterowany switchem (On/Off) + AirPort Express jako źródło dźwięku w Łazience

 - Głośniki podpięte bezpośrednio do Maca Mini w Salonie

 

 

 

Na obecnym etapie mam przygotowane 2 VD do sterowania muzyką w sypialni i łazience.

 

Cechy wspólne:

- Włącz/wyłącz odtwarzanie. Jeżeli włączane urządzenie będzie 1 grającym to odtworzona zostaje wybrana na nim playlista, w przeciwnym wypadku zaczyna ono odtwarzać już wybraną playlistę. 

- Wybór jednej z 4 playlist. Jeżeli chcemy odtwarzać konkretny album czy piosenkę wybieramy ją za pomocą aplikacji Apple Remote.

- Wyświetlenie tytułu i wykonawcy aktualnie odtwarzanej piosenki.

- Wyświetlenie źródła aktualnie odtwarzanej muzyki - nazwa playlisty lub zasobu (np. dla dowolnego albumy będzie to Muzyka).

- Poziom głośności reprezentowany sliderem. Osobno dla każdego głośnika.

- Zmiany playlsity czy głośności w iTunes są synchronizowane z VD.

- Osobne przyciski On/Off dla ułatwienia sterowania VD za pomocą scen i wspólny przycisk On/Off do podpięcia jako główny przycisk VD.

- Uruchomienie odtwarzania w iTunes powoduje uruchomienie VD i synchronizację tytuły, playlisty i głośności.

- Ikona sygnalizuje stan urządzenia: kolorowa - włączone, skala szarości - wyłączone.

 

Sypialnia:

- Przyciski Next i Prev: następna lub poprzednia piosenka

- Przesyłając muzykę bezpośrednio z innego urządzenia do głośnika (np. telefonu) plugin pokazuje stan Wyłączony. Nie ma wtedy możliwości sterowania odtwarzaniem - protokół AirPlay przewiduje sterowania za pomocą przycisków głośnika lub urządzenia przesyłającego muzykę.

 

Łazienka:

- Przycisk Weź Prysznic który uruchamia playlistę Prysznic i zadaną głośność. Jeżeli muzyka jest już odtwarzana, to wybór playlisty jest pomijany.

- Przycisk Rozszerz muzykę (do wykorzystania w scenach). Jeżeli muzyka jest już odtwarzana, to uruchamia głośnik na zadaną głośność. Stworzone w celu automatycznego uruchomienia już odtwarzanej muzyki po wejściu do łazienki. 

- Dla działania muzyki w łazience potrzebny jest źródło dźwięku przesłane do AirPort Express i uruchomiony wzmacniacz. W przypadku gdy odtwarzamy muzykę z innego urządzenia, VD ma stan Wyłączony ale w polu playlista wyświetla tekst "Zewnętrzny streaming".

 

 

Następne w kolejności będzie VD dla Salonu i odtwarzanie komunikatów głosowych przez AirPlay.

Przy odtwarzaniu muzyki z serwera z iTunes nie ma możliwości wyboru różnych playlist na poszczególne głośniki. Można to prawdopodobnie zrealizować za pomocą innych odtwarzaczy. Z racji rozmiaru mieszkania (70m2) nie miałem takiej potrzeby.

 

 

Urządzenie VD do resetu HC2 i routera:

 - Ręczne resetowanie za pomocą przycisku.

 - Reset routera w przypadku błędu połączenia z określoną stroną. Testowane co 5 min, w przypadku gdy nie może się połączyć jest on resetowany. Rozwiązuje problem z przywieszającymi się routerami. 

 

Screeny urządzeń i VD do resetu w załącznikach. 

Please login or register to see this attachment.

Please login or register to see this attachment.

Please login or register to see this attachment.

Please login or register to see this link.

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Jestem zainteresowany Twoim VD do sterowania iTunes'em z poziomu Fibaro.

Niestety nie widzę załączonego VD. Jest tylko wirtualka do resetu i zrzuty ekranów.

 

Ja zrobiłem system TTS i Audio Mixer oparty na Mac'u.

Szczegóły tutaj:

Please login or register to see this code.

Chętnie bym połączył nasze wysiłki.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...