WAN Upload:
{% set d = state_attr('sensor.unifi_wan_raw','data') | default([], true) %}
{% set wan = (d | selectattr('subsystem','equalto','wan') | list | first) %}
{% set tx = wan['tx_bytes-r'] if wan is defined and 'tx_bytes-r' in wan else 0 %}
{{ ((tx | float(0)) * 8 / 1000000) | round(2) }}
WAN Download:
{% set d = state_attr('sensor.unifi_wan_raw','data') | default([], true) %}
{% set wan = (d | selectattr('subsystem','equalto','wan') | list | first) %}
{% set rx = wan['rx_bytes-r'] if wan is defined and 'rx_bytes-r' in wan else 0 %}
{{ ((rx | float(0)) * 8 / 1000000) | round(2) }}
WAN1:
{% set d = state_attr('sensor.unifi_wan_raw','data') | default([], true) %}
{% set wan = (d | selectattr('subsystem','equalto','wan') | list | first) %}
{% set s = wan.uptime_stats if wan is defined and 'uptime_stats' in wan else dict() %}
{% set w1 = s.WAN if 'WAN' in s else dict() %}
{{ (wan.status == 'ok') and (w1.get('availability', 0) | float(0)) > 0 }}
WAN2:
{% set d = state_attr('sensor.unifi_wan_raw','data') | default([], true) %}
{% set wan = (d | selectattr('subsystem','equalto','wan') | list | first) %}
{% set s = wan.uptime_stats if wan is defined and 'uptime_stats' in wan else dict() %}
{% set w2 = s.WAN2 if 'WAN2' in s else dict() %}
{{ (wan.status == 'ok') and (w2.get('availability', 0) | float(0)) > 0 }}
WAN Up:
{% set devs = state_attr('sensor.unifi_gateway_devices','data') | default([], true) %}
{% set gw = (devs | selectattr('type','equalto','udm') | list | first)
or (devs | selectattr('type','equalto','ugw') | list | first) %}
{{ gw is defined and gw.uplink is defined and gw.uplink.up }}
Active WAN Name:
{% set devs = state_attr('sensor.unifi_gateway_devices','data') | default([], true) %}
{% set gw = (devs | selectattr('type','equalto','udm') | list | first)
or (devs | selectattr('type','equalto','ugw') | list | first) %}
{{ gw.uplink.name if gw is defined and gw.uplink is defined else 'unknown' }}