Enhanced Shutter Card

Please find my feature request under: https://community.home-assistant.io/t/enhanced-shutter-card-with-customizable-shutter-positions/831477.

Thanks in advance for your support
Heinz

Feature requests for custom integrations go to the GitHub repository of the developer(s) of that integration under “Issues” rather than filing it as a feature request for Home Assistant itself like you did.

@HeinzW , I will copy/move this request to my github repository:
See here

hi @marcelhoogantink thanks for this great card, is it possible to change the size of the title/name?

@stones80 , no , but you can always do a PR on github

ok thank you

Hello,

First, thank you for the card, it’s really excellent. I’m using it with success with some shelly switches but when I’m using it with template cover the state is always unavailable.

Here is my template


- platform: template
  covers:
    volets_veranda:
      device_class: shutter
      unique_id: volets_veranda
      friendly_name: "Volets véranda"
      value_template: >
        {% if is_state('input_text.volets_veranda', 'open') %}
          open
        {% else %}
          closed
        {% endif %}
      open_cover:
        action: script.volets_ouvrir
      close_cover:
        action: script.volets_fermer

I’ve test with a mushroom card and the state is ok, does the card supports templates ?
thx

@Arno44 , can you add the settings for this cover?

Hi,

Bellow my card configuration

type: custom:enhanced-shutter-card
entities:
  - entity: cover.volets_veranda
    name: veranda
    top_offset_pct: 13
    button_up_hide_states:
      - open
      - opening
      - closing
    button_down_hide_states:
      - closed
      - opening
      - closing
    button_stop_hide_states:
      - open
      - closed
      - partial_open

thx

@Arno44 I’ll look into it.
Can you please create an issue for this in Github?

For getting the correct info, for now, you should add a position_template to your templatate definition like in your case:

position_template: >
          {% if is_state('input_text.volets_veranda', 'open') %}
            0
          {% else %}
            100
          {% endif %}

Then the display will be correct.
I do not know if the command-buttons on the Card wil work correctly.
You should test and then let me know.

Please create a Github issue for this in my repository here, so I can keep a good control over all the issues.

Thank you very much Marcelhoogantink, it’s working when adding position :slight_smile:

My enhanced shutter card is working fine with HA but I fail changing the background image (esc-view.png). When I choose one of my own images it only displays the background image but not the window frame or the shutter. What do I have to change?

Thanks Nick

Hi @nicola_l ,
No idea with some more info.
Can you send the working yanl and screen shot , and the not-working yaml and screenshot.
Then I can see more, hopefully.

Hello @marcelhoogantink

Here you see the result with my own picture:
shutter_1

And the configuration in YAML:

The default picture does work with almost the same configuration:

shutter_2

shutter_yaml2

Both pictures are png files with the same pixel size.

Hi @nicola_l ,

I do not see anything wrong here.
Where did you put your png file in, in which map?
And why did you define the shutter_slat_image, it is the default?
Did you see any messages ( errors) in browser-console?

Hello @marcelhoogantink ,

I use the default folder (in my case: /homeassistant/www/community/enhanced-shutter-card/images) that’s why I have not defined a specific map. But maybe I have misunderstood the meaning of map in this context…

The shutter_slat_image is the default one, so it is not necessary to specify at all. But it makes no difference in my setup.

/// Update:

I made a mistake in my YAML-config. I used window_image instead of view_image. The correct config looks now like this:

type: custom:enhanced-shutter-card
entities:
  - entity: cover.ziparbeit
    name: Arbeitszimmer
    passive_mode: false
    title_position: top
    base_height_px: 180
    base_width_px: 140
    view_image: studio2.png
    disable_partial_open_buttons: true
    partial_close_percentage: 0
    can_tilt: false
    inline_header: true
    always_percentage: false
    invert_percentage: false

And the output is as expected:

grafik

Sorry for the confusion!
Nick

Hi friends!!

This is my first post and I need your help.

I have a pop-up window with the blinds in my house and I am not able to make them appear in the size of each one.

The top one is a group (of the three below).

The bottom ones are: left and right equal and narrow, center larger.

I attach the code as well but I think the problem is stack-in-card sizing the bottom one to the top one.

And since the last update there is no way to remove the icon that appears to the left of each one (only in Windows and Brave).

