Přehrávač médií a ovladač
Android Debug Bridge
Android Debug Bridge propojí RichPear Home s Android TV nebo Amazon Fire TV zařízením přes lokální ADB spojení. Integrace slouží ke sledování stavu, spuštění aplikací, posílání tlačítek ovladače a pokročilých shell příkazů.
- Doména
androidtv- Zařízení
- Android TV, Android zařízení, Fire TV
- Komunikace
- lokální dotazování přes ADB
- Entity
media_player,remote- Údaje
- IP adresa zařízení, port ADB
Požadavky
Zařízení musí být ve stejné síti jako RichPear Home a musí mít zapnuté ADB ladění. Připravte si IP adresu zařízení, případně nastavte v routeru DHCP rezervaci, aby se adresa později nezměnila.
Výchozí port ADB je 5555. Při běžném nastavení nepoužívejte samostatný ADB server; jednodušší je vestavěné ADB připojení. ADB server zvolte až u instalací, kde ho spravujete záměrně nebo kde má konkrétní zařízení se standardním připojením stabilitní problém.
RichPear Home otevřete v domácí síti na http://rphome.local:8123. Pokud tato adresa neodpoví, použijte http://IP-ADRESA:8123.
Příprava zařízení
U Android TV postupujte podle menu konkrétního výrobce: zapněte vývojářské volby, povolte ADB ladění a zapište IP adresu zařízení. Některé televize povolí první ADB autorizaci jen přes Wi-Fi. Pokud je televize připojená kabelem a přidání selže, proveďte první autorizaci přes Wi-Fi a potom se vraťte ke kabelu.
U Fire TV najdete IP adresu typicky v části Settings → My Fire TV → About → Network. ADB ladění zapnete v Settings → My Fire TV → Developer Options → ADB Debugging.
Pokud položka Developer Options u Fire TV není vidět, otevřete My Fire TV → About a sedmkrát potvrďte položku About. U některých modelů se vývojářské volby zpřístupní až po přihlášení k účtu Amazon v zařízení.
Přidání do RichPear Home
V RichPear Home otevřete Nastavení → Zařízení a služby → Přidat integraci, vyhledejte Android Debug Bridge a pokračujte průvodcem. Zadejte IP adresu zařízení, typ zařízení ponechte na automatickém rozpoznání nebo vyberte Android TV či Fire TV a ponechte port 5555, pokud jste ho na zařízení neměnili.
Po odeslání formuláře sledujte obrazovku televize nebo boxu. Požadavek na ADB spojení je nutné potvrdit na zařízení, jinak se integrace nepřipojí. Po dokončení přejmenujte zařízení podle místnosti, například TV obývák, a přiřaďte mu správnou oblast.
Pokročilé položky jako vlastní ADB klíč, IP adresa ADB serveru a port ADB serveru používejte jen v případě, že přesně víte, kde je daný klíč nebo server spravovaný. Vlastní ADB klíč a ADB server se nezadávají současně.
Možnosti integrace
V detailu integrace lze upravit seznam aplikací, pokud některé aplikace zařízení nepojmenuje samo. Klíčem je ID balíčku aplikace, například com.netflix.ninja, hodnota je název zobrazený v RichPear Home.
Volba pro načítání běžících aplikací určuje, jestli se běžící aplikace použijí jako seznam zdrojů. Pokud je vypnutá, zobrazuje se jen aktuální aplikace. Volba pro skrytí aplikací bez známého názvu ponechá v seznamu pouze aplikace s rozpoznaným nebo ručně doplněným názvem.
Volba snímku obrazovky pro album art používá obraz ze zařízení jako obrázek přehrávače. Interval snímání lze nastavit v minutách; hodnota 0 snímání vypne. V možnostech lze také nastavit vlastní ADB shell příkaz pro zapnutí nebo vypnutí zařízení a pravidla pro rozpoznání stavu.
Entity a ovládání
Integrace přidá přehrávač médií v doméně media_player. U Android TV podporuje přehrávání, pauzu, zapnutí, vypnutí, předchozí a další stopu, zastavení, výběr zdroje a podle zařízení také hlasitost a ztlumení. U Fire TV je sada ovládání užší a zaměřuje se hlavně na přehrávání, zapnutí, vypnutí, pohyb mezi stopami, zastavení a výběr zdroje.
Součástí je také platforma remote. Přes ovladač lze posílat tlačítka nebo ADB shell příkazy pomocí akce remote.send_command. Podporované klávesy se liší podle modelu a verze systému.
U přehrávače sledujte stav, aktuální aplikaci, seznam dostupných zdrojů a atribut adb_response, do kterého se ukládá výstup některých ADB příkazů.
Užitečné klávesy
POWER,SLEEP,WAKEUPHOME,BACK,MENU,SETTINGSUP,DOWN,LEFT,RIGHT,CENTER,ENTERVOLUME_UP,VOLUME_DOWN,MUTEHDMI1,HDMI2,HDMI3,HDMI4,INPUT
Akce
media_player.select_source spouští aplikaci podle názvu ze seznamu zdrojů nebo podle ID balíčku. Když před ID balíčku přidáte vykřičník, aplikace se ukončí.
androidtv.adb_command pošle klávesu nebo ADB shell příkaz do zařízení. Příkaz GET_PROPERTIES načte vlastnosti používané pro stav zařízení a uloží je do atributu adb_response.
androidtv.learn_sendevent pomůže zjistit rychlejší příkaz typu sendevent pro tlačítko dálkového ovladače. Po spuštění akce je potřeba do 8 sekund stisknout jedno tlačítko na fyzickém ovladači; výsledný příkaz se objeví v oznámení a v atributu adb_response.
androidtv.download stáhne soubor ze zařízení do RichPear Home a androidtv.upload odešle soubor z RichPear Home do zařízení. Používejte jen cesty, ke kterým má RichPear Home povolený přístup.
Spuštění a ukončení aplikace
actions:
- action: media_player.select_source
target:
entity_id: media_player.tv_obyvak
data:
source: "com.netflix.ninja"
- action: media_player.select_source
target:
entity_id: media_player.tv_obyvak
data:
source: "!com.netflix.ninja"
Příklady automatizací
První automatizace držte jednoduché: zapnutí televize při večerním režimu, návrat na domovskou obrazovku po skončení sledování nebo sekvence tlačítek pro vstup HDMI. Před nasazením sekvence vyzkoušejte ručně, protože některá zařízení reagují na ADB příkazy pomaleji.
alias: TV obývák - večerní scéna
triggers:
- trigger: state
entity_id: input_boolean.vecerni_rezim
to: "on"
actions:
- action: androidtv.adb_command
target:
entity_id: media_player.tv_obyvak
data:
command: WAKEUP
- delay:
seconds: 2
- action: androidtv.adb_command
target:
entity_id: media_player.tv_obyvak
data:
command: HOME
alias: TV obývák - přepnout HDMI 1
triggers:
- trigger: state
entity_id: input_button.tv_hdmi_1
actions:
- action: remote.send_command
target:
entity_id: remote.tv_obyvak
data:
command:
- INPUT
- HDMI1
Detekce stavu
Stav zařízení se zjišťuje pravidelným dotazováním přes ADB. Neexistuje jednotné rozhraní, které by všechny Android aplikace používaly stejně, proto se stav může lišit podle konkrétní aplikace, zařízení a firmware.
Pokud některá aplikace hlásí přehrávání, pauzu nebo nečinnost nepřesně, použijte GET_PROPERTIES a podle výsledku doplňte pravidla detekce stavu v možnostech integrace. Pravidla používají ID aplikace a hodnoty jako media_session_state, audio_state a wake_lock_size.
actions:
- action: androidtv.adb_command
target:
entity_id: media_player.tv_obyvak
data:
command: GET_PROPERTIES
Řešení problémů
Když se zařízení nepřidá, zkontrolujte IP adresu, port 5555, zapnuté ADB ladění, potvrzený dialog na obrazovce zařízení a firewall mezi RichPear Home a televizí. Pokud je k zařízení přes ADB připojený jiný počítač nebo telefon, odpojte ho, restartujte zařízení a zkuste přidání znovu.
Pokud zařízení po vypnutí mizí ze sítě, hledejte v nastavení zařízení volbu pro síťovou dostupnost při vypnuté obrazovce nebo hlasové ovládání při vypnuté obrazovce. U některých modelů se zařízení po výpadku napájení musí jednou ručně zapnout, než začne znovu reagovat na síťové požadavky.
U některých Android TV, například části televizí Philips, proveďte první autorizaci přes Wi-Fi. Teprve po udělení důvěry zkuste kabelové připojení. U zařízení, která v úsporném režimu vypínají Wi-Fi, pomůže upravit napájení nebo zabránit uspávání sítě přímo v zařízení.
Opakující se chyby najdete v Nastavení → Systém → Logy. Hledejte záznamy k doméně androidtv a podle nich rozlište chybu spojení, odmítnutou autorizaci, špatný příkaz nebo nedostupné zařízení.