From 4d7e72b9cd43153970dc02280c26d1e0604f723c Mon Sep 17 00:00:00 2001 From: Markus Zehnder Date: Wed, 16 Apr 2025 16:57:02 +0200 Subject: [PATCH] docs: update driver description with support link & Google Cast --- CHANGELOG.md | 8 ++++++++ README.md | 9 ++++++--- docs/command_mapping.md | 9 ++++++++- docs/settings.md | 4 ++++ driver.json | 8 ++++---- intg-androidtv/profiles.py | 3 --- 6 files changed, 30 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 32e36f2..8a6f321 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased _Changes in the next release_ +### Added +- Google Cast for media info & seeking support. Contributed by @albaintor, thanks! ([#57](https://github.com/unfoldedcircle/integration-androidtv/pull/57)) + - This is currently a preview feature and must be enabled in the device configuration of the integration setup. +- myCANAL application ([#55](https://github.com/unfoldedcircle/integration-androidtv/pull/55)) + +### Changed +- Add support article link and change setup description in first setup flow screen. + --- ## v0.6.3 - 2024-12-08 diff --git a/README.md b/README.md index 64a8a5c..00eb1c0 100644 --- a/README.md +++ b/README.md @@ -3,14 +3,17 @@ Using [androidtvremote2](https://github.com/tronikos/androidtvremote2), [uc-integration-api](https://github.com/aitatoi/integration-python-library) and [pychromecast](https://github.com/home-assistant-libs/pychromecast). The integration currently supports almost all features that the androidtvremote2 library provides. -Button control and ON/OFF states are supported. Unfortunately media image and playing information are not retrievable. -Source list is limited to a predefined list as retrieving a list of installed apps is not possible. +Button control and ON/OFF states are supported. With the optional Google Cast support, media playing information can be +retrieved from supported apps. +The application source list is limited to a predefined list, as retrieving the installed apps is not possible. This integration is included in the Remote Two and Remote 3 firmware and no external service must be run to connect with -Android TV devices. A standalone service can be used for development or connecting multiple devices. +Android TV devices. It can be run as an external integration for development - [Requirements and setting](docs/settings.md). - Multiple Android TV devices are supported with version 0.5.0 and newer. +- A [media player entity](https://github.com/unfoldedcircle/core-api/blob/main/doc/entities/entity_media_player.md) + is exposed per Android TV device to the Remote. - Device profiles allow device specific support and custom key bindings, for example double-click or long-press actions. See [command mappings](docs/command_mapping.md) for more information. diff --git a/docs/command_mapping.md b/docs/command_mapping.md index e691a52..017e98b 100644 --- a/docs/command_mapping.md +++ b/docs/command_mapping.md @@ -16,7 +16,13 @@ in the default device profile: | previous | previous | MEDIA_PREVIOUS | | | fast_forward | fast_forward | MEDIA_FAST_FORWARD | | | rewind | rewind | MEDIA_REWIND | | -| media_title | - | - | Returned attribute | +| media_duration | - | - | Only with Google Cast enabled and supported applications. | +| media_position | - | - | Only with Google Cast enabled and supported applications. | +| media_title | - | - | Returned attribute, usually the running application ID or friendly name if available. With Google Cast enabled: media title if supported. | +| media_artist | - | - | Only with Google Cast enabled and supported applications. | +| media_album | - | - | Only with Google Cast enabled and supported applications. | +| media_image_url | - | - | Only with Google Cast enabled and supported applications. | +| media_type | - | - | Only with Google Cast enabled and supported applications. | | dpad | cursor_up, cursor_down,
cursor_left, cursor_right,
cursor_enter | DPAD_UP, DPAD_DOWN,
DPAD_LEFT, DPAD_RIGHT,
DPAD_CENTER | | | numpad | digit_0 ... digit_9 | 0 ... 9 | | | home | home, back | HOME, BACK | | @@ -34,6 +40,7 @@ in the default device profile: | record | record | MEDIA_RECORD | | | settings | settings | SETTINGS | Profile mapping for Chromecast: MENU long-press, Shield: BACK long-press | | search | search | SEARCH | Limited usability without keyboard or voice input | +| seek | seek | - | Only available with Google Cast. | - Available Android remote keycodes are defined in: https://github.com/tronikos/androidtvremote2/blob/v0.0.14/src/androidtvremote2/remotemessage.proto#L90 diff --git a/docs/settings.md b/docs/settings.md index 963b704..5de8068 100644 --- a/docs/settings.md +++ b/docs/settings.md @@ -12,6 +12,8 @@ - When using mesh networking or professional networking gear, mDNS may be disabled or only specific mDNS services may be allowed. In such cases, please check the manufacturer's documentation on how to enable mDNS or specific mDNS services. +- When using DHCP: a static IP address reservation for the Android TV devices is recommended. + A fixed IP address can speed up reconnection after the Remote wakes up from standby. ## Limitations and Known Issues @@ -24,6 +26,8 @@ - If these don't work, neither will this integration. - Not every app will work or supports all keycodes. - For example, some IP-TV apps don't support channel-up & down commands. +- Retrieving the installed applications is not supported. + - The shown apps in the input selection list are a pre-defined list of common applications. - Some devices, like TCL, become unavailable after they are turned off, unless you activate the `Screenless service`. - Activate it under: Settings, System, Power and energy: Screenless service diff --git a/driver.json b/driver.json index 55b86db..0bb059f 100644 --- a/driver.json +++ b/driver.json @@ -12,7 +12,7 @@ "developer": { "name": "Unfolded Circle ApS", "email": "hello@unfoldedcircle.com", - "url": "https://www.unfoldedcircle.com" + "url": "https://support.unfoldedcircle.com/hc/en-us/articles/19479709099804" }, "home_page": "https://www.unfoldedcircle.com", "setup_data_schema": { @@ -32,9 +32,9 @@ "field": { "label": { "value": { - "en": "The integration will discover your Android TV on your network. Only devices running the [Android TV Remote Service](https://play.google.com/store/apps/details?id=com.google.android.tv.remote.service) are supported.\nDuring the process, you might need to enter a PIN that is shown on your Android TV. Please make sure that your Android TV is powered on and that no old pairing request is shown.\nIf pairing continuously fails, reboot your Android TV device and try again.", - "de": "Diese Integration wird deine Android TV Geräte in deinem Netzwerk erkennen. Nur Geräte auf denen [Android TV Remote Service](https://play.google.com/store/apps/details?id=com.google.android.tv.remote.service) läuft werden unterstützt.\nWährend der Einrichtung der Integration wird ein PIN abgefragt der auf deinem Android TV angezeigt wird. Bitte stelle sicher, dass dein Android TV eingeschaltet ist und keine alte Pairing Anforderung gezeigt wird.\nWenn das Pairen wiederholt fehlschlägt, starte dein Android TV Gerät neu und versuche es erneut.", - "fr": "L'intégration découvrira votre Android TV sur votre réseau. Seuls les appareils faisant tourner le [Android TV Remote Service](https://play.google.com/store/apps/details?id=com.google.android.tv.remote.service) sont supportés.\nDurant la procédure, vous devrez saisir un code PIN qui sera affiché sur votre Android TV. Assurez-vous que votre Android TV est allumée et qu'aucune ancienne requête d'apparaige est affichée.\nSi l'appairage échoue systématiquement, redémarrez votre Android TV et réessayez" + "en": "The integration discovers Android TV devices on the network. Only devices running the [Android TV Remote Service](https://play.google.com/store/apps/details?id=com.google.android.tv.remote.service) are supported.\nDuring the process, you might need to enter a PIN that is shown on your Android TV. Please make sure that your Android TV is powered on and that no old pairing request is shown.\nIf pairing continuously fails, reboot your Android TV device and try again.\n\nPlease see our [support article](https://support.unfoldedcircle.com/hc/en-us/articles/19479709099804) for requirements, features and restrictions.", + "de": "Die Integration findet Android TV Geräte im Netzwerk. Nur Geräte auf denen [Android TV Remote Service](https://play.google.com/store/apps/details?id=com.google.android.tv.remote.service) läuft werden unterstützt.\nWährend der Einrichtung der Integration wird ein PIN abgefragt der auf deinem Android TV angezeigt wird. Bitte stelle sicher, dass dein Android TV eingeschaltet ist und keine alte Pairing Anforderung gezeigt wird.\nWenn das Pairen wiederholt fehlschlägt, starte dein Android TV Gerät neu und versuche es erneut.\n\nBitte beachte unseren [Support-Artikel](https://support.unfoldedcircle.com/hc/en-us/articles/19479709099804) zu Anforderungen, unterstützten Funktionen und Einschränkungen.", + "fr": "L’intégration détecte les appareils Android TV sur le réseau. Seuls les appareils faisant tourner le [Android TV Remote Service](https://play.google.com/store/apps/details?id=com.google.android.tv.remote.service) sont supportés.\nDurant la procédure, vous devrez saisir un code PIN qui sera affiché sur votre Android TV. Assurez-vous que votre Android TV est allumée et qu'aucune ancienne requête d'apparaige est affichée.\nSi l'appairage échoue systématiquement, redémarrez votre Android TV et réessayez.\n\nVeuillez consulter [l’article de support](https://support.unfoldedcircle.com/hc/en-us/articles/19479709099804) pour connaître les exigences, les fonctionnalités prises en charge et les restrictions." } } } diff --git a/intg-androidtv/profiles.py b/intg-androidtv/profiles.py index fb64c68..ac5eace 100644 --- a/intg-androidtv/profiles.py +++ b/intg-androidtv/profiles.py @@ -81,9 +81,6 @@ media_player.Features.MEDIA_DURATION, media_player.Features.MEDIA_TYPE, media_player.Features.SEEK, - media_player.Features.VOLUME, - media_player.Features.VOLUME_UP_DOWN, - media_player.Features.MUTE_TOGGLE, ]