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