Z2M - IKEA Symfonisk Gen2 [E2123] Media Control v1.55

Ha,

If the zigbee2MQTT device name is Lounge/Symfonisk

The blueprint won’t work, it sets up fine but never ‘sees’ the button presses.

If the zigbee2MQTT device name is Lounge/Symfonisk

And you change the Home Assistant name to Symfonisk-Lounge

The blueprint sets up fine but never ‘sees’ the button presses.

The only option is to ensure that zigbee2MQTT grouping using the / naming convention is not used.

This has got me thinking, is this a common problem with Blueprints? Is this why I find most blueprints fail to work?

If I change the zigbee2MQTT naming convention removing grouping it will break a lot of the automations that rely on zigbee2MQTT grouping.

Reluctant to relinquish Node Red, it has been the mainstay of automations across multiple underlying home automation platforms.

It fits well in with my design philosophy of autonomy sub systems with an overarching command and control system, Node Red.

Home Assistant captures autonomous systems and exposes them to Node Red.

This way, heating (Tado), lighting (hue, Govee, Nanoleaf, Shelly), security cameras (eufy) etc etc all continue to function if the home automation goes down, reboots, restarts etc

I really like Home Assistant hence playing with automations, but need to make some decisions on where it sits in the hierarchy of things.

Interesting.

1 Like

Glad you’ve got to the bottom of it. I’m not really familiar with Z2M groups but I suspect HA automations were never designed for this, rather targeting a single and specific device and my blueprint targeting the MQTT path for a device is always going to struggle with this scenario. Grouping of media devices that a single Symfonisk controller is taken care of in the media player integration.

Pleased you like the blueprint though, always great to see something built out of a personal need/want become helpful to others :slight_smile:

2 Likes

Just for clarity.

zigbee2MQTT groups work fine in Home Assistant and just show as regular groups.

The issue encountered was the standard naming convention in zigbee2MQTT where if you name all leak sensors Sensors/Leak/Room/area.

This enables a single Node Red MQTT node set to /Sensors/Leak to trigger on any leak.

The beauty is if you add another leak sensor using the naming convention it is automatically monitored by the existing node with no new config.

I use it for door/window sensors, motion sensors as well as leak sensors.

So got into the habit :slight_smile: if you can add a note to config faq that would be helpful :slight_smile:

Well you are doing NR (picture JSON) or you are doing HA automations.
Mix at your own peril.

I have been doing automations in Node Red.

And now dipping my toe into Home Assistant automations.

The peril is real and ever present :slight_smile:

Without much consideration, looking at Node Red managing exception/override lighting (2 hue hubs manage the ~100 lights/ indoor motion sensors), I see it handling Security/emergency, door/window sensors, leaks, fire, etc.

Home Assistant is automating audio/video systems, Plex/tv/sonos etc

I am leaning heavily to Home Assistant managing energy/ solar/battery/ev management.

The heating is on Tado with NR providing oversight/exception automations. NR manages all the blinds for every room.

Largely though the Home Assistant automations have been experimental.

I’ll carry on experimenting with Home Assistant automations and see where things sit best.

But I have a high confidence I can delineate home functions and have clear segregation of roles and responsibilities.

I do favour having NR as to top command and control authority though.

I really like autonomous systems, lighting/heating/security that can perform most daily functions on their own.

I’ll give it some more thought…

Hello, The level up or down doesn’t work for me in home assistant.

i’ve got the following error

Erreur : Error rendering data template: TypeError: unsupported operand type(s) for +: ‘NoneType’ and ‘float’

Configuration de l’étapeVariables modifiéesEntrées associées du journal de bord

Could you try re-adding the device to Z2M? A recent update stopped mine working - slightly different behaviour to what your seeing though.

If that doesn’t work could you share details of your set-up, name of your device etc and the details from the trace(s).

Thanks

First off thank you so much for this blueprint. i bought two of these remotes to use with this. i have a question, i would like to use this remote with two media players.

one media player is for play/pause, next track and previouse track. the other media player would be for volume controls. is this possible and if so how can i do it with this blueprint?? thanks a ton

I’m not sure what your use case is but I think the only way you could do it is to take two copies of the blueprint. Modify one to only respond to next/previous track. Modify the other to only respond to volume.

Then in the usage of the blueprints you’d select the same media player entity for both and assign the Ikea device appropriately for volume in one and next/previous track in the other.

