Nowa integracja - AirMusic

Stworzyłem nową integrację do radia internetowego korzystającego z aplikacji AirMusic.

https://github.com/DominikWrobel/airmusic

Przetestowane radia:
Oakcastle IR100
Majority Pembroke
Ferguson i300

Powinno działać z:
Dabman i450
Lenco DIR150BK
Majority Kings Internet DAB+ Radio
Conrad’s renkforce IR 1
Kruger&Matz KM0816
Sharp DR-I470

lub każdym innym radiem używającym apki AirMusic na android lub iOS.

Zapraszam do testowania i proszę o cierpliwość bo to moje pierwsze próby z pythonem i ogólnie kodowaniem :rofl:

Wersja 1.2!

Co działa:

  • Informacja o stanie urządzenia, wył, wł, bufforowanie itd.
  • Odczyt ulubionych stacji internetowych i ich wybór.
  • Informacja o nadawanym programie i audycji.
  • Regulacja głośności, wyciszenia
  • Zmiana stacji radiowych
  • Działa z radiami z szyfrowaną komunikacją oraz z wieloma odbiornikami
  • Podczas ustawiania integracji radio otrzyma komendę INIT
  • Loga stacji i albumy są wyświetlane w karcie
  • Unique ID dla każdego radia
  • Ustawienie integracji poprzez interfejs graficzny
  • :next_track_button: z mapowany do następna ulubiona stacja

Znane ograniczenia:

  • Działa poprawnie tylko w trybie radia internetowego.
  • Informacje o audycji oraz grafiki z logo i albumem mogą się pojawiać z opóźnieniem do 10s. Limit odpytywania radia został wprowadzony aby odbiornik radiowy się nie zawiesił.

1
album

Jeśli chcesz mnie wesprzeć kup mi kawę:

2 Likes

Jedna uwaga - myślę, że powinieneś mieć na repo plik hacs.json a nie hacks.json
(choć być może jest to bez wpływu na działanie)

W instrukcji ręcznej instalacji nie powinno być enigma (to na 100%, bo nie daj boże ktoś ma zainstalowaną enigmę to sobie ją rozwali), czyli drzewko powinno być takie

custom_components
├── airmusic
│   ├── __init__.py
│   ├── media_player.py
│   ├── manifest.json
│   └── airmusicapi.py
1 Like

Dzięki wielkie, już poprawione, tak byłem zajęty kodem że te rzeczy przeoczyłem.

Edycja:
Ogólnie to mam jeden problem z tą integracją, przez który chyba osiwieję (bardziej :rofl:) mam dwa radia które korzystają z tej integracji, oba mają logo aktualnie odbieranej stacji pod adresem http://IP:8080/playlogo.jpg, ale jedno radio ma szyfrowaną transmisję, a drugie nie, no i chcę aby to logo się wyświetlało i aktualizowało przy zmianie stacji w HA, więc z takim kodem:

            if reference == '6':
                response = await self.hass.async_add_executor_job(
                    requests.get,
                    'http://' + self._host + ':' + str(self._port) + '/playlogo.jpg',
                    {'auth': HTTPBasicAuth('su3g4go6sk7', 'ji39454xu/^')}
                )
                self._image_url = response.url
            else:
                self._image_url = None

Logo się wyświetla i aktualizuje ale tylko dla radia bez auth!
A z takim kodem:


            if reference == '6':
                response = await self.hass.async_add_executor_job(
                    requests.get,
                    'http://su3g4go6sk7:ji39454xu%2F%5E@' + self._host + ':' + str(self._port) + '/playlogo.jpg'
                )
                self._image_url = response.url
            else:
                self._image_url = None

Logo się wyświetla w obu odbiornikach, ale się nie aktualizuje przy zmianie stacji Ma ktoś jakieś pomysły?

Hello :slightly_smiling_face:

Thank you for sharing the link to your new integration for internet radio using the AirMusic application! It looks like a fantastic initiative; especially since you’ve tested it with Oakcastle IR100 and Majority Pembroke radios.

I am excited to see that it should also work with several other models like Dabman i450 and Sharp DR-I470.

Thank you

2 Likes

Wersja 0.4 już dostępna:

  • działają loga stacji radiowych!
  • trochę porządków w kodzie
  • ta integracja działa tylko jeśli radio jest trybie radia internetowego.

Wersja 0.4a dostępna:

  • radia mają unique_id w Home Assistant

Jest już wersja 0.9 :rofl:
Ogólnie dużo zmian w otrzymywanym info od radia, oprócz loga jeśli stacja nadaje będzie wyświetlane zdjęcie albumu:

album

Ogólnie całość powinna działać znacznie stabilniej, ograniczyłem liczbę zapytań do radia aby go nie zawiesić, przy czym podczas testów nie zauważyłem aby spowolniło reakcję na zmiany w HA. Do wersji 1.0 brakuje chyba tylko config_flow.

V1.0 wydana, dodawanie radia poprzez system i urządzenia i usługi!

v1.6 już jest, poprzez media_browser i radio browser można słuchać stacji z całego świata bez konieczności wyszukiwania ich w radiu lub apce!

2 Likes