home-assistant / android

:iphone: Home Assistant Companion for Android
https://companion.home-assistant.io/
Apache License 2.0
2.3k stars 636 forks source link

Wear OS: Add option to link shortcut tiles #4068

Open Simsala91 opened 10 months ago

Simsala91 commented 10 months ago

Is your feature request related to a problem? Please describe. I have a lot of different things that I would possibly like to control from my Smartwatch, but there are only 7 possible actions per tile. Swiping through several tiles to get to the one I'd like to control doesn't feel right, and also the amount of tiles that can be added is limited by the Smartwatch.

Describe the solution you'd like Add the possibility to add a shortcut-tile-link to a shortcut tile. When that link is pressed, the linked shortcut tile should be opened.

For example:

I have the following three shortcut tiles:

Main-Tile: main-tile TV-Tile: tv-tile Example-Room-Tile: room-tile

When I click on "TV" on the main-tile, I want to go directly to the tv-tile, if I press on any of the rooms, I want to go to a corresponding room-tile.

It should also be possible to create and link tiles that are not part of the tiles that are directly accessible from the watch. This would allow to navigate through the different actions I would like to have available on the watch without having to swipe through 7 different tiles. It would also be enough to have only 1 tile for home assistant, since everything is now accessible from that one main tile.

Describe alternatives you've considered, if any Some option to create your own completely customizable tiles for wear OS like lovelace, but that would probably too complicated.

dshokouhi commented 10 months ago

I am not sure this is going to be possible, apps cannot navigate to different tiles they can only navigate to elements within the app itself. Have you seen an app do what you are requesting?

lovelace tiles will not be possible, no WebView components are on a watch

Simsala91 commented 10 months ago

If it can't be linked to an actual tile, maybe it could be an option to change the current tile to the content of the linked tile?

It also doesn't necessarly need to be a link to another tile. It could also be a special configurable button like:

wear_os_link.tv_button:
  items:
    switch.tv-back
    switch.tv-up
    switch.tv-ok
    switch.tv-left
    switch.tv-right
    switch.tv-settings
    switch.tv-down
  name: TV
  icon: mdi-tv

And when you click it, the content of the current tile gets updated to the items specfied in the wear_os_link.tv_button.

Then enable wear_os_link as a possible entity for the wear os tile.

This would also enable configuring something that has a deeper navigation, if you add another wear_os_link to the items:

wear_os_link.tv_button:
  items:
    switch.tv-back
    switch.tv-up
    switch.tv-ok
    switch.tv-left
    switch.tv-right
    wear_os_link.tv_more
    switch.tv-down
  name: TV
  icon: mdi-tv

wear_os_link.tv_more:
  items:
    ...
  name: More
  icon: ...

And as another benefit, most of the configuration would be done in HA and not on the watch, making it much easier to switch watches or if you have multiple users with watches that need similar configuration.

But obviously just an idea, think it would make wear os a lot more appealing if it was easier to have more actions available from one tile.

dshokouhi commented 10 months ago

If it can't be linked to an actual tile, maybe it could be an option to change the current tile to the content of the linked tile?

This sounds very confusing and too much work for little reward.

And as another benefit, most of the configuration would be done in HA and not on the watch, making it much easier to switch watches or if you have multiple users with watches that need similar configuration.

This will require changes from HA core which means the request needs to be handled in HA forum before the app will consider it however this does not seem like a user friendly approach.

Personally speaking this does not sound like a good idea to achieve. Tiles have very limited space and having to add navigational elements in them is going to be confusing for users and a nightmare for maintenance. If you like to create a lot of tiles then I suggest coming up with a better approach for how to navigate to them on your own watch for your own use case. Every user is going to want different tiles and different data on those tiles.

Simsala91 commented 10 months ago

Tiles have very limited space

How is this an argument against navigation? If I had all the space in the world, I wouldn't need navigation since everything would fit on the screen. With navigation, you can control as many things as you like. Currently, you can only control 7 per tile.

confusing for users and a nightmare for maintenance.

I don't see how the option to have navigation in wear os is more confusing than having the option to navigate through lovelace. Users don't have to use it if they don't want to and are happy with their 7 tiles.

There are a lot of users that have way more than 50 entities that they would like to control. If there is no possibility to add any form of navigation - neither in the app nor in the tiles, the wear os app will remain to be nothing more than a gimmick for those users. Scrolling through 200+ entities on the wearOS-app without any meaningful way to rearange them is just not really usable.

In the current state, I would have to manually create 7 tiles (which will also mean I will only have 3 tiles left for every other app) just to be able to control 25% of my entities. If I reset my phone or my watch or buy a new one, I will have to manually create those tiles again, same if anyone else from my household wants to get basic control from their smartwatch. And I have to do this on the tiny watch screen. There is a reason why you don't have to recreate your lovelace configuration for every new device you control and for every user you grant access. There should really be some sort of configurable navigation through wear os, and it should be configurable globally. Maybe not in the way I described it, but in my opinion, the current state of the wearOS app is just not practicable.

dshokouhi commented 10 months ago

Scrolling through 200+ entities on the wearOS-app without any meaningful way to rearange them is just not really usable.

please use the favorites feature to set and rearrange your favorite entities https://companion.home-assistant.io/docs/wear-os/#favorites

There should really be some sort of configurable navigation through wear os, and it should be configurable globally.

This would require changes to HA core before the app can use it, feature requests for HA core need to be made in the forum

Simsala91 commented 10 months ago

please use the favorites

I have set favorites, but I have a lot of entities that I regularly want to control. So either I set up 50+ favorites, and I hope you understand that the user experience is pretty poor when you have to scroll through more than 50 entities on a smart watch screen. Or I use only a few entities, and for every other entity it will be much faster to just get my phone.

This would require changes to HA core before the app can use it, feature requests for HA core need to be made in the forum

Created feature request in forum:

https://community.home-assistant.io/t/create-navigational-features-for-wearos/659798

dshokouhi commented 9 months ago

I have to admit I am still not sure this is correct for tiles to add navigation. While I understand for your own use case you may run out of tile space, its very limited. Tiles are meant for quick glances and the amount of tiles visible depends on the watch itself.

Looking at Googles own recommendation they do not recommend doing too much in the tile. In fact an action should either trigger immediately or take the user to a specific section of the app. Maybe it makes sense to let users add links to specific areas or groups of entities?

https://developer.android.com/training/wearables/tiles#intended-use

Personally speaking I think the feature where we allow multiple tiles to be added is sufficient enough for the majority of use cases.

Simsala91 commented 9 months ago

Maybe it makes sense to let users add links to specific areas or groups of entities?

That sounds like a very decent solution that would probably cover most usecases :)