Hope that helps?

Amazing Blueprint, thanks @Shawsky. I have a bit different setting:

  • i use picoreplayers which are behind a powerplug which are turned off when not used, so i added that the plug is turned on whenever anything is pressed and it is off
  • i made the group volume configurable since another setup i have is that i have grouped squeezeplayers with one of them running but set to off, in which case the volume does not change after press
blueprint:
  name: Z2M - IKEA Symfonisk sound controller GEN2 for media
  description:
    'Control the selected media player (and any joined to it) with an IKEA
    Symfonisk sound controller GEN2 via Zigbee2MQTT (Z2M)

    Supports single press on media buttons and single, double and long press for the
    "dot" buttons.'
  domain: automation
  input:
    remote:
      name: Remote
      description: The IKEA Symfonisk controller GEN2 to use
      selector:
        device:
          filter:
            - integration: mqtt
              manufacturer: IKEA
              model: SYMFONISK sound remote gen2 (E2123)
            - integration: mqtt
              manufacturer: IKEA
              model: SYMFONISK sound remote, gen 2 (E2123)
          multiple: false
    base_topic:
      name: Zigbee2MQTT Base mqtt topic
      description:
        The base topic configured in Zigbee2MQTT. If you haven't changed
        this, leave the default here ("zigbee2mqtt")
      default: zigbee2mqtt
    media_player:
      name: Media Player
      description: The media player to control with this automation
      selector:
        entity:
          domain:
            - media_player
          multiple: false
    power_plug:
      name: Power Plug (Optional)
      description: Select the power plug to check and turn on before performing any actions. If left empty, no check will be performed.
      selector:
        entity:
          domain: switch
      default: null  # Default to null if not configured
    volume_steps:
      name: Volume number of steps
      description:
        Controls the volume scale. The default of 25 is the same scale
        as the Sonos app.
      default: 25
      selector:
        number:
          min: 5.0
          max: 100.0
          step: 5.0
          unit_of_measurement: Num
          mode: slider
    group_volume:
      name: Group Volume Control
      description: Enable or disable volume control for the entire group. If off, only the selected media player will be affected.
      default: false
      selector:
        boolean: {}
    single_dot:
      name: Single Dot (Single)
      description: Action to run on single dot press
      default: []
      selector:
        action: {}
    single_dot_double_press:
      name: Single Dot (Double)
      description: Action to run on single dot double press
      default: []
      selector:
        action: {}
    single_dot_long_press:
      name: Single Dot (Long)
      description: Action to run on single dot long press
      default: []
      selector:
        action: {}
    double_dot:
      name: Double Dot (Single)
      description: Action to run on double dot press
      default: []
      selector:
        action: {}
    double_dot_double_press:
      name: Double Dot (Double)
      description: Action to run on double dot double press
      default: []
      selector:
        action: {}
    double_dot_long_press:
      name: Double Dot (Long)
      description: Action to run on double dot long press
      default: []
      selector:
        action: {}
  source_url: https://community.home-assistant.io/t/z2m-ikea-symfonisk-gen2-e2123-media-control/559523
mode: restart
max_exceeded: silent
trigger_variables:
  base_topic: !input base_topic
  controller: !input remote
trigger:
  - platform: mqtt
    topic: "{{ base_topic }}/+/action"
condition:
  - condition: template
    value_template:
      "{{ trigger.topic == base_topic+'/'+device_attr(controller, 'name')+'/action'
      }} "
