Releases: Nerwyn/android-tv-card
4.0.5 - Universal Remote Card
⚠️ BREAKING CHANGES ⚠️
- Styles are now set using
CSS Styles
fields which accepts pure CSS with templates. - Global button styles have been deprecated since they can be included in the global CSS styles.
- Some special shortcut alternate names have been deprecated in favor of one name per special shortcut.
- Platform names have been changed to be more human friendly.
- Template custom actions (not templating) are obsoleted, as there wasn't a good way to handle them in the configuration UI that would be better handled by copying other custom actions.
slider_id
has been deprecated and rolled back intomedia_player_id
.
To update your old configuration, open the remote configuration UI editor, scroll to the bottom of the general tab, click the update old config button, and save. You may have to make some adjustments to your remote configuration if they do not update correctly. Sorry for the inconvenience.
Universal Remote Card
Changes in 4.0.5
- Fix sliders for rtl direction languages.
Setup (Almost) Entirely Through the UI
Version 4 of this project introduces a fully functional configuration user interface! No more poring over the README and digging through the out of date Home Assistant community thread to figure out how to use this card! Well, sort of. You'll still have to use YAML to do some templating in fields that don't normally accept text like range and step, and to learn about CSS style options. Still you should now be able to do the vast majority of custom actions setup just through the user interface. You can also hover your mouse over the remote preview, and it will outline the element and display a tooltip with it's element name or CSS selector.
True Universal Support
This card now supports many more platforms out of the box! Previously the default keys and source lists were just for Android TV. Now this card supports these platforms with no additional custom action configuration:
- Android TV (with keyboard)
- Fire TV (with keyboard)
- Roku (with keyboard)
- Kodi (with keyboard)
- Apple TV
- Samsung TV
- LG webOS
Adding support for additional platforms can be made via feature or pull requests if there is a way to integrate them with Home Assistant. I personally use Android TV, so I'm very open to help for further improving the default key and source lists for the other platforms. Keyboard support is also dependent on there being a way to send keyboard commands via their Home Assistant integrations, and can also be added if there is a way to do so and individuals to help test it.
Multiple Touchpads and Sliders
You can now create touchpad and slider custom actions! Creating a slider or touchpad with the same names as the default elements will overwrite the default ones. Creating slider or touchpads with different names will create distinct ones that you can use to include multiple sliders and touchpads in your remote. Touchpads also now support up to five icons and labels, one for the center and each direction. Use these to clarify what the touchpad does if not just navigation.
You can now also add labels to custom actions. Like other fields these can be templated to include dynamic information.
Rebranding to Reflect Expanded Functionality
When this project first started, it was just to add Android TV support to an existing project. Since then it has greatly expanded in scope to support buttons, touchpad, sliders, and keyboards on many platforms with several different action methods and many different action types. Because of the greatly expanded scope of this project since release, it is being rebranded as Universal Remote Card.
What's Changed
- Rebranded to Universal Remote Card.
- Fully functional Configuration UI.
- Out of the box support for default keys and sources for more platforms.
- Custom actions must contain their original default action information if overwriting one.
- Obsoleted templated custom actions in favor of using the copy custom action button in the configuration UI.
Patch Version Changes
- Fix missing hold action repeats for new platform volume and direction buttons.
- Delete deprecated _row keys on update old config.
- Fix LG webOS default key and source actions.
- Fix Roku default key icons.
- Fix sliders for rtl direction languages.
Full Changelog: 3.9.4...4.0.5
4.0.4 - Universal Remote Card
⚠️ BREAKING CHANGES ⚠️
- Styles are now set using
CSS Styles
fields which accepts pure CSS with templates. - Global button styles have been deprecated since they can be included in the global CSS styles.
- Some special shortcut alternate names have been deprecated in favor of one name per special shortcut.
- Platform names have been changed to be more human friendly.
- Template custom actions (not templating) are obsoleted, as there wasn't a good way to handle them in the configuration UI that would be better handled by copying other custom actions.
slider_id
has been deprecated and rolled back intomedia_player_id
.
To update your old configuration, open the remote configuration UI editor, scroll to the bottom of the general tab, click the update old config button, and save. You may have to make some adjustments to your remote configuration if they do not update correctly. Sorry for the inconvenience.
Universal Remote Card
Changes in 4.0.4
- Fix Roku default key icons.
Setup (Almost) Entirely Through the UI
Version 4 of this project introduces a fully functional configuration user interface! No more poring over the README and digging through the out of date Home Assistant community thread to figure out how to use this card! Well, sort of. You'll still have to use YAML to do some templating in fields that don't normally accept text like range and step, and to learn about CSS style options. Still you should now be able to do the vast majority of custom actions setup just through the user interface. You can also hover your mouse over the remote preview, and it will outline the element and display a tooltip with it's element name or CSS selector.
True Universal Support
This card now supports many more platforms out of the box! Previously the default keys and source lists were just for Android TV. Now this card supports these platforms with no additional custom action configuration:
- Android TV (with keyboard)
- Fire TV (with keyboard)
- Roku (with keyboard)
- Kodi (with keyboard)
- Apple TV
- Samsung TV
- LG webOS
Adding support for additional platforms can be made via feature or pull requests if there is a way to integrate them with Home Assistant. I personally use Android TV, so I'm very open to help for further improving the default key and source lists for the other platforms. Keyboard support is also dependent on there being a way to send keyboard commands via their Home Assistant integrations, and can also be added if there is a way to do so and individuals to help test it.
Multiple Touchpads and Sliders
You can now create touchpad and slider custom actions! Creating a slider or touchpad with the same names as the default elements will overwrite the default ones. Creating slider or touchpads with different names will create distinct ones that you can use to include multiple sliders and touchpads in your remote. Touchpads also now support up to five icons and labels, one for the center and each direction. Use these to clarify what the touchpad does if not just navigation.
You can now also add labels to custom actions. Like other fields these can be templated to include dynamic information.
Rebranding to Reflect Expanded Functionality
When this project first started, it was just to add Android TV support to an existing project. Since then it has greatly expanded in scope to support buttons, touchpad, sliders, and keyboards on many platforms with several different action methods and many different action types. Because of the greatly expanded scope of this project since release, it is being rebranded as Universal Remote Card.
What's Changed
- Rebranded to Universal Remote Card.
- Fully functional Configuration UI.
- Out of the box support for default keys and sources for more platforms.
- Custom actions must contain their original default action information if overwriting one.
- Obsoleted templated custom actions in favor of using the copy custom action button in the configuration UI.
Patch Version Changes
- Fix missing hold action repeats for new platform volume and direction buttons.
- Delete deprecated _row keys on update old config.
- Fix LG webOS default key and source actions.
- Fix Roku default key icons.
Full Changelog: 3.9.4...4.0.4
4.0.3 - Universal Remote Card
⚠️ BREAKING CHANGES ⚠️
- Styles are now set using
CSS Styles
fields which accepts pure CSS with templates. - Global button styles have been deprecated since they can be included in the global CSS styles.
- Some special shortcut alternate names have been deprecated in favor of one name per special shortcut.
- Platform names have been changed to be more human friendly.
- Template custom actions (not templating) are obsoleted, as there wasn't a good way to handle them in the configuration UI that would be better handled by copying other custom actions.
slider_id
has been deprecated and rolled back intomedia_player_id
.
To update your old configuration, open the remote configuration UI editor, scroll to the bottom of the general tab, click the update old config button, and save. You may have to make some adjustments to your remote configuration if they do not update correctly. Sorry for the inconvenience.
Universal Remote Card
Changes in 4.0.3
- Delete deprecated
_row
keys on update old config. - Fix LG webOS default key and source actions.
Setup (Almost) Entirely Through the UI
Version 4 of this project introduces a fully functional configuration user interface! No more poring over the README and digging through the out of date Home Assistant community thread to figure out how to use this card! Well, sort of. You'll still have to use YAML to do some templating in fields that don't normally accept text like range and step, and to learn about CSS style options. Still you should now be able to do the vast majority of custom actions setup just through the user interface. You can also hover your mouse over the remote preview, and it will outline the element and display a tooltip with it's element name or CSS selector.
True Universal Support
This card now supports many more platforms out of the box! Previously the default keys and source lists were just for Android TV. Now this card supports these platforms with no additional custom action configuration:
- Android TV (with keyboard)
- Fire TV (with keyboard)
- Roku (with keyboard)
- Kodi (with keyboard)
- Apple TV
- Samsung TV
- LG webOS
Adding support for additional platforms can be made via feature or pull requests if there is a way to integrate them with Home Assistant. I personally use Android TV, so I'm very open to help for further improving the default key and source lists for the other platforms. Keyboard support is also dependent on there being a way to send keyboard commands via their Home Assistant integrations, and can also be added if there is a way to do so and individuals to help test it.
Multiple Touchpads and Sliders
You can now create touchpad and slider custom actions! Creating a slider or touchpad with the same names as the default elements will overwrite the default ones. Creating slider or touchpads with different names will create distinct ones that you can use to include multiple sliders and touchpads in your remote. Touchpads also now support up to five icons and labels, one for the center and each direction. Use these to clarify what the touchpad does if not just navigation.
You can now also add labels to custom actions. Like other fields these can be templated to include dynamic information.
Rebranding to Reflect Expanded Functionality
When this project first started, it was just to add Android TV support to an existing project. Since then it has greatly expanded in scope to support buttons, touchpad, sliders, and keyboards on many platforms with several different action methods and many different action types. Because of the greatly expanded scope of this project since release, it is being rebranded as Universal Remote Card.
What's Changed
- Rebranded to Universal Remote Card.
- Fully functional Configuration UI.
- Out of the box support for default keys and sources for more platforms.
- Custom actions must contain their original default action information if overwriting one.
- Obsoleted templated custom actions in favor of using the copy custom action button in the configuration UI.
Patch Version Changes
- Fix missing hold action repeats for new platform volume and direction buttons.
- Delete deprecated _row keys on update old config.
- Fix LG webOS default key and source actions.
Full Changelog: 3.9.4...4.0.3
4.0.1 - Universal Remote Card
⚠️ BREAKING CHANGES ⚠️
- Styles are now set using
CSS Styles
fields which accepts pure CSS with templates. - Global button styles have been deprecated since they can be included in the global CSS styles.
- Some special shortcut alternate names have been deprecated in favor of one name per special shortcut.
- Platform names have been changed to be more human friendly.
- Template custom actions (not templating) are obsoleted, as there wasn't a good way to handle them in the configuration UI that would be better handled by copying other custom actions.
slider_id
has been deprecated and rolled back intomedia_player_id
.
To update your old configuration, open the remote configuration UI editor, scroll to the bottom of the general tab, click the update old config button, and save. You may have to make some adjustments to your remote configuration if they do not update correctly. Sorry for the inconvenience.
Changes in 4.0.1
- Fix missing hold action repeats for new platform volume and direction buttons.
Universal Remote Card
Setup (Almost) Entirely Through the UI
Version 4 of this project introduces a fully functional configuration user interface! No more poring over the README and digging through the out of date Home Assistant community thread to figure out how to use this card! Well, sort of. You'll still have to use YAML to do some templating in fields that don't normally accept text like range and step, and to learn about CSS style options. Still you should now be able to do the vast majority of custom actions setup just through the user interface. You can also hover your mouse over the remote preview, and it will outline the element and display a tooltip with it's element name or CSS selector.
True Universal Support
This card now supports many more platforms out of the box! Previously the default keys and source lists were just for Android TV. Now this card supports these platforms with no additional custom action configuration:
- Android TV (with keyboard)
- Fire TV (with keyboard)
- Roku (with keyboard)
- Kodi (with keyboard)
- Apple TV
- Samsung TV
- LG webOS
Adding support for additional platforms can be made via feature or pull requests if there is a way to integrate them with Home Assistant. I personally use Android TV, so I'm very open to help for further improving the default key and source lists for the other platforms. Keyboard support is also dependent on there being a way to send keyboard commands via their Home Assistant integrations, and can also be added if there is a way to do so and individuals to help test it.
Multiple Touchpads and Sliders
You can now create touchpad and slider custom actions! Creating a slider or touchpad with the same names as the default elements will overwrite the default ones. Creating slider or touchpads with different names will create distinct ones that you can use to include multiple sliders and touchpads in your remote. Touchpads also now support up to five icons and labels, one for the center and each direction. Use these to clarify what the touchpad does if not just navigation.
You can now also add labels to custom actions. Like other fields these can be templated to include dynamic information.
Rebranding to Reflect Expanded Functionality
When this project first started, it was just to add Android TV support to an existing project. Since then it has greatly expanded in scope to support buttons, touchpad, sliders, and keyboards on many platforms with several different action methods and many different action types. Because of the greatly expanded scope of this project since release, it is being rebranded as Universal Remote Card.
What's Changed
- Rebranded to Universal Remote Card.
- Fully functional Configuration UI.
- Out of the box support for default keys and sources for more platforms.
- Custom actions must contain their original default action information if overwriting one.
- Obsoleted templated custom actions in favor of using the copy custom action button in the configuration UI.
Patch Version Changes
- Fix missing hold action repeats for new platform volume and direction buttons.
Full Changelog: 3.9.4...4.0.1
4.0.0 - Universal Remote Card
⚠️ BREAKING CHANGES ⚠️
- Styles are now set using
CSS Styles
fields which accepts pure CSS with templates. - Global button styles have been deprecated since they can be included in the global CSS styles.
- Some special shortcut alternate names have been deprecated in favor of one name per special shortcut.
- Platform names have been changed to be more human friendly.
- Template custom actions (not templating) are obsoleted, as there wasn't a good way to handle them in the configuration UI that would be better handled by copying other custom actions.
slider_id
has been deprecated and rolled back intomedia_player_id
.
To update your old configuration, open the remote configuration UI editor, scroll to the bottom of the general tab, click the update old config button, and save. You may have to make some adjustments to your remote configuration if they do not update correctly. Sorry for the inconvenience.
Universal Remote Card
Setup (Almost) Entirely Through the UI
Version 4 of this project introduces a fully functional configuration user interface! No more poring over the README and digging through the out of date Home Assistant community thread to figure out how to use this card! Well, sort of. You'll still have to use YAML to do some templating in fields that don't normally accept text like range and step, and to learn about CSS style options. Still you should now be able to do the vast majority of custom actions setup just through the user interface. You can also hover your mouse over the remote preview, and it will outline the element and display a tooltip with it's element name or CSS selector.
True Universal Support
This card now supports many more platforms out of the box! Previously the default keys and source lists were just for Android TV. Now this card supports these platforms with no additional custom action configuration:
- Android TV (with keyboard)
- Fire TV (with keyboard)
- Roku (with keyboard)
- Kodi (with keyboard)
- Apple TV
- Samsung TV
- LG webOS
Adding support for additional platforms can be made via feature or pull requests if there is a way to integrate them with Home Assistant. I personally use Android TV, so I'm very open to help for further improving the default key and source lists for the other platforms. Keyboard support is also dependent on there being a way to send keyboard commands via their Home Assistant integrations, and can also be added if there is a way to do so and individuals to help test it.
Multiple Touchpads and Sliders
You can now create touchpad and slider custom actions! Creating a slider or touchpad with the same names as the default elements will overwrite the default ones. Creating slider or touchpads with different names will create distinct ones that you can use to include multiple sliders and touchpads in your remote. Touchpads also now support up to five icons and labels, one for the center and each direction. Use these to clarify what the touchpad does if not just navigation.
You can now also add labels to custom actions. Like other fields these can be templated to include dynamic information.
Rebranding to Reflect Expanded Functionality
When this project first started, it was just to add Android TV support to an existing project. Since then it has greatly expanded in scope to support buttons, touchpad, sliders, and keyboards on many platforms with several different action methods and many different action types. Because of the greatly expanded scope of this project since release, it is being rebranded as Universal Remote Card.
What's Changed
- Rebranded to Universal Remote Card.
- Fully functional Configuration UI.
- Out of the box support for default keys and sources for more platforms.
- Custom actions must contain their original default action information if overwriting one.
- Obsoleted templated custom actions in favor of using the copy custom action button in the configuration UI.
Full Changelog: 3.9.4...4.0.0
3.9.4 - Better Keyboards
Changes in 3.9.4
- 2024.8 Updates
- Change action
call-service
toperform-action
and fieldservice
toperform_action
.- Old configs with action
call-service
andservice
field will continue to work. - Deprecated config update logic will update existing configs that are edited to use new fields.
- Old configs with action
- Change action
- Change slider height to match buttons (48px).
Better Keyboards #55
Minor Breaking Change: Use --icon-color
to set icon color.
Better Keyboards
A Whole New Interface
All three keyboard modes now have a unified user interface - a modal dialog. Activating any of these actions will create a text dialog which follows your theme styles. While this dialog is functionally similar to the prompt previously used for textbox
and search
(but way prettier), it allows you to better view what you've typed in seamless keyboard
mode as long as the dialog remains open.
Do note that there is no way to retrieve the on platform text for most integrations, and that closing the dialog will lose your text history (you can still backspace away anything on your Android TV or other platform device safely). Also, trying to edit any text that is in the middle of what you have typed or erasing more than one character at a time can result in undesirable behavior, as we can only remove one character for most platforms. Because of this, the seamless keyboard
dialog will attempt to force the cursor to the end your text if you try to move it backwards.
Call From Anywhere
Keyboards are now actions! You can now use keyboard
, textbox
or search
as an action for any button or touchpad (or slider if you really want to) action. You can also configure and include keyboards for multiple different platforms on one card using the platform
(formerly keyboard_mode
), keyboard_id
, remote_id
, and media_player_id
fields on a custom action. These fields can still be set globally, but will be overridden if set explicitly for a custom action.
platform: ANDROID TV # formerly keyboard_mode, still defaults to ANDROID TV
keyboard_id: remote.google_tv_adb
custom_actions:
kodi_keyboard:
icon: mdi:kodi
tap_action:
action: keyboard # you can include keyboard, textbox, and search as actions anywhere now
platform: KODI # platform and keyboard ID can be set here and will override the global value
keyboard_id: remote.kodi
keyboard_prompt: This is the Kodi keyboard # Replace the placeholder text of the dialog text area
rows:
- - keyboard
- search # uses the global platform and keyboard_id
- kodi_keyboard
Improved Performance (thanks to the Home Assistant developers)
Thanks to a recent feature implemented by the Home Assistant developers, the ADB integration now also exposes a remote entity. Making ADB calls through this entity is faster than doing so through the old media player entity, including those used for sending characters. This card now supports this new remote entity, and by switching your remote keyboard_id
to it you'll experience a noticeable improvement to Android and Fire TV keyboard performance!
Seamless Kodi Keyboard Support
As a side effect of the new keyboard dialog, seamless mode now works for Kodi keyboards. It even performs better than the other platforms as you can edit the middle of your input and safely move the cursor around.
Button and Ripple Upgrades
Buttons have been updated to no longer use the Home Assistant icon button element. This allows us to upgrade the ripple effects for both buttons and the touchpad. In addition to this newer ripple effect being less prone to being stuck, I've added some more render logic on top of it so that ripples should now no longer get stuck in an on state (I hope)!
Other Changes
- Added sources and icons for Filmplus, NPO Start, KIJK #104, and Jellyfin #110.
- Build pipeline improvements to greatly reduce file size and match the ES versions used by Home Assistant frontend.
- As a side of effect of this, this card may have stopped working with older devices.
- Reduced button swipe scroll sensitivity.
What's Changed
New Contributors
Patch Version Changes
- Fix support for older devices that do not support negative lookbehind regex.
- Disable swipe scroll on vertical sliders.
- Fix slider icon color.
- Fix Kodi search by opening search page with keyboard dialog.
- Add default sources
dazn
,discoveryplus
,nrktv
,tv2play
andviaplay
(all untested). - Add toggle action.
- Reorder actions to match default cards.
- Improve tooltip transform to use slider container height/width to determine how offset from slider it should be.
- Remove z-indexes from all element styles to improve interactions with other cards.
- 2024.8 Updates
- Change action
call-service
toperform-action
and fieldservice
toperform_action
.- Old configs with action
call-service
andservice
field will continue to work. - Deprecated config update logic will update existing configs that are edited to use new fields.
- Old configs with action
- Change action
- Change slider height to match buttons (48px).
Full Changelog: 3.8.2...3.9.4
3.9.3 - Better Keyboards
Changes in 3.9.3
- Add toggle action.
- Reorder actions to match default cards.
- Improve tooltip transform to use slider container height/width to determine how offset from slider it should be.
- Remove z-indexes from all element styles to improve interactions with other cards.
Better Keyboards #55
Minor Breaking Change: Use --icon-color
to set icon color.
Better Keyboards
A Whole New Interface
All three keyboard modes now have a unified user interface - a modal dialog. Activating any of these actions will create a text dialog which follows your theme styles. While this dialog is functionally similar to the prompt previously used for textbox
and search
(but way prettier), it allows you to better view what you've typed in seamless keyboard
mode as long as the dialog remains open.
Do note that there is no way to retrieve the on platform text for most integrations, and that closing the dialog will lose your text history (you can still backspace away anything on your Android TV or other platform device safely). Also, trying to edit any text that is in the middle of what you have typed or erasing more than one character at a time can result in undesirable behavior, as we can only remove one character for most platforms. Because of this, the seamless keyboard
dialog will attempt to force the cursor to the end your text if you try to move it backwards.
Call From Anywhere
Keyboards are now actions! You can now use keyboard
, textbox
or search
as an action for any button or touchpad (or slider if you really want to) action. You can also configure and include keyboards for multiple different platforms on one card using the platform
(formerly keyboard_mode
), keyboard_id
, remote_id
, and media_player_id
fields on a custom action. These fields can still be set globally, but will be overridden if set explicitly for a custom action.
platform: ANDROID TV # formerly keyboard_mode, still defaults to ANDROID TV
keyboard_id: remote.google_tv_adb
custom_actions:
kodi_keyboard:
icon: mdi:kodi
tap_action:
action: keyboard # you can include keyboard, textbox, and search as actions anywhere now
platform: KODI # platform and keyboard ID can be set here and will override the global value
keyboard_id: remote.kodi
keyboard_prompt: This is the Kodi keyboard # Replace the placeholder text of the dialog text area
rows:
- - keyboard
- search # uses the global platform and keyboard_id
- kodi_keyboard
Improved Performance (thanks to the Home Assistant developers)
Thanks to a recent feature implemented by the Home Assistant developers, the ADB integration now also exposes a remote entity. Making ADB calls through this entity is faster than doing so through the old media player entity, including those used for sending characters. This card now supports this new remote entity, and by switching your remote keyboard_id
to it you'll experience a noticeable improvement to Android and Fire TV keyboard performance!
Seamless Kodi Keyboard Support
As a side effect of the new keyboard dialog, seamless mode now works for Kodi keyboards. It even performs better than the other platforms as you can edit the middle of your input and safely move the cursor around.
Button and Ripple Upgrades
Buttons have been updated to no longer use the Home Assistant icon button element. This allows us to upgrade the ripple effects for both buttons and the touchpad. In addition to this newer ripple effect being less prone to being stuck, I've added some more render logic on top of it so that ripples should now no longer get stuck in an on state (I hope)!
Other Changes
- Added sources and icons for Filmplus, NPO Start, KIJK #104, and Jellyfin #110.
- Build pipeline improvements to greatly reduce file size and match the ES versions used by Home Assistant frontend.
- As a side of effect of this, this card may have stopped working with older devices.
- Reduced button swipe scroll sensitivity.
What's Changed
New Contributors
Patch Version Changes
- Fix support for older devices that do not support negative lookbehind regex.
- Disable swipe scroll on vertical sliders.
- Fix slider icon color.
- Fix Kodi search by opening search page with keyboard dialog.
- Add default sources
dazn
,discoveryplus
,nrktv
,tv2play
andviaplay
(all untested). - Add toggle action.
- Reorder actions to match default cards.
- Improve tooltip transform to use slider container height/width to determine how offset from slider it should be.
- Remove z-indexes from all element styles to improve interactions with other cards.
Full Changelog: 3.8.2...3.9.3
3.9.2 - Better Keyboards
Changes in 3.9.2
- Disable swipe scroll on vertical sliders.
- Fix slider icon color.
- Fix Kodi search by opening search page with keyboard dialog.
- Add default sources
dazn
,discoveryplus
,nrktv
,tv2play
andviaplay
(all untested).
Better Keyboards #55
Minor Breaking Change: Use --icon-color
to set icon color.
Better Keyboards
A Whole New Interface
All three keyboard modes now have a unified user interface - a modal dialog. Activating any of these actions will create a text dialog which follows your theme styles. While this dialog is functionally similar to the prompt previously used for textbox
and search
(but way prettier), it allows you to better view what you've typed in seamless keyboard
mode as long as the dialog remains open.
Do note that there is no way to retrieve the on platform text for most integrations, and that closing the dialog will lose your text history (you can still backspace away anything on your Android TV or other platform device safely). Also, trying to edit any text that is in the middle of what you have typed or erasing more than one character at a time can result in undesirable behavior, as we can only remove one character for most platforms. Because of this, the seamless keyboard
dialog will attempt to force the cursor to the end your text if you try to move it backwards.
Call From Anywhere
Keyboards are now actions! You can now use keyboard
, textbox
or search
as an action for any button or touchpad (or slider if you really want to) action. You can also configure and include keyboards for multiple different platforms on one card using the platform
(formerly keyboard_mode
), keyboard_id
, remote_id
, and media_player_id
fields on a custom action. These fields can still be set globally, but will be overridden if set explicitly for a custom action.
platform: ANDROID TV # formerly keyboard_mode, still defaults to ANDROID TV
keyboard_id: remote.google_tv_adb
custom_actions:
kodi_keyboard:
icon: mdi:kodi
tap_action:
action: keyboard # you can include keyboard, textbox, and search as actions anywhere now
platform: KODI # platform and keyboard ID can be set here and will override the global value
keyboard_id: remote.kodi
keyboard_prompt: This is the Kodi keyboard # Replace the placeholder text of the dialog text area
rows:
- - keyboard
- search # uses the global platform and keyboard_id
- kodi_keyboard
Improved Performance (thanks to the Home Assistant developers)
Thanks to a recent feature implemented by the Home Assistant developers, the ADB integration now also exposes a remote entity. Making ADB calls through this entity is faster than doing so through the old media player entity, including those used for sending characters. This card now supports this new remote entity, and by switching your remote keyboard_id
to it you'll experience a noticeable improvement to Android and Fire TV keyboard performance!
Seamless Kodi Keyboard Support
As a side effect of the new keyboard dialog, seamless mode now works for Kodi keyboards. It even performs better than the other platforms as you can edit the middle of your input and safely move the cursor around.
Button and Ripple Upgrades
Buttons have been updated to no longer use the Home Assistant icon button element. This allows us to upgrade the ripple effects for both buttons and the touchpad. In addition to this newer ripple effect being less prone to being stuck, I've added some more render logic on top of it so that ripples should now no longer get stuck in an on state (I hope)!
Other Changes
- Added sources and icons for Filmplus, NPO Start, KIJK #104, and Jellyfin #110.
- Build pipeline improvements to greatly reduce file size and match the ES versions used by Home Assistant frontend.
- As a side of effect of this, this card may have stopped working with older devices.
- Reduced button swipe scroll sensitivity.
Patch Version Changes
- Fix support for older devices that do not support negative lookbehind regex.
- Disable swipe scroll on vertical sliders.
- Fix slider icon color.
- Fix Kodi search by opening search page with keyboard dialog.
- Add default sources
dazn
,discoveryplus
,nrktv
,tv2play
andviaplay
(all untested).
What's Changed
New Contributors
Full Changelog: 3.8.2...3.9.2
3.9.1 - Better Keyboards
Changes in 3.9.1
- Fix support for older devices that do not support negative lookbehind regex.
Better Keyboards #55
Better Keyboards
A Whole New Interface
All three keyboard modes now have a unified user interface - a modal dialog. Activating any of these actions will create a text dialog which follows your theme styles. While this dialog is functionally similar to the prompt previously used for textbox
and search
(but way prettier), it allows you to better view what you've typed in seamless keyboard
mode as long as the dialog remains open.
Do note that there is no way to retrieve the on platform text for most integrations, and that closing the dialog will lose your text history (you can still backspace away anything on your Android TV or other platform device safely). Also, trying to edit any text that is in the middle of what you have typed or erasing more than one character at a time can result in undesirable behavior, as we can only remove one character for most platforms. Because of this, the seamless keyboard
dialog will attempt to force the cursor to the end your text if you try to move it backwards.
Call From Anywhere
Keyboards are now actions! You can now use keyboard
, textbox
or search
as an action for any button or touchpad (or slider if you really want to) action. You can also configure and include keyboards for multiple different platforms on one card using the platform
(formerly keyboard_mode
), keyboard_id
, remote_id
, and media_player_id
fields on a custom action. These fields can still be set globally, but will be overridden if set explicitly for a custom action.
platform: ANDROID TV # formerly keyboard_mode, still defaults to ANDROID TV
keyboard_id: remote.google_tv_adb
custom_actions:
kodi_keyboard:
icon: mdi:kodi
tap_action:
action: keyboard # you can include keyboard, textbox, and search as actions anywhere now
platform: KODI # platform and keyboard ID can be set here and will override the global value
keyboard_id: remote.kodi
keyboard_prompt: This is the Kodi keyboard # Replace the placeholder text of the dialog text area
rows:
- - keyboard
- search # uses the global platform and keyboard_id
- kodi_keyboard
Improved Performance (thanks to the Home Assistant developers)
Thanks to a recent feature implemented by the Home Assistant developers, the ADB integration now also exposes a remote entity. Making ADB calls through this entity is faster than doing so through the old media player entity, including those used for sending characters. This card now supports this new remote entity, and by switching your remote keyboard_id
to it you'll experience a noticeable improvement to Android and Fire TV keyboard performance!
Seamless Kodi Keyboard Support
As a side effect of the new keyboard dialog, seamless mode now works for Kodi keyboards. It even performs better than the other platforms as you can edit the middle of your input and safely move the cursor around.
Button and Ripple Upgrades
Buttons have been updated to no longer use the Home Assistant icon button element. This allows us to upgrade the ripple effects for both buttons and the touchpad. In addition to this newer ripple effect being less prone to being stuck, I've added some more render logic on top of it so that ripples should now no longer get stuck in an on state (I hope)!
Other Changes
- Added sources and icons for Filmplus, NPO Start, KIJK #104, and Jellyfin #110.
- Build pipeline improvements to greatly reduce file size and match the ES versions used by Home Assistant frontend.
- As a side of effect of this, this card may have stopped working with older devices.
- Reduced button swipe scroll sensitivity.
Patch Version Changes
- Fix support for older devices that do not support negative lookbehind regex.
What's Changed
New Contributors
Full Changelog: 3.8.2...3.9.1