Untitled Diff
17 removals
70 lines
75 additions
128 lines
tasmota_info:
decl_test_david_4:
card:
card:
type: 'custom:config-template-card'
type: 'custom:config-template-card'
variables:
variables:
varDEVICE: 'parseFloat(states[''sensor.[[device]]_rssi''].state)'
varDEVICE: 'parseFloat(states[''sensor.[[DEVICE]]_rssi''].state)'
entities:
entities:
- 'sensor.[[device]]_rssi'
- 'sensor.[[DEVICE]]_rssi'
- 'sensor.[[device]]_signal'
- 'sensor.[[DEVICE]]_signal'
- 'sensor.[[device]]_mqtt_connect_count'
- 'sensor.[[DEVICE]]_mqtt_connect_count'
- 'sensor.[[device]]_wifi_connect_count'
- 'sensor.[[DEVICE]]_wifi_connect_count'
card:
card:
type: 'custom:mod-card'
type: 'custom:mod-card'
style:
style:
multiple-entity-row:
multiple-entity-row:
$:
$:
hui-generic-entity-row: |
hui-generic-entity-row: |
.entities-row div.entity:nth-child(1) div::before {
.entities-row div.entity:nth-child(1) div::before {
{% if states('sensor.[[device]]_rssi')|int >= 100 %}
{% if states('sensor.[[DEVICE]]_rssi')|int >= 100 %}
color: green;
color: green;
content: "Excellent\A";
content: "Excellent\A";
{% elif states('sensor.[[device]]_rssi')|int >= 80 %}
{% elif states('sensor.[[DEVICE]]_rssi')|int >= 80 %}
color: orange;
color: orange;
content: "Good\A";
content: "Good\A";
{% elif states('sensor.[[device]]_rssi')|int >= 60 %}
{% elif states('sensor.[[DEVICE]]_rssi')|int >= 60 %}
color: red;
color: red;
content: "Fair\A";
content: "Fair\A";
{% elif states('sensor.[[DEVICE]]_rssi') in ['unavailable','unknown'] %}
color: brown;
content: "N/A\A";
{% else %}
{% else %}
color: magenta;
color: magenta;
content: "Weak\A";
content: "Weak\A";
{% endif %}
{% endif %}
line-height: var(--mdc-typography-body1-line-height, 1.5rem);
line-height: var(--mdc-typography-body1-line-height, 1.5rem);
text-align: center;
text-align: center;
white-space: pre;
white-space: pre;
}
}
.entities-row div.entity:nth-child(1) div {
.entities-row div.entity:nth-child(1) div {
color: transparent;
color: transparent;
line-height: 0px;
line-height: 0px;
}
}
.entities-row div.entity:nth-child(2) div::before {
{% if states('sensor.[[DEVICE]]_mqtt_connect_count') in ['unavailable','unknown'] %}
color: brown;
content: "N/A\A";
line-height: var(--mdc-typography-body1-line-height, 1.5rem);
{% endif %}
}
.entities-row div.entity:nth-child(2) div {
{% if states('sensor.[[DEVICE]]_mqtt_connect_count') in ['unavailable','unknown'] %}
color: transparent;
line-height: 0px;
{% endif %}
}
.entities-row div.entity:nth-child(3) div::before {
{% if states('sensor.[[DEVICE]]_wifi_connect_count') in ['unavailable','unknown'] %}
color: brown;
content: "N/A\A";
line-height: var(--mdc-typography-body1-line-height, 1.5rem);
{% endif %}
}
.entities-row div.entity:nth-child(3) div {
{% if states('sensor.[[DEVICE]]_wifi_connect_count') in ['unavailable','unknown'] %}
color: transparent;
line-height: 0px;
{% endif %}
}
.entities-row div.entity:nth-child(4) div::before {
{% if states('sensor.[[DEVICE]]_signal') in ['unavailable','unknown'] %}
color: brown;
content: "N/A\A";
line-height: var(--mdc-typography-body1-line-height, 1.5rem);
{% endif %}
}
.entities-row div.entity:nth-child(4) div {
{% if states('sensor.[[DEVICE]]_signal') in ['unavailable','unknown'] %}
color: transparent;
line-height: 0px;
{% endif %}
}
.entities-row div.entity:nth-child(5) div::before {
{% if states('sensor.[[DEVICE]]_rssi') in ['unavailable','unknown'] %}
color: brown;
content: "N/A\A";
line-height: var(--mdc-typography-body1-line-height, 1.5rem);
{% endif %}
}
.entities-row div.entity:nth-child(5) div {
{% if states('sensor.[[DEVICE]]_rssi') in ['unavailable','unknown'] %}
color: transparent;
line-height: 0px;
{% endif %}
}
.entities-row {
justify-content: flex-start;
align-items: unset;
}
card:
card:
type: 'custom:multiple-entity-row'
type: 'custom:multiple-entity-row'
entity: sensor.[[device]]_rssi
entity: 'sensor.[[DEVICE]]_rssi'
show_state: false
show_state: false
name: '[[device_name]]'
name: '[[DEVICE_NAME]]'
icon: >-
icon: >-
${varDEVICE >= 100 ? "mdi:wifi-strength-4" : (varDEVICE >= 80 ?
${varDEVICE >= 100 ? "mdi:wifi-strength-4" : (varDEVICE >= 80 ?
"mdi:wifi-strength-3" : (varDEVICE >= 60 ? "mdi:wifi-strength-2" :
"mdi:wifi-strength-3" : (varDEVICE >= 60 ? "mdi:wifi-strength-2" :
"mdi:wifi-strength-1")) }
"mdi:wifi-strength-1")) }
secondary_info: last-changed
entities:
entities:
- entity: sensor.[[device]]_rssi
- entity: 'sensor.[[DEVICE]]_rssi'
name: Quality
name: Quality
styles:
styles:
width: 55px
width: 55px
- entity: sensor.[[device]]_mqtt_connect_count
- entity: 'sensor.[[DEVICE]]_mqtt_connect_count'
name: MQTT
name: MQTT
styles:
styles:
width: 23px
width: 23px
- entity: sensor.[[device]]_wifi_connect_count
- entity: 'sensor.[[DEVICE]]_wifi_connect_count'
name: WiFi
name: WiFi
styles:
styles:
width: 23px
width: 23px
- entity: sensor.[[device]]_signal
- entity: 'sensor.[[DEVICE]]_signal'
name: Signal
name: Signal
styles:
styles:
width: 48px
width: 48px
- entity: sensor.[[device]]_rssi
- entity: 'sensor.[[DEVICE]]_rssi'
name: RSSI
name: RSSI
styles:
styles:
width: 38px
width: 38px