action:
  - variables:
      controllertopic: "{{ base_topic }}/{{ device_attr(controller, 'name') }}/action"
      player: !input media_player
      plug: !input power_plug
      steps: !input volume_steps
      stepsize: "{{ 1.0 / steps }}"
  # Check if the power plug is configured and off, and turn it on if necessary
  - choose:
      - conditions:
          - "{{ plug is not none and states(plug) == 'off' }}"
        sequence:
          - service: switch.turn_on
            target:
              entity_id: "{{ plug }}"
  - choose:
      - conditions:
          - "{{ trigger.payload != ''}}"
          - "{{ trigger.topic == controllertopic }}"
        sequence:
          - choose:
              - conditions:
                  "{{ trigger.payload == 'toggle' or trigger.payload == 'play_pause'
                  }}"
                sequence:
                  - service: media_player.media_play_pause
                    target:
                      entity_id: !input media_player
              - conditions: "{{ trigger.payload == 'track_next' }}"
                sequence:
                  - service: media_player.media_next_track
                    target:
                      entity_id: !input media_player
              - conditions: "{{ trigger.payload == 'track_previous' }}"
                sequence:
                  - service: media_player.media_previous_track
                    target:
                      entity_id: !input media_player
              - conditions: >
                  {{ trigger.payload == 'volume_up' and ((is_group_volume and state_attr(player, 'group_members') != none and state_attr(player, 'group_members') != [])) }}
                sequence:
                  - repeat:
                      for_each: "{{ state_attr(player, 'group_members') }}"
                      sequence:
                      - service: media_player.volume_set
                        target:
                          entity_id: "{{ repeat.item }}"
                        data:
                          volume_level: >
                            {% set volume = state_attr(repeat.item, "volume_level") + stepsize %}
                            {{ 1.0 if volume > 1.0 else volume }}
              # Volume Down Press (Group or Single)
              - conditions: >
                  {{ trigger.payload == 'volume_down' and ((is_group_volume and state_attr(player, 'group_members') != none and state_attr(player, 'group_members') != [])) }}
                sequence:
                  - repeat:
                      for_each: "{{ state_attr(player, 'group_members') }}"
                      sequence:
                      - service: media_player.volume_set
                        target:
                          entity_id: "{{ repeat.item }}"
                        data:
                          volume_level: >
                            {% set volume = state_attr(repeat.item, "volume_level") - stepsize %}
                            {{ 0.0 if volume < 0.0 else volume }}
              # Volume Up for individual player
              - conditions: >
                  {{ trigger.payload == 'volume_up' and ((not is_group_volume or state_attr(player, 'group_members') == none or state_attr(player, 'group_members') == [])) }}
                sequence:
                  - service: media_player.volume_set
                    target:
                      entity_id: "{{ player }}"
                    data:
                      volume_level: >
                        {% set volume = state_attr(player, "volume_level") + stepsize %}
                        {{ 1.0 if volume > 1.0 else volume }}
              # Volume Down for individual player
              - conditions: >
                  {{ trigger.payload == 'volume_down' and ((not is_group_volume or state_attr(player, 'group_members') == none or state_attr(player, 'group_members') == [])) }}
                sequence:
                  - service: media_player.volume_set
                    target:
                      entity_id: "{{ player }}"
                    data:
                      volume_level: >
                        {% set volume = state_attr(player, "volume_level") - stepsize %}
                        {{ 0.0 if volume < 0.0 else volume }}
              - conditions:
                  "{{ trigger.payload == 'volume_up_hold' and state_attr(player,
                  'group_members') != none and state_attr(player, 'group_members') !=
                  [] }}"
                sequence:
                  - repeat:
                      for_each: "{{ state_attr(player, 'group_members') }}"
                      sequence:
                        - service: media_player.volume_up
                          target:
                            entity_id: "{{ repeat.item }}"
              - conditions:
                  "{{ trigger.payload == 'volume_down_hold' and state_attr(player,
                  'group_members') != none and state_attr(player, 'group_members') !=
                  [] }}"
                sequence:
                  - repeat:
                      for_each: "{{ state_attr(player, 'group_members') }}"
                      sequence:
                        - service: media_player.volume_down
                          target:
                            entity_id: "{{ repeat.item }}"
              - conditions:
                  "{{ trigger.payload == 'volume_up' and (state_attr(player, 'group_members')
                  == none or state_attr(player, 'group_members') == []) }}"
                sequence:
                  - service: media_player.volume_set
                    target:
                      entity_id: "{{ player }}"
                    data:
                      volume_level:
                        '{% set volume = state_attr(player, "volume_level") + stepsize
                        %} {{ 1.0 if volume > 1.0 else volume }}'
              - conditions:
                  "{{ trigger.payload == 'volume_down' and (state_attr(player,
                  'group_members') == none or state_attr(player, 'group_members') == [])
                  }}"
                sequence:
                  - service: media_player.volume_set
                    target:
                      entity_id: "{{ player }}"
                    data:
                      volume_level:
                        '{% set volume = state_attr(player, "volume_level") - stepsize
                        %} {{ 0.0 if volume < 0.0 else volume }}'
              # Volume Up Hold (Group or Single)
              - conditions: >
                  {{ trigger.payload == 'volume_up_hold' and ((is_group_volume and state_attr(player, 'group_members') != none and state_attr(player, 'group_members') != [])) }}
                sequence:
                  - repeat:
                      for_each: "{{ state_attr(player, 'group_members') }}"
                      sequence:
                      - service: media_player.volume_up
                        target:
                          entity_id: "{{ repeat.item }}"
              # Volume Down Hold (Group or Single)
              - conditions: >
                  {{ trigger.payload == 'volume_down_hold' and ((is_group_volume and state_attr(player, 'group_members') != none and state_attr(player, 'group_members') != [])) }}
                sequence:
                  - repeat:
                      for_each: "{{ state_attr(player, 'group_members') }}"
                      sequence:
                      - service: media_player.volume_down
                        target:
                          entity_id: "{{ repeat.item }}"
              # Volume Up Hold for individual player
              - conditions: >
                  {{ trigger.payload == 'volume_up_hold' and ((not is_group_volume or state_attr(player, 'group_members') == none or state_attr(player, 'group_members') == [])) }}
                sequence:
                  - service: media_player.volume_up
                    target:
                      entity_id: "{{ player }}"
              # Volume Down Hold for individual player
              - conditions: >
                  {{ trigger.payload == 'volume_down_hold' and ((not is_group_volume or state_attr(player, 'group_members') == none or state_attr(player, 'group_members') == [])) }}
                sequence:
                  - service: media_player.volume_down
                    target:
                      entity_id: "{{ player }}"
              - conditions: "{{ trigger.payload == 'dots_1_short_release' }}"
                sequence: !input single_dot
              - conditions: "{{ trigger.payload == 'dots_1_double_press' }}"
                sequence: !input single_dot_double_press
              - conditions: "{{ trigger.payload == 'dots_1_long_press' }}"
                sequence: !input single_dot_long_press
              - conditions: "{{ trigger.payload == 'dots_2_short_release' }}"
                sequence: !input double_dot
              - conditions: "{{ trigger.payload == 'dots_2_double_press' }}"
                sequence: !input double_dot_double_press
              - conditions: "{{ trigger.payload == 'dots_2_long_press' }}"
                sequence: !input double_dot_long_press