Thanks for your help!

    element:
      type: custom:button-card
      color_type: card
      entity: '[[v_entidad_t]]'
      show_label: false
      show_name: false
      show_state: false
      size: 100%
      styles:
        card:
          - color: white
          - box-shadow: 0px 0px 9px 3px var(--button-card-light-color)
          - height: 20px
          - width: 20px
      state:
        - value: open
          color: orange
        - value: closed
          color: blue
        - value: opened
          color: red
        - value: closed
          color: green
      style:
        top: '[[v_top]]'
        left: '[[v_left]]'
      tap_action:
        action: call-service
        service: browser_mod.popup
        service_data:
          content:
            type: custom:stack-in-card
            title: '[[v_entidad_c]]'
            mode: vertical
            card_mod:
              style:
                $: |
                  h1.card-header {
                    text-align: center;
                  }
                .: |
                  ha-card {      
                    padding-left: 20px;
                    padding-right: 20px;
                    padding-bottom: 10px;
                    padding-top: 10px;
                    background-color: rgba(0,0,0,0.75);
                  } 
            cards:
              - type: custom:enhanced-shutter-card
                title: ''
                name_position: top
                name_disabled: true
                image_map: /local/ventanas
                buttons_position: left
                scale_buttons: true
                scale_icons: true
                opening_disabled: false
                opening_position: bottom
                inline_header: false
                disable_partial_open_buttons: false
                disable_end_buttons: true
                disable_standard_buttons: true
                always_percentage: false
                invert_percentage: true
                passive_mode: false
                window_image: null
                battery_entity: 0
                signal_entity: 0
                closing_direction: down
                offset_closed_percentage: 0
                show_tilt: false
                entities:
                  - entity: '[[v_entidad_t]]'
                    name: '[[v_nombre_t]]'
                    view_image: '[[v_vista_t]]'
                    base_height_px: '[[v_height_t]]'
                    base_width_px: '[[v_width_t]]'
                    top_offset_pct: 10
                    show_tilt: false
              - type: horizontal-stack
                cards:
                  - type: custom:enhanced-shutter-card
                    title: ''
                    name_position: top
                    name_disabled: true
                    image_map: /local/ventanas
                    buttons_position: left
                    scale_buttons: true
                    scale_icons: false
                    opening_disabled: false
                    opening_position: bottom
                    inline_header: false
                    disable_partial_open_buttons: false
                    disable_end_buttons: true
                    disable_standard_buttons: true
                    always_percentage: false
                    invert_percentage: true
                    passive_mode: false
                    window_image: null
                    battery_entity: 0
                    signal_entity: 0
                    closing_direction: down
                    offset_closed_percentage: 0
                    entities:
                      - entity: '[[v_entidad_1]]'
                        name: '[[v_nombre_1]]'
                        view_image: '[[v_vista_1]]'
                        base_height_px: '[[v_height_1]]'
                        base_width_px: '[[v_width_1]]'
                        top_offset_pct: 10
                  - type: custom:enhanced-shutter-card
                    title: ''
                    name_position: top
                    name_disabled: true
                    image_map: /local/ventanas
                    buttons_position: left
                    scale_buttons: true
                    scale_icons: false
                    opening_disabled: false
                    opening_position: bottom
                    inline_header: false
                    disable_partial_open_buttons: false
                    disable_end_buttons: true
                    disable_standard_buttons: true
                    always_percentage: false
                    invert_percentage: true
                    passive_mode: false
                    window_image: null
                    battery_entity: 0
                    signal_entity: 0
                    closing_direction: down
                    offset_closed_percentage: 0
                    entities:
                      - entity: '[[v_entidad_2]]'
                        name: '[[v_nombre_2]]'
                        view_image: '[[v_vista_2]]'
                        base_height_px: '[[v_height_2]]'
                        base_width_px: '[[v_width_2]]'
                        top_offset_pct: 10
                  - type: custom:enhanced-shutter-card
                    title: ''
                    name_position: top
                    name_disabled: true
                    image_map: /local/ventanas
                    buttons_position: left
                    scale_buttons: true
                    scale_icons: false
                    opening_disabled: false
                    opening_position: bottom
                    inline_header: false
                    disable_partial_open_buttons: false
                    disable_end_buttons: true
                    disable_standard_buttons: true
                    always_percentage: false
                    invert_percentage: true
                    passive_mode: false
                    window_image: null
                    battery_entity: 0
                    signal_entity: 0
                    closing_direction: down
                    offset_closed_percentage: 0
                    entities:
                      - entity: '[[v_entidad_3]]'
                        name: '[[v_nombre_3]]'
                        view_image: '[[v_vista_3]]'
                        base_height_px: '[[v_height_3]]'
                        base_width_px: '[[v_width_3]]'
                        shutter_bottom_image: ventana-comedor-monkey.jpg
                        top_offset_pct: 10

That icon is a bug that will be solved in the next release.
I think , i cannot help you with the other settings, due to a complex combination of (for me unknown) integrations.

The image_map path is not working for me.
I can add a custom image to the default folder and it works:

type: custom:enhanced-shutter-card
entities:
  - entity: cover.window_blind_1
    name: Window Blind 1
    view_image: winter-window1.png

But, if I create a folder using file editor here: /homeassistant/www/images, and place the images there. I cannot get this to work with:

type: custom:enhanced-shutter-card
entities:
  - entity: cover.window_blind_1
    name: Window Blind 1
    view_image: /local/images/winter-window1.png

nor this:

type: custom:enhanced-shutter-card
image_map: /local/images
entities:
  - entity: cover.window_blind_1
    name: Window Blind 1
    view_image: winter-window1.png

nor this:

type: custom:enhanced-shutter-card
image_map: /config/www/images
entities:
  - entity: cover.window_blind_1
    name: Window Blind 1
    view_image: winter-window1.png

nor this:

type: custom:enhanced-shutter-card
image_map: /homeassistant/www/images
entities:
  - entity: cover.window_blind_1
    name: Window Blind 1
    view_image: winter-window1.png

What els can I try to get this to work, so I can use a different folder for images that won’t get deleted when I update?