This mod uses the bignumber-card, please install that from HACS before using this card.
You will need to have a travel time sensor created - e.g. Waze -
All variables are required:
ulm_card_commute_entity - Travel time sensor
ulm_card_commute_name - Name to display under the bar graph
These variables are in minutes
ulm_card_commute_normal - defines the normal commuting time, this time or less shows a green bar
ulm_card_commute_slow - commute times up to this this number will show yellow
ulm_card_commute_max - defines the maximum time. Anything between slow and max will show red.
You need to fix that using layout cards, you can use the standard horizontal layout card and put the header into one and the other cards to one. I prefer to use the custom:layout-card with grid layout for maximum control.
The new popup cards for lights are really awesome, thanks a bunch! Anyone knows if itās possible to somehow only control lights that are on in a light group? I use the popup with light groups so Iām looking into maybe adding a button on there for all the entities in that group to turn on/off them individually and only control the ones that are on with the popup card.
Sorry @Br3b, Iām a little bit late. Here comes my code.
Note that I made one big hardcoded template, because we have also one big poop area for our kitties
Thank you for your answer, but how would I go about doing that? When I look at the yaml code of the card it is referencing to āicon_infoā and ālist_3_itemsā. These templates are present in the button_card_templates.yaml file. I tried to copy these specific templates to the custom_card_httpedo13_thermostat.yaml file to see if that would make a difference, but without luck. The rest of the card is functioning properly though, so there must be something obvious Iām missing.
type: custom:button-card
entity: sensor.time
triggers_update: all
show_icon: false
show_name: true
show_state: true
show_label: true
tap_action:
action: more-info
name: "[[[ return entity.state ]]]"
state_display: |
[[[
var tag = states['sensor.datumsanzeige'].state; ## sensor date
var kw = states['sensor.aktuelle_kalenderwoche'].state; ## sensor calendar week
return tag + '<br>(Kalenderwoche ' + kw + ')'
]]]
label: |
[[[
var s = states['sun.sun'].state
var auf = states['sensor.sonnenaufgang'].state; ## sensor sunrise
var unter = states['sensor.sonnenuntergang'].state; ## sensor sunset
var lux = states['sensor.lux'].state;
if (s == 'below_horizon')
return 'Die Sonne geht um ' + auf + ' auf.';
return 'Die Sonne geht um ' + unter + ' unter.<br> LichtintensitƤt: ' + lux + ' lx'
]]]
styles:
card:
- margin-left: 40px
- width: 25vw
- padding: 0
- border-radius: 0%
- box-shadow: none
- color: var(--primary-text-color)
- font-size: 13px
grid:
- grid-template-areas: '"n" "s" "l"'
- grid-template-columns: max-content
- justify-content: center
name:
- font-family: Arial Rounded MT Bold
- font-size: 42px
label:
- padding: 13px 0px
- white-space: pre-line
#### END ####
wetter_sidebar.yaml / weather:
type: custom:button-card
triggers_update: all
tap_action:
action: navigate
navigation_path: /homezone-yaml/wetter
styles:
card:
- margin-left: 40px
- width: 25vw
- padding: 0
- border-radius: 0%
- box-shadow: none
- color: var(--primary-text-color)
- font-size: 13px
grid:
- grid-template-areas: '"wetter"'
- grid-template-columns: max-content
- grid-template-rows: 1fr 1fr
- justify-content: center
custom_fields:
wetter:
- align-self: start
- justify-self: center
- text-align: left
- '--text-color-sensor': |
[[[
var entity = states['sensor.openweathermap_condition'].state;
if (entity == 'sunny') return 'yellow';
if (entity == 'windy') return 'skyblue';
if (entity == 'windy-variant') return 'skyblue';
if (entity == 'clear-night') return '#FFFFE0';
if (entity == 'partlycloudy') return 'lightgrey';
if (entity == 'cloudy') return 'lightgrey';
if (entity == 'overcast') return 'lightgrey';
if (entity == 'fog') return 'ivory';
if (entity == 'hail') return 'silver';
if (entity == 'lightning') return '#f4f3ef';
if (entity == 'lightning-rainy') return '#f4f3ef';
if (entity == 'rainy') return '#00d1d2';
if (entity == 'pouring') return '#00d1d2';
if (entity == 'snowy-rainy') return 'grey';
if (entity == 'snowy') return 'white';
else return 'teal';
]]]
custom_fields:
wetter: |
[[[
var i = states['sensor.openweathermap_condition'].state;
var mdi = 'mdi:white-balance-sunny';
if (i == 'sunny') { mdi = 'mdi:white-balance-sunny'; }
else if (i == 'windy') { mdi = 'mdi:weather-windy'; }
else if (i == 'windy-variant') { mdi = 'mdi:weather-windy-variant'; }
else if (i == 'clear-night') { mdi = 'mdi:weather-night'; }
else if (i == 'partlycloudy') { mdi = 'mdi:weather-partly-cloudy'; }
else if (i == 'cloudy') { mdi = 'mdi:weather-cloudy'; }
else if (i == 'overcast') { mdi = 'mdi:weather-cloudy-arrow-right'; }
else if (i == 'fog') { mdi = 'mdi:weather-fog'; }
else if (i == 'hail') { mdi = 'mdi:weather-hail'; }
else if (i == 'lightning') { mdi = 'mdi:weather-lightning'; }
else if (i == 'lightning-rainy') { mdi = 'mdi:weather-lightning-rainy'; }
else if (i == 'pouring') { mdi = 'mdi:weather-pouring'; }
else if (i == 'rainy') { mdi = 'mdi:weather-rainy'; }
else if (i == 'snowy-rainy') { mdi = 'mdi:weather-snowy-rainy'; }
else if (i == 'snowy') { mdi = 'mdi:weather-snowy'; }
else if (i == 'fog') { mdi = 'mdi:weather-fog'; }
var w = 'sunny';
if (i == 'sunny') { w = 'Sonnig'; }
else if (i == 'clear-night') { w = 'Klare Nacht'; }
else if (i == 'windy') { w = 'Windig'; }
else if (i == 'windy-variant') { w = '?'; }
else if (i == 'partlycloudy') { w = 'Tw. bewƶlkt'; }
else if (i == 'cloudy') { w = 'Bewƶlkt'; }
else if (i == 'overcast') { w = 'Bedeckt'; }
else if (i == 'fog') { w = 'Neblig'; }
else if (i == 'hail') { w = 'Hagel'; }
else if (i == 'lightning') { w = 'Gewittrig'; }
else if (i == 'lightning-rainy') { w = '?'; }
else if (i == 'rainy') { w = 'Regnerisch'; }
else if (i == 'pouring') { w = 'Starkregen'; }
else if (i == 'snowy') { w = 'Schnee'; }
else if (i == 'snowy-rainy') { w = 'Schneeregen'; }
else if (i == 'fog') { w = 'Nebel'; }
var temp = Math.round(states['sensor.openweathermap_temperature'].state * 10) / 10 ;
var nied = states['sensor.openweathermap_forecast_precipitation_probability'].state;
var feuchte = states['sensor.openweathermap_humidity'].state;
return `<ha-icon
icon='${mdi}'
style='width: 20px; height: 20px; color: var(--text-color-sensor);'>
</ha-icon>
<span style='vertical-align: -1px;'>${w} bei ${temp}Ā°<br>Niederschlagswahrsch.: ${nied}%<br>Luftfeuchte: ${feuchte}%</span>`
]]]
#### END ####
I copied the code. It should be noted that I already have a robot-vacuum connected to the smart home - in another code. Iām just trying the minimalist.
I constantly get an error ā¦ and do not clear to me why.
I see that the temperatures are there, so itās a problem with the icon templates. Both normal and collapse cards work in my home assistant, so I canāt understand why this happens in your configuration