Feel free to improve, add or ignore my code additions :slight_smile:

Hi,
First of all thanks for this great blueprint. I really appreciate it. It works perfectly in most scenarios.

But one of my use case is out of reach of your original version. My Media Player doe’s not support play_pause function (it’s RPi moode audio, so don’t know why).

Thus pushing PLAY button thrown an exception and nothing is started. Hence I tweaked your code a bit - added switch for Play&Stop legacy support. When media is playing, automation is calling stop command and vice versa. Switch is disabled as default so behaviour of your code should persist same.

This allow anyone who has same issue like me to use your automation without any problems. Just install and run. Withou any additional editing or workarouds. Feel free to use it in your main code when think that everyone can benefits from this.

blueprint:
  name: Z2M - IKEA Symfonisk sound controller GEN2
  description: 'Control the selected media player (and any joined to it) with an IKEA
    Symfonisk sound controller GEN2 via Zigbee2MQTT (Z2M)
    Supports single press on media buttons and single, double and long press for the
    "dot" buttons.'
  domain: automation
  input:
    remote:
      name: Remote
      description: The IKEA Symfonisk controller GEN2 to use
      selector:
        device:
          filter:
          - integration: mqtt
            manufacturer: IKEA
            model: SYMFONISK sound remote gen2 (E2123)
          - integration: mqtt
            manufacturer: IKEA
            model: SYMFONISK sound remote, gen 2 (E2123)
          multiple: false
    base_topic:
      name: Zigbee2MQTT Base mqtt topic
      description: The base topic configured in Zigbee2MQTT. If you haven't changed
        this, leave the default here ("zigbee2mqtt")
      default: zigbee2mqtt
    media_player:
      name: Media Player
      description: The media player to control with this automation
      selector:
        entity:
          domain:
          - media_player
          multiple: false
    play_pause_legacy_support:
      name: Play&Stop legacy support
      description: Switching between calling media_player.play_pause and media_player.play & media_player.stop legacy solution
      default: false
      selector:
        boolean:
    volume_steps:
      name: Volume number of steps
      description: Controls the volume scale. The default of 25 is the same scale
        as the Sonos app.
      default: 25
      selector:
        number:
          min: 5.0
          max: 100.0
          step: 5.0
          unit_of_measurement: Num
          mode: slider
    single_dot:
      name: Single Dot (Single)
      description: Action to run on single dot press
      default: []
      selector:
        action: {}
    single_dot_double_press:
      name: Single Dot (Double)
      description: Action to run on single dot double press
      default: []
      selector:
        action: {}
    single_dot_long_press:
      name: Single Dot (Long)
      description: Action to run on single dot long press
      default: []
      selector:
        action: {}
    double_dot:
      name: Double Dot (Single)
      description: Action to run on double dot press
      default: []
      selector:
        action: {}
    double_dot_double_press:
      name: Double Dot (Double)
      description: Action to run on double dot double press
      default: []
      selector:
        action: {}
    double_dot_long_press:
      name: Double Dot (Long)
      description: Action to run on double dot long press
      default: []
      selector:
        action: {}
  source_url: https://community.home-assistant.io/t/z2m-ikea-symfonisk-gen2-e2123-media-control/559523
