Skip to content

Releases: Nerwyn/android-tv-card

4.2.0 - Sony BRAVIA and Custom Actions From File

09 Nov 23:27
Compare
Choose a tag to compare

Sony BRAVIA and Custom Actions From File

New Platform - Sony BRAVIA #141

Thanks to the hard work of @alex4108, this remote card now supports a new default platform, Sony BRAVIA! Sony BRAVIA TVs run Android TV, but use a different API and Home Assistant integration. Because it runs Android TV, the Sony BRAVIA platform has keyboard support via the Home Assistant Android Debug Bridge integration.

Custom Actions From File #157

If you have multiple remote cards that use the same custom actions, you can now place these custom actions in a JSON or YAML file on your Home Assistant server and have the remote cards fetch the custom actions from this file. These actions can be added to your remote layout, appear under custom actions in the layout editor, and will be used to autofill new custom actions that share their name.

Other Changes

  • Added more Samsung TV default sources.
  • Added the Peacock TV default source and icon to several platforms.

Full Changelog: 4.1.2...4.2.0

4.1.3 - Templating Overhaul and A New Action

05 Nov 01:42
Compare
Choose a tag to compare

Templating Overhaul and A New Action

Changes in 4.1.3

  • Fix keyboard dialog force cursor to end only for seamless input (excluding Kodi).
  • Fix keyboard dialog seamless input enter command was not platform specific.

Templating Overhaul

Technical Info Dump

Home Assistant's templating is powered by jinja2, a templating engine for Python. Traditional frontend templates in Home Assistant are sent from the frontend to the backend core, where they are processed and then sent back to the frontend. This entire process can take up to a second or more, which can cause frontend elements to appear incorrect for few seconds on page load or when entities change. If you use templates in card-mod styles on other cards or themes you've probably experienced this.

To eliminate the latency of templates being processed in the backend, I developed ha-nunjucks - an alternate synchronous instantaneous frontend only templating system for Home Assistant. Nunjucks is a templating engine for JavaScript maintained by Mozilla that is heavily inspired by jinja2 and shares the same syntax with very few exceptions. With ha-nunjucks templates can be processed instantaneously before your dashboard renders! But there's a catch - all Home Assistant template extensions had to be reimplemented in ha-nunjucks. When I initially developed ha-nunjucks, I only included a handful of extensions like states and attributes, leading to many questions from users as to why things like datetime functions weren't working.

Parity With Backend Templates

As of ha-nunjucks 1.3.0 I've reimplemented almost all of the template extensions listed on the Home Assistant templating page. This includes datetime extensions, courtesy of ts-py-datetime. All but a few obscure templating extensions have been reimplemented in ha-nunjucks. See the ha-nunjucks documentation for more information on how to use all of the new template extensions. While the syntax is mostly the same, there were some limitations I had to work around which may cause slightly different behavior for some of the extensions.

New Action - Evaluate JS

You can now execute JavaScript as an action using Evaluate JS. This action calls the eval function on a code string you write, and can be used to execute blocks of JavaScript code.

⚠️ Warning ⚠️. Executing JavaScript from a string in browser is considered extremely insecure. While this shouldn't be an issue for Home Assistant, I'm trusting that users are not going to use this in a public facing context where someone can modify custom features to execute arbitrary code.

Other Changes

  • Confirmation failure triggers a value and render update, which helps reset styles on action cancellation.
  • Confirmation haptics now fire when box appears.
  • Added more sources using the HA-Firemote launcher list #127 #144.

Patch Version Changes

  • Add default keys for play, pause, and play_pause for Roku and Kodi.
  • Change the Roku default key info icon to asterisk to match the Roku remote.
  • Add default sources waiputv and wow to Android TV, Apple TV, Fire TV, and LG webOS.
  • Add more default sources to various platforms.
  • Add support for all platforms to actions key and source.
  • Fix configuration UI autofill when clearing fields.
  • Fix more-info default target should be the element entity ID.
  • Fix keyboard dialog force cursor to end only for seamless input (excluding Kodi).
  • Fix keyboard dialog seamless input enter command was not platform specific.

Full Changelog: 4.0.6...4.1.3

4.1.2 - Templating Overhaul and A New Action

23 Oct 23:02
Compare
Choose a tag to compare

Templating Overhaul and A New Action

Changes in 4.1.2

  • Fix more-info default target should be the element entity ID.

Templating Overhaul

