Card para portao eletronico

alguem teria um card pra compartilhar comigo
card de portão eletrônico
uso um switch sonoff e um sensor binario para identifica aberto e fechado, tbm do sonoff

grato a todos.

Uso assim

type: custom:mushroom-template-card
primary: Social
secondary: |-
  {% if is_state('binary_sensor.snsportaosocial',"on") %}
    Aberto
  {%- else -%}
      Fechado
  {% endif %}
icon: |
  {% if is_state('binary_sensor.snsportaosocial',"on") %}
    mdi:gate-alert
  {%- else -%}
    mdi:gate
  {% endif %}
icon_color: |-
  {% if is_state('binary_sensor.snsportaosocial',"on") %}
    red
  {%- else -%}
      green
  {% endif %}
entity: binary_sensor.snsportaosocial
tap_action:
  action: call-service
  service: switch.turn_on
  data: {}
  target:
    entity_id: switch.portao_social
layout: vertical

Uma opção com confirmação para evitar problemas usando o Custom Button Card

      - type: custom:button-card
        tap_action:
          action: call-service
          service: button.press
          service_data:
            entity_id: button.garage_door_button
        confirmation:
          text: |
            [[[
              return `Deseja ${states['binary_sensor.garage_door']?.state === 'on' ? 'fechar' : 'abrir'} a garagem?`
            ]]]
        icon: |
          [[[
            return states['binary_sensor.garage_door']?.state === 'on' ? 'mdi:garage-open-variant' : 'mdi:garage-variant'
          ]]]
        name: |
          [[[
            return states['binary_sensor.garage_door']?.state === 'on' ? 'Aberta' : 'Fechada'
          ]]]
        styles:
          name:
            - margin-bottom: 1rem
            - font-weight: 500
          icon:
            - transition: color 180ms ease-in-out
            - color: |
                [[[
                  return states['binary_sensor.garage_door'].state === 'on' ? 'red' : 'green'
                ]]]

boa noite lucas, obrigado por sua resposta…

tentei utilizar seu card , mas ao clicar o botão, pede uma confimação e após confirmar nada acontece.

na entidade de abertura eu coloqueir ditreto a entidade do sonoff responsavel pela abertura.

está correto assim?

A entidade é do tipo button ou switch? Se for switch troca o button.press por switch.toggle que deve funcionar

obrigado @lucast , agora sim funcionou perfeitamente.

novamente obrigado por sua ajuda.