mode: restart
max_exceeded: silent
trigger_variables:
  base_topic: !input base_topic
  controller: !input remote
trigger:
- platform: mqtt
  topic: '{{ base_topic }}/+/action'
condition:
- condition: template
  value_template: '{{ trigger.topic == base_topic+''/''+device_attr(controller, ''name'')+''/action''
    }} '
action:
- variables:
    controllertopic: '{{ base_topic }}/{{ device_attr(controller, ''name'') }}/action'
    player: !input media_player
    steps: !input volume_steps
    stepsize: '{{ 1.0 / steps }}'
    play_pause_legacy: !input play_pause_legacy_support
- choose:
  - conditions:
    - '{{ trigger.payload != ''''}}'
    - '{{ trigger.topic == controllertopic }}'
    sequence:
    - choose:
      - conditions: '{{ trigger.payload == ''toggle'' or trigger.payload == ''play_pause''
          }}'
        sequence:
            - choose:
                # if medi_player is not supporting play_pause
                - conditions: '{{ play_pause_legacy == true }}'
                  sequence:
                          - choose:
                              # media player state is 'playing', call stop
                              - conditions: '{{ is_state(player, ''playing'') }}'
                                sequence:
                                  - service: media_player.media_stop
                                    entity_id: !input media_player
                            # if media player is not in state 'playing', call play
                            default:
                              - service: media_player.media_play
                                entity_id: !input media_player
              # default calling play_pause
              default:
                - service: media_player.media_play_pause
                  entity_id: !input media_player
      - conditions: '{{ trigger.payload == ''track_next'' }}'
        sequence:
        - service: media_player.media_next_track
          entity_id: !input media_player
      - conditions: '{{ trigger.payload == ''track_previous'' }}'
        sequence:
        - service: media_player.media_previous_track
          entity_id: !input media_player
      - conditions: '{{ trigger.payload == ''volume_up'' and state_attr(player, ''group_members'')
          != none and state_attr(player, ''group_members'') != [] }}'
        sequence:
        - repeat:
            for_each: '{{ state_attr(player, ''group_members'') }}'
            sequence:
            - service: media_player.volume_set
              target:
                entity_id: '{{ repeat.item }}'
              data:
                volume_level: '{% set volume = state_attr(repeat.item, "volume_level")
                  + stepsize %} {{ 1.0 if volume > 1.0 else volume }}'
      - conditions: '{{ trigger.payload == ''volume_down'' and state_attr(player,
          ''group_members'') != none and state_attr(player, ''group_members'') !=
          [] }}'
        sequence:
        - repeat:
            for_each: '{{ state_attr(player, ''group_members'') }}'
            sequence:
            - service: media_player.volume_set
              target:
                entity_id: '{{ repeat.item }}'
              data:
                volume_level: '{% set volume = state_attr(repeat.item, "volume_level")
                  - stepsize %} {{ 0.0 if volume < 0.0 else volume }}'
      - conditions: '{{ trigger.payload == ''volume_up_hold'' and state_attr(player,
          ''group_members'') != none and state_attr(player, ''group_members'') !=
          [] }}'
        sequence:
        - repeat:
            for_each: '{{ state_attr(player, ''group_members'') }}'
            sequence:
            - service: media_player.volume_up
              target:
                entity_id: '{{ repeat.item }}'
      - conditions: '{{ trigger.payload == ''volume_down_hold'' and state_attr(player,
          ''group_members'') != none and state_attr(player, ''group_members'') !=
          [] }}'
        sequence:
        - repeat:
            for_each: '{{ state_attr(player, ''group_members'') }}'
            sequence:
            - service: media_player.volume_down
              target:
                entity_id: '{{ repeat.item }}'
      - conditions: '{{ trigger.payload == ''volume_up'' and (state_attr(player, ''group_members'')
          == none or state_attr(player, ''group_members'') == []) }}'
        sequence:
        - service: media_player.volume_set
          target:
            entity_id: '{{ player }}'
          data:
            volume_level: '{% set volume = state_attr(player, "volume_level") + stepsize
              %} {{ 1.0 if volume > 1.0 else volume }}'
      - conditions: '{{ trigger.payload == ''volume_down'' and (state_attr(player,
          ''group_members'') == none or state_attr(player, ''group_members'') == [])
          }}'
        sequence:
        - service: media_player.volume_set
          target:
            entity_id: '{{ player }}'
          data:
            volume_level: '{% set volume = state_attr(player, "volume_level") - stepsize
              %} {{ 0.0 if volume < 0.0 else volume }}'
      - conditions: '{{ trigger.payload == ''volume_up_hold'' and (state_attr(player,
          ''group_members'') == none or state_attr(player, ''group_members'') == [])
          }}'
        sequence:
        - service: media_player.volume_up
          target:
            entity_id: '{{ player }}'
      - conditions: '{{ trigger.payload == ''volume_down_hold'' and (state_attr(player,
          ''group_members'') == none or state_attr(player, ''group_members'') == [])
          }}'
        sequence:
        - service: media_player.volume_down
          target:
            entity_id: '{{ player }}'
      - conditions: '{{ trigger.payload == ''dots_1_short_release'' }}'
        sequence: !input single_dot
      - conditions: '{{ trigger.payload == ''dots_1_double_press'' }}'
        sequence: !input single_dot_double_press
      - conditions: '{{ trigger.payload == ''dots_1_long_press'' }}'
        sequence: !input single_dot_long_press
      - conditions: '{{ trigger.payload == ''dots_2_short_release'' }}'
        sequence: !input double_dot
      - conditions: '{{ trigger.payload == ''dots_2_double_press'' }}'
        sequence: !input double_dot_double_press
      - conditions: '{{ trigger.payload == ''dots_2_long_press'' }}'
        sequence: !input double_dot_long_press

@markist & @truhlik77 I’m really pleased you’ve found my Blueprint useful. Thanks for the suggestions, I’ll have a proper look at both when I get a bit of time and see if they can be integrated :slight_smile:

Hey there, really loving this Blueprint so far! Just a quick question, is there an easy way to “decouple” the group volume control functionality so I can use one remote per room and it only controls the volume in that specific room only? Thanks! :slight_smile:

Glad you like it :slight_smile:

I use multiple remotes no problem but what you describe is a Sonos thing I think (maybe the media player implementation in HA for Sonos?). Whatever I use to control volume, any remote, spotify, media card in the HA interface all speakers are affected in the same way.

It is possible to control individual speakers whilst grouped as you’ll know, the Sonos app can do it and the media card I use also has the option if you dig into stuff. I may have a look into this to see what’s possible, could be tricky to sort out times when I do want all to be affected vs just the room if indeed it’s possible at all.

All good fun!!

Thanks for the answer! I just normally use the media player card from Bubble Cards and there it only controls the selected media player, even when grouped. So I thought that with the volume change services it should only affect one player, not the whole group. Maybe I think too simple, who knows :wink:
I’ll try my best to dig into it too a bit, I’m just not the best when it comes to blueprints. :stuck_out_tongue:

Anybody any idea why I get this? Some times when I wait a long time I can select my controller and edit the blue print. But after I have saved it I again takes a long time before I can do something. My HA is up to date and I have a lot of zigbee devices working perfectly. Also the Symfonisk Controller GEN2 is working. I can check the actions in any self made automation, but when I try to use the blue print I get this not responding page …