Skip to content

Commit

Permalink
Merge pull request #1318 from UI-Lovelace-Minimalist/release
Browse files Browse the repository at this point in the history
Release v1.3.6
  • Loading branch information
basbruss committed Jun 12, 2023
2 parents fbf4703 + 4402d40 commit a0f150c
Show file tree
Hide file tree
Showing 6 changed files with 147 additions and 46 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ ulm_translation_engine:
let lang = hass["language"];
let domain = entity.entity_id.substr(0, entity.entity_id.indexOf("."));
var translation = hass.resources[lang]["component." + domain + ".entity_component._.state." + state]
let display_precision = hass.entities[entity.entity_id]?.display_precision
const now = new Date();
const timestamp = (new Date(state)).getTime();
const nowTimeStamp = now.getTime();
Expand All @@ -81,7 +82,7 @@ ulm_translation_engine:
const secondsDiff = Math.round(microSecondsDiff / (1000));
const formatter = new Intl.RelativeTimeFormat(lang, { numeric: 'auto' });
var scale = 'day'
var diff = 'daysDiff'
var diff = daysDiff
if (Math.abs(secondsDiff) < 60){ scale = 'second'; diff = secondsDiff }
else if (Math.abs(minutesDiff) < 60){ scale = 'minute'; diff = minutesDiff }
else if (Math.abs(hoursDiff) < 24){ scale = 'hour'; diff = hoursDiff }
Expand All @@ -95,6 +96,9 @@ ulm_translation_engine:
else if (d_class == 'timestamp'){
var translation = formatter.format(diff, scale)
}
else if (parseFloat(display_precision) >=0){
var translation = parseFloat(entity.state).toFixed(display_precision?.toString())
}
return translation ? translation.charAt(0).toUpperCase() + translation.slice(1) : state;
}
]]]
Expand Down Expand Up @@ -124,6 +128,7 @@ ulm_translation_engine:
let lang = hass["language"];
let domain = entity.entity_id.substr(0, entity.entity_id.indexOf("."));
let unit = entity.attributes.unit_of_measurement != null ? " " + entity.attributes.unit_of_measurement : "";
let display_precision = hass.entities[entity.entity_id]?.display_precision
const now = new Date();
const timestamp = (new Date(state)).getTime();
const nowTimeStamp = now.getTime();
Expand All @@ -135,7 +140,7 @@ ulm_translation_engine:
const formatter = new Intl.RelativeTimeFormat(lang, { numeric: 'auto' });
var scale = 'day'
var diff = 'daysDiff'
var diff = daysDiff
if (Math.abs(secondsDiff) < 60){ scale = 'second'; diff = secondsDiff }
else if (Math.abs(minutesDiff) < 60){ scale = 'minute'; diff = minutesDiff }
else if (Math.abs(hoursDiff) < 24){ scale = 'hour'; diff = hoursDiff }
Expand All @@ -161,6 +166,9 @@ ulm_translation_engine:
else if (d_class == 'timestamp'){
var translation = formatter.format(diff, scale);
}
else if (parseFloat(display_precision) >=0){
var translation = parseFloat(entity.state).toFixed(display_precision?.toString()) + unit
}
return translation ? translation.charAt(0).toUpperCase() + translation.slice(1) : state;
}
]]]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
card_binary_sensor:
template:
- "icon_more_info_new"
- "blue"
- "ulm_translation_engine"
show_last_changed: false
variables:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ card_cover:
ulm_card_cover_garage_large: false
ulm_card_cover_gate: false
ulm_card_cover_enable_controls: false
ulm_card_cover_favorite_percentage: null
ulm_card_cover_enable_slider: false
ulm_card_cover_slider_min: 0
ulm_card_cover_slider_max: 100
Expand Down Expand Up @@ -44,24 +45,54 @@ card_cover:
grid:
- grid-template-areas: >
[[[
var areas = [];
areas.push("item1");
if (variables.ulm_card_cover_enable_horizontal) {
if (variables.ulm_card_cover_enable_controls) {
areas.push("item2");
}
if (variables.ulm_card_cover_enable_slider) {
areas.push("item3");
}
if (variables.ulm_card_cover_enable_tilt) {
areas.push("item4");
}
var hor_area = ["item1"];
var ver_area = [];
if (variables.ulm_card_cover_enable_horizontal) {
areas = areas.slice(0, 2);
return "\"" + areas.join(" ") + "\"";
if (variables.ulm_card_cover_enable_controls) {
if (variables.ulm_card_cover_enable_horizontal == "controls" || variables.ulm_card_cover_enable_horizontal == true) {
hor_area.push("item2");
} else {
ver_area.push("item2" + " " + "item2");
}
}
if (variables.ulm_card_cover_enable_slider) {
if (variables.ulm_card_cover_enable_horizontal == "slider") {
hor_area.push("item3");
} else {
ver_area.push("item3" + " " + "item3");
}
}
if (variables.ulm_card_cover_enable_tilt) {
if (variables.ulm_card_cover_enable_horizontal == "tilt") {
hor_area.push("item4");
} else {
ver_area.push("item4" + " " + "item4");
}
}
if (ver_area.length < 1) {
return "\"" + hor_area.join(" ") + "\" ";
} else {
return "\"" + hor_area.join(" ") + "\" " + "\"" + ver_area.join("\" \"") + "\"";
}
} else {
var areas = [];
areas.push("item1");
if (variables.ulm_card_cover_enable_controls) {
areas.push("item2");
}
if (variables.ulm_card_cover_enable_slider) {
areas.push("item3");
}
if (variables.ulm_card_cover_enable_tilt) {
areas.push("item4");
}
return "\"" + areas.join("\" \"") + "\"";
}
return "\"" + areas.join("\" \"") + "\"";
]]]
- grid-template-columns: >
[[[
Expand All @@ -72,9 +103,6 @@ card_cover:
]]]
- grid-template-rows: >
[[[
if (variables.ulm_card_cover_enable_horizontal) {
return "min-content";
}
var rows = [];
rows.push("min-content");
if (variables.ulm_card_cover_enable_controls) {
Expand All @@ -86,6 +114,11 @@ card_cover:
if (variables.ulm_card_cover_enable_tilt) {
rows.push("min-content");
}
if (variables.ulm_card_cover_enable_horizontal) {
if (rows.length > 1) {
rows.pop()
}
}
return rows.join(" ");
]]]
- row-gap: "12px"
Expand All @@ -107,9 +140,6 @@ card_cover:
- display: >
[[[
if (variables.ulm_card_cover_enable_slider) {
if (variables.ulm_card_cover_enable_horizontal && variables.ulm_card_cover_enable_controls) {
return "none";
}
return "block";
} else {
return "none";
Expand All @@ -119,9 +149,6 @@ card_cover:
- display: >
[[[
if (variables.ulm_card_cover_enable_tilt) {
if (variables.ulm_card_cover_enable_horizontal && (variables.ulm_card_cover_enable_controls || variables.ulm_card_cover_enable_slider)) {
return "none";
}
return "block";
} else {
return "none";
Expand Down Expand Up @@ -289,10 +316,20 @@ card_cover:
item2:
card:
type: "custom:button-card"
template: "list_3_items"
template: "[[[ return (variables.ulm_card_cover_favorite_percentage) ? 'list_4_items' : 'list_3_items' ]]]"
styles:
card:
- background: "none"
custom_fields:
item4:
- display: >
[[[
if (variables.ulm_card_cover_favorite_percentage) {
return "block";
} else {
return "none";
}
]]]
custom_fields:
item1:
card:
Expand Down Expand Up @@ -484,6 +521,47 @@ card_cover:
}
return "mdi:arrow-up";
]]]
item4:
card:
type: "custom:button-card"
template: "widget_icon"
entity: "[[[ return entity.entity_id ]]]"
styles:
card:
- background-color: >
[[[
if(!hass.themes.darkMode && variables.ulm_card_cover_force_background_color){
if (variables.ulm_active_state){
return 'rgb(250,250,250)'
}
}
return 'rgba(var(--color-theme),0.05)'
]]]
img_cell:
- background-color: >
[[[
if (variables.ulm_card_cover_force_background_color && variables.ulm_active_state) {
var color = variables.ulm_card_cover_color;
return 'rgba(var(--color-' + color + '),0.2)';
}
return 'rgba(var(--color-theme),0.05)';
]]]
icon:
- color: >
[[[
if (variables.ulm_card_cover_force_background_color && variables.ulm_active_state) {
var color = variables.ulm_card_cover_color;
return 'rgba(var(--color-' + color + '),1)';
}
return 'rgba(var(--color-theme),0.9)';
]]]
tap_action:
action: "call-service"
service: "cover.set_cover_position"
service_data:
entity_id: "[[[ return entity.entity_id ]]]"
position: "[[[ return variables.ulm_card_cover_favorite_percentage ]]]"
icon: "mdi:star"
item3:
card:
type: "custom:my-slider"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -297,13 +297,19 @@ card_scenes_pill_welcome:
}
else if(entity.entity_id.startsWith("input_select.")){
return "input_select.select_option"
}
else if(entity.entity_id.startsWith("script.")){
return entity.entity_id
} else {
return "homeassistant.toggle"
}
]]]
navigation_path: "[[[ return variables?.nav_path; ]]]"
service_data: |
[[[
if (variables.service_data){
return variables.service_data
}
var obj;
if( entity.entity_id.startsWith("input_select.") )
obj = { entity_id: entity.entity_id, option: variables.state };
Expand Down Expand Up @@ -379,12 +385,18 @@ card_scenes_pill_welcome:
}
else if(entity.entity_id.startsWith("input_select.")){
return "input_select.select_option"
}
else if(entity.entity_id.startsWith("script.")){
return entity.entity_id
} else {
return "homeassistant.toggle"
}
]]]
service_data: |
[[[
if (variables.service_data){
return variables.service_data
}
var obj;
if( entity.entity_id.startsWith("input_select.") )
obj = { entity_id: entity.entity_id, option: variables.state };
Expand Down
39 changes: 21 additions & 18 deletions docs/usage/cards/card_cover.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Cover Card
hide:
- toc
---

<!-- markdownlint-disable MD046 -->

## Description
Expand All @@ -14,27 +15,28 @@ hide:
With the `cover-card` you have the state of your cover. Optionally, on the second line, OPEN / PAUSE / CLOSE to control it and/or a slider to control position.

!!! warning
This card has backward compatibility with older template except custom name. It means variable `ulm_card_cover_buttons_name` must be replaced by `ulm_card_cover_name`.
This card has backward compatibility with older template except custom name. It means variable `ulm_card_cover_buttons_name` must be replaced by `ulm_card_cover_name`.

## Variables

| Variable/Entity | Default | Required | Notes | Requirement |
|----------------------------------------|-----------------|------------------|----------------------------------------|-------------|
| entity | | :material-check: | Your HA entity | |
| ulm_card_cover_name | `friendly_name` | :material-close: | Customize name | |
| ulm_card_cover_icon | | :material-close: | Customize icon | |
| ulm_card_invert_percent | `false` | :material-close: | Invert the Percentage (100% = Closed) | |
| ulm_card_cover_display_left_right | `false` | :material-close: | Display left right control button | |
| ulm_card_cover_garage_large | `false` | :material-close: | Display variant garage icon for garage cover | Only if `device_class = 'garage` |
| ulm_card_cover_enable_controls | `false` | :material-close: | Enable control buttons | |
| ulm_card_cover_enable_slider | `false` | :material-close: | Enable slider | |
| ulm_card_cover_enable_horizontal | `false` | :material-close: | Enable horizontal card | Need `ulm_card_cover_enable_controls: true` or `ulm_card_cover_enable_slider: true` |
| ulm_card_cover_enable_tilt | `false` | :material-close: | Display angled buttons for Venetian blind tilt | |
| ulm_card_cover_enable_popup | `false` | :material-close: | Enable `popup_cover` | |
| ulm_card_cover_slider_min | `0` | :material-close: | Set Minimum Slider Value | |
| ulm_card_cover_slider_max | `100` | :material-close: | Set Maximum Slider Value | |
| ulm_card_cover_color | `blue` | :material-close: | Set Custom Color | |
| ulm_card_cover_force_background_color | `false` | :material-close: | Set `ulm_card_cover_color` as background color in active state ` | |
| Variable/Entity | Default | Required | Notes | Requirement |
| ------------------------------------- | --------------- | ---------------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| entity | | :material-check: | Your HA entity | |
| ulm_card_cover_name | `friendly_name` | :material-close: | Customize name | |
| ulm_card_cover_icon | | :material-close: | Customize icon | |
| ulm_card_invert_percent | `false` | :material-close: | Invert the Percentage (100% = Closed) | |
| ulm_card_cover_display_left_right | `false` | :material-close: | Display left right control button | |
| ulm_card_cover_garage_large | `false` | :material-close: | Display variant garage icon for garage cover | Only if `device_class = 'garage` |
| ulm_card_cover_enable_controls | `false` | :material-close: | Enable control buttons | |
| ulm_card_cover_enable_slider | `false` | :material-close: | Enable slider | |
| ulm_card_cover_enable_horizontal | `false` | :material-close: | Enable horizontal card | Need `ulm_card_cover_enable_controls: true` or `ulm_card_cover_enable_slider: true` |
| ulm_card_cover_favorite_percentage | `false` | :material-close: | Display favorite button to jump to preset position | enter number |
| ulm_card_cover_enable_tilt | `false` | :material-close: | Display angled buttons for Venetian blind tilt | |
| ulm_card_cover_enable_popup | `false` | :material-close: | Enable `popup_cover` | |
| ulm_card_cover_slider_min | `0` | :material-close: | Set Minimum Slider Value | |
| ulm_card_cover_slider_max | `100` | :material-close: | Set Maximum Slider Value | |
| ulm_card_cover_color | `blue` | :material-close: | Set Custom Color | |
| ulm_card_cover_force_background_color | `false` | :material-close: | Set `ulm_card_cover_color` as background color in active state ` | |

## Usage

Expand All @@ -45,6 +47,7 @@ With the `cover-card` you have the state of your cover. Optionally, on the secon
variables:
ulm_card_cover_enable_controls: true
ulm_card_cover_enable_slider: true
ulm_card_cver_favorite_percentage: 45
ulm_card_cover_color: "green"
```

Expand Down
1 change: 1 addition & 0 deletions docs/usage/cards/card_welcome_scenes.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ This is a card which shows the basic needs for your dashboard. This card can gen
| _color | Random | :material-close: | Color of the icon <br> Can choose between: `blue`, `red`, `green`, `yellow`, `pink`, `purple` <br> If not specified, it will take a random color |
| _state | `on` or `playing` | :material-close: | Define `input_select` state or give manual state for pill to be full |
| _nav_path | | :material-close: | Navigate to another view <br> *Overrides other types of actions*
| _service_data | | :material-close: | Data to be passed through to data_service. Useful for running scripts with custom fields/parameters

## Requirement Collapse Function

Expand Down

0 comments on commit a0f150c

Please sign in to comment.