Technical Info Dump

Home Assistant's templating is powered by jinja2, a templating engine for Python. Traditional frontend templates in Home Assistant are sent from the frontend to the backend core, where they are processed and then sent back to the frontend. This entire process can take up to a second or more, which can cause frontend elements to appear incorrect for few seconds on page load or when entities change. If you use templates in card-mod styles on other cards or themes you've probably experienced this.

To eliminate the latency of templates being processed in the backend, I developed ha-nunjucks - an alternate synchronous instantaneous frontend only templating system for Home Assistant. Nunjucks is a templating engine for JavaScript maintained by Mozilla that is heavily inspired by jinja2 and shares the same syntax with very few exceptions. With ha-nunjucks templates can be processed instantaneously before your dashboard renders! But there's a catch - all Home Assistant template extensions had to be reimplemented in ha-nunjucks. When I initially developed ha-nunjucks, I only included a handful of extensions like states and attributes, leading to many questions from users as to why things like datetime functions weren't working.

Parity With Backend Templates

As of ha-nunjucks 1.3.0 I've reimplemented almost all of the template extensions listed on the Home Assistant templating page. This includes datetime extensions, courtesy of ts-py-datetime. All but a few obscure templating extensions have been reimplemented in ha-nunjucks. See the ha-nunjucks documentation for more information on how to use all of the new template extensions. While the syntax is mostly the same, there were some limitations I had to work around which may cause slightly different behavior for some of the extensions.

New Action - Evaluate JS

You can now execute JavaScript as an action using Evaluate JS. This action calls the eval function on a code string you write, and can be used to execute blocks of JavaScript code.

⚠️ Warning ⚠️. Executing JavaScript from a string in browser is considered extremely insecure. While this shouldn't be an issue for Home Assistant, I'm trusting that users are not going to use this in a public facing context where someone can modify custom features to execute arbitrary code.

Other Changes

  • Confirmation failure triggers a value and render update, which helps reset styles on action cancellation.
  • Confirmation haptics now fire when box appears.
  • Added more sources using the HA-Firemote launcher list #127 #144.

Patch Version Changes

  • Add default keys for play, pause, and play_pause for Roku and Kodi.
  • Change the Roku default key info icon to asterisk to match the Roku remote.
  • Add default sources waiputv and wow to Android TV, Apple TV, Fire TV, and LG webOS.
  • Add more default sources to various platforms.
  • Add support for all platforms to actions key and source.
  • Fix configuration UI autofill when clearing fields.
  • Fix more-info default target should be the element entity ID.

Full Changelog: 4.0.6...4.1.2

4.1.1 - Templating Overhaul and A New Action

19 Oct 00:08
Compare
Choose a tag to compare

Templating Overhaul and A New Action

Changes in 4.11

  • Add default keys for play, pause, and play_pause for Roku and Kodi.
  • Change the Roku default key info icon to asterisk to match the Roku remote.
  • Add default sources waiputv and wow to Android TV, Apple TV, Fire TV, and LG webOS.
  • Add more default sources to various platforms.
  • Add support for all platforms to actions key and source.
  • Fix configuration UI autofill when clearing fields.

Templating Overhaul

Technical Info Dump

Home Assistant's templating is powered by jinja2, a templating engine for Python. Traditional frontend templates in Home Assistant are sent from the frontend to the backend core, where they are processed and then sent back to the frontend. This entire process can take up to a second or more, which can cause frontend elements to appear incorrect for few seconds on page load or when entities change. If you use templates in card-mod styles on other cards or themes you've probably experienced this.

To eliminate the latency of templates being processed in the backend, I developed ha-nunjucks - an alternate synchronous instantaneous frontend only templating system for Home Assistant. Nunjucks is a templating engine for JavaScript maintained by Mozilla that is heavily inspired by jinja2 and shares the same syntax with very few exceptions. With ha-nunjucks templates can be processed instantaneously before your dashboard renders! But there's a catch - all Home Assistant template extensions had to be reimplemented in ha-nunjucks. When I initially developed ha-nunjucks, I only included a handful of extensions like states and attributes, leading to many questions from users as to why things like datetime functions weren't working.

Parity With Backend Templates

As of ha-nunjucks 1.3.0 I've reimplemented almost all of the template extensions listed on the Home Assistant templating page. This includes datetime extensions, courtesy of ts-py-datetime. All but a few obscure templating extensions have been reimplemented in ha-nunjucks. See the ha-nunjucks documentation for more information on how to use all of the new template extensions. While the syntax is mostly the same, there were some limitations I had to work around which may cause slightly different behavior for some of the extensions.

