Custom button card multi-action button and a hold action?

Hello,

I have working custom button card multi-action button that I want to add a hold action to navigate.
I am so far unable to make both work. I have managed to get either working by changing the
indentations but never both. Can you see where my error is? Many thanks

type: custom:button-card
entity: input_boolean.state
color: auto
name: " "
styles:
  card:
    - height: 32px
tap_action:
  action: multi-actions
  actions:
    - action: perform-action
      perform_action: script.single_conditional
      target:
        entity_id: input_boolean.atv_nav
    - action: navigate
      navigation_path: /apple-tv-swipe-1/0
  icon_hold_action:
    - action: navigate
      navigation_path: /apple-tv-swipe-1/0
icon: mdi:apple

To start use - action: call-service

Example :down_arrow:

tap_action:
  action: multi-actions
  actions:
    - action: call-service
      service: script.single_conditional

    - action: call-service
      service: light.turn_on
      data:
        entity_id: light.xxxxxx
hold_action:
    action: call-service
    service: light.turn_off
    data:
        entity_id: light.xxxxx

Thanks!
Not sure I understand your suggestion though?
I am trying to add a hold action to navigate to a working multi-action button that is working as intended and looks like the code below , before I add the hold action.

Where should this code go in there without breaking the multi-action?

This is at least what I think I should add;

      icon_hold_action:
        action: navigate
        navigation_path: /kodi-swipe-1/0

To this working button:

type: custom:button-card
entity: input_boolean.atv
color: auto
name: " "
styles:
  card:
    - height: 32px
tap_action:
  action: multi-actions
  actions:
    - action: perform-action
      perform_action: script.single_conditional
      target:
        entity_id: input_boolean.atv_nav
    - action: navigate
      navigation_path: /apple-tv-swipe-1/0
icon: mdi:apple

like this

type: custom:button-card
entity: input_boolean.state
color: auto
icon: mdi:apple
tap_action:
  action: multi-actions
  actions:
    - action: call-service
      service: script.xxxxxxx
    - action: call-service
      service: light.turn_on
      data:
        entity_id: light.xxxxx
hold_action:
  action: navigate
  navigation_path: old

Is this path a Dashboard? navigation_path: /apple-tv-swipe-1/0?

Yes.
The code you just quoted does not work here with the multi-action.
Als not doing any call-service calls in this button.

what version do you have installed?

Worked fine for me

tap_action:
  action: multi-actions
  actions:
    - action: call-service
      service: script.fan_speed_1
    - action: call-service
      service: light.turn_on
      data:
        entity_id: light.pc_light

You can use - action: perform-action too

tap_action:
  action: multi-actions
  actions:
    - action: perform-action
      perform_action: light.toggle
      target:
        entity_id: light.pc_light
    -  action: perform-action
       perform_action: script.fan_speed_4

Your issue is most likely you nav path

icon_hold_action:
  action: navigate
  navigation_path: main

Thanks again,
The nav paths work fine in many other places so that is not the issue.
So what you are suggesting is that I should put my nav code where your light code is?

Again what is the nav path?

I've reworked most of the standard and custom cards with my own local versions. Forgive me a bit as I catch up on the changes with the HACs downloads.

The nav path is working. Truly.

just not in the custom:button-card?

It is working in the main code I quoted in many places in my install for years.
My issue is that I can not add a hold action navigation to it without breaking it.
I did consult the docs for the card about this but this bit seems unclear to me.
Probably my bad.
Sorry if I am being unclear.

  1. Indentation of icon_hold_action is wrong. It should be at same level as tap_action
  2. icon_hold_action should not be a list.
tap_action:
  action: multi-actions
  actions:
    - action: perform-action
      perform_action: script.single_conditional
      target:
        entity_id: input_boolean.atv_nav
    - action: navigate
      navigation_path: /apple-tv-swipe-1/0
icon_hold_action:
  action: navigate
  navigation_path: /apple-tv-swipe-1/0

Thanks but I spoke too soon...a correction: this breaks the multi-action.

I tested this and it works fine

type: custom:button-card
entity: input_boolean.state
color: auto
icon: mdi:apple
tap_action:
  action: multi-actions
  actions:
    - action: perform-action
      perform_action: light.toggle
      target:
        entity_id: light.pc_light
    - action: navigate
      navigation_path: old
icon_hold_action:
  action: navigate
  navigation_path: main

Thanks.
Possibly because I am loading a script and your version switches a light.
I give up for now but will try and tweak this at a later point.