Fetch MAC address from OpenWRT sensor attributes

I have setup openwrt via luci/ubus integration. It gives me entities for 2.4Ghz and 5Ghz Wifi radio for each of my AP’s.
Each of those entities have attributes with “MAC SIGNAL”.
I wanna

  1. get those attributes,
  2. match the MAC addresses to specific names of the devices
  3. list them in a list format with their individual signal strength. (maybe custom auto entities)

I have successfully used this to get the attributes

  - type: custom:auto-entities
    filter:
      template: |-
        {% set SENSOR = 'sensor.router_wireless_phy1_ap1_clients' -%}
        {%- for attr in states[SENSOR].attributes|select('search',':') -%}
          {{
            {
              'type': 'attribute',
              'entity': SENSOR,
              'attribute': attr,
              'name': attr
            }
          }},
        {%- endfor %}
    card:
      type: entities

But now i wanna match the mac address and replace it with device names.
Does anyone has an idea?

I managed to do it. Here’s my dashboard yaml code

type: vertical-stack
cards:
  - type: markdown
    content: '# <center>Wifi</center>'
  - type: horizontal-stack
    cards:
      - type: custom:mushroom-template-card
        primary: Router
        secondary: 'WiFi Clients: {{states(''sensor.router_wireless_total_clients'')}}'
        icon: >-
          {{ iif(is_state('binary_sensor.router', 'on'),
          'mdi:check-network-outline', 'mdi:close-network-outline')}}
        entity: binary_sensor.router
        icon_color: '{{ iif(is_state(''binary_sensor.router'', ''on''), ''blue'', ''red'')}}'
        layout: vertical
        badge_icon: ''
        badge_color: ''
      - type: custom:mushroom-template-card
        primary: Living Room 1
        secondary: >-
          WiFi Clients:
          {{states('sensor.ap_e1201_living_room_wireless_total_clients')}}
        icon: >-
          {{ iif(is_state('binary_sensor.ap_e1201_living_room', 'on'),
          'mdi:wifi', 'mdi:wifi-off')}}
        entity: binary_sensor.router
        icon_color: >-
          {{ iif(is_state('binary_sensor.ap_e1201_living_room', 'on'), 'blue',
          'red')}}
        layout: vertical
        badge_icon: ''
        badge_color: ''
  - type: horizontal-stack
    cards:
      - type: vertical-stack
        cards:
          - type: custom:auto-entities
            filter:
              template: >-
                {% set SENSOR = 'sensor.router_wireless_phy1_ap0_clients' -%}

                {%- for attr_key,attr_value in
                states[SENSOR].attributes.items()|reject('search','state_class')|reject('search','icon')|reject('search','friendly_name')
                -%}
                 {% set device_name = {
                    'XX:XX:XX:XX:XX:XX': 'Name1',
                    'XX:XX:XX:XX:XX:XX': 'Name2'
                  }.get(attr_key) -%}
                 {{
                    {
                      'type': 'custom:mushroom-template-card',
                      'entity': SENSOR,
                      'icon_type': 'none',
                      'primary': device_name +": "+attr_value

                    }
                  }},
                {%- endfor %}
            card:
              type: entities
              show_header_toggle: true
              title: LAN 2.4Ghz
              state_color: false
            show_empty: false
          - type: custom:auto-entities
            filter:
              template: >-
                {% set SENSOR = 'sensor.router_wireless_phy0_ap0_clients' -%}

                {%- for attr_key,attr_value in
                states[SENSOR].attributes.items()|reject('search','state_class')|reject('search','icon')|reject('search','friendly_name')
                -%}
                 {% set device_name = {
                    'XX:XX:XX:XX:XX:XX': 'Name1',
                    'XX:XX:XX:XX:XX:XX': 'Name2'
                  }.get(attr_key) -%}
                 {{
                    {
                      'type': 'custom:mushroom-template-card',
                      'entity': SENSOR,
                      'icon_type': 'none',
                      'primary': device_name +": "+attr_value

                    }
                  }},
                {%- endfor %}
            card:
              type: entities
              show_header_toggle: true
              title: LAN 5Ghz
              state_color: false
            show_empty: false
          - type: custom:auto-entities
            filter:
              template: >-
                {% set SENSOR = 'sensor.router_wireless_phy1_ap1_clients' -%}

                {%- for attr_key,attr_value in
                states[SENSOR].attributes.items()|reject('search','state_class')|reject('search','icon')|reject('search','friendly_name')
                -%}
                 {% set device_name = {
                    'XX:XX:XX:XX:XX:XX': 'Name1',
                    'XX:XX:XX:XX:XX:XX': 'Name2'
                  }.get(attr_key) -%}
                 {{
                    {
                      'type': 'custom:mushroom-template-card',
                      'entity': SENSOR,
                      'icon_type': 'none',
                      'primary': device_name +": "+attr_value

                    }
                  }},
                {%- endfor %}
            card:
              type: entities
              show_header_toggle: true
              title: Home 2.4Ghz
              state_color: false
            show_empty: false
          - type: custom:auto-entities
            filter:
              template: >-
                {% set SENSOR = 'sensor.router_wireless_phy0_ap1_clients' -%}

                {%- for attr_key,attr_value in
                states[SENSOR].attributes.items()|reject('search','state_class')|reject('search','icon')|reject('search','friendly_name')
                -%}
                 {% set device_name = {
                    'XX:XX:XX:XX:XX:XX': 'Name1',
                    'XX:XX:XX:XX:XX:XX': 'Name2'
                  }.get(attr_key) -%}
                 {{
                    {
                      'type': 'custom:mushroom-template-card',
                      'entity': SENSOR,
                      'icon_type': 'none',
                      'primary': device_name +": "+attr_value

                    }
                  }},
                {%- endfor %}
            card:
              type: entities
              show_header_toggle: true
              title: Home 5Ghz
              state_color: false
            show_empty: false
      - type: vertical-stack
        cards:
          - type: custom:auto-entities
            filter:
              template: >-
                {% set SENSOR =
                'sensor.ap_e1201_living_room_wireless_phy1_ap0_clients' -%}

                {%- for attr_key,attr_value in
                states[SENSOR].attributes.items()|reject('search','state_class')|reject('search','icon')|reject('search','friendly_name')
                -%}
                 {% set device_name = {
                    'XX:XX:XX:XX:XX:XX': 'Name1',
                    'XX:XX:XX:XX:XX:XX': 'Name2'
                  }.get(attr_key) -%}
                 {{
                    {
                      'type': 'custom:mushroom-template-card',
                      'entity': SENSOR,
                      'icon_type': 'none',
                      'primary': device_name +": "+attr_value

                    }
                  }},
                {%- endfor %}
            card:
              type: entities
              show_header_toggle: true
              title: LAN 2.4Ghz
              state_color: false
            show_empty: false
          - type: custom:auto-entities
            filter:
              template: >-
                {% set SENSOR =
                'sensor.ap_e1201_living_room_wireless_phy0_ap0_clients' -%}

                {%- for attr_key,attr_value in
                states[SENSOR].attributes.items()|reject('search','state_class')|reject('search','icon')|reject('search','friendly_name')
                -%}
                 {% set device_name = {
                    'XX:XX:XX:XX:XX:XX': 'Name1',
                    'XX:XX:XX:XX:XX:XX': 'Name2'
                  }.get(attr_key) -%}
                 {{
                    {
                      'type': 'custom:mushroom-template-card',
                      'entity': SENSOR,
                      'icon_type': 'none',
                      'primary': device_name +": "+attr_value

                    }
                  }},
                {%- endfor %}
            card:
              type: entities
              show_header_toggle: true
              title: LAN 5Ghz
              state_color: false
            show_empty: false
          - type: custom:auto-entities
            filter:
              template: >-
                {% set SENSOR =
                'sensor.ap_e1201_living_room_wireless_phy1_ap1_clients' -%}

                {%- for attr_key,attr_value in
                states[SENSOR].attributes.items()|reject('search','state_class')|reject('search','icon')|reject('search','friendly_name')
                -%}
                 {% set device_name = {
                    'XX:XX:XX:XX:XX:XX': 'Name1',
                    'XX:XX:XX:XX:XX:XX': 'Name2'
                  }.get(attr_key) -%}
                 {{
                    {
                      'type': 'custom:mushroom-template-card',
                      'entity': SENSOR,
                      'icon_type': 'none',
                      'primary': device_name +": "+attr_value

                    }
                  }},
                {%- endfor %}
            card:
              type: entities
              show_header_toggle: true
              title: Home 2.4Ghz
              state_color: false
            show_empty: false
          - type: custom:auto-entities
            filter:
              template: >-
                {% set SENSOR =
                'sensor.ap_e1201_living_room_wireless_phy0_ap1_clients' -%}

                {%- for attr_key,attr_value in
                states[SENSOR].attributes.items()|reject('search','state_class')|reject('search','icon')|reject('search','friendly_name')
                -%}
                 {% set device_name = {
                    'XX:XX:XX:XX:XX:XX': 'Name1',
                    'XX:XX:XX:XX:XX:XX': 'Name2'
                  }.get(attr_key) -%}
                 {{
                    {
                      'type': 'custom:mushroom-template-card',
                      'entity': SENSOR,
                      'icon_type': 'none',
                      'primary': device_name +": "+attr_value

                    }
                  }},
                {%- endfor %}
            card:
              type: entities
              show_header_toggle: true
              title: Home 5Ghz
              state_color: false
            show_empty: false
  - type: horizontal-stack
    cards:
      - type: custom:mushroom-template-card
        primary: Bedroom 1
        secondary: >-
          WiFi Clients:
          {{states('sensor.ap_e1201_bedroom_wireless_total_clients')}}
        icon: >-
          {{ iif(is_state('binary_sensor.ap_e1201_bedroom', 'on'), 'mdi:wifi',
          'mdi:wifi-off')}}
        entity: binary_sensor.router
        icon_color: >-
          {{ iif(is_state('binary_sensor.ap_e1201_bedroom', 'on'), 'blue',
          'red')}}
        layout: vertical
        badge_icon: ''
        badge_color: ''
      - type: custom:mushroom-template-card
        primary: Bedroom 2
        secondary: >-
          WiFi Clients:
          {{states('sensor.ap_e1202_bedroom_wireless_total_clients')}}
        icon: >-
          {{ iif(is_state('binary_sensor.ap_e1202_bedroom', 'on'), 'mdi:wifi',
          'mdi:wifi-off')}}
        entity: binary_sensor.router
        icon_color: >-
          {{ iif(is_state('binary_sensor.ap_e1202_bedroom', 'on'), 'blue',
          'red')}}
        layout: vertical
        badge_icon: ''
        badge_color: ''
  - type: horizontal-stack
    cards:
      - type: vertical-stack
        cards:
          - type: custom:auto-entities
            filter:
              template: >-
                {% set SENSOR =
                'sensor.ap_e1201_bedroom_wireless_phy1_ap0_clients' -%}

                {%- for attr_key,attr_value in
                states[SENSOR].attributes.items()|reject('search','state_class')|reject('search','icon')|reject('search','friendly_name')
                -%}
                 {% set device_name = {
                    'XX:XX:XX:XX:XX:XX': 'Name1',
                    'XX:XX:XX:XX:XX:XX': 'Name2'
                  }.get(attr_key) -%}
                 {{
                    {
                      'type': 'custom:mushroom-template-card',
                      'entity': SENSOR,
                      'icon_type': 'none',
                      'primary': device_name +": "+attr_value

                    }
                  }},
                {%- endfor %}
            card:
              type: entities
              show_header_toggle: true
              title: LAN 2.4Ghz
              state_color: false
            show_empty: false
          - type: custom:auto-entities
            filter:
              template: >-
                {% set SENSOR =
                'sensor.ap_e1201_bedroom_wireless_phy0_ap0_clients' -%}

                {%- for attr_key,attr_value in
                states[SENSOR].attributes.items()|reject('search','state_class')|reject('search','icon')|reject('search','friendly_name')
                -%}
                 {% set device_name = {
                    'XX:XX:XX:XX:XX:XX': 'Name1',
                    'XX:XX:XX:XX:XX:XX': 'Name2'
                  }.get(attr_key) -%}
                 {{
                    {
                      'type': 'custom:mushroom-template-card',
                      'entity': SENSOR,
                      'icon_type': 'none',
                      'primary': device_name +": "+attr_value

                    }
                  }},
                {%- endfor %}
            card:
              type: entities
              show_header_toggle: true
              title: LAN 5Ghz
              state_color: false
            show_empty: false
          - type: custom:auto-entities
            filter:
              template: >-
                {% set SENSOR =
                'sensor.ap_e1201_bedroom_wireless_phy1_ap1_clients' -%}

                {%- for attr_key,attr_value in
                states[SENSOR].attributes.items()|reject('search','state_class')|reject('search','icon')|reject('search','friendly_name')
                -%}
                 {% set device_name = {
                    'XX:XX:XX:XX:XX:XX': 'Name1',
                    'XX:XX:XX:XX:XX:XX': 'Name2'
                  }.get(attr_key) -%}
                 {{
                    {
                      'type': 'custom:mushroom-template-card',
                      'entity': SENSOR,
                      'icon_type': 'none',
                      'primary': device_name +": "+attr_value

                    }
                  }},
                {%- endfor %}
            card:
              type: entities
              show_header_toggle: true
              title: Home 2.4Ghz
              state_color: false
            show_empty: false
          - type: custom:auto-entities
            filter:
              template: >-
                {% set SENSOR =
                'sensor.ap_e1201_bedroom_wireless_phy0_ap1_clients' -%}

                {%- for attr_key,attr_value in
                states[SENSOR].attributes.items()|reject('search','state_class')|reject('search','icon')|reject('search','friendly_name')
                -%}
                 {% set device_name = {
                    'XX:XX:XX:XX:XX:XX': 'Name1',
                    'XX:XX:XX:XX:XX:XX': 'Name2'
                  }.get(attr_key) -%}
                 {{
                    {
                      'type': 'custom:mushroom-template-card',
                      'entity': SENSOR,
                      'icon_type': 'none',
                      'primary': device_name +": "+attr_value

                    }
                  }},
                {%- endfor %}
            card:
              type: entities
              show_header_toggle: true
              title: Home 5Ghz
              state_color: false
            show_empty: false
      - type: vertical-stack
        cards:
          - type: custom:auto-entities
            filter:
              template: >-
                {% set SENSOR =
                'sensor.ap_e1202_bedroom_wireless_phy1_ap0_clients' -%}

                {%- for attr_key,attr_value in
                states[SENSOR].attributes.items()|reject('search','state_class')|reject('search','icon')|reject('search','friendly_name')
                -%}
                 {% set device_name = {
                    'XX:XX:XX:XX:XX:XX': 'Name1',
                    'XX:XX:XX:XX:XX:XX': 'Name2'
                  }.get(attr_key) -%}
                 {{
                    {
                      'type': 'custom:mushroom-template-card',
                      'entity': SENSOR,
                      'icon_type': 'none',
                      'primary': device_name +": "+attr_value

                    }
                  }},
                {%- endfor %}
            card:
              type: entities
              show_header_toggle: true
              title: LAN 2.4Ghz
              state_color: false
            show_empty: false
          - type: custom:auto-entities
            filter:
              template: >-
                {% set SENSOR =
                'sensor.ap_e1202_bedroom_wireless_phy0_ap0_clients' -%}

                {%- for attr_key,attr_value in
                states[SENSOR].attributes.items()|reject('search','state_class')|reject('search','icon')|reject('search','friendly_name')
                -%}
                 {% set device_name = {
                    'XX:XX:XX:XX:XX:XX': 'Name1',
                    'XX:XX:XX:XX:XX:XX': 'Name2'
                  }.get(attr_key) -%}
                 {{
                    {
                      'type': 'custom:mushroom-template-card',
                      'entity': SENSOR,
                      'icon_type': 'none',
                      'primary': device_name +": "+attr_value

                    }
                  }},
                {%- endfor %}
            card:
              type: entities
              show_header_toggle: true
              title: LAN 5Ghz
              state_color: false
            show_empty: false
          - type: custom:auto-entities
            filter:
              template: >-
                {% set SENSOR =
                'sensor.ap_e1202_bedroom_wireless_phy1_ap1_clients' -%}

                {%- for attr_key,attr_value in
                states[SENSOR].attributes.items()|reject('search','state_class')|reject('search','icon')|reject('search','friendly_name')
                -%}
                 {% set device_name = {
                    'XX:XX:XX:XX:XX:XX': 'Name1',
                    'XX:XX:XX:XX:XX:XX': 'Name2'
                  }.get(attr_key) -%}
                 {{
                    {
                      'type': 'custom:mushroom-template-card',
                      'entity': SENSOR,
                      'icon_type': 'none',
                      'primary': device_name +": "+attr_value

                    }
                  }},
                {%- endfor %}
            card:
              type: entities
              show_header_toggle: true
              title: Home 2.4Ghz
              state_color: false
            show_empty: false
          - type: custom:auto-entities
            filter:
              template: >-
                {% set SENSOR =
                'sensor.ap_e1202_bedroom_wireless_phy0_ap1_clients' -%}

                {%- for attr_key,attr_value in
                states[SENSOR].attributes.items()|reject('search','state_class')|reject('search','icon')|reject('search','friendly_name')
                -%}
                 {% set device_name = {
                    'XX:XX:XX:XX:XX:XX': 'Name1',
                    'XX:XX:XX:XX:XX:XX': 'Name2'
                  }.get(attr_key) -%}
                 {{
                    {
                      'type': 'custom:mushroom-template-card',
                      'entity': SENSOR,
                      'icon_type': 'none',
                      'primary': device_name +": "+attr_value

                    }
                  }},
                {%- endfor %}
            card:
              type: entities
              show_header_toggle: true
              title: Home 5Ghz
              state_color: false
            show_empty: false
view_layout:
  position: main

I have 4 AP’s. And each of those have 2 SSID on both 2.4Ghz and 5Ghz.
Thats why there are soo many code blocks.

Here’s how it looks

That’s a pretty cool solution using just a Markdown card!