New Action - Evaluate JS

You can now execute JavaScript as an action using Evaluate JS. This action calls the eval function on a code string you write, and can be used to execute blocks of JavaScript code.

⚠️ Warning ⚠️. Executing JavaScript from a string in browser is considered extremely insecure. While this shouldn't be an issue for Home Assistant, I'm trusting that users are not going to use this in a public facing context where someone can modify custom features to execute arbitrary code.

Other Changes

  • Confirmation failure triggers a value and render update, which helps reset styles on action cancellation.
  • Confirmation haptics now fire when box appears.
  • Added more sources using the HA-Firemote launcher list #127 #144.

Patch Version Changes

  • Add default keys for play, pause, and play_pause for Roku and Kodi.
  • Change the Roku default key info icon to asterisk to match the Roku remote.
  • Add default sources waiputv and wow to Android TV, Apple TV, Fire TV, and LG webOS.
  • Add more default sources to various platforms.
  • Add support for all platforms to actions key and source.
  • Fix configuration UI autofill when clearing fields.

Full Changelog: 4.0.6...4.1.1

4.1.0 - Templating Overhaul and A New Action

09 Oct 23:00
Compare
Choose a tag to compare

Templating Overhaul and A New Action

Templating Overhaul

Technical Info Dump

Home Assistant's templating is powered by jinja2, a templating engine for Python. Traditional frontend templates in Home Assistant are sent from the frontend to the backend core, where they are processed and then sent back to the frontend. This entire process can take up to a second or more, which can cause frontend elements to appear incorrect for few seconds on page load or when entities change. If you use templates in card-mod styles on other cards or themes you've probably experienced this.

To eliminate the latency of templates being processed in the backend, I developed ha-nunjucks - an alternate synchronous instantaneous frontend only templating system for Home Assistant. Nunjucks is a templating engine for JavaScript maintained by Mozilla that is heavily inspired by jinja2 and shares the same syntax with very few exceptions. With ha-nunjucks templates can be processed instantaneously before your dashboard renders! But there's a catch - all Home Assistant template extensions had to be reimplemented in ha-nunjucks. When I initially developed ha-nunjucks, I only included a handful of extensions like states and attributes, leading to many questions from users as to why things like datetime functions weren't working.

Parity With Backend Templates

As of ha-nunjucks 1.3.0 I've reimplemented almost all of the template extensions listed on the Home Assistant templating page. This includes datetime extensions, courtesy of ts-py-datetime. All but a few obscure templating extensions have been reimplemented in ha-nunjucks. See the ha-nunjucks documentation for more information on how to use all of the new template extensions. While the syntax is mostly the same, there were some limitations I had to work around which may cause slightly different behavior for some of the extensions.

New Action - Evaluate JS

You can now execute JavaScript as an action using Evaluate JS. This action calls the eval function on a code string you write, and can be used to execute blocks of JavaScript code.

⚠️ Warning ⚠️. Executing JavaScript from a string in browser is considered extremely insecure. While this shouldn't be an issue for Home Assistant, I'm trusting that users are not going to use this in a public facing context where someone can modify custom features to execute arbitrary code.

Other Changes

  • Confirmation failure triggers a value and render update, which helps reset styles on action cancellation.
  • Confirmation haptics now fire when box appears.
  • Added more sources using the HA-Firemote launcher list #127 #144.

Full Changelog: 4.0.6...4.1.0

4.0.6 - Universal Remote Card

04 Oct 00:06
Compare
Choose a tag to compare

⚠️ 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 into media_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.6

  • 2024.10 configuration UI fixes
    • Do not render if config is not defined
    • Only autofill default fields on config changed

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.
  • 2024.10 configuration UI fixes
    • Do not render if config is not defined
    • Only autofill default fields on config changed

Full Changelog: 3.9.4...4.0.6

4.0.5 - Universal Remote Card

14 Sep 03:23
Compare
Choose a tag to compare

⚠️ 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 into media_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

13 Sep 22:07
Compare
Choose a tag to compare

⚠️ 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 into media_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

07 Sep 19:55
Compare
Choose a tag to compare

⚠️ 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 into media_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

05 Sep 23:20
Compare
Choose a tag to compare

⚠️ 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 into media_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