diff --git a/.github/workflows/automatic-custom-card-docs.yml b/.github/workflows/automatic-custom-card-docs.yml
index a92327fbe..5f4c5ab23 100644
--- a/.github/workflows/automatic-custom-card-docs.yml
+++ b/.github/workflows/automatic-custom-card-docs.yml
@@ -11,7 +11,7 @@ jobs:
docit:
runs-on: "ubuntu-latest"
steps:
- - uses: "actions/checkout@v3"
+ - uses: "actions/checkout@v4"
with:
fetch-depth: 0
- name: "Copy and rename README.md files"
diff --git a/.github/workflows/check-code-quality.yml b/.github/workflows/check-code-quality.yml
index 2583600cb..e1b5b5ca6 100644
--- a/.github/workflows/check-code-quality.yml
+++ b/.github/workflows/check-code-quality.yml
@@ -11,11 +11,11 @@ jobs:
runs-on: "ubuntu-latest"
steps:
- name: "⤵️ Check out code from GitHub"
- uses: "actions/checkout@v3"
+ uses: "actions/checkout@v4"
- name: "⚙️ Set up Python"
uses: "actions/setup-python@v4"
with:
- python-version: 3.8
+ python-version: 3.11
- name: "⚙️ Set up Ruby"
uses: "ruby/setup-ruby@v1"
with:
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index f54dfd08b..1fbd12737 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -34,7 +34,7 @@ jobs:
steps:
- name: "Checkout repository"
- uses: "actions/checkout@v3"
+ uses: "actions/checkout@v4"
# Initializes the CodeQL tools for scanning.
- name: "Initialize CodeQL"
diff --git a/.github/workflows/hacs-validate.yml b/.github/workflows/hacs-validate.yml
index d9a19e621..d2986cfa9 100644
--- a/.github/workflows/hacs-validate.yml
+++ b/.github/workflows/hacs-validate.yml
@@ -13,7 +13,7 @@ jobs:
runs-on: "ubuntu-latest"
steps:
- name: "checkout"
- uses: "actions/checkout@v3"
+ uses: "actions/checkout@v4"
- name: "validation"
uses: "home-assistant/actions/hassfest@master"
@@ -22,7 +22,7 @@ jobs:
runs-on: "ubuntu-latest"
steps:
- name: "checkout"
- uses: "actions/checkout@v3"
+ uses: "actions/checkout@v4"
- name: "validation"
uses: "hacs/action@main"
with:
diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml
index a782ee3b6..2ed8a8677 100644
--- a/.github/workflows/labeler.yml
+++ b/.github/workflows/labeler.yml
@@ -12,7 +12,7 @@ jobs:
runs-on: "ubuntu-latest"
steps:
- name: "⤵️ Check out code from GitHub"
- uses: "actions/checkout@v3"
+ uses: "actions/checkout@v4"
- name: "\U0001F680 Run Labeler"
uses: "crazy-max/ghaction-github-labeler@v4"
with:
diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml
index d03239b40..335876e14 100644
--- a/.github/workflows/pages.yml
+++ b/.github/workflows/pages.yml
@@ -10,9 +10,9 @@ jobs:
deploy:
runs-on: "ubuntu-latest"
steps:
- - uses: "actions/checkout@v3"
+ - uses: "actions/checkout@v4"
with:
- node-version: "16.x"
+ node-version: "20.x"
- uses: "actions/setup-python@v4"
with:
python-version: "3.11"
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 3196cc7e6..12d6ee6ee 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -11,7 +11,7 @@ jobs:
runs-on: "ubuntu-latest"
steps:
- name: "Check out repository"
- uses: "actions/checkout@v3"
+ uses: "actions/checkout@v4"
- name: "Get version"
id: "version"
diff --git a/.markdownlint.yml b/.markdownlint.yml
index ed383dae4..e6fda1a29 100644
--- a/.markdownlint.yml
+++ b/.markdownlint.yml
@@ -6,7 +6,7 @@ default: true
MD001: false
MD024:
- allow_different_nesting: true
+ siblings_only: true
MD025: false
@@ -48,7 +48,7 @@ no-emphasis-as-heading: false
first-line-h1: false
code-block-style:
- style: ["fenced"]
+ style: "fenced"
proper-names:
names: []
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index d9b4023f0..1a05c35c7 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -12,7 +12,7 @@ ci:
repos:
- repo: "https://github.com/pre-commit/pre-commit-hooks"
- rev: "v4.2.0"
+ rev: "v5.0.0"
hooks:
- id: "check-executables-have-shebangs"
- id: "check-json"
@@ -30,7 +30,7 @@ repos:
- id: "mixed-line-ending"
- repo: "https://github.com/adrienverge/yamllint.git"
- rev: "v1.26.3"
+ rev: "v1.35.1"
hooks:
- id: "yamllint"
args: ["--format", "parsable", "--strict"]
@@ -41,13 +41,13 @@ repos:
)$
- repo: https://github.com/igorshubovych/markdownlint-cli
- rev: v0.31.1
+ rev: v0.43.0
hooks:
- id: markdownlint
args: ["--fix"]
- repo: "https://github.com/jumanjihouse/pre-commit-hook-yamlfmt"
- rev: "0.1.1"
+ rev: "0.2.3"
hooks:
- id: "yamlfmt"
args:
@@ -63,23 +63,23 @@ repos:
exclude: ".*"
- repo: "https://github.com/mattlqx/pre-commit-search-and-replace"
- rev: "v1.0.5"
+ rev: "v1.1.8"
hooks:
- id: "search-and-replace"
- repo: "https://github.com/asottile/pyupgrade"
- rev: "v2.31.1"
+ rev: "v3.19.1"
hooks:
- id: "pyupgrade"
args: ["--py39-plus"]
- repo: https://github.com/pycqa/isort
- rev: 5.12.0
+ rev: 5.13.2
hooks:
- id: isort
- repo: "https://github.com/psf/black"
- rev: "22.3.0"
+ rev: "24.10.0"
hooks:
- id: "black"
args:
@@ -89,7 +89,7 @@ repos:
files: '^((custom_components|tests)/.+)?[^/]+\.py$'
- repo: "https://github.com/PyCQA/flake8"
- rev: "4.0.1"
+ rev: "7.1.1"
hooks:
- id: "flake8"
additional_dependencies:
@@ -99,7 +99,7 @@ repos:
files: '^(custom_components/.+)?[^/]+\.py$'
- repo: "https://github.com/PyCQA/bandit"
- rev: "1.7.4"
+ rev: "1.8.0"
hooks:
- id: "bandit"
args:
@@ -108,7 +108,7 @@ repos:
# - "--configfile=bandit.yaml"
<<: *python-files-with-tests
- repo: https://github.com/codespell-project/codespell.git
- rev: "v2.1.0"
+ rev: "v2.3.0"
hooks:
- id: codespell
files: "(.*.md|translations/en.json)"
diff --git a/README.md b/README.md
index 9cfc8928f..56c8e7fd2 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@
It's kind of hard to explain what this is, so let's call it a "theme" (in quotation marks). But one thing is for sure, it is very nice! Taking the exceptional work of tben as a basis, this repository is aimed to ease installation and maintenance of his wonderful work. You can use this interpretation of a SmartHomeUI more or less like a theme in HomeAssistant.
-
+
## Wiki for documentation
@@ -28,6 +28,7 @@ Take a look here: [https://ui-lovelace-minimalist.github.io/UI/](https://ui-love
Table of content from the WIKI
+
Setup |
@@ -103,5 +104,5 @@ The same goes for our `custom_cards`. As the number grows, the list would be to
### Contributions
->This is a living project and all input is very welcome! If you configured and designed a card, that you would like to share, please feel free to do so! We are happy to include your contribution so others can use it as well!
-This project uses pre-commit for consistent and clean code. If possible, please make sure that you also use pre-commit for local development before creating a pull request.
+> This is a living project and all input is very welcome! If you configured and designed a card, that you would like to share, please feel free to do so! We are happy to include your contribution so others can use it as well!
+> This project uses pre-commit for consistent and clean code. If possible, please make sure that you also use pre-commit for local development before creating a pull request.
diff --git a/custom_cards/custom_card_alarm_time/card_alarm_time.yaml b/custom_cards/custom_card_alarm_time/card_alarm_time.yaml
index bea5c3afb..15e355be0 100644
--- a/custom_cards/custom_card_alarm_time/card_alarm_time.yaml
+++ b/custom_cards/custom_card_alarm_time/card_alarm_time.yaml
@@ -176,10 +176,11 @@ card_alarm_time:
type: "custom:button-card"
template: "widget_icon"
tap_action:
- action: "call-service"
- service: "input_datetime.set_datetime"
- service_data:
+ action: "perform-action"
+ perform_action: "input_datetime.set_datetime"
+ target:
entity_id: "[[[ return variables.ulm_card_alarm_time_datetime ]]]"
+ data:
time: >
[[[
var timestamp = states[variables.ulm_card_alarm_time_datetime].attributes.timestamp;
@@ -259,10 +260,11 @@ card_alarm_time:
type: "custom:button-card"
template: "widget_icon"
tap_action:
- action: "call-service"
- service: "input_datetime.set_datetime"
- service_data:
+ action: "perform-action"
+ perform_action: "input_datetime.set_datetime"
+ target:
entity_id: "[[[ return variables.ulm_card_alarm_time_datetime ]]]"
+ data:
time: >
[[[
var timestamp = states[variables.ulm_card_alarm_time_datetime].attributes.timestamp;
diff --git a/custom_cards/custom_card_bar_card/custom_card_bar_card.yaml b/custom_cards/custom_card_bar_card/custom_card_bar_card.yaml
index dcb4ca712..58dd0b13d 100644
--- a/custom_cards/custom_card_bar_card/custom_card_bar_card.yaml
+++ b/custom_cards/custom_card_bar_card/custom_card_bar_card.yaml
@@ -44,26 +44,27 @@ custom_card_bar_card:
name: "off"
min: "[[[ return variables.ulm_custom_card_bar_card_min ]]]"
max: "[[[ return variables.ulm_custom_card_bar_card_max ]]]"
- style: |-
- bar-card-currentbar {
- border-radius: 0px !important;
- right: 0;
- }
- bar-card-backgroundbar {
- border-radius: 0px !important;
- right: 0;
- }
- #states {
- padding: 0;
- height: 35px;
- }
- bar-card-background {
- height: 35px !important;
- }
- bar-card-indicator {
- left: 10px;
- }
- bar-card-value {
- font-weight: bold;
- font-size: 12px;
- }
+ card_mod:
+ style: |-
+ bar-card-currentbar {
+ border-radius: 0px !important;
+ right: 0;
+ }
+ bar-card-backgroundbar {
+ border-radius: 0px !important;
+ right: 0;
+ }
+ #states {
+ padding: 0;
+ height: 35px;
+ }
+ bar-card-background {
+ height: 35px !important;
+ }
+ bar-card-indicator {
+ left: 10px;
+ }
+ bar-card-value {
+ font-weight: bold;
+ font-size: 12px;
+ }
diff --git a/custom_cards/custom_card_camera/README.md b/custom_cards/custom_card_camera/README.md
index d3ebfbabc..90cef23db 100644
--- a/custom_cards/custom_card_camera/README.md
+++ b/custom_cards/custom_card_camera/README.md
@@ -3,6 +3,7 @@ title: Custom Camera Card
hide:
- toc
---
+
# Custom-card "Camera"
@@ -21,7 +22,7 @@ Version: 1.0.0
1.0.1
-Added variable to passthough aspect ratio to the picture entity card. Fix minor issues with title.
+Added variable to passthrough aspect ratio to the picture entity card. Fix minor issues with title.
1.0.0
@@ -39,7 +40,7 @@ Initial release.
ulm_custom_card_camera_title: true
ulm_custom_card_camera_name: "name"
ulm_custom_card_camera_label: "label"
- ulm_custom_card_camera_aspect_ratio: '16:9'
+ ulm_custom_card_camera_aspect_ratio: "16:9"
```
## Variables
diff --git a/custom_cards/custom_card_chromecast/custom_card_chromecast.yaml b/custom_cards/custom_card_chromecast/custom_card_chromecast.yaml
index 3810be83d..c11c1328a 100644
--- a/custom_cards/custom_card_chromecast/custom_card_chromecast.yaml
+++ b/custom_cards/custom_card_chromecast/custom_card_chromecast.yaml
@@ -49,9 +49,9 @@ card_media_player_chromecast_with_controls:
type: "custom:button-card"
template: "widget_icon"
tap_action:
- action: "call-service"
- service: "media_player.toggle"
- service_data:
+ action: "perform-action"
+ perform_action: "media_player.toggle"
+ target:
entity_id: "[[[ return variables.ulm_card_media_player_with_controls_entity ]]]"
icon: "mdi:power"
item2:
@@ -60,9 +60,9 @@ card_media_player_chromecast_with_controls:
template: "widget_icon"
entity: "[[[ return variables.ulm_card_media_player_with_controls_entity ]]]"
tap_action:
- action: "call-service"
- service: "media_player.media_play_pause"
- service_data:
+ action: "perform-action"
+ perform_action: "media_player.media_play_pause"
+ target:
entity_id: "[[[ return variables.ulm_card_media_player_with_controls_entity ]]]"
icon: "mdi:pause"
state:
@@ -75,9 +75,9 @@ card_media_player_chromecast_with_controls:
type: "custom:button-card"
template: "widget_icon"
tap_action:
- action: "call-service"
- service: "media_player.toggle"
- service_data:
+ action: "perform-action"
+ perform_action: "media_player.toggle"
+ target:
entity_id: "[[[ return variables.ulm_card_media_player_with_controls_entity ]]]"
icon: "mdi:video-input-hdmi"
diff --git a/custom_cards/custom_card_eraycetinay_elapsed_time/custom_card_eraycetinay_elapsed_time.yaml b/custom_cards/custom_card_eraycetinay_elapsed_time/custom_card_eraycetinay_elapsed_time.yaml
index 6d7f5283f..eac04aa4c 100644
--- a/custom_cards/custom_card_eraycetinay_elapsed_time/custom_card_eraycetinay_elapsed_time.yaml
+++ b/custom_cards/custom_card_eraycetinay_elapsed_time/custom_card_eraycetinay_elapsed_time.yaml
@@ -23,15 +23,15 @@ custom_card_eraycetinay_elapsed_time:
let text = '';
if(entity.attributes.has_date) {
- text += days > 0 ? days + ' ' + (days > 1 ? variables.custom_card_eraycetinay_elapsed_time_days : variables.custom_card_eraycetinay_elapsed_time_day) +' ' : '';
+ text += days > 0 ? days + ' ' + (days > 1 ? variables.ulm_custom_card_eraycetinay_elapsed_time_days : variables.ulm_custom_card_eraycetinay_elapsed_time_day) +' ' : '';
}
if(entity.attributes.has_time) {
- text += hours > 0 ? hours + ' ' + (hours > 1 ? variables.custom_card_eraycetinay_elapsed_time_hours : variables.custom_card_eraycetinay_elapsed_time_hour) +' ' : '';
+ text += hours > 0 ? hours + ' ' + (hours > 1 ? variables.ulm_custom_card_eraycetinay_elapsed_time_hours : variables.ulm_custom_card_eraycetinay_elapsed_time_hour) +' ' : '';
}
if(entity.attributes.has_time && !entity.attributes.has_date) {
- text += minutes > 0 ? minutes + ' ' + (minutes > 1 ? variables.custom_card_eraycetinay_elapsed_time_minutes : variables.custom_card_eraycetinay_elapsed_time_minute) +' ' : '';
+ text += minutes > 0 ? minutes + ' ' + (minutes > 1 ? variables.ulm_custom_card_eraycetinay_elapsed_time_minutes : variables.ulm_custom_card_eraycetinay_elapsed_time_minute) +' ' : '';
}
- text = text.length ? text += variables.custom_card_eraycetinay_elapsed_time_ago : variables.custom_card_eraycetinay_elapsed_time_justnow;
+ text = text.length ? text += variables.ulm_custom_card_eraycetinay_elapsed_time_ago : variables.ulm_custom_card_eraycetinay_elapsed_time_justnow;
return text;
]]]
diff --git a/custom_cards/custom_card_eraycetinay_elapsed_time/languages/de.yaml b/custom_cards/custom_card_eraycetinay_elapsed_time/languages/de.yaml
index d0b14792a..0b81d9b18 100644
--- a/custom_cards/custom_card_eraycetinay_elapsed_time/languages/de.yaml
+++ b/custom_cards/custom_card_eraycetinay_elapsed_time/languages/de.yaml
@@ -1,11 +1,11 @@
---
ulm_custom_card_eraycetinay_elapsed_time_language_variables:
variables:
- custom_card_eraycetinay_elapsed_time_day: "Tag"
- custom_card_eraycetinay_elapsed_time_days: "Tage"
- custom_card_eraycetinay_elapsed_time_hour: "Stunde"
- custom_card_eraycetinay_elapsed_time_hours: "Stunden"
- custom_card_eraycetinay_elapsed_time_minute: "Minute"
- custom_card_eraycetinay_elapsed_time_minutes: "Minuten"
- custom_card_eraycetinay_elapsed_time_ago: "her"
- custom_card_eraycetinay_elapsed_time_justnow: "Jetzt"
+ ulm_custom_card_eraycetinay_elapsed_time_day: "Tag"
+ ulm_custom_card_eraycetinay_elapsed_time_days: "Tage"
+ ulm_custom_card_eraycetinay_elapsed_time_hour: "Stunde"
+ ulm_custom_card_eraycetinay_elapsed_time_hours: "Stunden"
+ ulm_custom_card_eraycetinay_elapsed_time_minute: "Minute"
+ ulm_custom_card_eraycetinay_elapsed_time_minutes: "Minuten"
+ ulm_custom_card_eraycetinay_elapsed_time_ago: "her"
+ ulm_custom_card_eraycetinay_elapsed_time_justnow: "Jetzt"
diff --git a/custom_cards/custom_card_eraycetinay_elapsed_time/languages/en.yaml b/custom_cards/custom_card_eraycetinay_elapsed_time/languages/en.yaml
index 738a2e718..a062075df 100644
--- a/custom_cards/custom_card_eraycetinay_elapsed_time/languages/en.yaml
+++ b/custom_cards/custom_card_eraycetinay_elapsed_time/languages/en.yaml
@@ -1,11 +1,11 @@
---
ulm_custom_card_eraycetinay_elapsed_time_language_variables:
variables:
- custom_card_eraycetinay_elapsed_time_day: "day"
- custom_card_eraycetinay_elapsed_time_days: "days"
- custom_card_eraycetinay_elapsed_time_hour: "hour"
- custom_card_eraycetinay_elapsed_time_hours: "hours"
- custom_card_eraycetinay_elapsed_time_minute: "minute"
- custom_card_eraycetinay_elapsed_time_minutes: "minutes"
- custom_card_eraycetinay_elapsed_time_ago: "ago"
- custom_card_eraycetinay_elapsed_time_justnow: "just now"
+ ulm_custom_card_eraycetinay_elapsed_time_day: "day"
+ ulm_custom_card_eraycetinay_elapsed_time_days: "days"
+ ulm_custom_card_eraycetinay_elapsed_time_hour: "hour"
+ ulm_custom_card_eraycetinay_elapsed_time_hours: "hours"
+ ulm_custom_card_eraycetinay_elapsed_time_minute: "minute"
+ ulm_custom_card_eraycetinay_elapsed_time_minutes: "minutes"
+ ulm_custom_card_eraycetinay_elapsed_time_ago: "ago"
+ ulm_custom_card_eraycetinay_elapsed_time_justnow: "just now"
diff --git a/custom_cards/custom_card_eraycetinay_elapsed_time/languages/es.yaml b/custom_cards/custom_card_eraycetinay_elapsed_time/languages/es.yaml
index 08f72bf65..137df9718 100644
--- a/custom_cards/custom_card_eraycetinay_elapsed_time/languages/es.yaml
+++ b/custom_cards/custom_card_eraycetinay_elapsed_time/languages/es.yaml
@@ -1,11 +1,11 @@
---
ulm_custom_card_eraycetinay_elapsed_time_language_variables:
variables:
- custom_card_eraycetinay_elapsed_time_day: "día"
- custom_card_eraycetinay_elapsed_time_days: "días"
- custom_card_eraycetinay_elapsed_time_hour: "hora"
- custom_card_eraycetinay_elapsed_time_hours: "horas"
- custom_card_eraycetinay_elapsed_time_minute: "minuto"
- custom_card_eraycetinay_elapsed_time_minutes: "minutos"
- custom_card_eraycetinay_elapsed_time_ago: "atrás"
- custom_card_eraycetinay_elapsed_time_justnow: "justo ahora"
+ ulm_custom_card_eraycetinay_elapsed_time_day: "día"
+ ulm_custom_card_eraycetinay_elapsed_time_days: "días"
+ ulm_custom_card_eraycetinay_elapsed_time_hour: "hora"
+ ulm_custom_card_eraycetinay_elapsed_time_hours: "horas"
+ ulm_custom_card_eraycetinay_elapsed_time_minute: "minuto"
+ ulm_custom_card_eraycetinay_elapsed_time_minutes: "minutos"
+ ulm_custom_card_eraycetinay_elapsed_time_ago: "atrás"
+ ulm_custom_card_eraycetinay_elapsed_time_justnow: "justo ahora"
diff --git a/custom_cards/custom_card_eraycetinay_elapsed_time/languages/hu.yaml b/custom_cards/custom_card_eraycetinay_elapsed_time/languages/hu.yaml
new file mode 100644
index 000000000..5c29e717f
--- /dev/null
+++ b/custom_cards/custom_card_eraycetinay_elapsed_time/languages/hu.yaml
@@ -0,0 +1,11 @@
+---
+ulm_custom_card_eraycetinay_elapsed_time_language_variables:
+ variables:
+ ulm_custom_card_eraycetinay_elapsed_time_day: "nappal"
+ ulm_custom_card_eraycetinay_elapsed_time_days: "nappal"
+ ulm_custom_card_eraycetinay_elapsed_time_hour: "órával"
+ ulm_custom_card_eraycetinay_elapsed_time_hours: "órával"
+ ulm_custom_card_eraycetinay_elapsed_time_minute: "perccel"
+ ulm_custom_card_eraycetinay_elapsed_time_minutes: "perccel"
+ ulm_custom_card_eraycetinay_elapsed_time_ago: "ezelőtt"
+ ulm_custom_card_eraycetinay_elapsed_time_justnow: "éppen most"
diff --git a/custom_cards/custom_card_eraycetinay_elapsed_time/languages/pl.yaml b/custom_cards/custom_card_eraycetinay_elapsed_time/languages/pl.yaml
index 9d59fd2e4..e7912b293 100644
--- a/custom_cards/custom_card_eraycetinay_elapsed_time/languages/pl.yaml
+++ b/custom_cards/custom_card_eraycetinay_elapsed_time/languages/pl.yaml
@@ -1,11 +1,11 @@
---
ulm_custom_card_eraycetinay_elapsed_time_language_variables:
variables:
- custom_card_eraycetinay_elapsed_time_day: "dzień"
- custom_card_eraycetinay_elapsed_time_days: "dni"
- custom_card_eraycetinay_elapsed_time_hour: "godzinę"
- custom_card_eraycetinay_elapsed_time_hours: "godzin"
- custom_card_eraycetinay_elapsed_time_minute: "minutę"
- custom_card_eraycetinay_elapsed_time_minutes: "minut"
- custom_card_eraycetinay_elapsed_time_ago: "temu"
- custom_card_eraycetinay_elapsed_time_justnow: "przed chwilą"
+ ulm_custom_card_eraycetinay_elapsed_time_day: "dzień"
+ ulm_custom_card_eraycetinay_elapsed_time_days: "dni"
+ ulm_custom_card_eraycetinay_elapsed_time_hour: "godzinę"
+ ulm_custom_card_eraycetinay_elapsed_time_hours: "godzin"
+ ulm_custom_card_eraycetinay_elapsed_time_minute: "minutę"
+ ulm_custom_card_eraycetinay_elapsed_time_minutes: "minut"
+ ulm_custom_card_eraycetinay_elapsed_time_ago: "temu"
+ ulm_custom_card_eraycetinay_elapsed_time_justnow: "przed chwilą"
diff --git a/custom_cards/custom_card_eraycetinay_elapsed_time/languages/tr.yaml b/custom_cards/custom_card_eraycetinay_elapsed_time/languages/tr.yaml
index d3991c805..0b36ea71f 100644
--- a/custom_cards/custom_card_eraycetinay_elapsed_time/languages/tr.yaml
+++ b/custom_cards/custom_card_eraycetinay_elapsed_time/languages/tr.yaml
@@ -1,11 +1,11 @@
---
ulm_custom_card_eraycetinay_elapsed_time_language_variables:
variables:
- custom_card_eraycetinay_elapsed_time_day: "gün"
- custom_card_eraycetinay_elapsed_time_days: "gün"
- custom_card_eraycetinay_elapsed_time_hour: "saat"
- custom_card_eraycetinay_elapsed_time_hours: "saat"
- custom_card_eraycetinay_elapsed_time_minute: "dakika"
- custom_card_eraycetinay_elapsed_time_minutes: "dakika"
- custom_card_eraycetinay_elapsed_time_ago: "önce"
- custom_card_eraycetinay_elapsed_time_justnow: "az önce"
+ ulm_custom_card_eraycetinay_elapsed_time_day: "gün"
+ ulm_custom_card_eraycetinay_elapsed_time_days: "gün"
+ ulm_custom_card_eraycetinay_elapsed_time_hour: "saat"
+ ulm_custom_card_eraycetinay_elapsed_time_hours: "saat"
+ ulm_custom_card_eraycetinay_elapsed_time_minute: "dakika"
+ ulm_custom_card_eraycetinay_elapsed_time_minutes: "dakika"
+ ulm_custom_card_eraycetinay_elapsed_time_ago: "önce"
+ ulm_custom_card_eraycetinay_elapsed_time_justnow: "az önce"
diff --git a/custom_cards/custom_card_eraycetinay_lock/README.md b/custom_cards/custom_card_eraycetinay_lock/README.md
index 777c75ac2..9b3bb9e06 100644
--- a/custom_cards/custom_card_eraycetinay_lock/README.md
+++ b/custom_cards/custom_card_eraycetinay_lock/README.md
@@ -107,6 +107,20 @@ Version: 0.0.3
no |
Displays a warning when the door is lock but the door is still open. |
+
+ ulm_custom_card_eraycetinay_lock_battery_sensor_binary |
+ true |
+ false |
+ no |
+ Set to true if using a binary battery sensor. Will ignore battery_warning percentage settings |
+
+
+ ulm_custom_card_eraycetinay_lock_battery_sensor_binary_low_state |
+ off |
+ on |
+ no |
+ Set whether the binary sensor turns to on or off when in low state |
+
??? note "Template Code"
diff --git a/custom_cards/custom_card_eraycetinay_lock/custom_card_eraycetinay_lock.yaml b/custom_cards/custom_card_eraycetinay_lock/custom_card_eraycetinay_lock.yaml
index 4c2447996..fa59709a2 100644
--- a/custom_cards/custom_card_eraycetinay_lock/custom_card_eraycetinay_lock.yaml
+++ b/custom_cards/custom_card_eraycetinay_lock/custom_card_eraycetinay_lock.yaml
@@ -7,16 +7,19 @@ custom_card_eraycetinay_lock:
variables:
ulm_custom_card_eraycetinay_lock_battery_warning: 20
ulm_custom_card_eraycetinay_lock_battery_warning_low: 5
+ ulm_custom_card_eraycetinay_lock_battery_sensor_binary: false
+ ulm_custom_card_eraycetinay_lock_battery_sensor_binary_low_state: "on"
+ ulm_custom_card_eraycetinay_lock_only_open: false
tap_action:
action: |
[[[
- return variables.ulm_custom_card_eraycetinay_lock_tap_control ? "call-service" : "more-info";
+ return variables.ulm_custom_card_eraycetinay_lock_tap_control ? "perform-action" : "more-info";
]]]
- # only related with call-service action
- service: |
+ # only related with perform-action
+ perform_action: |
[[[
if(variables.ulm_custom_card_eraycetinay_lock_tap_control){
- if(variables.ulm_custom_card_eraycetinay_lock_open){
+ if(variables.ulm_custom_card_eraycetinay_lock_only_open){
return "lock.open";
} else {
if (entity.state == "locked"){
@@ -27,8 +30,8 @@ custom_card_eraycetinay_lock:
}
}
]]]
- # only related with call-service action
- service_data:
+ # only related with perform-action
+ target:
entity_id: |
[[[ return entity.entity_id; ]]]
show_label: true
@@ -89,10 +92,16 @@ custom_card_eraycetinay_lock:
- background-color: |
[[[
if (variables.ulm_custom_card_eraycetinay_lock_battery_level !== undefined) {
- if (states[variables.ulm_custom_card_eraycetinay_lock_battery_level].state <= variables.ulm_custom_card_eraycetinay_lock_battery_warning_low) {
- return "rgba(var(--color-red),1)";
- } else if (states[variables.ulm_custom_card_eraycetinay_lock_battery_level].state <= variables.ulm_custom_card_eraycetinay_lock_battery_warning) {
- return "rgba(var(--color-yellow),1)";
+ if (variables.ulm_custom_card_eraycetinay_lock_battery_sensor_binary) {
+ if (states[variables.ulm_custom_card_eraycetinay_lock_battery_level].state == variables.ulm_custom_card_eraycetinay_lock_battery_sensor_binary_low_state) {
+ return "rgba(var(--color-red),1)";
+ }
+ } else {
+ if (states[variables.ulm_custom_card_eraycetinay_lock_battery_level].state <= variables.ulm_custom_card_eraycetinay_lock_battery_warning_low) {
+ return "rgba(var(--color-red),1)";
+ } else if (states[variables.ulm_custom_card_eraycetinay_lock_battery_level].state <= variables.ulm_custom_card_eraycetinay_lock_battery_warning) {
+ return "rgba(var(--color-yellow),1)";
+ }
}
}
]]]
@@ -106,10 +115,18 @@ custom_card_eraycetinay_lock:
notification_battery: >
[[[
if (variables.ulm_custom_card_eraycetinay_lock_battery_level !== undefined) {
- if (variables.ulm_custom_card_eraycetinay_lock_battery_warning >= states[variables.ulm_custom_card_eraycetinay_lock_battery_level].state) {
- return `
-
- `;
+ if (variables.ulm_custom_card_eraycetinay_lock_battery_sensor_binary) {
+ if (states[variables.ulm_custom_card_eraycetinay_lock_battery_level].state == variables.ulm_custom_card_eraycetinay_lock_battery_sensor_binary_low_state) {
+ return `
+
+ `;
+ }
+ } else {
+ if (variables.ulm_custom_card_eraycetinay_lock_battery_warning >= states[variables.ulm_custom_card_eraycetinay_lock_battery_level].state) {
+ return `
+
+ `;
+ }
}
}
]]]
diff --git a/custom_cards/custom_card_eraycetinay_lock/languages/de.yaml b/custom_cards/custom_card_eraycetinay_lock/languages/de.yaml
index 1305d95eb..d97a28f11 100644
--- a/custom_cards/custom_card_eraycetinay_lock/languages/de.yaml
+++ b/custom_cards/custom_card_eraycetinay_lock/languages/de.yaml
@@ -1,11 +1,12 @@
---
custom_card_eraycetinay_lock_language_variables:
variables:
- custom_card_eraycetinay_lock_locked: "verriegelt"
- custom_card_eraycetinay_lock_unlocked: "entriegelt"
- custom_card_eraycetinay_lock_locking: "verriegeln"
- custom_card_eraycetinay_lock_unlocking: "entriegeln"
- custom_card_eraycetinay_lock_unavailable: "nicht verfügbar"
- custom_card_eraycetinay_lock_jammed: "blockiert"
- custom_card_eraycetinay_lock_locked_and_opened: "Die Tür ist verschlossen, aber noch offen."
- custom_card_eraycetinay_lock_battery_is_at: "Batterie ist an"
+ ulm_custom_card_eraycetinay_lock_locked: "verriegelt"
+ ulm_custom_card_eraycetinay_lock_unlocked: "entriegelt"
+ ulm_custom_card_eraycetinay_lock_locking: "verriegeln"
+ ulm_custom_card_eraycetinay_lock_unlocking: "entriegeln"
+ ulm_custom_card_eraycetinay_lock_unavailable: "nicht verfügbar"
+ ulm_custom_card_eraycetinay_lock_jammed: "blockiert"
+ ulm_custom_card_eraycetinay_lock_locked_and_opened: "Die Tür ist verschlossen, aber noch offen."
+ ulm_custom_card_eraycetinay_lock_battery_is_at: "Batterie ist an"
+ ulm_custom_card_eraycetinay_lock_battery_is_low: "Batterie schwach"
diff --git a/custom_cards/custom_card_eraycetinay_lock/languages/en.yaml b/custom_cards/custom_card_eraycetinay_lock/languages/en.yaml
index f34a60515..81579b70b 100644
--- a/custom_cards/custom_card_eraycetinay_lock/languages/en.yaml
+++ b/custom_cards/custom_card_eraycetinay_lock/languages/en.yaml
@@ -1,11 +1,12 @@
---
custom_card_eraycetinay_lock_language_variables:
variables:
- custom_card_eraycetinay_lock_locked: "locked"
- custom_card_eraycetinay_lock_unlocked: "unlocked"
- custom_card_eraycetinay_lock_locking: "locking"
- custom_card_eraycetinay_lock_unlocking: "unlocking"
- custom_card_eraycetinay_lock_unavailable: "unavailable"
- custom_card_eraycetinay_lock_jammed: "jammed"
- custom_card_eraycetinay_lock_locked_and_opened: "The door is locked but still open."
- custom_card_eraycetinay_lock_battery_is_at: "Battery is at"
+ ulm_custom_card_eraycetinay_lock_locked: "locked"
+ ulm_custom_card_eraycetinay_lock_unlocked: "unlocked"
+ ulm_custom_card_eraycetinay_lock_locking: "locking"
+ ulm_custom_card_eraycetinay_lock_unlocking: "unlocking"
+ ulm_custom_card_eraycetinay_lock_unavailable: "unavailable"
+ ulm_custom_card_eraycetinay_lock_jammed: "jammed"
+ ulm_custom_card_eraycetinay_lock_locked_and_opened: "The door is locked but still open."
+ ulm_custom_card_eraycetinay_lock_battery_is_at: "Battery is at"
+ ulm_custom_card_eraycetinay_lock_battery_is_low: "Battery is low"
diff --git a/custom_cards/custom_card_eraycetinay_lock/languages/es.yaml b/custom_cards/custom_card_eraycetinay_lock/languages/es.yaml
index 637d3c74c..3281e2ee1 100644
--- a/custom_cards/custom_card_eraycetinay_lock/languages/es.yaml
+++ b/custom_cards/custom_card_eraycetinay_lock/languages/es.yaml
@@ -1,11 +1,12 @@
---
custom_card_eraycetinay_lock_language_variables:
variables:
- custom_card_eraycetinay_lock_locked: "bloqueado"
- custom_card_eraycetinay_lock_unlocked: "desbloqueado"
- custom_card_eraycetinay_lock_locking: "bloqueando"
- custom_card_eraycetinay_lock_unlocking: "desbloqueando"
- custom_card_eraycetinay_lock_unavailable: "no disponible"
- custom_card_eraycetinay_lock_jammed: "apretada"
- custom_card_eraycetinay_lock_locked_and_opened: "La puerta está cerrada pero aún abierta."
- custom_card_eraycetinay_lock_battery_is_at: "la batería está en"
+ ulm_custom_card_eraycetinay_lock_locked: "bloqueado"
+ ulm_custom_card_eraycetinay_lock_unlocked: "desbloqueado"
+ ulm_custom_card_eraycetinay_lock_locking: "bloqueando"
+ ulm_custom_card_eraycetinay_lock_unlocking: "desbloqueando"
+ ulm_custom_card_eraycetinay_lock_unavailable: "no disponible"
+ ulm_custom_card_eraycetinay_lock_jammed: "apretada"
+ ulm_custom_card_eraycetinay_lock_locked_and_opened: "La puerta está cerrada pero aún abierta."
+ ulm_custom_card_eraycetinay_lock_battery_is_at: "la batería está en"
+ ulm_custom_card_eraycetinay_lock_battery_is_low: "La batería está baja"
diff --git a/custom_cards/custom_card_eraycetinay_lock/languages/pl.yaml b/custom_cards/custom_card_eraycetinay_lock/languages/pl.yaml
index b00d13270..edfaba02f 100644
--- a/custom_cards/custom_card_eraycetinay_lock/languages/pl.yaml
+++ b/custom_cards/custom_card_eraycetinay_lock/languages/pl.yaml
@@ -1,11 +1,12 @@
---
custom_card_eraycetinay_lock_language_variables:
variables:
- custom_card_eraycetinay_lock_locked: "zamknięty"
- custom_card_eraycetinay_lock_unlocked: "otwarty"
- custom_card_eraycetinay_lock_locking: "zamykanie"
- custom_card_eraycetinay_lock_unlocking: "otwieranie"
- custom_card_eraycetinay_lock_unavailable: "niedostępny"
- custom_card_eraycetinay_lock_jammed: "zacięty"
- custom_card_eraycetinay_lock_locked_and_opened: "Drzwi są zamknięte, ale nadal otwarte."
- custom_card_eraycetinay_lock_battery_is_at: "Bateria jest na"
+ ulm_custom_card_eraycetinay_lock_locked: "zamknięty"
+ ulm_custom_card_eraycetinay_lock_unlocked: "otwarty"
+ ulm_custom_card_eraycetinay_lock_locking: "zamykanie"
+ ulm_custom_card_eraycetinay_lock_unlocking: "otwieranie"
+ ulm_custom_card_eraycetinay_lock_unavailable: "niedostępny"
+ ulm_custom_card_eraycetinay_lock_jammed: "zacięty"
+ ulm_custom_card_eraycetinay_lock_locked_and_opened: "Drzwi są zamknięte, ale nadal otwarte."
+ ulm_custom_card_eraycetinay_lock_battery_is_at: "Bateria jest na"
+ ulm_custom_card_eraycetinay_lock_battery_is_low: "Bateria jest słaba"
diff --git a/custom_cards/custom_card_eraycetinay_lock/languages/sv.yaml b/custom_cards/custom_card_eraycetinay_lock/languages/sv.yaml
index 707eab945..858d90629 100644
--- a/custom_cards/custom_card_eraycetinay_lock/languages/sv.yaml
+++ b/custom_cards/custom_card_eraycetinay_lock/languages/sv.yaml
@@ -1,11 +1,12 @@
---
custom_card_eraycetinay_lock_language_variables:
variables:
- custom_card_eraycetinay_lock_locked: "låst"
- custom_card_eraycetinay_lock_unlocked: "olåst"
- custom_card_eraycetinay_lock_locking: "låser"
- custom_card_eraycetinay_lock_unlocking: "låser upp"
- custom_card_eraycetinay_lock_unavailable: "otillgängligt"
- custom_card_eraycetinay_lock_jammed: "fastnat"
- custom_card_eraycetinay_lock_locked_and_opened: "Dörren är låst men fortfarande öppen."
- custom_card_eraycetinay_lock_battery_is_at: "Batterinivån är"
+ ulm_custom_card_eraycetinay_lock_locked: "låst"
+ ulm_custom_card_eraycetinay_lock_unlocked: "olåst"
+ ulm_custom_card_eraycetinay_lock_locking: "låser"
+ ulm_custom_card_eraycetinay_lock_unlocking: "låser upp"
+ ulm_custom_card_eraycetinay_lock_unavailable: "otillgängligt"
+ ulm_custom_card_eraycetinay_lock_jammed: "fastnat"
+ ulm_custom_card_eraycetinay_lock_locked_and_opened: "Dörren är låst men fortfarande öppen."
+ ulm_custom_card_eraycetinay_lock_battery_is_at: "Batterinivån är"
+ ulm_custom_card_eraycetinay_lock_battery_is_low: "Batteriet är lågt"
diff --git a/custom_cards/custom_card_eraycetinay_lock/languages/tr.yaml b/custom_cards/custom_card_eraycetinay_lock/languages/tr.yaml
index e612ab5f2..71087a982 100644
--- a/custom_cards/custom_card_eraycetinay_lock/languages/tr.yaml
+++ b/custom_cards/custom_card_eraycetinay_lock/languages/tr.yaml
@@ -1,11 +1,12 @@
---
custom_card_eraycetinay_lock_language_variables:
variables:
- custom_card_eraycetinay_lock_locked: "kilitli"
- custom_card_eraycetinay_lock_unlocked: "kilitli değil"
- custom_card_eraycetinay_lock_locking: "kilitleniyor"
- custom_card_eraycetinay_lock_unlocking: "kilit açılıyor"
- custom_card_eraycetinay_lock_unavailable: "müsait değil"
- custom_card_eraycetinay_lock_jammed: "sıkışmış"
- custom_card_eraycetinay_lock_locked_and_opened: "Kapı kilitli ama hala açık"
- custom_card_eraycetinay_lock_battery_is_at: "pil"
+ ulm_custom_card_eraycetinay_lock_locked: "kilitli"
+ ulm_custom_card_eraycetinay_lock_unlocked: "kilitli değil"
+ ulm_custom_card_eraycetinay_lock_locking: "kilitleniyor"
+ ulm_custom_card_eraycetinay_lock_unlocking: "kilit açılıyor"
+ ulm_custom_card_eraycetinay_lock_unavailable: "müsait değil"
+ ulm_custom_card_eraycetinay_lock_jammed: "sıkışmış"
+ ulm_custom_card_eraycetinay_lock_locked_and_opened: "Kapı kilitli ama hala açık"
+ ulm_custom_card_eraycetinay_lock_battery_is_at: "pil"
+ ulm_custom_card_eraycetinay_lock_battery_is_low: "pil zayıf"
diff --git a/custom_cards/custom_card_esh_welcome/custom_card_esh_welcome.yaml b/custom_cards/custom_card_esh_welcome/custom_card_esh_welcome.yaml
index d2c089bf3..5a9b32266 100644
--- a/custom_cards/custom_card_esh_welcome/custom_card_esh_welcome.yaml
+++ b/custom_cards/custom_card_esh_welcome/custom_card_esh_welcome.yaml
@@ -405,9 +405,9 @@ card_esh_welcome_topbar:
type: "custom:button-card"
template: "chips"
tap_action:
- action: "call-service"
- service: "input_boolean.toggle"
- service_data:
+ action: "perform-action"
+ perform_action: "input_boolean.toggle"
+ target:
entity_id: "[[[ return variables.ulm_card_esh_welcome_collapse ]]]"
show_icon: true
icon: "mdi:chevron-up"
diff --git a/custom_cards/custom_card_haven_washer/custom_card_haven_washer.yaml b/custom_cards/custom_card_haven_washer/custom_card_haven_washer.yaml
index 0ebb86562..42561ff34 100644
--- a/custom_cards/custom_card_haven_washer/custom_card_haven_washer.yaml
+++ b/custom_cards/custom_card_haven_washer/custom_card_haven_washer.yaml
@@ -565,10 +565,11 @@ custom_card_haven_washer:
type: "custom:button-card"
template: "widget_icon"
tap_action:
- action: "call-service"
- service: "input_datetime.set_datetime"
- service_data:
+ action: "perform-action"
+ perform_action: "input_datetime.set_datetime"
+ target:
entity_id: "[[[ return variables.ulm_custom_card_washer_delayed_starttime; ]]]"
+ data:
time: >
[[[
if (!!variables.ulm_custom_card_washer_delayed_starttime
@@ -597,10 +598,11 @@ custom_card_haven_washer:
type: "custom:button-card"
template: "custom_card_haven_washer_delayed_text"
tap_action:
- action: "call-service"
- service: "input_datetime.set_datetime"
- service_data:
+ action: "perform-action"
+ perform_action: "input_datetime.set_datetime"
+ target:
entity_id: "[[[ return variables.ulm_custom_card_washer_delayed_starttime; ]]]"
+ data:
time: >
[[[
if (!!variables.ulm_custom_card_washer_delayed_starttime
@@ -624,10 +626,11 @@ custom_card_haven_washer:
}
]]]
hold_action:
- action: "call-service"
- service: "input_datetime.set_datetime"
- service_data:
+ action: "perform-action"
+ perform_action: "input_datetime.set_datetime"
+ target:
entity_id: "[[[ variables.ulm_custom_card_washer_delayed_starttime ]]]"
+ data:
time: >
[[[
if (!!variables.ulm_custom_card_washer_delayed_starttime
@@ -656,10 +659,11 @@ custom_card_haven_washer:
type: "custom:button-card"
template: "widget_icon"
tap_action:
- action: "call-service"
- service: "input_datetime.set_datetime"
- service_data:
+ action: "perform-action"
+ perform_action: "input_datetime.set_datetime"
+ target:
entity_id: "[[[ return variables.ulm_custom_card_washer_delayed_starttime ]]]"
+ data:
time: >
[[[
if (!!variables.ulm_custom_card_washer_delayed_starttime
diff --git a/custom_cards/custom_card_heat_pump/custom_card_heat_pump.yaml b/custom_cards/custom_card_heat_pump/custom_card_heat_pump.yaml
index df0477091..b3097b1ba 100644
--- a/custom_cards/custom_card_heat_pump/custom_card_heat_pump.yaml
+++ b/custom_cards/custom_card_heat_pump/custom_card_heat_pump.yaml
@@ -99,10 +99,11 @@ custom_card_heat_pump:
template: "widget_icon"
icon: "mdi:arrow-down"
tap_action:
- action: "call-service"
- service: "climate.set_temperature"
- service_data:
+ action: "perform-action"
+ perform_action: "climate.set_temperature"
+ target:
entity_id: "[[[ return entity.entity_id ]]]"
+ data:
temperature: "[[[ return entity.attributes.temperature - entity.attributes.target_temp_step ]]]"
item2:
card:
@@ -120,10 +121,11 @@ custom_card_heat_pump:
template: "widget_icon"
icon: "mdi:arrow-up"
tap_action:
- action: "call-service"
- service: "climate.set_temperature"
- service_data:
+ action: "perform-action"
+ perform_action: "climate.set_temperature"
+ target:
entity_id: "[[[ return entity.entity_id ]]]"
+ data:
temperature: "[[[ return entity.attributes.temperature + entity.attributes.target_temp_step ]]]"
item3:
card:
@@ -133,19 +135,21 @@ custom_card_heat_pump:
template: "widget_icon_juve"
icon: "mdi:power"
tap_action:
- action: "call-service"
- service: "climate.set_hvac_mode"
- service_data:
+ action: "perform-action"
+ perform_action: "climate.set_hvac_mode"
+ target:
entity_id: "[[[ return entity.entity_id ]]]"
+ data:
hvac_mode: "off"
- type: "custom:button-card"
template: "widget_icon_juve"
icon: "mdi:fire"
tap_action:
- action: "call-service"
- service: "climate.set_hvac_mode"
- service_data:
+ action: "perform-action"
+ perform_action: "climate.set_hvac_mode"
+ target:
entity_id: "[[[ return entity.entity_id ]]]"
+ data:
hvac_mode: "heat"
styles:
icon:
@@ -170,10 +174,11 @@ custom_card_heat_pump:
template: "widget_icon_juve"
icon: "mdi:snowflake"
tap_action:
- action: "call-service"
- service: "climate.set_hvac_mode"
- service_data:
+ action: "perform-action"
+ perform_action: "climate.set_hvac_mode"
+ target:
entity_id: "[[[ return entity.entity_id ]]]"
+ data:
hvac_mode: "cool"
styles:
icon:
@@ -198,10 +203,11 @@ custom_card_heat_pump:
template: "widget_icon_juve"
icon: "mdi:sync"
tap_action:
- action: "call-service"
- service: "climate.set_hvac_mode"
- service_data:
+ action: "perform-action"
+ perform_action: "climate.set_hvac_mode"
+ target:
entity_id: "[[[ return entity.entity_id ]]]"
+ data:
hvac_mode: "heat_cool"
styles:
icon:
@@ -226,10 +232,11 @@ custom_card_heat_pump:
template: "widget_icon_juve"
icon: "mdi:water"
tap_action:
- action: "call-service"
- service: "climate.set_hvac_mode"
- service_data:
+ action: "perform-action"
+ perform_action: "climate.set_hvac_mode"
+ target:
entity_id: "[[[ return entity.entity_id ]]]"
+ data:
hvac_mode: "dry"
styles:
icon:
@@ -254,10 +261,11 @@ custom_card_heat_pump:
template: "widget_icon_juve"
icon: "mdi:fan"
tap_action:
- action: "call-service"
- service: "climate.set_hvac_mode"
- service_data:
+ action: "perform-action"
+ perform_action: "climate.set_hvac_mode"
+ target:
entity_id: "[[[ return entity.entity_id ]]]"
+ data:
hvac_mode: "fan_only"
styles:
icon:
diff --git a/custom_cards/custom_card_httpedo13_sun/README.md b/custom_cards/custom_card_httpedo13_sun/README.md
index cbf240478..36ae30916 100644
--- a/custom_cards/custom_card_httpedo13_sun/README.md
+++ b/custom_cards/custom_card_httpedo13_sun/README.md
@@ -3,6 +3,7 @@ title: Sun Card Custom-card
hide:
- toc
---
+
# Custom-card "Sun"
@@ -24,6 +25,7 @@ Initial release
## Requirements
This card uses:
+
Component / card |
@@ -49,10 +51,10 @@ This card uses:
## Usage
```yaml
- - type: custom:button-card
- template: custom_card_httpedo13_sun
- variables:
- language: 'it'
+- type: custom:button-card
+ template: custom_card_httpedo13_sun
+ variables:
+ language: "it"
```
## Variables
@@ -60,12 +62,12 @@ This card uses:
The same sun card config.
| Name | Accepted values | Description | Default |
-|---------------|----------------------|--------------------------------------|-----------------------------------------------------|
+| ------------- | -------------------- | ------------------------------------ | --------------------------------------------------- |
| darkMode | `boolean` | Changes card colors to dark or light | Home assistant dark mode state |
| language | `string`1 | Changes card language | Home assistant language or english if not supported |
| showAzimuth | `boolean` | Displays azimuth in the footer | `false` |
| showElevation | `boolean` | Displays elevation in the footer | `false` |
| timeFormat | `'12h'`/`'24h'` | Displayed time format | Locale based on Home assistant language |
-| title | `string` | Card title | Doesn't display a title by default | |
+| title | `string` | Card title | Doesn't display a title by default |
(1) Supported languages: `da`, `de`, `en`, `es`, `et`, `fi`, `fr`, `hu`, `it`, `nl`, `pl`, `pt-BR`, `ru`, `sl`, `sv`
diff --git a/custom_cards/custom_card_httpedo13_thermostat/custom_card_httpedo13_thermostat.yaml b/custom_cards/custom_card_httpedo13_thermostat/custom_card_httpedo13_thermostat.yaml
index f1c44182c..254bf35c3 100644
--- a/custom_cards/custom_card_httpedo13_thermostat/custom_card_httpedo13_thermostat.yaml
+++ b/custom_cards/custom_card_httpedo13_thermostat/custom_card_httpedo13_thermostat.yaml
@@ -75,10 +75,11 @@ custom_card_httpedo13_thermostat_with_buttons:
return 'var(--card-background-color)';
]]]
tap_action:
- action: "call-service"
- service: "climate.set_hvac_mode"
- service_data:
+ action: "perform-action"
+ perform_action: "climate.set_hvac_mode"
+ target:
entity_id: "[[[ return variables.entity ]]]"
+ data:
hvac_mode: |
[[[
if (states[variables.entity].state == "off"){
@@ -109,10 +110,11 @@ custom_card_httpedo13_thermostat_with_buttons:
- "icon_info"
- "custom_card_httpedo13_thermostat"
tap_action:
- action: "call-service"
- service: "climate.set_hvac_mode"
- service_data:
+ action: "perform-action"
+ perform_action: "climate.set_hvac_mode"
+ target:
entity_id: "[[[ return variables.entity ]]]"
+ data:
hvac_mode: |
[[[
if (states[variables.entity].state == "off"){
@@ -157,11 +159,12 @@ custom_card_httpedo13_thermostat_with_buttons:
template: "widget_icon_for_thermostat"
entity: "[[[ return variables.entity ]]]"
tap_action:
- action: "call-service"
- service: "climate.set_temperature"
- service_data:
- temperature: "[[[ return (parseFloat(states[variables.entity].attributes.temperature) - 0.5) ]]]"
+ action: "perform-action"
+ perform_action: "climate.set_temperature"
+ target:
entity_id: "[[[ return variables.entity ]]]"
+ data:
+ temperature: "[[[ return (parseFloat(states[variables.entity].attributes.temperature) - 0.5) ]]]"
icon: "mdi:minus"
item2:
card:
@@ -177,11 +180,12 @@ custom_card_httpedo13_thermostat_with_buttons:
template: "widget_icon_for_thermostat"
entity: "[[[ return variables.entity ]]]"
tap_action:
- action: "call-service"
- service: "climate.set_temperature"
- service_data:
- temperature: "[[[ return (parseFloat(states[variables.entity].attributes.temperature) + 0.5) ]]]"
+ action: "perform-action"
+ perform_action: "climate.set_temperature"
+ target:
entity_id: "[[[ return variables.entity ]]]"
+ data:
+ temperature: "[[[ return (parseFloat(states[variables.entity].attributes.temperature) + 0.5) ]]]"
icon: "mdi:plus"
custom_card_httpedo13_thermostat_with_buttons_collapse:
@@ -204,10 +208,11 @@ custom_card_httpedo13_thermostat_with_buttons_collapse:
return 'var(--card-background-color)';
]]]
tap_action:
- action: "call-service"
- service: "climate.set_hvac_mode"
- service_data:
+ action: "perform-action"
+ perform_action: "climate.set_hvac_mode"
+ target:
entity_id: "[[[ return variables.entity ]]]"
+ data:
hvac_mode: |
[[[
if (states[variables.entity].state == "off"){
@@ -238,10 +243,11 @@ custom_card_httpedo13_thermostat_with_buttons_collapse:
- "icon_info"
- "custom_card_httpedo13_thermostat"
tap_action:
- action: "call-service"
- service: "climate.set_hvac_mode"
- service_data:
+ action: "perform-action"
+ perform_action: "climate.set_hvac_mode"
+ target:
entity_id: "[[[ return variables.entity ]]]"
+ data:
hvac_mode: |
[[[
if (states[variables.entity].state == "off"){
@@ -291,11 +297,12 @@ custom_card_httpedo13_thermostat_with_buttons_collapse:
template: "widget_icon_for_thermostat"
entity: "[[[ return variables.entity ]]]"
tap_action:
- action: "call-service"
- service: "climate.set_temperature"
- service_data:
- temperature: "[[[ return (parseFloat(states[variables.entity].attributes.temperature) - 0.5) ]]]"
+ action: "perform-action"
+ perform_action: "climate.set_temperature"
+ target:
entity_id: "[[[ return variables.entity ]]]"
+ data:
+ temperature: "[[[ return (parseFloat(states[variables.entity].attributes.temperature) - 0.5) ]]]"
icon: "mdi:minus"
item2:
card:
@@ -311,11 +318,12 @@ custom_card_httpedo13_thermostat_with_buttons_collapse:
template: "widget_icon_for_thermostat"
entity: "[[[ return variables.entity ]]]"
tap_action:
- action: "call-service"
- service: "climate.set_temperature"
- service_data:
- temperature: "[[[ return (parseFloat(states[variables.entity].attributes.temperature) + 0.5) ]]]"
+ action: "perform-action"
+ perform_action: "climate.set_temperature"
+ target:
entity_id: "[[[ return variables.entity ]]]"
+ data:
+ temperature: "[[[ return (parseFloat(states[variables.entity].attributes.temperature) + 0.5) ]]]"
icon: "mdi:plus"
widget_current_temperature:
diff --git a/custom_cards/custom_card_iAbadia_battery_chip/README.md b/custom_cards/custom_card_iAbadia_battery_chip/README.md
new file mode 100644
index 000000000..ece9f3ec9
--- /dev/null
+++ b/custom_cards/custom_card_iAbadia_battery_chip/README.md
@@ -0,0 +1,58 @@
+---
+title: iAbadia's Battery Chip Custom Card
+hide:
+ - toc
+---
+
+
+
+# Custom-card "Battery Chip"
+
+This is a `custom-card` or `custom-chip` to see your device's battery level at a glance.
+
+![Screenshot](../../docs/assets/img/custom_card_iAbadia_battery_chip.png)
+
+## Credits
+
+Author: Iñaki Abadia - 2024
+Version: 1.0.0
+
+## Changelog
+
+
+1.0.0
+Initial release
+
+
+## Requirements
+
+None
+
+## Usage
+
+```yaml
+type: "custom:button-card"
+template: custom_card_iAbadia_battery_chip
+variables:
+ ulm_custom_card_iAbadia_battery_chip_entity: sensor.living_room_sensor_battery
+ ulm_custom_card_iAbadia_battery_chip_icon: mdi:thermostat
+ ulm_custom_card_iAbadia_battery_chip_warning: 30
+ ulm_custom_card_iAbadia_battery_chip_danger: 10
+```
+
+## Variables
+
+| Variable | Example | Required | Explanation |
+| ---------------------------------------------- | -------------------- | -------- | ----------------------------------------------------- |
+| ulm_custom_card_iAbadia_battery_chip_entity | `sensor.temperature` | ✓ | Battery entity |
+| ulm_custom_card_iAbadia_battery_chip_icon | `mdi:thermometer` | ✘ | Icon to be displayed. Will default to mdi:battery |
+| ulm_custom_card_iAbadia_battery_chip_warning | `20` | ✘ | Battery level below which to color as warning (yellow) |
+| ulm_custom_card_iAbadia_battery_chip_danger | `10` | ✘ | Battery level below which to color as danger (red) |
+
+## Template Code
+
+??? note "Template Code"
+
+ ```yaml title="custom_card_irmajavi_speedtest.yaml"
+ --8<-- "custom_cards/custom_card_iAbadia_battery_chip/custom_card_iAbadia_battery_chip.yaml"
+ ```
diff --git a/custom_cards/custom_card_iAbadia_battery_chip/custom_card_iAbadia_battery_chip.yaml b/custom_cards/custom_card_iAbadia_battery_chip/custom_card_iAbadia_battery_chip.yaml
new file mode 100644
index 000000000..2f9dca3f7
--- /dev/null
+++ b/custom_cards/custom_card_iAbadia_battery_chip/custom_card_iAbadia_battery_chip.yaml
@@ -0,0 +1,38 @@
+---
+custom_card_iAbadia_battery_chip:
+ template:
+ - "chips"
+ variables:
+ ulm_custom_card_iAbadia_battery_chip_entity: ""
+ ulm_custom_card_iAbadia_battery_chip_icon: ""
+ ulm_custom_card_iAbadia_battery_chip_danger: "10"
+ ulm_custom_card_iAbadia_battery_chip_warning: "20"
+ show_icon: true
+ triggers_update: "all"
+ icon: >
+ [[[
+ if (variables.ulm_custom_card_iAbadia_battery_chip_icon){
+ return variables.ulm_custom_card_iAbadia_battery_chip_icon;
+ } else {
+ return "mdi:battery"
+ }
+ ]]]
+ entity: "[[[ return variables.ulm_custom_card_iAbadia_battery_chip_entity; ]]]"
+ tap_action:
+ action: "more-info"
+ entity: "[[[ return variables.ulm_custom_card_iAbadia_battery_chip_entity; ]]]"
+ styles:
+ icon:
+ - color: >
+ [[[
+ let battery_level = Math.round((states[variables.ulm_custom_card_iAbadia_battery_chip_entity].state)/1);
+ if (battery_level > variables.ulm_custom_card_iAbadia_battery_chip_warning) {
+ return "var(--google-green)"
+ } else if (battery_level <= variables.ulm_custom_card_iAbadia_battery_chip_warning && battery_level > variables.ulm_custom_card_iAbadia_battery_chip_danger) {
+ return "var(--google-yellow)"
+ } else {
+ return "var(--google-red)"
+ }
+ ]]]
+ grid:
+ - grid-template-areas: "'i'"
diff --git a/custom_cards/custom_card_imswel_medias/README.md b/custom_cards/custom_card_imswel_medias/README.md
index 6e137338b..28b49f162 100644
--- a/custom_cards/custom_card_imswel_medias/README.md
+++ b/custom_cards/custom_card_imswel_medias/README.md
@@ -29,6 +29,7 @@ Initial release
## Requirements
This card needs the following to function correctly:
+
| Component | Required |
| ----------------------------------------------------------------------------------------- | ---------------------------------- |
|[Plex Recently Added](https://github.com/NemesisRE/sensor.plex_recently_added) | Yes for **`Media Library Card`** |
@@ -40,6 +41,7 @@ This card needs the following to function correctly:
**Media Library Card** for [Plex Recently Added](https://github.com/NemesisRE/sensor.plex_recently_added) :
![example-image-plex](../../docs/assets/img/custom_card_imswel_medias/medias_library_plex.png)
+
| Variable | Default | Required | Notes |
| ----------------------------- | ------- | -------- | ----------------------------------------------------------------------- |
| ulm_custom_card_imswel_medias_index | 1 | Yes | The index of the item in your **Plex library** to show. |
@@ -58,6 +60,7 @@ This card needs the following to function correctly:
![example-image-radarr](../../docs/assets/img/custom_card_imswel_medias/medias_upcoming_radarr.png)
![example-image-sonarr](../../docs/assets/img/custom_card_imswel_medias/medias_upcoming_sonarr.png)
+
| Variable | Default | Required | Notes |
| ----------------------------- | ------- | -------- | -------------------------------------------------------------------------------------------------------- |
| ulm_custom_card_imswel_medias_index | 1 | Yes | The index of the item in your **Radarr/Sonarr library** to show. |
diff --git a/custom_cards/custom_card_input_datetime/card_input_datetime.yaml b/custom_cards/custom_card_input_datetime/card_input_datetime.yaml
index 87d917e2b..9657ff71a 100644
--- a/custom_cards/custom_card_input_datetime/card_input_datetime.yaml
+++ b/custom_cards/custom_card_input_datetime/card_input_datetime.yaml
@@ -37,10 +37,11 @@ card_input_datetime:
type: "custom:button-card"
template: "widget_icon"
tap_action:
- action: "call-service"
- service: "input_datetime.set_datetime"
- service_data:
+ action: "perform-action"
+ perform_action: "input_datetime.set_datetime"
+ target:
entity_id: "[[[ return entity.entity_id ]]]"
+ data:
time: >
[[[
var timestamp = entity.attributes.timestamp
@@ -68,10 +69,11 @@ card_input_datetime:
template: "widget_text"
entity: "[[[ return entity.entity_id ]]]"
tap_action:
- action: "call-service"
- service: "input_datetime.set_datetime"
- service_data:
+ action: "perform-action"
+ perform_action: "input_datetime.set_datetime"
+ target:
entity_id: "[[[ return entity.entity_id ]]]"
+ data:
time: >
[[[
var timestamp = entity.attributes.timestamp
@@ -93,10 +95,11 @@ card_input_datetime:
return formattedTime;
]]]
hold_action:
- action: "call-service"
- service: "input_datetime.set_datetime"
- service_data:
+ action: "perform-action"
+ perform_action: "input_datetime.set_datetime"
+ target:
entity_id: "[[[ return entity.entity_id ]]]"
+ data:
time: >
[[[
var timestamp = entity.attributes.timestamp
@@ -123,10 +126,11 @@ card_input_datetime:
type: "custom:button-card"
template: "widget_icon"
tap_action:
- action: "call-service"
- service: "input_datetime.set_datetime"
- service_data:
+ action: "perform-action"
+ perform_action: "input_datetime.set_datetime"
+ target:
entity_id: "[[[ return entity.entity_id ]]]"
+ data:
time: >
[[[
var timestamp = entity.attributes.timestamp
diff --git a/custom_cards/custom_card_input_number/card_input_number.yaml b/custom_cards/custom_card_input_number/card_input_number.yaml
index 712be4c5a..2a33e0a7c 100644
--- a/custom_cards/custom_card_input_number/card_input_number.yaml
+++ b/custom_cards/custom_card_input_number/card_input_number.yaml
@@ -38,16 +38,18 @@ card_input_number:
type: "custom:button-card"
template: "widget_icon"
tap_action:
- action: "call-service"
- service: |
+ action: "perform-action"
+ perform_action: |
[[[
if( entity.entity_id.startsWith("input_number.") )
return "input_number.decrement";
- if( entity.entity_id.startsWith("counter.") )
+ else if( entity.entity_id.startsWith("counter.") )
return "counter.decrement";
+ else if( entity.entity_id.startsWith("select.") )
+ return "select.select_previous";
return "";
]]]
- service_data:
+ target:
entity_id: "[[[ return entity.entity_id ]]]"
icon: "mdi:arrow-down"
item2:
@@ -56,25 +58,27 @@ card_input_number:
template: "widget_text"
entity: "[[[ return entity.entity_id ]]]"
tap_action:
- action: "call-service"
- service: "cover.stop_cover"
- service_data:
+ action: "perform-action"
+ perform_action: "cover.stop_cover"
+ target:
entity_id: "[[[ return entity.entity_id ]]]"
item3:
card:
type: "custom:button-card"
template: "widget_icon"
tap_action:
- action: "call-service"
- service: |
+ action: "perform-action"
+ perform_action: |
[[[
if( entity.entity_id.startsWith("input_number.") )
return "input_number.increment";
- if( entity.entity_id.startsWith("counter.") )
+ else if( entity.entity_id.startsWith("counter.") )
return "counter.increment";
+ else if( entity.entity_id.startsWith("select.") )
+ return "select.select_next";
return "";
]]]
- service_data:
+ target:
entity_id: "[[[ return entity.entity_id ]]]"
icon: "mdi:arrow-up"
diff --git a/custom_cards/custom_card_irmajavi_speedtest/custom_card_irmajavi_speedtest.yaml b/custom_cards/custom_card_irmajavi_speedtest/custom_card_irmajavi_speedtest.yaml
index d4a204be1..0c126cd39 100644
--- a/custom_cards/custom_card_irmajavi_speedtest/custom_card_irmajavi_speedtest.yaml
+++ b/custom_cards/custom_card_irmajavi_speedtest/custom_card_irmajavi_speedtest.yaml
@@ -30,11 +30,9 @@ custom_card_irmajavi_speedtest:
show_name: true
show_icon: true
label: >-
- [[[ return variables.ulm_custom_card_irmajavi_speedtest_router_model
- ]]]
+ [[[ return variables.ulm_custom_card_irmajavi_speedtest_router_model ]]]
name: >-
- [[[ return variables.ulm_custom_card_irmajavi_speedtest_router_name
- ]]]
+ [[[ return variables.ulm_custom_card_irmajavi_speedtest_router_name ]]]
icon: "mdi:wifi"
styles:
icon:
@@ -72,9 +70,9 @@ custom_card_irmajavi_speedtest:
card:
type: "custom:button-card"
tap_action:
- action: "call-service"
- service: "homeassistant.update_entity"
- service_data:
+ action: "perform-action"
+ perform_action: "homeassistant.update_entity"
+ target:
entity_id:
- "[[[ return variables.ulm_custom_card_irmajavi_speedtest_download_speed_entity]]]"
- "[[[ return variables.ulm_custom_card_irmajavi_speedtest_upload_speed_entity]]]"
@@ -146,15 +144,13 @@ custom_card_irmajavi_speedtest:
item1:
card:
type: "custom:button-card"
- tap_action:
- action: "more-info"
color: "var(--google-blue)"
show_label: true
show_icon: false
name: "[[[ return variables.ulm_custom_card_irmajavi_speedtest_download ]]]"
entity: >-
[[[ return
- variables.ulm_custom_card_irmajavi_speedtest_download_speed_entity;
+ variables.ulm_custom_card_irmajavi_speedtest_download_speed_entity;
]]]
label: |
[[[
@@ -209,10 +205,10 @@ custom_card_irmajavi_speedtest:
[[[
var state1 = "";
if (states[variables.ulm_custom_card_irmajavi_speedtest_upload_speed_entity].state){
- var state1 = states[variables.ulm_custom_card_irmajavi_speedtest_upload_speed_entity].state;
- if (states[variables.ulm_custom_card_irmajavi_speedtest_upload_speed_entity].attributes.unit_of_measurement){
- state1 += states[variables.ulm_custom_card_irmajavi_speedtest_upload_speed_entity].attributes.unit_of_measurement;
- }
+ var state1 = states[variables.ulm_custom_card_irmajavi_speedtest_upload_speed_entity].state;
+ if (states[variables.ulm_custom_card_irmajavi_speedtest_upload_speed_entity].attributes.unit_of_measurement){
+ state1 += states[variables.ulm_custom_card_irmajavi_speedtest_upload_speed_entity].attributes.unit_of_measurement;
+ }
}
return state1;
]]]
diff --git a/custom_cards/custom_card_media_player_sonos/custom_card_media_player_sonos.yaml b/custom_cards/custom_card_media_player_sonos/custom_card_media_player_sonos.yaml
index 9bfc4c1cc..3213ca9f0 100644
--- a/custom_cards/custom_card_media_player_sonos/custom_card_media_player_sonos.yaml
+++ b/custom_cards/custom_card_media_player_sonos/custom_card_media_player_sonos.yaml
@@ -58,9 +58,9 @@ card_media_player_sonos_with_controls:
type: "custom:button-card"
template: "widget_icon"
tap_action:
- action: "call-service"
- service: "media_player.volume_down"
- service_data:
+ action: "perform-action"
+ perform_action: "media_player.volume_down"
+ target:
entity_id: "[[[ return variables.ulm_card_media_player_with_controls_entity ]]]"
icon: "mdi:volume-minus"
item2:
@@ -69,9 +69,9 @@ card_media_player_sonos_with_controls:
template: "widget_icon"
entity: "[[[ return variables.ulm_card_media_player_with_controls_entity ]]]"
tap_action:
- action: "call-service"
- service: "media_player.media_play_pause"
- service_data:
+ action: "perform-action"
+ perform_action: "media_player.media_play_pause"
+ target:
entity_id: "[[[ return variables.ulm_card_media_player_with_controls_entity ]]]"
icon: "mdi:pause"
state:
@@ -84,9 +84,9 @@ card_media_player_sonos_with_controls:
type: "custom:button-card"
template: "widget_icon"
tap_action:
- action: "call-service"
- service: "media_player.volume_up"
- service_data:
+ action: "perform-action"
+ perform_action: "media_player.volume_up"
+ target:
entity_id: "[[[ return variables.ulm_card_media_player_with_controls_entity ]]]"
icon: "mdi:volume-plus"
diff --git a/custom_cards/custom_card_mpse_printer/custom_card_mpse_printer.yaml b/custom_cards/custom_card_mpse_printer/custom_card_mpse_printer.yaml
index 3cf1542f1..56fad13d0 100644
--- a/custom_cards/custom_card_mpse_printer/custom_card_mpse_printer.yaml
+++ b/custom_cards/custom_card_mpse_printer/custom_card_mpse_printer.yaml
@@ -41,36 +41,37 @@ custom_card_mpse_printer:
color: "black"
entities:
- entity: "[[[ return variables.ulm_card_printer_black_name ]]]"
- style: |
- bar-card-currentbar{
- border: 0.01rem solid rgba(var(--color-theme),.4);
- }
- bar-card-backgroundbar{
- display: none;
- }
- bar-card-name{
- width: 2rem;
- margin-right: 40px !important;
- }
- bar-card-value{
- width: 2rem;
- margin-left: 40px !important;
- justify-content: center;
- display: flex;
- color: grey;
- }
- bar-card-background{
- margin: 4px 0 4px 0 !important;
- text-align: initial;
- }
- ha-card{
- --bar-card-border-radius: 5px;
- border-radius: 0px;
- box-shadow: none;
- }
- #states{
- padding: 0 16px;
- }
+ card_mod:
+ style: |
+ bar-card-currentbar{
+ border: 0.01rem solid rgba(var(--color-theme),.4);
+ }
+ bar-card-backgroundbar{
+ display: none;
+ }
+ bar-card-name{
+ width: 2rem;
+ margin-right: 40px !important;
+ }
+ bar-card-value{
+ width: 2rem;
+ margin-left: 40px !important;
+ justify-content: center;
+ display: flex;
+ color: grey;
+ }
+ bar-card-background{
+ margin: 4px 0 4px 0 !important;
+ text-align: initial;
+ }
+ ha-card{
+ --bar-card-border-radius: 5px;
+ border-radius: 0px;
+ box-shadow: none;
+ }
+ #states{
+ padding: 0 16px;
+ }
item3:
card:
type: "custom:bar-card"
@@ -84,36 +85,37 @@ custom_card_mpse_printer:
color: "rgb(250,255,0)"
entities:
- entity: "[[[ return variables.ulm_card_printer_yellow_name ]]]"
- style: |
- bar-card-currentbar{
- border: 0.01rem solid rgba(var(--color-theme),.4);
- }
- bar-card-backgroundbar{
- display: none;
- }
- bar-card-name{
- width: 2rem;
- margin-right: 40px !important;
- }
- bar-card-value{
- width: 2rem;
- margin-left: 40px !important;
- justify-content: center;
- display: flex;
- color: grey;
- }
- bar-card-background{
- margin: 4px 0 4px 0 !important;
- text-align: initial;
- }
- ha-card{
- --bar-card-border-radius: 5px;
- border-radius: 0px;
- box-shadow: none;
- }
- #states{
- padding: 0 16px;
- }
+ card_mod:
+ style: |
+ bar-card-currentbar{
+ border: 0.01rem solid rgba(var(--color-theme),.4);
+ }
+ bar-card-backgroundbar{
+ display: none;
+ }
+ bar-card-name{
+ width: 2rem;
+ margin-right: 40px !important;
+ }
+ bar-card-value{
+ width: 2rem;
+ margin-left: 40px !important;
+ justify-content: center;
+ display: flex;
+ color: grey;
+ }
+ bar-card-background{
+ margin: 4px 0 4px 0 !important;
+ text-align: initial;
+ }
+ ha-card{
+ --bar-card-border-radius: 5px;
+ border-radius: 0px;
+ box-shadow: none;
+ }
+ #states{
+ padding: 0 16px;
+ }
item4:
card:
type: "custom:bar-card"
@@ -127,36 +129,37 @@ custom_card_mpse_printer:
color: "rgb(248,0,255)"
entities:
- entity: "[[[ return variables.ulm_card_printer_magenta_name ]]]"
- style: |
- bar-card-currentbar{
- border: 0.01rem solid rgba(var(--color-theme),.4);
- }
- bar-card-backgroundbar{
- display: none;
- }
- bar-card-name{
- width: 2rem;
- margin-right: 40px !important;
- }
- bar-card-value{
- width: 2rem;
- margin-left: 40px !important;
- justify-content: center;
- display: flex;
- color: grey;
- }
- bar-card-background{
- margin: 4px 0 4px 0 !important;
- text-align: initial;
- }
- ha-card{
- --bar-card-border-radius: 5px;
- border-radius: 0px;
- box-shadow: none;
- }
- #states{
- padding: 0 16px;
- }
+ card_mod:
+ style: |
+ bar-card-currentbar{
+ border: 0.01rem solid rgba(var(--color-theme),.4);
+ }
+ bar-card-backgroundbar{
+ display: none;
+ }
+ bar-card-name{
+ width: 2rem;
+ margin-right: 40px !important;
+ }
+ bar-card-value{
+ width: 2rem;
+ margin-left: 40px !important;
+ justify-content: center;
+ display: flex;
+ color: grey;
+ }
+ bar-card-background{
+ margin: 4px 0 4px 0 !important;
+ text-align: initial;
+ }
+ ha-card{
+ --bar-card-border-radius: 5px;
+ border-radius: 0px;
+ box-shadow: none;
+ }
+ #states{
+ padding: 0 16px;
+ }
item5:
card:
type: "custom:bar-card"
@@ -170,36 +173,37 @@ custom_card_mpse_printer:
color: "rgb(0,255,255)"
entities:
- entity: "[[[ return variables.ulm_card_printer_cyan_name ]]]"
- style: |
- bar-card-currentbar{
- border: 0.01rem solid rgba(var(--color-theme),.4);
- }
- bar-card-backgroundbar{
- display: none;
- }
- bar-card-name{
- width: 2rem;
- margin-right: 40px !important;
- }
- bar-card-value{
- width: 2rem;
- margin-left: 40px !important;
- justify-content: center;
- display: flex;
- color: grey;
- }
- bar-card-background{
- margin: 4px 0 4px 0 !important;
- text-align: initial;
- }
- ha-card{
- --bar-card-border-radius: 5px;
- border-radius: 0px;
- box-shadow: none;
- }
- #states{
- padding: 0 16px 16px 16px;
- }
+ card_mod:
+ style: |
+ bar-card-currentbar{
+ border: 0.01rem solid rgba(var(--color-theme),.4);
+ }
+ bar-card-backgroundbar{
+ display: none;
+ }
+ bar-card-name{
+ width: 2rem;
+ margin-right: 40px !important;
+ }
+ bar-card-value{
+ width: 2rem;
+ margin-left: 40px !important;
+ justify-content: center;
+ display: flex;
+ color: grey;
+ }
+ bar-card-background{
+ margin: 4px 0 4px 0 !important;
+ text-align: initial;
+ }
+ ha-card{
+ --bar-card-border-radius: 5px;
+ border-radius: 0px;
+ box-shadow: none;
+ }
+ #states{
+ padding: 0 16px 16px 16px;
+ }
custom_card_mpse_printer_blue:
state:
- styles:
diff --git a/custom_cards/custom_card_mpse_thermostat/custom_card_mpse_thermostat.yaml b/custom_cards/custom_card_mpse_thermostat/custom_card_mpse_thermostat.yaml
index c8870299a..ab63cb2fd 100644
--- a/custom_cards/custom_card_mpse_thermostat/custom_card_mpse_thermostat.yaml
+++ b/custom_cards/custom_card_mpse_thermostat/custom_card_mpse_thermostat.yaml
@@ -85,10 +85,11 @@ custom_card_mpse_thermostat:
template: "widget_icon"
icon: "mdi:arrow-down"
tap_action:
- action: "call-service"
- service: "climate.set_temperature"
- service_data:
+ action: "perform-action"
+ perform_action: "climate.set_temperature"
+ target:
entity_id: "[[[ return entity.entity_id ]]]"
+ data:
temperature: "[[[ return entity.attributes.temperature - entity.attributes.target_temp_step ]]]"
item2:
card:
@@ -106,8 +107,9 @@ custom_card_mpse_thermostat:
template: "widget_icon"
icon: "mdi:arrow-up"
tap_action:
- action: "call-service"
- service: "climate.set_temperature"
- service_data:
+ action: "perform-action"
+ perform_action: "climate.set_temperature"
+ target:
entity_id: "[[[ return entity.entity_id ]]]"
+ data:
temperature: "[[[ return entity.attributes.temperature + entity.attributes.target_temp_step ]]]"
diff --git a/custom_cards/custom_card_neekster_update/custom_card_neekster_update.yaml b/custom_cards/custom_card_neekster_update/custom_card_neekster_update.yaml
index 792e5101b..749e83ff9 100644
--- a/custom_cards/custom_card_neekster_update/custom_card_neekster_update.yaml
+++ b/custom_cards/custom_card_neekster_update/custom_card_neekster_update.yaml
@@ -131,9 +131,9 @@ card_neekster_update:
hold_action:
action: "more-info"
tap_action:
- action: "call-service"
- service: "update.install"
- service_data:
+ action: "perform-action"
+ perform_action: "update.install"
+ target:
entity_id: "[[[ return entity.entity_id ]]]"
icon: "mdi:package-down"
item2:
@@ -142,13 +142,13 @@ card_neekster_update:
template: "widget_icon"
entity: "[[[ return entity.entity_id ]]]"
hold_action:
- action: "call-service"
- service: "update.clear_skipped"
- service_data:
+ action: "cperform-action"
+ perform_action: "update.clear_skipped"
+ target:
entity_id: "[[[ return entity.entity_id ]]]"
tap_action:
- action: "call-service"
- service: "update.skip"
- service_data:
+ action: "perform-action"
+ perform_action: "update.skip"
+ target:
entity_id: "[[[ return entity.entity_id ]]]"
icon: "mdi:cancel"
diff --git a/custom_cards/custom_card_nik_clock/README.md b/custom_cards/custom_card_nik_clock/README.md
index 5f3712a59..44b48dd34 100644
--- a/custom_cards/custom_card_nik_clock/README.md
+++ b/custom_cards/custom_card_nik_clock/README.md
@@ -3,11 +3,12 @@ title: Tablet Clock Card
hide:
- toc
---
+
# Custom-card "Tablet clock Card"
-This is a `custom-card` that shows the currenct time and Date. This is designed for a tablet or big monitor.
+This is a `custom-card` that shows the current time and Date. This is designed for a tablet or big monitor.
![Screenshot](../../docs/assets/img/custom_card_nik_clock.png)
diff --git a/custom_cards/custom_card_nik_clock/custom_card_nik_clock.yaml b/custom_cards/custom_card_nik_clock/custom_card_nik_clock.yaml
index bb7860f0f..e85f8476f 100644
--- a/custom_cards/custom_card_nik_clock/custom_card_nik_clock.yaml
+++ b/custom_cards/custom_card_nik_clock/custom_card_nik_clock.yaml
@@ -32,14 +32,14 @@ custom_card_nik_clock:
action: >
[[[
if (variables.ulm_custom_card_nik_clock_switch_enable){
- return 'call-service'
+ return 'perform-action'
}
else{
return 'none'
}
]]]
- service: "input_boolean.toggle"
- service_data:
+ perform_action: "input_boolean.toggle"
+ target:
entity_id: "[[[ return variables.ulm_custom_card_nik_clock_switch ]]]"
styles:
card:
diff --git a/custom_cards/custom_card_nik_door/README.md b/custom_cards/custom_card_nik_door/README.md
index 8e8220318..8237abebf 100644
--- a/custom_cards/custom_card_nik_door/README.md
+++ b/custom_cards/custom_card_nik_door/README.md
@@ -8,7 +8,7 @@ hide:
# Custom-card "Minimal Door Lock"
-This is a `custom-card` that shows the currenct state of your Lock and allows you to open and close it showing the state with a Minimal Design.
+This is a `custom-card` that shows the current state of your Lock and allows you to open and close it showing the state with a Minimal Design.
![Screenshot](../../docs/assets/img/custom_card_nik_door.png)
@@ -36,7 +36,6 @@ To have the Minimalist cards and custom cards installed
## Usage
```yaml
-
- type: "custom:button-card"
template: "custom_card_nik_door"
entity: "sensor.nuki_blindato_door_security_state"
diff --git a/custom_cards/custom_card_nik_door/custom_card_nik_door.yaml b/custom_cards/custom_card_nik_door/custom_card_nik_door.yaml
index 58a53a644..b533f2dc1 100644
--- a/custom_cards/custom_card_nik_door/custom_card_nik_door.yaml
+++ b/custom_cards/custom_card_nik_door/custom_card_nik_door.yaml
@@ -112,9 +112,9 @@ custom_card_nik_door:
icon: "mdi:lock-open-variant"
entity: "[[[ return entity.entity_id ]]]"
tap_action:
- action: "call-service"
- service: "lock.open"
- service_data:
+ action: "perform-action"
+ perform_action: "lock.open"
+ target:
entity_id: "[[[ return variables.ulm_custom_card_entity_1_lock ]]]"
state:
- value: "Open"
@@ -136,9 +136,9 @@ custom_card_nik_door:
icon: "mdi:lock"
entity: "[[[ return entity.entity_id ]]]"
tap_action:
- action: "call-service"
- service: "lock.lock"
- service_data:
+ action: "perform-action"
+ perform_action: "lock.lock"
+ target:
entity_id: "[[[ return variables.ulm_custom_card_entity_1_lock ]]]"
state:
- value: "Closed & Locked"
diff --git a/custom_cards/custom_card_nik_tablet/custom_card_nik_tablet.yaml b/custom_cards/custom_card_nik_tablet/custom_card_nik_tablet.yaml
index aa8398ca8..07168fbbe 100644
--- a/custom_cards/custom_card_nik_tablet/custom_card_nik_tablet.yaml
+++ b/custom_cards/custom_card_nik_tablet/custom_card_nik_tablet.yaml
@@ -100,9 +100,9 @@ custom_card_nik_tablet:
entity: "[[[ return variables.ulm_custom_card_nik_tablet_restart ]]]"
icon: "mdi:restart-alert"
tap_action:
- action: "call-service"
- service: "button.press"
- service_data:
+ action: "perform-action"
+ perform_action: "button.press"
+ target:
entity_id: "[[[ return variables.ulm_custom_card_nik_tablet_restart ]]]"
item2:
card:
@@ -121,9 +121,9 @@ custom_card_nik_tablet:
entity: "[[[ return variables.ulm_custom_card_nik_tablet_reload ]]]"
icon: "mdi:reload"
tap_action:
- action: "call-service"
- service: "button.press"
- service_data:
+ action: "perform-action"
+ perform_action: "button.press"
+ target:
entity_id: "[[[ return variables.ulm_custom_card_nik_tablet_reload ]]]"
item4:
card:
diff --git a/custom_cards/custom_card_paddy_dwd_pollen/custom_card_paddy_dwd_pollen.yaml b/custom_cards/custom_card_paddy_dwd_pollen/custom_card_paddy_dwd_pollen.yaml
index 1fee063b8..86cf79ab5 100644
--- a/custom_cards/custom_card_paddy_dwd_pollen/custom_card_paddy_dwd_pollen.yaml
+++ b/custom_cards/custom_card_paddy_dwd_pollen/custom_card_paddy_dwd_pollen.yaml
@@ -2,7 +2,7 @@
custom_card_paddy_dwd_pollen:
template:
- "card_generic_swap"
- - "custom_card_paddy_dwd_pollen_language_variables"
+ - "ulm_custom_card_paddy_dwd_pollen_language_variables"
variables:
ulm_card_generic_swap_name: "[[[ return variables.ulm_custom_card_paddy_dwd_pollen_name; ]]]"
ulm_card_generic_swap_icon: "[[[ return variables.ulm_custom_card_paddy_dwd_pollen_icon; ]]]"
@@ -17,27 +17,6 @@ custom_card_paddy_dwd_pollen:
card:
type: "custom:button-card"
entity: "[[[ return entity.entity_id ]]]"
- item2:
- card:
- type: "custom:button-card"
- entity: "[[[ return entity.entity_id ]]]"
- label: >
- [[[
- if (entity.state == "6"){
- return variables.custom_card_paddy_dwd_pollen_6;
- } else if (entity.state == "5"){
- return variables.custom_card_paddy_dwd_pollen_5;
- } else if (entity.state == "4"){
- return variables.custom_card_paddy_dwd_pollen_4;
- } else if (entity.state == "3"){
- return variables.custom_card_paddy_dwd_pollen_3;
- } else if (entity.state == "2"){
- return variables.custom_card_paddy_dwd_pollen_2;
- } else if (entity.state == "1"){
- return variables.custom_card_paddy_dwd_pollen_1;
- }
- return variables.custom_card_paddy_dwd_pollen_none;
- ]]]
state:
- value: "6"
styles:
@@ -67,3 +46,24 @@ custom_card_paddy_dwd_pollen:
styles:
icon:
- color: "rgba(var(--color-theme),0.2)"
+ item2:
+ card:
+ type: "custom:button-card"
+ entity: "[[[ return entity.entity_id ]]]"
+ label: >
+ [[[
+ if (entity.state == "6"){
+ return variables.ulm_custom_card_paddy_dwd_pollen_6;
+ } else if (entity.state == "5"){
+ return variables.ulm_custom_card_paddy_dwd_pollen_5;
+ } else if (entity.state == "4"){
+ return variables.ulm_custom_card_paddy_dwd_pollen_4;
+ } else if (entity.state == "3"){
+ return variables.ulm_custom_card_paddy_dwd_pollen_3;
+ } else if (entity.state == "2"){
+ return variables.ulm_custom_card_paddy_dwd_pollen_2;
+ } else if (entity.state == "1"){
+ return variables.ulm_custom_card_paddy_dwd_pollen_1;
+ }
+ return variables.ulm_custom_card_paddy_dwd_pollen_none;
+ ]]]
diff --git a/custom_cards/custom_card_paddy_dwd_pollen/languages/de.yaml b/custom_cards/custom_card_paddy_dwd_pollen/languages/de.yaml
index be9723597..06b5d8a1f 100644
--- a/custom_cards/custom_card_paddy_dwd_pollen/languages/de.yaml
+++ b/custom_cards/custom_card_paddy_dwd_pollen/languages/de.yaml
@@ -1,10 +1,10 @@
---
-custom_card_paddy_dwd_pollen_language_variables:
+ulm_custom_card_paddy_dwd_pollen_language_variables:
variables:
- custom_card_paddy_dwd_pollen_6: "hoch"
- custom_card_paddy_dwd_pollen_5: "mittel bis hoch"
- custom_card_paddy_dwd_pollen_4: "mittel"
- custom_card_paddy_dwd_pollen_3: "gering bis mittel"
- custom_card_paddy_dwd_pollen_2: "gering"
- custom_card_paddy_dwd_pollen_1: "keine bis gering"
- custom_card_paddy_dwd_pollen_none: "keine"
+ ulm_custom_card_paddy_dwd_pollen_6: "hoch"
+ ulm_custom_card_paddy_dwd_pollen_5: "mittel bis hoch"
+ ulm_custom_card_paddy_dwd_pollen_4: "mittel"
+ ulm_custom_card_paddy_dwd_pollen_3: "gering bis mittel"
+ ulm_custom_card_paddy_dwd_pollen_2: "gering"
+ ulm_custom_card_paddy_dwd_pollen_1: "keine bis gering"
+ ulm_custom_card_paddy_dwd_pollen_none: "keine"
diff --git a/custom_cards/custom_card_paddy_dwd_pollen/languages/en.yaml b/custom_cards/custom_card_paddy_dwd_pollen/languages/en.yaml
index 2e1ab807f..ae15ef735 100644
--- a/custom_cards/custom_card_paddy_dwd_pollen/languages/en.yaml
+++ b/custom_cards/custom_card_paddy_dwd_pollen/languages/en.yaml
@@ -1,10 +1,10 @@
---
-custom_card_paddy_dwd_pollen_language_variables:
+ulm_custom_card_paddy_dwd_pollen_language_variables:
variables:
- custom_card_paddy_dwd_pollen_6: "high"
- custom_card_paddy_dwd_pollen_5: "medium to high"
- custom_card_paddy_dwd_pollen_4: "medium"
- custom_card_paddy_dwd_pollen_3: "low to mediuml"
- custom_card_paddy_dwd_pollen_2: "low"
- custom_card_paddy_dwd_pollen_1: "none to low"
- custom_card_paddy_dwd_pollen_none: "none"
+ ulm_custom_card_paddy_dwd_pollen_6: "high"
+ ulm_custom_card_paddy_dwd_pollen_5: "medium to high"
+ ulm_custom_card_paddy_dwd_pollen_4: "medium"
+ ulm_custom_card_paddy_dwd_pollen_3: "low to mediuml"
+ ulm_custom_card_paddy_dwd_pollen_2: "low"
+ ulm_custom_card_paddy_dwd_pollen_1: "none to low"
+ ulm_custom_card_paddy_dwd_pollen_none: "none"
diff --git a/custom_cards/custom_card_paddy_dwd_pollen/languages/es.yaml b/custom_cards/custom_card_paddy_dwd_pollen/languages/es.yaml
index 274ee9bd4..789edbaca 100644
--- a/custom_cards/custom_card_paddy_dwd_pollen/languages/es.yaml
+++ b/custom_cards/custom_card_paddy_dwd_pollen/languages/es.yaml
@@ -1,10 +1,10 @@
---
-custom_card_paddy_dwd_pollen_language_variables:
+ulm_custom_card_paddy_dwd_pollen_language_variables:
variables:
- custom_card_paddy_dwd_pollen_6: "alto"
- custom_card_paddy_dwd_pollen_5: "medio a alto"
- custom_card_paddy_dwd_pollen_4: "medio"
- custom_card_paddy_dwd_pollen_3: "bajo a medio"
- custom_card_paddy_dwd_pollen_2: "bajo"
- custom_card_paddy_dwd_pollen_1: "ninguno a bajo"
- custom_card_paddy_dwd_pollen_none: "ninguno"
+ ulm_custom_card_paddy_dwd_pollen_6: "alto"
+ ulm_custom_card_paddy_dwd_pollen_5: "medio a alto"
+ ulm_custom_card_paddy_dwd_pollen_4: "medio"
+ ulm_custom_card_paddy_dwd_pollen_3: "bajo a medio"
+ ulm_custom_card_paddy_dwd_pollen_2: "bajo"
+ ulm_custom_card_paddy_dwd_pollen_1: "ninguno a bajo"
+ ulm_custom_card_paddy_dwd_pollen_none: "ninguno"
diff --git a/custom_cards/custom_card_paddy_dwd_pollen/languages/pl.yaml b/custom_cards/custom_card_paddy_dwd_pollen/languages/pl.yaml
index a3f4092fb..4bf91dd47 100644
--- a/custom_cards/custom_card_paddy_dwd_pollen/languages/pl.yaml
+++ b/custom_cards/custom_card_paddy_dwd_pollen/languages/pl.yaml
@@ -1,10 +1,10 @@
---
-custom_card_paddy_dwd_pollen_language_variables:
+ulm_custom_card_paddy_dwd_pollen_language_variables:
variables:
- custom_card_paddy_dwd_pollen_6: "bardzo wysokie"
- custom_card_paddy_dwd_pollen_5: "wysokie"
- custom_card_paddy_dwd_pollen_4: "średnie"
- custom_card_paddy_dwd_pollen_3: "umiarkowane"
- custom_card_paddy_dwd_pollen_2: "słabe"
- custom_card_paddy_dwd_pollen_1: "bardzo słabe"
- custom_card_paddy_dwd_pollen_none: "brak"
+ ulm_custom_card_paddy_dwd_pollen_6: "bardzo wysokie"
+ ulm_custom_card_paddy_dwd_pollen_5: "wysokie"
+ ulm_custom_card_paddy_dwd_pollen_4: "średnie"
+ ulm_custom_card_paddy_dwd_pollen_3: "umiarkowane"
+ ulm_custom_card_paddy_dwd_pollen_2: "słabe"
+ ulm_custom_card_paddy_dwd_pollen_1: "bardzo słabe"
+ ulm_custom_card_paddy_dwd_pollen_none: "brak"
diff --git a/custom_cards/custom_card_person_info_small/README.md b/custom_cards/custom_card_person_info_small/README.md
new file mode 100644
index 000000000..6a2ae52fc
--- /dev/null
+++ b/custom_cards/custom_card_person_info_small/README.md
@@ -0,0 +1,57 @@
+---
+title: Person Info Card
+---
+
+
+
+## Description
+
+![Person Info](../../docs/assets/img/custom_card_person_info_small_dark.png)
+![Person Info](../../docs/assets/img/custom_card_person_info_small_light.png)
+
+The `custom_card_person_info_small` is based on `card_person_info`.
+
+## Credits
+
+- Author: Imaginelenses <@imaginelenses>
+- Based on [person info card](https://ui-lovelace-minimalist.github.io/UI/usage/custom_cards/custom_card_person_info/#variables) by Jordan Janzen <@jordandrako>
+- Version: 1.0.0
+
+## Variables
+
+| Variable | Default | Required | Notes |
+| -------------------------------------------- | -------------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
+| ulm_card_person_entity | | :material-check: | The person entity |
+| ulm_card_person_use_entity_picture | true | :material-close: | If you set this to true, the card shows the entity picture from your user, otherwise (set to false) shows the icon. Default is false. |
+| ulm_card_person_zone1 | | :material-close: | Set another zone (beside "home") to use for the card. You can set up two zones besides "home". |
+| ulm_card_person_zone2 | | :material-close: | Set another zone (beside "home") to use for the card. You can set up two zones besides "home". |
+| ulm_address | | :material-close: | Show an address as label, add an entity with a geo location |
+| ulm_card_person_driving_entity | | :material-close: | Set a binary sensor that depicts when this person is driving |
+| ulm_card_person_battery_entity | | :material-close: | Set a battery level sensor |
+| ulm_card_person_battery_state_entity | | :material-close: | Set a battery state sensor (eg the battery state sensor from the home assistant companion app will have the states "charging" or "discharging") |
+| ulm_card_battery_battery_level_danger | 15 | :material-close: | Changes the color of the Icon, if the battery level falls below the provided value. Must be higher than ulm_card_battery_battery_level_waring |
+| ulm_card_battery_battery_level_waring | 30 | :material-close: | Changes the color of the Icon, if the battery level falls below the provided value. |
+| ulm_card_battery_color_battery_level_danger | var(--google-red) | :material-close: | Color of icon if battery level is within the 'danger' zone. |
+| ulm_card_battery_color_battery_level_warning | var(--google-yellow) | :material-close: | Color of icon if battery level is within the 'warning' zone. |
+| ulm_card_battery_color_battery_level_ok | var(--google-green) | :material-close: | Color of icon if battery level is not within the 'danger' or 'warning' zone. |
+
+## Usage
+
+```yaml
+- type: "custom:button-card"
+ template: card_person_info_small
+ variables:
+ ulm_card_person_entity: person.imaginelenses
+ ulm_card_person_zone1: zone.work
+ ulm_card_person_driving_entity: binary_sensor.driving
+ ulm_card_person_battery_entity: sensor.phone_battery_level
+ ulm_card_person_battery_state_entity: sensor.phone_battery_state
+```
+
+## Template Code
+
+??? note "Template Code"
+
+ ```yaml title="custom_card_person_info_small.yaml"
+ --8<-- "custom_cards/custom_card_person_info_small/custom_card_person_info_small.yaml"
+ ```
diff --git a/custom_cards/custom_card_person_info_small/custom_card_person_info_small.yaml b/custom_cards/custom_card_person_info_small/custom_card_person_info_small.yaml
new file mode 100644
index 000000000..b593518c0
--- /dev/null
+++ b/custom_cards/custom_card_person_info_small/custom_card_person_info_small.yaml
@@ -0,0 +1,148 @@
+---
+card_person_info_small:
+ template:
+ - "icon_info_bg"
+ - "ulm_translation_engine"
+ variables:
+ ulm_card_person_use_entity_picture: true
+ ulm_card_person_zone1: ""
+ ulm_card_person_zone2: ""
+ ulm_card_person_icon: "mdi:face-man"
+ ulm_address: ""
+ ulm_address_locality: ""
+ ulm_card_person_driving_entity: ""
+ ulm_card_person_battery_entity: ""
+ ulm_card_person_battery_state_entity: ""
+ ulm_card_battery_battery_level_danger: 15
+ ulm_card_battery_battery_level_warning: 30
+ ulm_card_battery_color_battery_level_danger: "var(--google-red)"
+ ulm_card_battery_color_battery_level_warning: "var(--google-yellow)"
+ ulm_card_battery_color_battery_level_ok: "var(--google-green)"
+ triggers_update: "all"
+ tap_action:
+ action: "more-info"
+ entity: "[[[ return variables.ulm_card_person_entity; ]]]"
+ hold_action:
+ action: "more-info"
+ entity: "[[[ return variables.ulm_card_person_battery_entity; ]]]"
+ show_label: true
+ show_name: true
+ label: >
+ [[[
+ if (variables.ulm_address){
+ return states[variables.ulm_address].state;
+ } else if (variables.ulm_address_locality){
+ return states[variables.ulm_address_locality].attributes.Locality;
+ }
+ else if (states[variables.ulm_card_person_driving_entity]?.state === "on") {
+ let state = states[variables.ulm_card_person_entity].state;
+ return `Driving - ${variables.ulm_translation_state}`;
+ } else {
+ let state = states[variables.ulm_card_person_entity].state;
+ return hass.resources[hass["language"]]["component.person.entity_component._.state." + state] ? hass.resources[hass["language"]]["component.person.entity_component._.state." + state] : state;
+ }
+ ]]]
+ name: "[[[ return states[variables.ulm_card_person_entity].attributes.friendly_name ]]]"
+ entity: "[[[ return variables.ulm_card_person_entity; ]]]"
+ icon: "[[[ return variables.ulm_card_person_icon; ]]]"
+ show_entity_picture: "[[[ return variables.ulm_card_person_use_entity_picture ]]]"
+ entity_picture:
+ "[[[ return variables.ulm_card_person_use_entity_picture != false ? states[variables.ulm_card_person_entity].attributes.entity_picture\
+ \ : null ]]]"
+ styles:
+ grid:
+ - grid-template-areas: "'i battery' 'n n' 'l l'"
+ icon:
+ - color: "rgba(var(--color-theme),0.9)"
+ - width: "42px"
+ - place-self: "start"
+ name:
+ - place-self: "center"
+ - margin-left: 0
+ - margin-top: "6%"
+ label:
+ - place-self: "center"
+ - margin-left: 0
+ - text-transform: "capitalize"
+ custom_fields:
+ notification:
+ - position: "absolute"
+ - top: "7%"
+ - left: "38px"
+ - height: "16px"
+ - width: "16px"
+ - border: "2px solid var(--card-background-color)"
+ - border-radius: "50%"
+ - font-size: "12px"
+ - line-height: "14px"
+ - background-color: >
+ [[[
+ if (states[variables.ulm_card_person_entity].state == 'home') {
+ return "rgba(var(--color-blue),1)";
+ } else {
+ return "rgba(var(--color-yellow),1)";
+ }
+ ]]]
+ battery:
+ - width: "30px"
+ - height: "30px"
+ - place-self: "end"
+ - align-self: "center"
+ - background-color: "rgba(var(--primary-background-color), 0.5)"
+ - border: "2px solid var(--card-background-color)"
+ - border-radius: "50%"
+
+ custom_fields:
+ notification: >
+ [[[
+ let height = "11px";
+ let width = "11px";
+ if (states[variables.ulm_card_person_entity].state !== 'home') {
+ if (states[variables.ulm_card_person_entity].state === states[variables.ulm_card_person_zone1]?.attributes?.friendly_name) {
+ var icon = states[variables.ulm_card_person_zone1].attributes.icon !== null ? states[variables.ulm_card_person_zone1].attributes.icon : 'mdi:help-circle'
+ return ``;
+ } else if (states[variables.ulm_card_person_entity].state === states[variables.ulm_card_person_zone2]?.attributes?.friendly_name) {
+ var icon = states[variables.ulm_card_person_zone2].attributes.icon !== null ? states[variables.ulm_card_person_zone2].attributes.icon : 'mdi:help-circle'
+ return ``;
+ } else {
+ return ``;
+ }
+ } else {
+ return ``;
+ }
+ ]]]
+ battery: >
+ [[[
+ if (states[variables.ulm_card_person_battery_entity]?.state) {
+ let battery_level = states[variables.ulm_card_person_battery_entity]?.state;
+ battery_level = Number(battery_level);
+ let charging = states[variables.ulm_card_person_battery_state_entity]?.state.toLowerCase() === "charging";
+
+ var infix = charging ? "-charging" : ""
+ let icon = "mdi:help-circle-outline";
+ if (battery_level == 100) {
+ icon = "mdi:battery";
+ } else if (battery_level < 10) {
+ icon = "mdi:battery" + infix + "-outline";
+ } else if (battery_level == "unknown" || battery_level == "unavailable") {
+ icon = "mdi:battery-off";
+ } else {
+ icon = "mdi:battery" + infix + "-" + Math.floor(battery_level / 10) * 10;
+ }
+
+ let color = variables.ulm_card_battery_color_battery_level_ok;
+ if (battery_level !== "unavailable") {
+ if (battery_level <= variables.ulm_card_battery_battery_level_danger) {
+ color = variables.ulm_card_battery_color_battery_level_danger;
+ } else if (battery_level <= variables.ulm_card_battery_battery_level_warning) {
+ color = variables.ulm_card_battery_color_battery_level_warning;
+ } else {
+ color = variables.ulm_card_battery_color_battery_level_ok;
+ }
+ }
+
+ return `
+
+ `;
+ }
+ ]]]
diff --git a/custom_cards/custom_card_saxel_fan/custom_card_saxel_fan.yaml b/custom_cards/custom_card_saxel_fan/custom_card_saxel_fan.yaml
index d175b17f3..14b60ab0f 100644
--- a/custom_cards/custom_card_saxel_fan/custom_card_saxel_fan.yaml
+++ b/custom_cards/custom_card_saxel_fan/custom_card_saxel_fan.yaml
@@ -198,10 +198,11 @@ custom_card_saxel_fan_common:
icon: "[[[ return variables.ulm_button_icon ]]]"
entity: "[[[ return entity.entity_id ]]]"
tap_action:
- action: "call-service"
- service: "[[[ return variables.ulm_button_service ]]]"
- service_data:
+ action: "perform-action"
+ perform_action: "[[[ return variables.ulm_button_service ]]]"
+ target:
entity_id: "[[[ return entity.entity_id; ]]]"
+ data:
oscillating: "[[[ return !entity.attributes[variables.oscillate_attribute] ]]]"
template:
- "widget_icon"
diff --git a/custom_cards/custom_card_scenes/README.md b/custom_cards/custom_card_scenes/README.md
index db64478f9..01562ba97 100644
--- a/custom_cards/custom_card_scenes/README.md
+++ b/custom_cards/custom_card_scenes/README.md
@@ -3,6 +3,7 @@ title: Scenes Card Custom-card
hide:
- toc
---
+
# Custom-card "Scenes Card"
@@ -21,76 +22,76 @@ Version: 1.2.0
1.2.0
- ```yaml
- #OLD
+```yaml
+#OLD
- type: "custom:button-card"
- template:
- - card_scenes
- variables:
- entity_1: "scene.YOUR_SCENE"
- entity_2: "scene.YOUR_SCENE"
- entity_3: "scene.YOUR_SCENE"
- entity_4: "scene.YOUR_SCENE"
- entity_5: "scene.YOUR_SCENE"
- name_1: "YOUR_NAME"
- name_2: "YOUR_NAME"
- name_3: "YOUR_NAME"
- name_4: "YOUR_NAME"
- name_5: "YOUR_NAME"
- icon_1: "mdi:YOUR_ICON"
- icon_2: "mdi:YOUR_ICON"
- icon_3: "mdi:YOUR_ICON"
- icon_4: "mdi:YOUR_ICON"
- icon_5: "mdi:YOUR_ICON"
- color_icon_1: "yellow"
- color_icon_2: "blue"
- color_icon_3: "purple"
- color_icon_4: "green"
- color_icon_5: "red"
- color_bg_1: "yellow"
- color_bg_2: "blue"
- color_bg_3: "purple"
- color_bg_4: "green"
- color_bg_5: "red"
- ```
-
- ```yaml
- #NEW
+ template:
+ - card_scenes
+ variables:
+ entity_1: "scene.YOUR_SCENE"
+ entity_2: "scene.YOUR_SCENE"
+ entity_3: "scene.YOUR_SCENE"
+ entity_4: "scene.YOUR_SCENE"
+ entity_5: "scene.YOUR_SCENE"
+ name_1: "YOUR_NAME"
+ name_2: "YOUR_NAME"
+ name_3: "YOUR_NAME"
+ name_4: "YOUR_NAME"
+ name_5: "YOUR_NAME"
+ icon_1: "mdi:YOUR_ICON"
+ icon_2: "mdi:YOUR_ICON"
+ icon_3: "mdi:YOUR_ICON"
+ icon_4: "mdi:YOUR_ICON"
+ icon_5: "mdi:YOUR_ICON"
+ icon_color_1: "yellow"
+ icon_color_2: "blue"
+ icon_color_3: "purple"
+ icon_color_4: "green"
+ icon_color_5: "red"
+ bg_color_1: "yellow"
+ bg_color_2: "blue"
+ bg_color_3: "purple"
+ bg_color_4: "green"
+ bg_color_5: "red"
+```
+
+```yaml
+#NEW
- type: "custom:button-card"
- template:
- - card_scenes
- variables:
- entity_1:
- entity_id: "scene.YOUR_SCENE"
- icon: "mdi:YOUR_ICON"
- icon_color: "yellow"
- name: "YOUR_NAME"
- bg_color: "yellow"
- entity_2:
- entity_id: "scene.YOUR_SCENE"
- icon: "mdi:YOUR_ICON"
- icon_color: "blue"
- name: "YOUR_NAME"
- bg_color: "blue"
- entity_3:
- entity_id: "scene.YOUR_SCENE"
- icon: "mdi:YOUR_ICON"
- icon_color: "purple"
- name: "YOUR_NAME"
- bg_color: "purple"
- entity_4:
- entity_id: "scene.YOUR_SCENE"
- icon: "mdi:YOUR_ICON"
- icon_color: "green"
- name: "YOUR_NAME"
- bg_color: "green"
- entity_5:
- entity_id: "scene.YOUR_SCENE"
- icon: "mdi:YOUR_ICON"
- icon_color: "red"
- name: "YOUR_NAME"
- bg_color: "red"
- ```
+ template:
+ - card_scenes
+ variables:
+ entity_1:
+ entity_id: "scene.YOUR_SCENE"
+ icon: "mdi:YOUR_ICON"
+ icon_color: "yellow"
+ name: "YOUR_NAME"
+ bg_color: "yellow"
+ entity_2:
+ entity_id: "scene.YOUR_SCENE"
+ icon: "mdi:YOUR_ICON"
+ icon_color: "blue"
+ name: "YOUR_NAME"
+ bg_color: "blue"
+ entity_3:
+ entity_id: "scene.YOUR_SCENE"
+ icon: "mdi:YOUR_ICON"
+ icon_color: "purple"
+ name: "YOUR_NAME"
+ bg_color: "purple"
+ entity_4:
+ entity_id: "scene.YOUR_SCENE"
+ icon: "mdi:YOUR_ICON"
+ icon_color: "green"
+ name: "YOUR_NAME"
+ bg_color: "green"
+ entity_5:
+ entity_id: "scene.YOUR_SCENE"
+ icon: "mdi:YOUR_ICON"
+ icon_color: "red"
+ name: "YOUR_NAME"
+ bg_color: "red"
+```
diff --git a/custom_cards/custom_card_scenes/card_scenes.yaml b/custom_cards/custom_card_scenes/card_scenes.yaml
index d316b54c8..c4b2cd5dc 100644
--- a/custom_cards/custom_card_scenes/card_scenes.yaml
+++ b/custom_cards/custom_card_scenes/card_scenes.yaml
@@ -57,8 +57,8 @@ card_scenes:
color_icon: "[[[ return variables.entity_1.icon_color ]]]"
color_bg: "[[[ return variables.entity_1.bg_color ]]]"
tap_action:
- action: "call-service"
- service: |
+ action: "perform-action"
+ perform_action: |
[[[
let domain = variables.entity_1.entity_id.substr(0, variables.entity_1.entity_id.indexOf("."));
if (domain == "automation") {
@@ -67,7 +67,7 @@ card_scenes:
return "homeassistant.turn_on"
}
]]]
- service_data:
+ target:
entity_id: "[[[ return variables.entity_1.entity_id ]]]"
item2:
card:
@@ -80,8 +80,8 @@ card_scenes:
color_icon: "[[[ return variables.entity_2.icon_color ]]]"
color_bg: "[[[ return variables.entity_2.bg_color ]]]"
tap_action:
- action: "call-service"
- service: |
+ action: "perform-action"
+ perform_action: |
[[[
let domain = variables.entity_2.entity_id.substr(0, variables.entity_2.entity_id.indexOf("."));
if (domain == "automation") {
@@ -90,7 +90,7 @@ card_scenes:
return "homeassistant.turn_on"
}
]]]
- service_data:
+ target:
entity_id: "[[[ return variables.entity_2.entity_id ]]]"
item3:
card:
@@ -103,8 +103,8 @@ card_scenes:
color_icon: "[[[ return variables.entity_3.icon_color ]]]"
color_bg: "[[[ return variables.entity_3.bg_color ]]]"
tap_action:
- action: "call-service"
- service: |
+ action: "perform-action"
+ perform_action: |
[[[
let domain = variables.entity_3.entity_id.substr(0, variables.entity_3.entity_id.indexOf("."));
if (domain == "automation") {
@@ -113,7 +113,7 @@ card_scenes:
return "homeassistant.turn_on"
}
]]]
- service_data:
+ target:
entity_id: "[[[ return variables.entity_3.entity_id ]]]"
item4:
card:
@@ -126,8 +126,8 @@ card_scenes:
color_icon: "[[[ return variables.entity_4.icon_color ]]]"
color_bg: "[[[ return variables.entity_4.bg_color ]]]"
tap_action:
- action: "call-service"
- service: |
+ action: "perform-action"
+ perform_action: |
[[[
let domain = variables.entity_4.entity_id.substr(0, variables.entity_4.entity_id.indexOf("."));
if (domain == "automation") {
@@ -136,7 +136,7 @@ card_scenes:
return "homeassistant.turn_on"
}
]]]
- service_data:
+ target:
entity_id: "[[[ return variables.entity_4.entity_id ]]]"
item5:
card:
@@ -149,8 +149,8 @@ card_scenes:
color_icon: "[[[ return variables.entity_5.icon_color ]]]"
color_bg: "[[[ return variables.entity_5.bg_color ]]]"
tap_action:
- action: "call-service"
- service: |
+ action: "perform-action"
+ perform_action: |
[[[
let domain = variables.entity_5.entity_id.substr(0, variables.entity_5.entity_id.indexOf("."));
if (domain == "automation") {
@@ -159,7 +159,7 @@ card_scenes:
return "homeassistant.turn_on"
}
]]]
- service_data:
+ target:
entity_id: "[[[ return variables.entity_5.entity_id ]]]"
card_scenes_pill:
diff --git a/custom_cards/custom_card_schumijo_flower/README.md b/custom_cards/custom_card_schumijo_flower/README.md
index 518095d67..cbf595d7f 100644
--- a/custom_cards/custom_card_schumijo_flower/README.md
+++ b/custom_cards/custom_card_schumijo_flower/README.md
@@ -14,8 +14,9 @@ This is a `custom-card` to display a plant entity. Shows state of the plant and
## Credits
-Author: schumijo - 2021
-Version: 1.1.0
+- Author: schumijo - 2021
+- Update 2.0.0 : Ashino - 2024
+- Version: 2.0.0
## Changelog
@@ -28,6 +29,11 @@ Initial release
Fix language files for beta5
Updated README
+
+2.0.0
+Add support to lovelace-flower-card from Olen (advanced forked version)
+Updated README
+
## Usage
@@ -38,6 +44,10 @@ Updated README
ulm_card_flower_entity: plant.bonsai_ficus
ulm_card_flower_name: Bonsai Ficus
ulm_card_flower_species: "ficus retusa"
+ ulm_card_flower_show_bars:
+ - temperature
+ - humidity
+ - moisture
```
#### Variables
@@ -67,11 +77,30 @@ Updated README
yes |
The species of your plant |
+
+ulm_card_flower_show_bars |
+
+- temperature
+
+- moisture
+
+- humidity
+ |
+no |
+The bar you want to display. Any of :
+illuminance
+humidity
+moisture
+conductivity
+temperature
+dli
+ |
+
## Requirements
-Need [lovelace-flower-card](https://github.com/thomasloven/lovelace-flower-card)
+Need [lovelace-flower-card](https://github.com/Olen/lovelace-flower-card)
## Template code
diff --git a/custom_cards/custom_card_schumijo_flower/custom_card_schumijo_flower.yaml b/custom_cards/custom_card_schumijo_flower/custom_card_schumijo_flower.yaml
index 6703e826a..655661ca1 100644
--- a/custom_cards/custom_card_schumijo_flower/custom_card_schumijo_flower.yaml
+++ b/custom_cards/custom_card_schumijo_flower/custom_card_schumijo_flower.yaml
@@ -77,6 +77,7 @@ card_flower:
type: "custom:flower-card"
entity: "[[[ return variables.ulm_card_flower_entity ]]]"
species: "[[[ return variables.ulm_card_flower_species ]]]"
+ show_bars: "[[[ return variables.ulm_card_flower_show_bars ]]]"
card_mod:
style: |
ha-card{
diff --git a/custom_cards/custom_card_sisimomo_printer/custom_card_sisimomo_printer.yaml b/custom_cards/custom_card_sisimomo_printer/custom_card_sisimomo_printer.yaml
index 30315c9f4..b80018dd8 100644
--- a/custom_cards/custom_card_sisimomo_printer/custom_card_sisimomo_printer.yaml
+++ b/custom_cards/custom_card_sisimomo_printer/custom_card_sisimomo_printer.yaml
@@ -163,60 +163,61 @@ custom_card_sisimomo_printer:
}
]]]
- style: |
- /* Cartridge CSS */
- div#cartridges .wrapper {
- display: grid;
- grid-template-columns: auto 1fr auto;
- grid-gap: 1rem;
- padding: 12px 8px 8px 8px;
- }
- div#cartridges .wrapper > *:nth-child(3n-2), .wrapper > *:nth-child(3n) {
- place-self: center start;
- }
- div#cartridges .wrapper > .label {
- filter: opacity(70%);
- font-size: medium;
- }
- div#cartridges .wrapper > .container-bar {
- position: relative;
- border-radius: 4px;
- border: 0.01rem solid rgba(var(--color-theme),.35);
- }
- div#cartridges .wrapper > .container-bar .bar {
- height: 20px;
- border-radius: 4px;
- }
- div#cartridges .wrapper > .state {
- filter: opacity(40%);
- font-size: medium;
- }
+ card_mod:
+ style: |
+ /* Cartridge CSS */
+ div#cartridges .wrapper {
+ display: grid;
+ grid-template-columns: auto 1fr auto;
+ grid-gap: 1rem;
+ padding: 12px 8px 8px 8px;
+ }
+ div#cartridges .wrapper > *:nth-child(3n-2), .wrapper > *:nth-child(3n) {
+ place-self: center start;
+ }
+ div#cartridges .wrapper > .label {
+ filter: opacity(70%);
+ font-size: medium;
+ }
+ div#cartridges .wrapper > .container-bar {
+ position: relative;
+ border-radius: 4px;
+ border: 0.01rem solid rgba(var(--color-theme),.35);
+ }
+ div#cartridges .wrapper > .container-bar .bar {
+ height: 20px;
+ border-radius: 4px;
+ }
+ div#cartridges .wrapper > .state {
+ filter: opacity(40%);
+ font-size: medium;
+ }
- /* Error CSS */
- div#cartridges .error-container {
- text-align: left;
- font-size: 75%;
- font-family: var(--code-font-family, monospace);
- padding: 10px;
- background-color: rgba(219, 68, 55, 0.75);
- margin-top:10px;
- border-radius:8px;
- }
- div#cartridges .error-container ul {
- list-style: none;
- padding: 0;
- margin: 0;
- overflow-wrap: break-word;
- word-wrap: break-word;
- white-space: normal !important;
- }
- div#cartridges .error-container ul li {
- margin-top: 0.5em;
- }
- div#cartridges .info-unavailable {
- padding: 1em;
- white-space: normal;
- margin-top:10px;
- border-radius:8px;
- opacity: 60%;
- }
+ /* Error CSS */
+ div#cartridges .error-container {
+ text-align: left;
+ font-size: 75%;
+ font-family: var(--code-font-family, monospace);
+ padding: 10px;
+ background-color: rgba(219, 68, 55, 0.75);
+ margin-top:10px;
+ border-radius:8px;
+ }
+ div#cartridges .error-container ul {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+ overflow-wrap: break-word;
+ word-wrap: break-word;
+ white-space: normal !important;
+ }
+ div#cartridges .error-container ul li {
+ margin-top: 0.5em;
+ }
+ div#cartridges .info-unavailable {
+ padding: 1em;
+ white-space: normal;
+ margin-top:10px;
+ border-radius:8px;
+ opacity: 60%;
+ }
diff --git a/custom_cards/custom_card_speedtest_shogun160/custom_card_speedtest_shogun160.yaml b/custom_cards/custom_card_speedtest_shogun160/custom_card_speedtest_shogun160.yaml
index ccb027758..b90a0551d 100644
--- a/custom_cards/custom_card_speedtest_shogun160/custom_card_speedtest_shogun160.yaml
+++ b/custom_cards/custom_card_speedtest_shogun160/custom_card_speedtest_shogun160.yaml
@@ -13,9 +13,9 @@ custom_card_speedtest_shogun160:
ulm_custom_card_speedtest_ping_max: 85
ulm_custom_card_speedtest_round: false
tap_action:
- action: "call-service"
- service: "homeassistant.update_entity"
- service_data:
+ action: "perform-action"
+ perform_action: "homeassistant.update_entity"
+ target:
entity_id:
- "[[[ return variables.ulm_custom_card_speedtest_download_speed_entity]]]"
- "[[[ return variables.ulm_custom_card_speedtest_upload_speed_entity]]]"
diff --git a/custom_cards/custom_card_tpx01_aircondition/custom_card_tpx01_aircondition.yaml b/custom_cards/custom_card_tpx01_aircondition/custom_card_tpx01_aircondition.yaml
index a144ee4fa..5807c5925 100644
--- a/custom_cards/custom_card_tpx01_aircondition/custom_card_tpx01_aircondition.yaml
+++ b/custom_cards/custom_card_tpx01_aircondition/custom_card_tpx01_aircondition.yaml
@@ -78,10 +78,11 @@ custom_card_tpx01_aircondition_with_buttons:
type: "custom:button-card"
template: "widget_icon"
tap_action:
- action: "call-service"
- service: "climate.set_hvac_mode"
- service_data:
+ action: "perform-action"
+ perform_action: "climate.set_hvac_mode"
+ target:
entity_id: "[[[ return variables.entity ]]]"
+ data:
hvac_mode: "cool"
icon: "mdi:power"
- type: "conditional"
@@ -92,10 +93,11 @@ custom_card_tpx01_aircondition_with_buttons:
type: "custom:button-card"
template: "widget_icon"
tap_action:
- action: "call-service"
- service: "climate.set_hvac_mode"
- service_data:
+ action: "perform-action"
+ perform_action: "climate.set_hvac_mode"
+ target:
entity_id: "[[[ return variables.entity ]]]"
+ data:
hvac_mode: "off"
icon: "mdi:power-off"
item2:
@@ -108,9 +110,9 @@ custom_card_tpx01_aircondition_with_buttons:
type: "custom:button-card"
template: "widget_icon"
tap_action:
- action: "call-service"
- service: "script.decrease_climate_temperature"
- service_data:
+ action: "perform-action"
+ perform_action: "script.decrease_climate_temperature"
+ target:
entity_id: "[[[ return variables.entity ]]]"
icon: "mdi:minus"
item2:
@@ -126,9 +128,9 @@ custom_card_tpx01_aircondition_with_buttons:
type: "custom:button-card"
template: "widget_icon"
tap_action:
- action: "call-service"
- service: "script.increment_climate_temperature"
- service_data:
+ action: "perform-action"
+ perform_action: "script.increment_climate_temperature"
+ target:
entity_id: "[[[ return variables.entity ]]]"
icon: "mdi:plus"
diff --git a/custom_cards/custom_template_shogun160_battery_info/README.md b/custom_cards/custom_template_shogun160_battery_info/README.md
index 3400942cb..dbdc51781 100644
--- a/custom_cards/custom_template_shogun160_battery_info/README.md
+++ b/custom_cards/custom_template_shogun160_battery_info/README.md
@@ -27,9 +27,9 @@ This is an template to add the battery level to every ui minimalist card
## Variables
-| Variable | Default | Required | Notes |
-| -------------------------------------------- | ------- | -------- | ------------------------------------------------------------------------ |
-| ulm_battery_entity | | No | The entity to represent the battery_level
+| Variable | Default | Required | Notes |
+| ------------------ | ------- | -------- | ----------------------------------------- |
+| ulm_battery_entity | | No | The entity to represent the battery_level |
## Usage with battery or battery_level attribute from entity
diff --git a/custom_components/ui_lovelace_minimalist/__init__.py b/custom_components/ui_lovelace_minimalist/__init__.py
index be8369bbc..8498321b2 100644
--- a/custom_components/ui_lovelace_minimalist/__init__.py
+++ b/custom_components/ui_lovelace_minimalist/__init__.py
@@ -11,6 +11,7 @@
from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.loader import async_get_integration
+import voluptuous as vol
from .base import UlmBase
from .const import DOMAIN, NAME
@@ -18,6 +19,8 @@
_LOGGER: logging.Logger = logging.getLogger(__package__)
+CONFIG_SCHEMA = vol.Schema({DOMAIN: vol.Schema({})}, extra=vol.ALLOW_EXTRA)
+
async def async_initialize_integration(
hass: HomeAssistant,
diff --git a/custom_components/ui_lovelace_minimalist/base.py b/custom_components/ui_lovelace_minimalist/base.py
index dc2e0dcae..417f24a3d 100644
--- a/custom_components/ui_lovelace_minimalist/base.py
+++ b/custom_components/ui_lovelace_minimalist/base.py
@@ -2,13 +2,14 @@
from __future__ import annotations
+from collections.abc import Awaitable
from dataclasses import asdict, dataclass, field
from functools import partial
import logging
import os
import pathlib
import shutil
-from typing import Any, Awaitable, Callable
+from typing import Any, Callable
from aiogithubapi import (
GitHubAPI,
@@ -419,9 +420,9 @@ async def configure_dashboard(self) -> bool:
async_remove_panel(self.hass, "ui-lovelace-minimalist")
if self.configuration.adaptive_ui_enabled:
- self.hass.data["lovelace"]["dashboards"][
- adv_dashboard_url
- ] = LovelaceYAML(self.hass, adv_dashboard_url, adv_dashboard_config)
+ self.hass.data["lovelace"]["dashboards"][adv_dashboard_url] = (
+ LovelaceYAML(self.hass, adv_dashboard_url, adv_dashboard_config)
+ )
_register_panel(
self.hass, adv_dashboard_url, "yaml", adv_dashboard_config, True
diff --git a/custom_components/ui_lovelace_minimalist/config_flow.py b/custom_components/ui_lovelace_minimalist/config_flow.py
index 6b8d2245f..9ad4f2892 100644
--- a/custom_components/ui_lovelace_minimalist/config_flow.py
+++ b/custom_components/ui_lovelace_minimalist/config_flow.py
@@ -7,7 +7,9 @@
from aiogithubapi import GitHubDeviceAPI, GitHubException
from aiogithubapi.common.const import OAUTH_USER_LOGIN
+from awesomeversion import AwesomeVersion
from homeassistant import config_entries
+from homeassistant.const import __version__ as HAVERSION
from homeassistant.core import callback
from homeassistant.helpers import aiohttp_client
import homeassistant.helpers.config_validation as cv
@@ -51,6 +53,10 @@
_LOGGER: logging.Logger = logging.getLogger(__name__)
+# Version threshold for config_entry setting in options flow
+# See: https://github.com/home-assistant/core/pull/129562
+HA_OPTIONS_FLOW_VERSION_THRESHOLD = "2024.11.99"
+
async def ulm_config_option_schema(options: dict = {}) -> dict:
"""Return a schema for ULM configuration options."""
@@ -242,7 +248,10 @@ class UlmOptionFlowHandler(config_entries.OptionsFlow):
def __init__(self, config_entry: config_entries.ConfigEntry) -> None:
"""Initialize."""
- self.config_entry = config_entry
+ self.options = dict(config_entry.options)
+ # See: https://github.com/home-assistant/core/pull/129562
+ if AwesomeVersion(HAVERSION) < HA_OPTIONS_FLOW_VERSION_THRESHOLD:
+ self.config_entry = config_entry
async def async_step_init(self, _user_input=None):
"""Manage the options."""
diff --git a/custom_components/ui_lovelace_minimalist/const.py b/custom_components/ui_lovelace_minimalist/const.py
index 92c6056f6..e75a2c2e9 100644
--- a/custom_components/ui_lovelace_minimalist/const.py
+++ b/custom_components/ui_lovelace_minimalist/const.py
@@ -1,4 +1,5 @@
"""Constants for UI Lovelace Minimalist."""
+
from typing import TypeVar
# Base component constants
@@ -19,50 +20,49 @@
COMMUNITY_CARDS_FOLDER = "custom_cards"
LANGUAGES = {
- "Català": "ca",
"Czech": "cs",
"Danish": "da",
- "Dutch": "nl",
+ "German": "de",
"English (GB)": "en",
+ "Spanish": "es",
+ "Català": "ca",
"French": "fr",
- "German": "de",
- "Hebrew": "he",
"Italian": "it",
+ "Dutch": "nl",
+ "Hebrew": "he",
"Norwegian": "no",
"Polish": "pl",
- "Portuguese (Brazil)": "pt-BR",
"Portuguese": "pt",
- "Russian": "ru",
- "Slovak": "sk",
+ "Portuguese (Brazil)": "pt-BR",
"Slovenian": "sl",
- "Spanish": "es",
+ "Slovak": "sk",
"Swedish": "sv",
"Turkish": "tr",
- "Ukrainian": "uk",
+ "Russian": "ru",
"中文(简体)": "zh-CN",
}
CONF_LANGUAGE = "language"
CONF_LANGUAGES = [
- "Català",
"Czech",
"Danish",
- "Dutch",
+ "German",
"English (GB)",
+ "Spanish",
+ "Català",
"French",
- "German",
- "Hebrew",
"Italian",
+ "Dutch",
+ "Hebrew",
"Norwegian",
"Polish",
- "Portuguese (Brazil)",
"Portuguese",
- "Russian",
+ "Portuguese (Brazil)",
"Slovenian",
- "Spanish",
+ "Slovak",
"Swedish",
"Turkish",
- "Ukrainian",
+ "Russian",
"中文(简体)",
]
CONF_SIDEPANEL_ENABLED = "sidepanel_enabled"
diff --git a/custom_components/ui_lovelace_minimalist/enums.py b/custom_components/ui_lovelace_minimalist/enums.py
index fa4d36405..48b3b15ca 100644
--- a/custom_components/ui_lovelace_minimalist/enums.py
+++ b/custom_components/ui_lovelace_minimalist/enums.py
@@ -1,4 +1,5 @@
"""Helper constants."""
+
# pylint: disable=missing-class-docstring
from enum import Enum
diff --git a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_vacuum.yaml b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_vacuum.yaml
index 928010263..893eb179d 100644
--- a/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_vacuum.yaml
+++ b/custom_components/ui_lovelace_minimalist/lovelace/ulm_templates/card_templates/cards/card_vacuum.yaml
@@ -21,6 +21,7 @@ card_vacuum:
var state = entity.state.toLowerCase();
var colors = {
"cleaning": "blue",
+ "mowing": "blue",
"paused": "green",
"mopping": "yellow",
"returning": "purple",
@@ -52,7 +53,7 @@ card_vacuum:
let map = "'item1' 'map' 'item2'"
if(variables.ulm_card_vacuum_camera != ""){
if(variables.ulm_card_vacuum_camera_toggle){
- if(entity.state.toLowerCase() === 'cleaning' || entity.state.toLowerCase() === 'mopping'){
+ if(entity.state.toLowerCase() === 'cleaning' || entity.state.toLowerCase() === 'mopping' || entity.state.toLowerCase() === 'mowing'){
return map;
}
} else {
@@ -67,7 +68,7 @@ card_vacuum:
let map = "repeat(3, min-content)"
if(variables.ulm_card_vacuum_camera != ""){
if(variables.ulm_card_vacuum_camera_toggle){
- if(entity.state.toLowerCase() === 'cleaning' || entity.state.toLowerCase() === 'mopping'){
+ if(entity.state.toLowerCase() === 'cleaning' || entity.state.toLowerCase() === 'mopping' || entity.state.toLowerCase() === 'mowing'){
return map;
}
} else {
@@ -94,7 +95,7 @@ card_vacuum:
let map = "block"
if(variables.ulm_card_vacuum_camera != ""){
if(variables.ulm_card_vacuum_camera_toggle){
- if(entity.state.toLowerCase() === 'cleaning' || entity.state.toLowerCase() === 'mopping'){
+ if(entity.state.toLowerCase() === 'cleaning' || entity.state.toLowerCase() === 'mopping' || entity.state.toLowerCase() === 'mowing'){
return map;
}
} else {
@@ -249,7 +250,7 @@ card_vacuum:
]]]
state:
- operator: "template"
- value: "[[[ return ['cleaning','mopping'].includes(entity.state.toLowerCase()) ]]]"
+ value: "[[[ return ['cleaning','mopping','mowing'].includes(entity.state.toLowerCase()) ]]]"
icon: "mdi:stop"
tap_action:
action: "perform-action"
@@ -260,7 +261,7 @@ card_vacuum:
action: "perform-action"
perform_action: >
[[[
- return ['cleaning','mopping'].includes(entity.state.toLowerCase()) ? "vacuum.stop" : "vacuum.start";
+ return ['cleaning','mopping','mowing'].includes(entity.state.toLowerCase()) ? "vacuum.stop" : "vacuum.start";
]]]
target:
entity_id: "[[[ return entity.entity_id ]]]"
diff --git a/custom_components/ui_lovelace_minimalist/translations/ca.json b/custom_components/ui_lovelace_minimalist/translations/ca.json
index 95a9b0f89..dcdb12205 100644
--- a/custom_components/ui_lovelace_minimalist/translations/ca.json
+++ b/custom_components/ui_lovelace_minimalist/translations/ca.json
@@ -24,7 +24,7 @@
"reauth_successful": "Reautenticació amb èxit."
},
"progress": {
- "wait_for_device": "1. Obrir {url} \n2.Enganxa la clau següent per autoritzar ULM: \n```\n{code}\n```\n"
+ "wait_for_device": "1. Obrir {url}\n2.Enganxa la clau següent per autoritzar ULM:\n\n```{code}```"
}
},
"options": {
@@ -56,5 +56,15 @@
"ack": "Has de reconeixer tots els estaments.",
"gh_token": "No s'ha establert el token de Github. Si et plau, reinstal·la aquesta integració per seguir amb el procés de configuració. (No es perdrà cap configuració personalitzada)"
}
+ },
+ "services": {
+ "reload": {
+ "name": "Reload",
+ "description": "Reload dashboard configuration for UI Lovelace Minimalist."
+ },
+ "installed": {
+ "name": "Installed",
+ "description": "Change the installed key in global config for UI Lovelace Minimalist."
+ }
}
}
diff --git a/custom_components/ui_lovelace_minimalist/translations/cs.json b/custom_components/ui_lovelace_minimalist/translations/cs.json
index 099bc659a..266384f9c 100644
--- a/custom_components/ui_lovelace_minimalist/translations/cs.json
+++ b/custom_components/ui_lovelace_minimalist/translations/cs.json
@@ -24,7 +24,7 @@
"reauth_successful": "Reauthentication was successful."
},
"progress": {
- "wait_for_device": "1. Open {url} \n2.Paste the following key to authorize ULM: \n```\n{code}\n```\n"
+ "wait_for_device": "1. Open {url}\n2.Paste the following key to authorize ULM:\n\n```{code}```"
}
},
"options": {
@@ -56,5 +56,15 @@
"ack": "You need to acknowledge all statements.",
"gh_token": "Github Token not set. Please re-install this integration to go throught the setup procedure. (No custom configuration will be lost)"
}
+ },
+ "services": {
+ "reload": {
+ "name": "Reload",
+ "description": "Reload dashboard configuration for UI Lovelace Minimalist."
+ },
+ "installed": {
+ "name": "Installed",
+ "description": "Change the installed key in global config for UI Lovelace Minimalist."
+ }
}
}
diff --git a/custom_components/ui_lovelace_minimalist/translations/da.json b/custom_components/ui_lovelace_minimalist/translations/da.json
index 00f5475b2..16c147352 100644
--- a/custom_components/ui_lovelace_minimalist/translations/da.json
+++ b/custom_components/ui_lovelace_minimalist/translations/da.json
@@ -24,7 +24,7 @@
"reauth_successful": "Reauthentication was successful."
},
"progress": {
- "wait_for_device": "1. Open {url} \n2.Paste the following key to authorize ULM: \n```\n{code}\n```\n"
+ "wait_for_device": "1. Open {url}\n2.Paste the following key to authorize ULM:\n\n```{code}```"
}
},
"options": {
@@ -59,9 +59,11 @@
},
"services": {
"reload": {
+ "name": "Reload",
"description": "Genindlæs dashboard-konfiguration til UI Lovelace Minimalist."
},
"installed": {
+ "name": "Installed",
"description": "Skift den installerede nøgle i global konfiguration for UI Lovelace Minimalist."
}
}
diff --git a/custom_components/ui_lovelace_minimalist/translations/de.json b/custom_components/ui_lovelace_minimalist/translations/de.json
index ff4d33b93..d5ee86a00 100644
--- a/custom_components/ui_lovelace_minimalist/translations/de.json
+++ b/custom_components/ui_lovelace_minimalist/translations/de.json
@@ -24,7 +24,7 @@
"reauth_successful": "Die erneute Authentifizierung war erfolgreich."
},
"progress": {
- "wait_for_device": "1. Öffne {url} \n2.Fügen Sie den folgenden Schlüssel ein, um ULM zu autorisieren: \n```\n{code}\n```\n"
+ "wait_for_device": "1. Öffne {url}\n2.Fügen Sie den folgenden Schlüssel ein, um ULM zu autorisieren:\n\n```{code}```"
}
},
"options": {
@@ -60,9 +60,11 @@
},
"services": {
"reload": {
+ "name": "Reload",
"description": "Neuladen der Dashboardkonfiguration für UI Lovelace Minimalist"
},
"installed": {
+ "name": "Installed",
"description": "Änderung des installierten Schlüssels in der globalen Konfiguration für UI Lovelace Minimalist."
}
}
diff --git a/custom_components/ui_lovelace_minimalist/translations/en.json b/custom_components/ui_lovelace_minimalist/translations/en.json
index 6a4a96133..212384c53 100644
--- a/custom_components/ui_lovelace_minimalist/translations/en.json
+++ b/custom_components/ui_lovelace_minimalist/translations/en.json
@@ -24,7 +24,7 @@
"reauth_successful": "Reauthentication was successful."
},
"progress": {
- "wait_for_device": "1. Open {url} \n2.Paste the following key to authorize ULM: \n```\n{code}\n```\n"
+ "wait_for_device": "1. Open {url}\n2.Paste the following key to authorize ULM:\n\n```{code}```"
}
},
"options": {
@@ -59,9 +59,11 @@
},
"services": {
"reload": {
+ "name": "Reload",
"description": "Reload dashboard configuration for UI Lovelace Minimalist."
},
"installed": {
+ "name": "Installed",
"description": "Change the installed key in global config for UI Lovelace Minimalist."
}
}
diff --git a/custom_components/ui_lovelace_minimalist/translations/es.json b/custom_components/ui_lovelace_minimalist/translations/es.json
index 78fef41b7..5287d349d 100644
--- a/custom_components/ui_lovelace_minimalist/translations/es.json
+++ b/custom_components/ui_lovelace_minimalist/translations/es.json
@@ -24,7 +24,7 @@
"reauth_successful": "La reautenticación se ha realizado con éxito."
},
"progress": {
- "wait_for_device": "1. Abre {url} \n2.Pega la siguiente clave para autorizar a ULM: \n```\n{code}\n```\n"
+ "wait_for_device": "1. Abre {url}\n2.Pega la siguiente clave para autorizar a ULM:\n\n```{code}```"
}
},
"options": {
@@ -56,5 +56,15 @@
"ack": "Debes aceptar todas las declaraciones.",
"gh_token": "El token de Github no está configurado. Por favor, vuelve a instalar esta integración para pasar por el procedimiento de configuración. (No se perderá ninguna configuración personalizada)"
}
+ },
+ "services": {
+ "reload": {
+ "name": "Reload",
+ "description": "Reload dashboard configuration for UI Lovelace Minimalist."
+ },
+ "installed": {
+ "name": "Installed",
+ "description": "Change the installed key in global config for UI Lovelace Minimalist."
+ }
}
}
diff --git a/custom_components/ui_lovelace_minimalist/translations/fi.json b/custom_components/ui_lovelace_minimalist/translations/fi.json
index 8412f653e..fd2e9655e 100644
--- a/custom_components/ui_lovelace_minimalist/translations/fi.json
+++ b/custom_components/ui_lovelace_minimalist/translations/fi.json
@@ -24,7 +24,7 @@
"reauth_successful": "Reauthentication was successful."
},
"progress": {
- "wait_for_device": "1. Open {url} \n2.Paste the following key to authorize ULM: \n```\n{code}\n```\n"
+ "wait_for_device": "1. Open {url}\n2.Paste the following key to authorize ULM:\n\n```{code}```"
}
},
"options": {
@@ -56,5 +56,15 @@
"ack": "You need to acknowledge all statements.",
"gh_token": "Github Token not set. Please re-install this integration to go throught the setup procedure. (No custom configuration will be lost)"
}
+ },
+ "services": {
+ "reload": {
+ "name": "Reload",
+ "description": "Reload dashboard configuration for UI Lovelace Minimalist."
+ },
+ "installed": {
+ "name": "Installed",
+ "description": "Change the installed key in global config for UI Lovelace Minimalist."
+ }
}
}
diff --git a/custom_components/ui_lovelace_minimalist/translations/fr.json b/custom_components/ui_lovelace_minimalist/translations/fr.json
index cb1869a68..21bd0a9d2 100644
--- a/custom_components/ui_lovelace_minimalist/translations/fr.json
+++ b/custom_components/ui_lovelace_minimalist/translations/fr.json
@@ -24,7 +24,7 @@
"reauth_successful": "La réauthentification a réussi."
},
"progress": {
- "wait_for_device": "1. Ouvrir {url} \n2.Collez la clé suivante pour autoriser ULM: \n```\n{code}\n```\n"
+ "wait_for_device": "1. Ouvrir {url}\n2.Collez la clé suivante pour autoriser ULM:\n\n```{code}```"
}
},
"options": {
@@ -56,5 +56,15 @@
"ack": "Vous devez confirmer toutes les déclarations.",
"gh_token": "Jeton Github non défini. Veuillez réinstaller cette intégration pour recommencer la procédure d'installation. (Aucune configuration personnalisée ne sera perdue)"
}
+ },
+ "services": {
+ "reload": {
+ "name": "Reload",
+ "description": "Reload dashboard configuration for UI Lovelace Minimalist."
+ },
+ "installed": {
+ "name": "Installed",
+ "description": "Change the installed key in global config for UI Lovelace Minimalist."
+ }
}
}
diff --git a/custom_components/ui_lovelace_minimalist/translations/he.json b/custom_components/ui_lovelace_minimalist/translations/he.json
index ed53867a3..9470895fa 100644
--- a/custom_components/ui_lovelace_minimalist/translations/he.json
+++ b/custom_components/ui_lovelace_minimalist/translations/he.json
@@ -24,7 +24,7 @@
"reauth_successful": "אימות מחדש הצליח"
},
"progress": {
- "wait_for_device": "1. פתח {url} \n2.הדבק המפתח על מנת לאשרר את ULM: \n```\n{code}\n```\n"
+ "wait_for_device": "1. פתח {url}\n2.הדבק המפתח על מנת לאשרר את ULM:\n\n```{code}```"
}
},
"options": {
@@ -59,9 +59,11 @@
},
"services": {
"reload": {
+ "name": "Reload",
"description": "טען קנפוג הדאשבורד מחדש עבור יו.איי. לאבלייס מינימליסט"
},
"installed": {
+ "name": "Installed",
"description": "החלף את המפתח המותקן בקנפוג הגלובלי עבור יו.איי. לאבלייס מינימליסט"
}
}
diff --git a/custom_components/ui_lovelace_minimalist/translations/it.json b/custom_components/ui_lovelace_minimalist/translations/it.json
index 7525f455d..b679b99c7 100644
--- a/custom_components/ui_lovelace_minimalist/translations/it.json
+++ b/custom_components/ui_lovelace_minimalist/translations/it.json
@@ -24,7 +24,7 @@
"reauth_successful": "Reauthentication was successful."
},
"progress": {
- "wait_for_device": "1. Open {url} \n2.Paste the following key to authorize ULM: \n```\n{code}\n```\n"
+ "wait_for_device": "1. Open {url}\n2.Paste the following key to authorize ULM:\n\n```{code}```"
}
},
"options": {
@@ -56,5 +56,15 @@
"ack": "You need to acknowledge all statements.",
"gh_token": "Github Token not set. Please re-install this integration to go throught the setup procedure. (No custom configuration will be lost)"
}
+ },
+ "services": {
+ "reload": {
+ "name": "Reload",
+ "description": "Reload dashboard configuration for UI Lovelace Minimalist."
+ },
+ "installed": {
+ "name": "Installed",
+ "description": "Change the installed key in global config for UI Lovelace Minimalist."
+ }
}
}
diff --git a/custom_components/ui_lovelace_minimalist/translations/nl.json b/custom_components/ui_lovelace_minimalist/translations/nl.json
index dbc1372ef..740322270 100644
--- a/custom_components/ui_lovelace_minimalist/translations/nl.json
+++ b/custom_components/ui_lovelace_minimalist/translations/nl.json
@@ -24,7 +24,7 @@
"reauth_successful": "Reauthentication was successful."
},
"progress": {
- "wait_for_device": "1. Open {url} \n2.Paste the following key to authorize ULM: \n```\n{code}\n```\n"
+ "wait_for_device": "1. Open {url}\n2.Paste the following key to authorize ULM:\n\n```{code}```"
}
},
"options": {
@@ -59,9 +59,11 @@
},
"services": {
"reload": {
+ "name": "Reload",
"description": "Herlaad dashboardconfiguratie voor UI Lovelace Minimalist."
},
"installed": {
+ "name": "Installed",
"description": "Wijzig de geïnstalleerde sleutel in globale configuratie voor UI Lovelace Minimalist."
}
}
diff --git a/custom_components/ui_lovelace_minimalist/translations/pl.json b/custom_components/ui_lovelace_minimalist/translations/pl.json
index fd6883ca6..a2bbe2e65 100644
--- a/custom_components/ui_lovelace_minimalist/translations/pl.json
+++ b/custom_components/ui_lovelace_minimalist/translations/pl.json
@@ -24,7 +24,7 @@
"reauth_successful": "Ponowne uwierzytelnienie zakończyło się sukcesem"
},
"progress": {
- "wait_for_device": "1. Otwórz {url} \n2.Wklej poniższy klucz, aby autoryzować ULM: \n```\n{code}\n```\n"
+ "wait_for_device": "1. Otwórz {url}\n2.Wklej poniższy klucz, aby autoryzować ULM:\n\n```{code}```"
}
},
"options": {
@@ -56,5 +56,15 @@
"ack": "Należy zaznaczyć wszystkie oświadczenia.",
"gh_token": "Token GitHub nie został ustawiony. Zainstaluj ponownie integrację, aby przejść przez proces konfiguracji. Żadna niestandardowa konfiguracja nie zostanie utracona."
}
+ },
+ "services": {
+ "reload": {
+ "name": "Reload",
+ "description": "Reload dashboard configuration for UI Lovelace Minimalist."
+ },
+ "installed": {
+ "name": "Installed",
+ "description": "Change the installed key in global config for UI Lovelace Minimalist."
+ }
}
}
diff --git a/custom_components/ui_lovelace_minimalist/translations/pt-BR.json b/custom_components/ui_lovelace_minimalist/translations/pt-BR.json
index 26049dab2..06dd94712 100644
--- a/custom_components/ui_lovelace_minimalist/translations/pt-BR.json
+++ b/custom_components/ui_lovelace_minimalist/translations/pt-BR.json
@@ -24,7 +24,7 @@
"reauth_successful": "Reauthentication was successful."
},
"progress": {
- "wait_for_device": "1. Open {url} \n2.Paste the following key to authorize ULM: \n```\n{code}\n```\n"
+ "wait_for_device": "1. Open {url}\n2.Paste the following key to authorize ULM:\n\n```{code}```"
}
},
"options": {
@@ -56,5 +56,15 @@
"ack": "You need to acknowledge all statements.",
"gh_token": "Github Token not set. Please re-install this integration to go throught the setup procedure. (No custom configuration will be lost)"
}
+ },
+ "services": {
+ "reload": {
+ "name": "Reload",
+ "description": "Reload dashboard configuration for UI Lovelace Minimalist."
+ },
+ "installed": {
+ "name": "Installed",
+ "description": "Change the installed key in global config for UI Lovelace Minimalist."
+ }
}
}
diff --git a/custom_components/ui_lovelace_minimalist/translations/ru.json b/custom_components/ui_lovelace_minimalist/translations/ru.json
index 9f1c9967a..17ac50287 100644
--- a/custom_components/ui_lovelace_minimalist/translations/ru.json
+++ b/custom_components/ui_lovelace_minimalist/translations/ru.json
@@ -24,7 +24,7 @@
"reauth_successful": "Повторная аутентификация прошла успешно."
},
"progress": {
- "wait_for_device": "1. Откройте ссылку {url} \n2.Вставьте следующий ключ для авторизации ULM: \n```\n{code}\n```\n"
+ "wait_for_device": "1. Откройте ссылку {url}\n2.Вставьте следующий ключ для авторизации ULM:\n\n```{code}```"
}
},
"options": {
@@ -56,5 +56,15 @@
"ack": "Вы должны подтвердить все пункты.",
"gh_token": "Токен Github не установлен. Пожалуйста, переустановите эту интеграцию, чтобы пройти процедуру установки. (Никакая пользовательская конфигурация не будет потеряна)"
}
+ },
+ "services": {
+ "reload": {
+ "name": "Reload",
+ "description": "Reload dashboard configuration for UI Lovelace Minimalist."
+ },
+ "installed": {
+ "name": "Installed",
+ "description": "Change the installed key in global config for UI Lovelace Minimalist."
+ }
}
}
diff --git a/custom_components/ui_lovelace_minimalist/translations/sk.json b/custom_components/ui_lovelace_minimalist/translations/sk.json
index 5345f1824..07afd0548 100644
--- a/custom_components/ui_lovelace_minimalist/translations/sk.json
+++ b/custom_components/ui_lovelace_minimalist/translations/sk.json
@@ -24,7 +24,7 @@
"reauth_successful": "Opätovná autentifikácia bola úspešná."
},
"progress": {
- "wait_for_device": "1. Otvoriť {url} \n2.Vložte nasledujúci kľúč na autorizáciu ULM: \n```\n{code}\n```\n"
+ "wait_for_device": "1. Otvoriť {url}\n2.Vložte nasledujúci kľúč na autorizáciu ULM:\n\n```{code}```"
}
},
"options": {
@@ -59,9 +59,11 @@
},
"services": {
"reload": {
+ "name": "Reload",
"description": "Znovu načítajte konfiguráciu dashboardu pre používateľské rozhranie Lovelace Minimalist."
},
"installed": {
+ "name": "Installed",
"description": "Zmeňte nainštalovaný kľúč v globálnej konfigurácii pre používateľské rozhranie Lovelace Minimalist."
}
}
diff --git a/custom_components/ui_lovelace_minimalist/translations/sl.json b/custom_components/ui_lovelace_minimalist/translations/sl.json
index 56a6e4fbd..04f6fcb3c 100644
--- a/custom_components/ui_lovelace_minimalist/translations/sl.json
+++ b/custom_components/ui_lovelace_minimalist/translations/sl.json
@@ -24,7 +24,7 @@
"reauth_successful": "Ponovna avtentikacija je bila uspešna."
},
"progress": {
- "wait_for_device": "1. Odpri {url} \n2.Za avtorizacijo prilepite naslednji ključ ULM: \n```\n{code}\n```\n"
+ "wait_for_device": "1. Odpri {url}\n2.Za avtorizacijo prilepite naslednji ključ ULM:\n\n```{code}```"
}
},
"options": {
@@ -56,5 +56,15 @@
"ack": "Vse izjave morate potrditi.",
"gh_token": "Žeton Github ni nastavljen. Znova namestite to integracijo, da opravite postopek namestitve. (Nobena konfiguracija po meri ne bo izgubljena)"
}
+ },
+ "services": {
+ "reload": {
+ "name": "Reload",
+ "description": "Reload dashboard configuration for UI Lovelace Minimalist."
+ },
+ "installed": {
+ "name": "Installed",
+ "description": "Change the installed key in global config for UI Lovelace Minimalist."
+ }
}
}
diff --git a/custom_components/ui_lovelace_minimalist/translations/sv.json b/custom_components/ui_lovelace_minimalist/translations/sv.json
index 08a85316f..188853c60 100644
--- a/custom_components/ui_lovelace_minimalist/translations/sv.json
+++ b/custom_components/ui_lovelace_minimalist/translations/sv.json
@@ -24,7 +24,7 @@
"reauth_successful": "Återautentiseringen lyckades."
},
"progress": {
- "wait_for_device": "1. Öppna {url} \n2.Klistra in följande nyckel för att auktorisera ULM: \n```\n{code}\n```\n"
+ "wait_for_device": "1. Öppna {url}\n2.Klistra in följande nyckel för att auktorisera ULM:\n\n```{code}```"
}
},
"options": {
@@ -56,5 +56,15 @@
"ack": "Du måste bekräfta alla uttalande.",
"gh_token": "Github Token inte inställt. Installera om denna integration för att gå igenom installationsproceduren. (Ingen anpassad konfiguration kommer att gå förlorad)"
}
+ },
+ "services": {
+ "reload": {
+ "name": "Reload",
+ "description": "Reload dashboard configuration for UI Lovelace Minimalist."
+ },
+ "installed": {
+ "name": "Installed",
+ "description": "Change the installed key in global config for UI Lovelace Minimalist."
+ }
}
}
diff --git a/custom_components/ui_lovelace_minimalist/translations/uk.json b/custom_components/ui_lovelace_minimalist/translations/uk.json
index eeeeda065..ebd5c3d15 100644
--- a/custom_components/ui_lovelace_minimalist/translations/uk.json
+++ b/custom_components/ui_lovelace_minimalist/translations/uk.json
@@ -24,7 +24,7 @@
"reauth_successful": "Повторна автентифікація пройшла успішно."
},
"progress": {
- "wait_for_device": "1. Відкрите {url} \n2.Вставте цей ключ для авторизації ULM: \n```\n{code}\n```\n"
+ "wait_for_device": "1. Відкрите {url}\n2.Вставте цей ключ для авторизації ULM:\n\n```{code}```"
}
},
"options": {
@@ -59,9 +59,11 @@
},
"services": {
"reload": {
+ "name": "Reload",
"description": "Перезавантажте конфігурацію Інформаційної панелі для UI Lovelace Minimalist."
},
"installed": {
+ "name": "Installed",
"description": "Змініть встановлений ключ у глобальних налаштуваннях для UI Lovelace Minimalist."
}
}
diff --git a/custom_components/ui_lovelace_minimalist/translations/zh-CN.json b/custom_components/ui_lovelace_minimalist/translations/zh-CN.json
index 25fdc9f08..347e4ac3f 100644
--- a/custom_components/ui_lovelace_minimalist/translations/zh-CN.json
+++ b/custom_components/ui_lovelace_minimalist/translations/zh-CN.json
@@ -24,7 +24,7 @@
"reauth_successful": "重新验证成功。"
},
"progress": {
- "wait_for_device": "1. 访问 {url} \n2. 粘贴以下密钥以授权本集成: \n```\n{code}\n```\n"
+ "wait_for_device": "1. 访问 {url}\n2. 粘贴以下密钥以授权本集成:\n\n```{code}```"
}
},
"options": {
@@ -59,9 +59,11 @@
},
"services": {
"reload": {
+ "name": "Reload",
"description": "为 UI Lovelace Minimalist 重载仪表盘配置。"
},
"installed": {
+ "name": "Installed",
"description": "为 UI Lovelace Minimalist 更改全局配置中的已安装密钥."
}
}
diff --git a/custom_components/ui_lovelace_minimalist/utils/decode.py b/custom_components/ui_lovelace_minimalist/utils/decode.py
index 9d42516c0..708f22f1a 100644
--- a/custom_components/ui_lovelace_minimalist/utils/decode.py
+++ b/custom_components/ui_lovelace_minimalist/utils/decode.py
@@ -1,4 +1,5 @@
"""Util to decode content from the github API."""
+
from base64 import b64decode
diff --git a/custom_components/ui_lovelace_minimalist/utils/logger.py b/custom_components/ui_lovelace_minimalist/utils/logger.py
index 699d7f1fe..47a77c07e 100644
--- a/custom_components/ui_lovelace_minimalist/utils/logger.py
+++ b/custom_components/ui_lovelace_minimalist/utils/logger.py
@@ -1,4 +1,5 @@
"""Custom logger for HACS."""
+
import logging
from ..const import PACKAGE_NAME
diff --git a/docs/assets/img/custom_card_iAbadia_battery_chip.png b/docs/assets/img/custom_card_iAbadia_battery_chip.png
new file mode 100644
index 000000000..89a9a910d
Binary files /dev/null and b/docs/assets/img/custom_card_iAbadia_battery_chip.png differ
diff --git a/docs/assets/img/custom_card_person_info_small_dark.png b/docs/assets/img/custom_card_person_info_small_dark.png
new file mode 100644
index 000000000..36ec3c6a9
Binary files /dev/null and b/docs/assets/img/custom_card_person_info_small_dark.png differ
diff --git a/docs/assets/img/custom_card_person_info_small_light.png b/docs/assets/img/custom_card_person_info_small_light.png
new file mode 100644
index 000000000..aeabb5fc1
Binary files /dev/null and b/docs/assets/img/custom_card_person_info_small_light.png differ
diff --git a/docs/setup/adaptive_dash.md b/docs/setup/adaptive_dash.md
index 5c49f650c..767cd371c 100644
--- a/docs/setup/adaptive_dash.md
+++ b/docs/setup/adaptive_dash.md
@@ -3,7 +3,9 @@ title: Adaptive Dashboard
hide:
- toc
---
+
+
![Minimalist_adaptive_dashboard](../assets/img/setup/minimalist_adaptive_dash.gif)
## Add Adaptive Dashboard
@@ -16,11 +18,11 @@ This dashboard automatically changes based on the device/screen size your are us
This dashboard make extensive use of `state-switch` and `layout-card`. These are available through HACS or as manual install from Github.
!!! warning "Warning"
- For now the `state-switch` works only with version `v1.9.3` or below!
+For now the `state-switch` works only with version `v1.9.3` or below!
-| Additional lovelace resources |
-| ----------------------------------------------------------------------- |
-| [`layout-card`](https://github.com/thomasloven/lovelace-layout-card) |
+| Additional lovelace resources |
+| ---------------------------------------------------------------------- |
+| [`layout-card`](https://github.com/thomasloven/lovelace-layout-card) |
| [`state-switch`](https://github.com/thomasloven/lovelace-state-switch) |
You need also configure an `input_select` with options for each popup_card and view you have configured. This `input_select` controls the cards showing on the right-side of the screen when in fullscreen mode.
@@ -62,16 +64,16 @@ We have also added a folder with all the needed files to customizing your new da
```yaml
config
└── ui_lovelace_minimalist
- ├── custom_cards
- └── dashboard
- └── ui-lovelace.yaml
- └── adaptive-dash
- └── adaptive-ui.yaml
- └── popup
- └── popup.yaml
- └── views
- └── livingroom.yaml
- └── main.yaml
+├── custom_cards
+└── dashboard
+└── ui-lovelace.yaml
+└── adaptive-dash
+└── adaptive-ui.yaml
+└── popup
+└── popup.yaml
+└── views
+└── livingroom.yaml
+└── main.yaml
```
## Customizing
@@ -140,11 +142,11 @@ First you need to add the `input_select` you have created to the file.
entity: input_select.minimalist_ui # put your input_select here
```
-We preconfigured multiple popups for different types of devices. In `popup.yaml` you only have to complete the information in the variables part. The `light 1`, `mediaplayer 1`, `livingroom` parts in the code refer to the options you have configuered in your `input_select`. Make sure they are spelled the same. ([see documentation on `state-switch`](https://github.com/thomasloven/lovelace-state-switch))
+We preconfigured multiple popups for different types of devices. In `popup.yaml` you only have to complete the information in the variables part. The `light 1`, `mediaplayer 1`, `livingroom` parts in the code refer to the options you have configured in your `input_select`. Make sure they are spelled the same. ([see documentation on `state-switch`](https://github.com/thomasloven/lovelace-state-switch))
!!! warning "Warning"
- Only uncomment the options you have configured!
- Else it could result in multiple errors in the dev-console of your browser.
+Only uncomment the options you have configured!
+Else it could result in multiple errors in the dev-console of your browser.
Follow this part to add a card to an option of your `input_select`:
To add a light popup to your first light card you just have to add the corresponding entity:
diff --git a/docs/setup/custom_actions.md b/docs/setup/custom_actions.md
index 33b34270b..da2a97053 100644
--- a/docs/setup/custom_actions.md
+++ b/docs/setup/custom_actions.md
@@ -3,7 +3,9 @@ title: Custom actions
hide:
- toc
---
+
+
## Customize tap, double-tap and hold actions
This 'theme' do offer support for customizing actions. Tap, double-tap and hold on different parts (card, icon and name) of the cards could be changed. To achieve this customization follow the instructions on this page.
@@ -25,19 +27,18 @@ ulm_custom_actions:
ulm_name_tap_action: "more-info"
ulm_name_hold_action: "toggle"
ulm_name_double_tap_action: "popup"
-
```
Possible values for each variables are :
-| Value | Description |
-|------------|---------------------------------------------------------------------------------------------------------------------------------|
-| none | No action |
-| toggle | Toggle an entity if available (for binary_sensor and sensor entity, `none` action is used) |
-| more-info | Display more-info window |
-| popup | Display UI LOVELACE MINIMALIST popup if available and enabled on card (if not `more-info` action is used) |
-| adaptive | Switch UI LOVELACE MINIMALIST popup on adaptive dashboard
if current dashboard is adaptive (if not `popup` action is used) |
-| navigate | Navigate to an other UI LOVELACE MINIMALIST view. Need additional variable (see below) |
+| Value | Description |
+| --------- | ------------------------------------------------------------------------------------------------------------------------------ |
+| none | No action |
+| toggle | Toggle an entity if available (for binary_sensor and sensor entity, `none` action is used) |
+| more-info | Display more-info window |
+| popup | Display UI LOVELACE MINIMALIST popup if available and enabled on card (if not `more-info` action is used) |
+| adaptive | Switch UI LOVELACE MINIMALIST popup on adaptive dashboard
if current dashboard is adaptive (if not `popup` action is used) |
+| navigate | Navigate to an other UI LOVELACE MINIMALIST view. Need additional variable (see below) |
## Haptic feedback
@@ -60,8 +61,7 @@ ulm_custom_actions:
ulm_name_double_tap_haptic: "none"
```
-Possible values for each variables (according to the underlying [button card](
-https://github.com/custom-cards/button-card)) are :
+Possible values for each variables (according to the underlying [button card](https://github.com/custom-cards/button-card)) are :
- `none`
- `success`
@@ -98,7 +98,6 @@ To define the path of `navigate` action, add one of the following depending on y
variables:
ulm_name_hold_action: "navigate"
ulm_name_hold_navigate_path: "/adaptive-dash/Livingroom"
-
```
## Call service action
@@ -130,7 +129,6 @@ tap action.
ulm_name_tap_service: "light.toggle"
ulm_name_tap_service_data:
entity_id: light.light_livingroom_2
-
```
## Overwrite custom actions
@@ -145,7 +143,6 @@ For example, this code will overwrite the tap action on card with `more-info` ac
variables:
ulm_card_tap_action: "more-info"
ulm_card_tap_haptic: "success"
-
```
## Custom Popups
@@ -164,7 +161,7 @@ within the `ulm_custom_popup`. This `entity` variable is optional. It is also po
custom popup it the `entity` variable within the `ulm_custom_popup is set to`none`.
```yaml
-- type: 'custom:button-card'
+- type: "custom:button-card"
template: card_power_outlet
entity: switch.power_outlet_livingroom
variables:
@@ -178,7 +175,6 @@ custom popup it the `entity` variable within the `ulm_custom_popup is set to`non
ulm_popup_power_outlet_sensor2: sensor.power_outlet_livingroom_consumption
ulm_popup_power_outlet_graph_sensor: sensor.power_outlet_livingroom
ulm_popup_power_outlet_entity: switch.power_outlet_livingroom
-
```
The available popup templates `popup_media_player_infos`, `popup_light_brightness`, `popup_thermostat_temperature`
@@ -318,7 +314,6 @@ custom_card:
ulm_name_double_tap_service: "[[[ return variables.ulm_name_double_tap_service; ]]]"
ulm_name_double_tap_service_data: "[[[ return variables.ulm_name_double_tap_service_data]]]"
ulm_custom_popup: "[[[ return variables.ulm_custom_popup; ]]]"
-
```
!!! tip "For developes who have already implemented the custom actions on their card"
@@ -354,10 +349,9 @@ The following code won't work on custom popup cards:
```yaml
popup_weather_forecast:
-...
- variables:
- ulm_weather_popup_surpress_first_forecast: false
-...
+---
+variables:
+ ulm_weather_popup_surpress_first_forecast: false
```
Instead of using the variables section of the card the variables must be checked within a JavaScript template. The following
@@ -376,4 +370,4 @@ element: >
]]]
```
-The code checks if the variable is available before reading from the variabl and if the variable isn't available it will set a default value.
+The code checks if the variable is available before reading from the variable and if the variable isn't available it will set a default value.
diff --git a/docs/usage/cards/card_battery.md b/docs/usage/cards/card_battery.md
index 662aa3444..3d4043d56 100644
--- a/docs/usage/cards/card_battery.md
+++ b/docs/usage/cards/card_battery.md
@@ -3,6 +3,7 @@ title: Battery Card
hide:
- toc
---
+
## Description
@@ -11,37 +12,37 @@ hide:
Charging animation if `ulm_card_battery_charging_animation` is true:
-
+
The `battery-card` is a slightly enhanced `generic-card`, that can indicate whether and how a device is being charged and colors the icon based on the battery level.
## Variables
-| Variable | Default | Required | Notes |
-|----------|---------|------------------|-------------------|
-| entity | | :material-check: | This is your battery entity |
-| ulm_card_battery_name | `friendly_name` | :material-close: | Customize name |
-| ulm_card_battery_attribute | | :material-close: | If your entity provides the battery percent in an attribute (= not as an own sensor), fill in the attribute's name here. E.g. if you have `sensor.livingroom_thermometer` and the attribute for your battery power is `sensor.livingroom_thermometer.attributes.battery_percent`, you fill in battery_percent here. |
-| ulm_card_battery_battery_state_entity_id | | :material-close: | Entity that holds the battery state (charging/discharging). If provided, the Icon will display the current status. |
-| ulm_card_battery_charger_type_entity_id | | :material-close: | Entity that holds the charger type (ac/wireless/none). This Entity replaces the need for the `ulm_card_battery_battery_state_entity_id` entity. If provided, the Icon will display the current charger type. This is only useful if you charge your devices Wireless and with cable. |
-| ulm_card_battery_charging_animation | `false` | :material-close: | Weather to show charging animation or not. If set to `true`, `ulm_card_battery_battery_state_entity_id` needs to be defined and `ulm_card_battery_charger_type_entity_id` will be ignored. |
-| ulm_card_battery_battery_level_danger | | :material-check: | Changes the color of the Icon, if the battery level falls below the provided value. Must be higher than `ulm_card_battery_battery_level_waring` |
-| ulm_card_battery_battery_level_waring | | :material-check: | Changes the color of the Icon, if the battery level falls below the provided value. |
-| ulm_card_battery_color_battery_level_danger | var(--google-red) | :material-close: | Color of icon if battery level is within the 'danger' zone. |
-| ulm_card_battery_color_battery_level_warning | var(--google-yellow) | :material-close: | Color of icon if battery level is within the 'warning' zone. |
-| ulm_card_battery_color_battery_level_ok | var(--google-green) | :material-close: | Color of icon if battery level is not within the 'danger' or 'warning' zone. |
+| Variable | Default | Required | Notes |
+| -------------------------------------------- | -------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| entity | | :material-check: | This is your battery entity |
+| ulm_card_battery_name | `friendly_name` | :material-close: | Customize name |
+| ulm_card_battery_attribute | | :material-close: | If your entity provides the battery percent in an attribute (= not as an own sensor), fill in the attribute's name here. E.g. if you have `sensor.livingroom_thermometer` and the attribute for your battery power is `sensor.livingroom_thermometer.attributes.battery_percent`, you fill in battery_percent here. |
+| ulm_card_battery_battery_state_entity_id | | :material-close: | Entity that holds the battery state (charging/discharging). If provided, the Icon will display the current status. |
+| ulm_card_battery_charger_type_entity_id | | :material-close: | Entity that holds the charger type (ac/wireless/none). This Entity replaces the need for the `ulm_card_battery_battery_state_entity_id` entity. If provided, the Icon will display the current charger type. This is only useful if you charge your devices Wireless and with cable. |
+| ulm_card_battery_charging_animation | `false` | :material-close: | Weather to show charging animation or not. If set to `true`, `ulm_card_battery_battery_state_entity_id` needs to be defined and `ulm_card_battery_charger_type_entity_id` will be ignored. |
+| ulm_card_battery_battery_level_danger | | :material-check: | Changes the color of the Icon, if the battery level falls below the provided value. Must be higher than `ulm_card_battery_battery_level_waring` |
+| ulm_card_battery_battery_level_waring | | :material-check: | Changes the color of the Icon, if the battery level falls below the provided value. |
+| ulm_card_battery_color_battery_level_danger | var(--google-red) | :material-close: | Color of icon if battery level is within the 'danger' zone. |
+| ulm_card_battery_color_battery_level_warning | var(--google-yellow) | :material-close: | Color of icon if battery level is within the 'warning' zone. |
+| ulm_card_battery_color_battery_level_ok | var(--google-green) | :material-close: | Color of icon if battery level is not within the 'danger' or 'warning' zone. |
## Usage
```yaml
-- type: 'custom:button-card'
+- type: "custom:button-card"
template: card_battery
entity: sensor.battery_level
variables:
- ulm_card_battery_charger_type_entity_id: sensor.battery_level
- ulm_card_battery_battery_level_danger: 30
- ulm_card_battery_battery_level_warning: 80
- ulm_card_battery_name: Smartphone
+ ulm_card_battery_charger_type_entity_id: sensor.battery_level
+ ulm_card_battery_battery_level_danger: 30
+ ulm_card_battery_battery_level_warning: 80
+ ulm_card_battery_name: Smartphone
```
??? note "Template Code"
diff --git a/docs/usage/cards/card_binary_sensor.md b/docs/usage/cards/card_binary_sensor.md
index 4079ee9be..3073d33c5 100644
--- a/docs/usage/cards/card_binary_sensor.md
+++ b/docs/usage/cards/card_binary_sensor.md
@@ -3,6 +3,7 @@ title: Binary Sensor Card
hide:
- toc
---
+
## Description
@@ -13,14 +14,14 @@ The `binary-sensor-card` is to show the state (on/off, open/close, etc.) of a bi
## Variables
-| Variable | Default | Required | Notes |
-|----------|---------|------------------|-------------------|
-| entity | | :material-check: | |
-| ulm_card_binary_sensor_show_last_changed | | :material-close: | `true` or `false` |
-| ulm_card_binary_sensor_name | | :material-close: | Set custom Name |
-| ulm_card_binary_sensor_icon | | :material-close: | Set custom Icon |
-| ulm_card_binary_sensor_color | `blue` | :material-close: | Set Custom Color | |
-| ulm_card_binary_sensor_force_background_color | `false` | :material-close: | Set `ulm_card_binary_sensor_color` as background color in active state ` | |
+| Variable | Default | Required | Notes |
+| --------------------------------------------- | ------- | ---------------- | ------------------------------------------------------------------------ |
+| entity | | :material-check: | |
+| ulm_card_binary_sensor_show_last_changed | | :material-close: | `true` or `false` |
+| ulm_card_binary_sensor_name | | :material-close: | Set custom Name |
+| ulm_card_binary_sensor_icon | | :material-close: | Set custom Icon |
+| ulm_card_binary_sensor_color | `blue` | :material-close: | Set Custom Color |
+| ulm_card_binary_sensor_force_background_color | `false` | :material-close: | Set `ulm_card_binary_sensor_color` as background color in active state ` |
!!! Warning "⚠️ Breaking Change `v1.0.1`"
@@ -41,7 +42,7 @@ The `binary-sensor-card` is to show the state (on/off, open/close, etc.) of a bi
## Usage
```yaml
-- type: 'custom:button-card'
+- type: "custom:button-card"
template: card_binary_sensor
variables:
ulm_card_binary_sensor_alert: true
diff --git a/docs/usage/cards/card_binary_sensor_alert.md b/docs/usage/cards/card_binary_sensor_alert.md
index 302c5b39c..bac375d97 100644
--- a/docs/usage/cards/card_binary_sensor_alert.md
+++ b/docs/usage/cards/card_binary_sensor_alert.md
@@ -3,6 +3,7 @@ title: Binary Sensor Alert Card
hide:
- toc
---
+
## Description
@@ -13,15 +14,15 @@ The `binary-sensor-card` is to show the state (on/off, open/close, etc.) of a bi
## Variables
-| Variable | Default | Required | Notes |
-|----------|---------|------------------|-------------------|
-| entity | | :material-check: | |
-| ulm_card_binary_sensor_alert_show_last_changed | | :material-close: | `true` or `false` |
-| ulm_card_binary_sensor_alert_name | | :material-close: | Set custom Name |
-| ulm_card_binary_sensor_alert_icon | | :material-close: | Set custom Icon |
-| ulm_icon_alert_invert_state | false | :material-close: | Invert the alert state logic so an alert is shown when the sensor is "off" |
-| ulm_card_binary_sensor_alert_color | `blue` | :material-close: | Set Custom Color | |
-| ulm_card_binary_sensor_alert_force_background_color | `false` | :material-close: | Set `ulm_card_binary_sensor_alert_color` as background color in active state ` | |
+| Variable | Default | Required | Notes |
+| --------------------------------------------------- | ------- | ---------------- | ------------------------------------------------------------------------------ |
+| entity | | :material-check: | |
+| ulm_card_binary_sensor_alert_show_last_changed | | :material-close: | `true` or `false` |
+| ulm_card_binary_sensor_alert_name | | :material-close: | Set custom Name |
+| ulm_card_binary_sensor_alert_icon | | :material-close: | Set custom Icon |
+| ulm_icon_alert_invert_state | false | :material-close: | Invert the alert state logic so an alert is shown when the sensor is "off" |
+| ulm_card_binary_sensor_alert_color | `blue` | :material-close: | Set Custom Color |
+| ulm_card_binary_sensor_alert_force_background_color | `false` | :material-close: | Set `ulm_card_binary_sensor_alert_color` as background color in active state ` |
!!! Warning "⚠️ Breaking Change `v1.0.1`"
@@ -30,6 +31,7 @@ The `binary-sensor-card` is to show the state (on/off, open/close, etc.) of a bi
variables:
ulm_show_last_changed: true
```
+
!!! Warning "⚠️ Breaking Change `v1.3.8`"
`ulm_show_last_changed` is renamed to `ulm_card_binary_sensor_show_last_changed`:
@@ -41,7 +43,7 @@ The `binary-sensor-card` is to show the state (on/off, open/close, etc.) of a bi
## Usage
```yaml
-- type: 'custom:button-card'
+- type: "custom:button-card"
template: card_binary_sensor_alert
variables:
ulm_card_binary_sensor_alert: true
diff --git a/docs/usage/cards/card_generic.md b/docs/usage/cards/card_generic.md
index 9b187acb4..b057bcc80 100644
--- a/docs/usage/cards/card_generic.md
+++ b/docs/usage/cards/card_generic.md
@@ -3,6 +3,7 @@ title: Generic Card
hide:
- toc
---
+
## Description
@@ -13,18 +14,18 @@ This is the `generic-card` to display values from a sensor, eg. to show humidity
## Variables
-| Variable | Default | Required | Notes |
-|----------|---------|------------------|-------------------|
-| entity | | :material-check: | |
-| ulm_card_generic_name | | :material-close: | Set custom Name |
-| ulm_card_generic_icon | | :material-close: | Set custom Icon |
-| ulm_card_generic_color | `blue` | :material-close: | Set Custom Color | |
-| ulm_card_generic_force_background_color | `false` | :material-close: | Set `ulm_card_generic_color` as background color in active state ` | |
+| Variable | Default | Required | Notes |
+| --------------------------------------- | ------- | ---------------- | ------------------------------------------------------------------ |
+| entity | | :material-check: | |
+| ulm_card_generic_name | | :material-close: | Set custom Name |
+| ulm_card_generic_icon | | :material-close: | Set custom Icon |
+| ulm_card_generic_color | `blue` | :material-close: | Set Custom Color |
+| ulm_card_generic_force_background_color | `false` | :material-close: | Set `ulm_card_generic_color` as background color in active state ` |
## Usage
```yaml
-- type: 'custom:button-card'
+- type: "custom:button-card"
template: card_generic
entity: sensor.next_waste_collection
```
diff --git a/docs/usage/cards/card_generic_swap.md b/docs/usage/cards/card_generic_swap.md
index 6aa1ff132..879809fba 100644
--- a/docs/usage/cards/card_generic_swap.md
+++ b/docs/usage/cards/card_generic_swap.md
@@ -3,6 +3,7 @@ title: Generic Swap Card
hide:
- toc
---
+
## Description
@@ -13,18 +14,18 @@ This is a `generic-card` with swapped label and name.
## Variables
-| Variable | Default | Required | Notes |
-|----------|---------|------------------|-------------------|
-| entity | | :material-check: | |
-| ulm_card_generic_swap_name | | :material-close: | Set custom Name |
-| ulm_card_generic_swap_icon | | :material-close: | Set custom Icon |
-| ulm_card_generic_swap_color | `blue` | :material-close: | Set Custom Color | |
-| ulm_card_generic_swap_force_background_color | `false` | :material-close: | Set `ulm_card_generic_swap_color` as background color in active state ` | |
+| Variable | Default | Required | Notes |
+| -------------------------------------------- | ------- | ---------------- | ----------------------------------------------------------------------- |
+| entity | | :material-check: | |
+| ulm_card_generic_swap_name | | :material-close: | Set custom Name |
+| ulm_card_generic_swap_icon | | :material-close: | Set custom Icon |
+| ulm_card_generic_swap_color | `blue` | :material-close: | Set Custom Color |
+| ulm_card_generic_swap_force_background_color | `false` | :material-close: | Set `ulm_card_generic_swap_color` as background color in active state ` |
## Usage
```yaml
-- type: 'custom:button-card'
+- type: "custom:button-card"
template: card_generic_swap
entity: sensor.next_waste_collection
```
diff --git a/docs/usage/cards/card_graph.md b/docs/usage/cards/card_graph.md
index c213e8f53..8c7673a9a 100644
--- a/docs/usage/cards/card_graph.md
+++ b/docs/usage/cards/card_graph.md
@@ -3,47 +3,48 @@ title: Graph Card
hide:
- toc
---
+
## Description
![example-image](../../assets/img/ulm_cards/card_graph.png){ width="500" }
-The `card_graph` shows an entity with the actual state and a *min-graph-card* integrated. This can be used for a thermostat to show the actual temperature and the history. It now supports dual graphs as well as bar style graphs.
+The `card_graph` shows an entity with the actual state and a _min-graph-card_ integrated. This can be used for a thermostat to show the actual temperature and the history. It now supports dual graphs as well as bar style graphs.
## Variables
-| Variable | Default | Required | Notes |
-|----------|---------|------------------|-------------------|
-| entity | | :material-check: | Your entity_id for the temperature sensor |
-| ulm_card_graph_color | | :material-close: | This is to adjust your color value. Use a CSS variable from HA or set a color value (eg. #FFFFFF) |
-| ulm_card_graph_name | | :material-close: | Set graph name |
-| ulm_card_graph_icon | | :material-close: | Set custom icon |
-| ulm_card_graph_entity | | :material-check: | Your entity_id for the temperature sensor |
-| ulm_card_graph_entity2 | | :material-close: | Your entity_id for the second temperature sensor |
-| ulm_card_graph_color2 | | :material-close: | This is to adjust your color value of the second graph. Use a CSS variable from HA or set a color value (eg. #FFFFFF) |
-| ulm_card_graph_type | fill | :material-close: | This is to change the appearance of the graph. Default is fill, but line, bar are valid options. |
-| ulm_card_graph_hours | 24 | :material-close: | How much time should the graph cover, default is 24 hours. |
-| ulm_card_graph_points | 0.5 | :material-close: | Specify amount of data points the graph should display for each hour. A larger number results in a more detailed graph. |
-| ulm_card_graph_group_by | interval | :material-close: | Specify type of grouping of data, dynamic interval, date or hour. |
-| ulm_card_graph_line_width | 5 | :material-close: | Set the thickness of the line. |
+| Variable | Default | Required | Notes |
+| ------------------------- | -------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------- |
+| entity | | :material-check: | Your entity_id for the temperature sensor |
+| ulm_card_graph_color | | :material-close: | This is to adjust your color value. Use a CSS variable from HA or set a color value (eg. #FFFFFF) |
+| ulm_card_graph_name | | :material-close: | Set graph name |
+| ulm_card_graph_icon | | :material-close: | Set custom icon |
+| ulm_card_graph_entity | | :material-check: | Your entity_id for the temperature sensor |
+| ulm_card_graph_entity2 | | :material-close: | Your entity_id for the second temperature sensor |
+| ulm_card_graph_color2 | | :material-close: | This is to adjust your color value of the second graph. Use a CSS variable from HA or set a color value (eg. #FFFFFF) |
+| ulm_card_graph_type | fill | :material-close: | This is to change the appearance of the graph. Default is fill, but line, bar are valid options. |
+| ulm_card_graph_hours | 24 | :material-close: | How much time should the graph cover, default is 24 hours. |
+| ulm_card_graph_points | 0.5 | :material-close: | Specify amount of data points the graph should display for each hour. A larger number results in a more detailed graph. |
+| ulm_card_graph_group_by | interval | :material-close: | Specify type of grouping of data, dynamic interval, date or hour. |
+| ulm_card_graph_line_width | 5 | :material-close: | Set the thickness of the line. |
## Usage
```yaml
- - type: 'custom:button-card'
- template: card_graph
- entity: sensor.livingroom_temperature
- variables:
- ulm_card_graph_color: "var(--google-blue)"
- ulm_card_graph_name: Temperature Livingroom
- ulm_card_graph_entity: sensor.livingroom_temperature
- ulm_card_graph_color2: "var(--google-green)"
- ulm_card_graph_entity2: sensor.bedgroom_temperature
- ulm_card_graph_type: fill
- ulm_card_graph_hours: 24
- ulm_card_graph_group_by: interval
- ulm_card_graph_line_width: 5
+- type: "custom:button-card"
+ template: card_graph
+ entity: sensor.livingroom_temperature
+ variables:
+ ulm_card_graph_color: "var(--google-blue)"
+ ulm_card_graph_name: Temperature Livingroom
+ ulm_card_graph_entity: sensor.livingroom_temperature
+ ulm_card_graph_color2: "var(--google-green)"
+ ulm_card_graph_entity2: sensor.bedroom_temperature
+ ulm_card_graph_type: fill
+ ulm_card_graph_hours: 24
+ ulm_card_graph_group_by: interval
+ ulm_card_graph_line_width: 5
```
??? note "Template Code"
diff --git a/docs/usage/cards/card_input_boolean.md b/docs/usage/cards/card_input_boolean.md
index 2f9d51565..16110d903 100644
--- a/docs/usage/cards/card_input_boolean.md
+++ b/docs/usage/cards/card_input_boolean.md
@@ -3,6 +3,7 @@ title: Input_boolean Card
hide:
- toc
---
+
## Description
@@ -13,18 +14,18 @@ The `input-boolean-card` is to switch an `input_boolean` on or off.
## Variables
-| Variable | Default | Required | Notes |
-|----------|---------|------------------|-------------------|
-| entity | | :material-check: | |
-| ulm_card_input_boolean_name | | :material-close: | Set custom Name |
-| ulm_card_input_boolean_icon | | :material-close: | Set custom Icon |
-| ulm_card_input_boolean_color | `blue` | :material-close: | Set Custom Color | |
-| ulm_card_input_boolean_force_background_color | `false` | :material-close: | Set `ulm_card_input_boolean_color` as background color in active state ` | |
+| Variable | Default | Required | Notes |
+| --------------------------------------------- | ------- | ---------------- | ------------------------------------------------------------------------ |
+| entity | | :material-check: | |
+| ulm_card_input_boolean_name | | :material-close: | Set custom Name |
+| ulm_card_input_boolean_icon | | :material-close: | Set custom Icon |
+| ulm_card_input_boolean_color | `blue` | :material-close: | Set Custom Color |
+| ulm_card_input_boolean_force_background_color | `false` | :material-close: | Set `ulm_card_input_boolean_color` as background color in active state ` |
## Usage
```yaml
-- type: 'custom:button-card'
+- type: "custom:button-card"
template: card_input_boolean
entity: input_boolean.guest_mode
variables:
diff --git a/docs/usage/cards/card_light.md b/docs/usage/cards/card_light.md
index ad44ce507..8a965c746 100644
--- a/docs/usage/cards/card_light.md
+++ b/docs/usage/cards/card_light.md
@@ -33,25 +33,25 @@ To use `popup_light` you need to set the variable `ulm_card_light_enable_popup`
## Variables
-| Variable/Entity | Default | Required | Notes | Requirement |
-| ------------------------------------- | --------------- | ---------------- | ------------------------------------------------------ | --------------------------------------------- |
-| entity | | :material-check: | Your HA entity | |
-| ulm_card_light_name | `friendly_name` | :material-close: | Customize name | |
-| ulm_card_light_icon | `mdi:lightbulb` | :material-close: | Customize icon | |
-| ulm_card_light_enable_slider | `false` | :material-close: | Enable slider | |
-| ulm_card_light_enable_slider_minSet | `0` | :material-close: | Minimum brightness value user can select in the slider | Need `ulm_card_light_enable_slider: true` |
-| ulm_card_light_enable_slider_maxSet | `100` | :material-close: | Maximum brightness value user can select in the slider | Need `ulm_card_light_enable_slider: true` |
-| ulm_card_light_enable_collapse | `false` | :material-close: | Collapse slider when off | Need `ulm_card_light_enable_slider: true` |
-| ulm_card_light_enable_horizontal | `false` | :material-close: | Enable horizontal card | |
-| ulm_card_light_enable_horizontal_wide | `false` | :material-close: | Wider slider | Need `ulm_card_light_enable_horizontal: true` |
-| ulm_card_light_color | `yellow` | :material-close: | Set a manual color from the theme for icon, slider and background | |
-| ulm_card_light_enable_color | `false` | :material-close: | Enable icon and label light color from the light itself. | Overrides `ulm_card_light_color` |
-| ulm_card_light_force_background_color | `false` | :material-close: | Force background light color even in light theme | |
-| ulm_card_light_enable_popup | `false` | :material-close: | Enable `popup_light` | |
-| ulm_card_light_enable_popup_tap | `false` | :material-close: | Enable `popup_light` on simple icon tap | |
-| ulm_card_light_color_palette | | :material-close: | Add `select` entity to control color palette | |
-| ulm_card_light_enable_buttons | `false` | :material-close: | Enable Preset Brightness Buttons |
-| ulm_card_light_brightness_low/med/high | | :material-close: | Override the Brightness defaults for Buttons - Percentages |
+| Variable/Entity | Default | Required | Notes | Requirement |
+| ----------------------------------------- | --------------- | ---------------- | ----------------------------------------------------------------- | --------------------------------------------- |
+| entity | | :material-check: | Your HA entity | |
+| ulm_card_light_name | `friendly_name` | :material-close: | Customize name | |
+| ulm_card_light_icon | `mdi:lightbulb` | :material-close: | Customize icon | |
+| ulm_card_light_enable_slider | `false` | :material-close: | Enable slider | |
+| ulm_card_light_enable_slider_minSet | `0` | :material-close: | Minimum brightness value user can select in the slider | Need `ulm_card_light_enable_slider: true` |
+| ulm_card_light_enable_slider_maxSet | `100` | :material-close: | Maximum brightness value user can select in the slider | Need `ulm_card_light_enable_slider: true` |
+| ulm_card_light_enable_collapse | `false` | :material-close: | Collapse slider when off | Need `ulm_card_light_enable_slider: true` |
+| ulm_card_light_enable_horizontal | `false` | :material-close: | Enable horizontal card | |
+| ulm_card_light_enable_horizontal_wide | `false` | :material-close: | Wider slider | Need `ulm_card_light_enable_horizontal: true` |
+| ulm_card_light_color | `yellow` | :material-close: | Set a manual color from the theme for icon, slider and background | |
+| ulm_card_light_enable_color | `false` | :material-close: | Enable icon and label light color from the light itself. | Overrides `ulm_card_light_color` |
+| ulm_card_light_force_background_color | `false` | :material-close: | Force background light color even in light theme | |
+| ulm_card_light_enable_popup | `false` | :material-close: | Enable `popup_light` | |
+| ulm_card_light_enable_popup_tap | `false` | :material-close: | Enable `popup_light` on simple icon tap | |
+| ulm_card_light_color_palette | | :material-close: | Add `select` entity to control color palette | |
+| ulm_card_light_enable_buttons | `false` | :material-close: | Enable Preset Brightness Buttons | |
+| ulm_card_light_brightness_low/medium/high | | :material-close: | Override the Brightness defaults for Buttons - Percentages | |
## Usage
diff --git a/docs/usage/cards/card_media_player.md b/docs/usage/cards/card_media_player.md
index e8366d651..6a152fdc5 100644
--- a/docs/usage/cards/card_media_player.md
+++ b/docs/usage/cards/card_media_player.md
@@ -15,31 +15,30 @@ hide:
![example-image](../../assets/img/ulm_cards/card_media_player_art_controls.png){ width="500" }
![example-image](../../assets/img/ulm_cards/card_media_player_volume_slider.png){ width="500" }
- The `card_media_player` shows you the _app_, the _title_ and the _album name_ playing, if the data is available through HA. The _app_ is shown via a different icon.
+The `card_media_player` shows you the _app_, the _title_ and the _album name_ playing, if the data is available through HA. The _app_ is shown via a different icon.
## Variables
-| Variable | Default | Required | Notes |
-| -------------------------------------------- | ------- | ---------------- | ----------------------------------------------- |
-| entity | | :material-check: | The media-player entity |
-| ulm_card_media_player_name | | | Name to display for your media-player |
-| ulm_card_media_player_icon | | | Change the icon displayed |
-| ulm_card_media_player_enable_art | false | | Enable album picture on background |
-| ulm_card_media_player_enable_controls | false | | Enable controls below the title |
-| ulm_card_media_player_enable_volume_slider | false | | Enable volume slider below controls |
-| ulm_card_media_player_enable_volume_buttons | false | | Enable volume buttons below controls |
-| ulm_card_media_player_enable_volume_adjust | 5 | | Volume Adjust Amount - if not set then 1 for TV and 5 for Speaker |
-| ulm_card_media_player_collapsible | false | | Controls are collapsible when state is off |
-| ulm_card_media_player_idle_off | false | | If true "idle" states will count as "off" for collapse |
-| ulm_card_media_player_player_controls_entity | entity | | Change the controlled entity |
-| ulm_card_media_player_enable_popup | false | | Enable pop-up |
-| ulm_card_media_player_more_info | false | | Displays artist and album info in the sub-label |
-| ulm_card_media_player_power_button | false | | Show power button |
-| ulm_card_media_player_color | `blue` | :material-close: | Set Custom Color | |
-| ulm_card_media_player_force_background_color | `false` | :material-close: | Set `ulm_card_media_player_color` as background color in active state ` | |
+| Variable | Default | Required | Notes |
+| -------------------------------------------- | ------- | ---------------- | ----------------------------------------------------------------------- |
+| entity | | :material-check: | The media-player entity |
+| ulm_card_media_player_name | | | Name to display for your media-player |
+| ulm_card_media_player_icon | | | Change the icon displayed |
+| ulm_card_media_player_enable_art | false | | Enable album picture on background |
+| ulm_card_media_player_enable_controls | false | | Enable controls below the title |
+| ulm_card_media_player_enable_volume_slider | false | | Enable volume slider below controls |
+| ulm_card_media_player_enable_volume_buttons | false | | Enable volume buttons below controls |
+| ulm_card_media_player_enable_volume_adjust | 5 | | Volume Adjust Amount - if not set then 1 for TV and 5 for Speaker |
+| ulm_card_media_player_collapsible | false | | Controls are collapsible when state is off |
+| ulm_card_media_player_player_controls_entity | entity | | Change the controlled entity |
+| ulm_card_media_player_enable_popup | false | | Enable pop-up |
+| ulm_card_media_player_more_info | false | | Displays artist and album info in the sub-label |
+| ulm_card_media_player_power_button | false | | Show power button |
+| ulm_card_media_player_color | `blue` | :material-close: | Set Custom Color |
+| ulm_card_media_player_force_background_color | `false` | :material-close: | Set `ulm_card_media_player_color` as background color in active state ` |
!!! note
- To use `popup_media_player` you need to set the variable `ulm_card_media_player_enable_popup` to `true`. This is a different approach as the other `popup_cards` use.
+To use `popup_media_player` you need to set the variable `ulm_card_media_player_enable_popup` to `true`. This is a different approach as the other `popup_cards` use.
## Usage
@@ -48,7 +47,7 @@ hide:
template: card_media_player
entity: media_player.livingroom_shield
variables:
- ulm_card_media_player_name : Livingroom Nvidia Shield
+ ulm_card_media_player_name: Livingroom Nvidia Shield
```
??? note "Template Code"
diff --git a/docs/usage/cards/card_power_outlet.md b/docs/usage/cards/card_power_outlet.md
index da3a8c795..3cab9af2f 100644
--- a/docs/usage/cards/card_power_outlet.md
+++ b/docs/usage/cards/card_power_outlet.md
@@ -3,6 +3,7 @@ title: Power Outlet Card
hide:
- toc
---
+
## Description
@@ -13,19 +14,19 @@ This is the `power-outlet-card`. It shows you the state of a power outlet, and i
## Variables
-| Variable | Default | Required | Notes |
-|----------|---------|------------------|-------------------|
-| entity | | :material-check: | |
-| ulm_card_power_outlet_name | | :material-close: | Set custom Name |
-| ulm_card_power_outlet_icon | | :material-close: | Set custom Icon |
-|ulm_card_power_outlet_consumption_sensor| | :material-close: | If you set this sensor, the `power-outlet-card` shows the energy consumption next to the state. |
-| ulm_card_power_outlet_color | `yellow` | :material-close: | Set Custom Color | |
-| ulm_card_power_outlet_force_background_color | `false` | :material-close: | Set `ulm_card_power_outlet_color` as background color in active state ` | |
+| Variable | Default | Required | Notes |
+| -------------------------------------------- | -------- | ---------------- | ----------------------------------------------------------------------------------------------- |
+| entity | | :material-check: | |
+| ulm_card_power_outlet_name | | :material-close: | Set custom Name |
+| ulm_card_power_outlet_icon | | :material-close: | Set custom Icon |
+| ulm_card_power_outlet_consumption_sensor | | :material-close: | If you set this sensor, the `power-outlet-card` shows the energy consumption next to the state. |
+| ulm_card_power_outlet_color | `yellow` | :material-close: | Set Custom Color |
+| ulm_card_power_outlet_force_background_color | `false` | :material-close: | Set `ulm_card_power_outlet_color` as background color in active state ` |
## Usage
```yaml
-- type: 'custom:button-card'
+- type: "custom:button-card"
template: card_power_outlet
variables:
ulm_card_power_outlet_consumption_sensor: sensor.power_outlet_livingroom_consumption
diff --git a/docs/usage/cards/card_room.md b/docs/usage/cards/card_room.md
index b6eea51a8..97b494a8f 100644
--- a/docs/usage/cards/card_room.md
+++ b/docs/usage/cards/card_room.md
@@ -3,6 +3,7 @@ title: Room Card
hide:
- toc
---
+
## Description
@@ -14,79 +15,79 @@ The card has support for up to 4 subicons at the right side of the card. These c
## Variables
-| Variable | Default | Required | Notes | Requirement |
-|----------------------------------------|-----------------|------------------|----------------|-------------|
-| label_use_temperature | `true` | :material-close: | Define whether the label should show the current room temperatureThe temperature should be provide by either a `temperature` or `current_temperature` attribute or by the entity state |
-| label_use_brightness | `false` | :material-close: | Define whether the label should show the current room brightness of the lightsRequires `label_use_temperature` to be false |
-| entity_1 | | :material-close: | a `room_entity` object (see below) | |
-| entity_2 | | :material-close: | a `room_entity` object (see below) | |
-| entity_3 | | :material-close: | a `room_entity` object (see below) | |
-| entity_4 | | :material-close: | a `room_entity` object (see below) | |
+| Variable | Default | Required | Notes | Requirement |
+| --------------------- | ------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
+| label_use_temperature | `true` | :material-close: | Define whether the label should show the current room temperatureThe temperature should be provide by either a `temperature` or `current_temperature` attribute or by the entity state | |
+| label_use_brightness | `false` | :material-close: | Define whether the label should show the current room brightness of the lightsRequires `label_use_temperature` to be false | |
+| entity_1 | | :material-close: | a `room_entity` object (see below) | |
+| entity_2 | | :material-close: | a `room_entity` object (see below) | |
+| entity_3 | | :material-close: | a `room_entity` object (see below) | |
+| entity_4 | | :material-close: | a `room_entity` object (see below) | |
## Room entity
-| Variable | Default | Required | Notes | Requirement |
-|----------------------------------------|-----------------|------------------|----------------|-------------|
-| entity_id | | :material-close: | The entity_id of the status icon | |
-| templates | | :material-close: | List of the additional button card templates to apply to this icon | |
-| tap_action | | :material-close: | tap_action for the icon (see button card documentation for options) | |
-| hold_action | | :material-close: | tap_action for the icon (see button card documentation for options) | |
+| Variable | Default | Required | Notes | Requirement |
+| ----------- | ------- | ---------------- | ------------------------------------------------------------------- | ----------- |
+| entity_id | | :material-close: | The entity_id of the status icon | |
+| templates | | :material-close: | List of the additional button card templates to apply to this icon | |
+| tap_action | | :material-close: | tap_action for the icon (see button card documentation for options) | |
+| hold_action | | :material-close: | tap_action for the icon (see button card documentation for options) | |
## Default card options
All the options from the button card are still available for the large room card.
If you want to tweak this card a little bit more, below are some examples. The full list can be found here: [link](https://github.com/custom-cards/button-card#main-options)
-| Options | Default | Required | Notes | Requirement |
-|----------------------------------------|-----------------|------------------|----------------|-------------|
-| entity | | :material-close: | The entity_id for the large card | |
-| icon | | :material-close: | Icon to display. Defaults to the entity icon | |
-| tap_action | | :material-close: | Define the type of action on click, if undefined, toggle will be used.See [Action](https://github.com/custom-cards/button-card#Action)| |
-| hold_action | | :material-close: | Define the type of action on hold, if undefined, nothing happens See [Action](https://github.com/custom-cards/button-card#Action)| |
-| label | | :material-close: | Change the label text | |
-| title | | :material-close: | Change the title text | |
+| Options | Default | Required | Notes | Requirement |
+| ----------- | ------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
+| entity | | :material-close: | The entity_id for the large card | |
+| icon | | :material-close: | Icon to display. Defaults to the entity icon | |
+| tap_action | | :material-close: | Define the type of action on click, if undefined, toggle will be used.See [Action](https://github.com/custom-cards/button-card#Action) | |
+| hold_action | | :material-close: | Define the type of action on hold, if undefined, nothing happens See [Action](https://github.com/custom-cards/button-card#Action) | |
+| label | | :material-close: | Change the label text | |
+| title | | :material-close: | Change the title text | |
## Usage
```yaml
- - type: 'custom:button-card'
- template:
- - card_room
- - red_no_state
- name: Bathroom
- entity: light.bathroom
- icon: mdi:shower-head
- tap_action:
- action: navigate
- navigation_path: '/ui-lovelace-minimalist/bathroom'
- variables:
- label_use_temperature: false
- label_use_brightness: true
- entity_1:
- entity_id: light.bathroom
- templates:
- - yellow_on
- tap_action:
- action: toggle
- entity_2:
- entity_id: binary_sensor.badkamer_motion_sensor
- templates:
- - blue_on
- tap_action:
- action: none
- entity_3:
- entity_id: input_boolean.badkamer_motionsensor_enabled
- templates:
- - green_on
- - red_off
- tap_action:
- action: toggle
- entity_4:
- entity_id: input_boolean.bath_mode
- templates:
- - pink_on
- tap_action:
- action: toggle
+- type: "custom:button-card"
+ template:
+ - card_room
+ - red_no_state
+ name: Bathroom
+ entity: light.bathroom
+ icon: mdi:shower-head
+ tap_action:
+ action: navigate
+ navigation_path: "/ui-lovelace-minimalist/bathroom"
+ variables:
+ label_use_temperature: false
+ label_use_brightness: true
+ entity_1:
+ entity_id: light.bathroom
+ templates:
+ - yellow_on
+ tap_action:
+ action: toggle
+ entity_2:
+ entity_id: binary_sensor.badkamer_motion_sensor
+ templates:
+ - blue_on
+ tap_action:
+ action: none
+ entity_3:
+ entity_id: input_boolean.badkamer_motionsensor_enabled
+ templates:
+ - green_on
+ - red_off
+ tap_action:
+ action: toggle
+ entity_4:
+ entity_id: input_boolean.bath_mode
+ templates:
+ - pink_on
+ tap_action:
+ action: toggle
```
??? note "Template Code"
diff --git a/docs/usage/cards/card_scenes.md b/docs/usage/cards/card_scenes.md
index 2eff76083..c428a481e 100644
--- a/docs/usage/cards/card_scenes.md
+++ b/docs/usage/cards/card_scenes.md
@@ -3,6 +3,7 @@ title: Scenes Card
hide:
- toc
---
+
## Description
@@ -13,32 +14,32 @@ This card is part of the Welcome Scenes card and can be used separately to only
## Variables
-| Variable | Default | Required | Notes |
-|----------|---------|------------------|-------------------|
-| entity_1 | auto-entities | :material-close: | Can be any common type of entity
if no entity is specified defaults to auto-entities |
-| entity_2 | auto-entities | :material-close: | Can be any common type of entity
if no entity is specified defaults to auto-entities|
-| entity_3 | auto-entities | :material-close: | Can be any common type of entity
if no entity is specified defaults to auto-entities|
-| entity_4 | auto-entities | :material-close: | Can be any common type of entity
if no entity is specified defaults to auto-entities|
-| entity_5 | auto-entities | :material-close: | Can be any common type of entity
if no entity is specified defaults to auto-entities|
-| entity_6 | none | :material-close: | Can be any common type of entity |
-| entity_7 | none | :material-close: | Can be any common type of entity |
+| Variable | Default | Required | Notes |
+| -------- | ------------- | ---------------- | ----------------------------------------------------------------------------------------- |
+| entity_1 | auto-entities | :material-close: | Can be any common type of entity
if no entity is specified defaults to auto-entities |
+| entity_2 | auto-entities | :material-close: | Can be any common type of entity
if no entity is specified defaults to auto-entities |
+| entity_3 | auto-entities | :material-close: | Can be any common type of entity
if no entity is specified defaults to auto-entities |
+| entity_4 | auto-entities | :material-close: | Can be any common type of entity
if no entity is specified defaults to auto-entities |
+| entity_5 | auto-entities | :material-close: | Can be any common type of entity
if no entity is specified defaults to auto-entities |
+| entity_6 | none | :material-close: | Can be any common type of entity |
+| entity_7 | none | :material-close: | Can be any common type of entity |
## Entity Variables
-| Variable | Default | Required | Notes |
-|----------|---------|------------------|-------------------|
-| _entity_id | | :material-close: | Support almost all types of entities
Scenes do always show as off |
-| _icon | | :material-close: | The icon to show |
-| _name | | :material-close: | The name to show|
-| _color | Random | :material-close: | Color of the icon
Can choose between: `blue`, `red`, `green`, `yellow`, `pink`, `purple`
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
*Overrides other types of actions*
+| Variable | Default | Required | Notes |
+| ----------- | ----------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
+| \_entity_id | | :material-close: | Support almost all types of entities
Scenes do always show as off |
+| \_icon | | :material-close: | The icon to show |
+| \_name | | :material-close: | The name to show |
+| \_color | Random | :material-close: | Color of the icon
Can choose between: `blue`, `red`, `green`, `yellow`, `pink`, `purple`
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
_Overrides other types of actions_ |
## Usage
!!! note ""
- You can set 1 to 7 entities to show 1 to 7 pills dynamically
- If set none it uses `auto-entities` with max 5 pills
+You can set 1 to 7 entities to show 1 to 7 pills dynamically
+If set none it uses `auto-entities` with max 5 pills
```yaml
- type: "custom:button-card"
diff --git a/docs/usage/cards/card_vacuum.md b/docs/usage/cards/card_vacuum.md
index 415f24e8e..738e7e8d8 100644
--- a/docs/usage/cards/card_vacuum.md
+++ b/docs/usage/cards/card_vacuum.md
@@ -3,6 +3,7 @@ title: Vacuum Card
hide:
- toc
---
+
## Description
@@ -15,18 +16,18 @@ This is a card to control your Robot-vacuum. It has support for all vacuums whic
## Variables
-| Variable | Default | Required | Notes |
-|----------|---------|------------------|-------------------|
-| entity | `vacuum.*` | :material-check: | |
-|`ulm_card_vacuum_name`| | :material-close: | Add a custom name |
-|`ulm_card_vacuum_icon`| | :material-close: | Add a custom MDI icon |
-|`ulm_card_vacuum_label`| | :material-close: | Add a custom label |
-|`ulm_card_vacuum_room`| | :material-close: | Add a script to clean a specific room |
-|`ulm_card_vacuum_room_icon`| | :material-close: | Add custom icon to the room script |
-|`ulm_card_vacuum_camera`| | :material-close: | Add a camera entity to the card to show the vacuum map |
-|`ulm_card_vacuum_camera_toggle`| | :material-close: | Only show the camera entity while cleaning |
-| ulm_card_vacuum_color | state based | :material-close: | Set Custom Color | |
-| ulm_card_vacuum_force_background_color | `false` | :material-close: | Set `ulm_card_vacuum_color` as background color in active state ` | |
+| Variable | Default | Required | Notes |
+| -------------------------------------- | ----------- | ---------------- | ----------------------------------------------------------------- |
+| entity | `vacuum.*` | :material-check: | |
+| `ulm_card_vacuum_name` | | :material-close: | Add a custom name |
+| `ulm_card_vacuum_icon` | | :material-close: | Add a custom MDI icon |
+| `ulm_card_vacuum_label` | | :material-close: | Add a custom label |
+| `ulm_card_vacuum_room` | | :material-close: | Add a script to clean a specific room |
+| `ulm_card_vacuum_room_icon` | | :material-close: | Add custom icon to the room script |
+| `ulm_card_vacuum_camera` | | :material-close: | Add a camera entity to the card to show the vacuum map |
+| `ulm_card_vacuum_camera_toggle` | | :material-close: | Only show the camera entity while cleaning |
+| ulm_card_vacuum_color | state based | :material-close: | Set Custom Color |
+| ulm_card_vacuum_force_background_color | `false` | :material-close: | Set `ulm_card_vacuum_color` as background color in active state ` |
## Usage
diff --git a/docs/usage/cards/card_welcome_scenes.md b/docs/usage/cards/card_welcome_scenes.md
index 196683236..c1fe9d143 100644
--- a/docs/usage/cards/card_welcome_scenes.md
+++ b/docs/usage/cards/card_welcome_scenes.md
@@ -3,6 +3,7 @@ title: Welcome Scenes Card
hide:
- toc
---
+
## Description
@@ -13,45 +14,45 @@ This is a card which shows the basic needs for your dashboard. This card can gen
## Variables
-| Variable | Default | Required | Notes |
-|----------|---------|------------------|-------------------|
-| ulm_card_welcome_scenes_collapse | | :material-close: | Enables the collapse function.
requires an `input_boolean` to track the state|
-| ulm_weather | | :material-check: | This is your weather provider.
Example: `weather.your_provider`|
-| ulm_language | Language of your system | :material-close: | You can set a different format with the [BCP-47 language tags](https://www.techonthenet.com/js/language_tags.php)
Example: `"en-US"` or just `"en"`|
-| entity_1 | auto-entities | :material-close: | Can be any common type of entity
if no entity is specified defaults to auto-entities |
-| entity_2 | auto-entities | :material-close: | Can be any common type of entity
if no entity is specified defaults to auto-entities|
-| entity_3 | auto-entities | :material-close: | Can be any common type of entity
if no entity is specified defaults to auto-entities|
-| entity_4 | auto-entities | :material-close: | Can be any common type of entity
if no entity is specified defaults to auto-entities|
-| entity_5 | auto-entities | :material-close: | Can be any common type of entity
if no entity is specified defaults to auto-entities|
-| entity_6 | none | :material-close: | Can be any common type of entity |
-| entity_7 | none | :material-close: | Can be any common type of entity |
+| Variable | Default | Required | Notes |
+| -------------------------------- | ----------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| ulm_card_welcome_scenes_collapse | | :material-close: | Enables the collapse function.
requires an `input_boolean` to track the state |
+| ulm_weather | | :material-check: | This is your weather provider.
Example: `weather.your_provider` |
+| ulm_language | Language of your system | :material-close: | You can set a different format with the [BCP-47 language tags](https://www.techonthenet.com/js/language_tags.php)
Example: `"en-US"` or just `"en"` |
+| entity_1 | auto-entities | :material-close: | Can be any common type of entity
if no entity is specified defaults to auto-entities |
+| entity_2 | auto-entities | :material-close: | Can be any common type of entity
if no entity is specified defaults to auto-entities |
+| entity_3 | auto-entities | :material-close: | Can be any common type of entity
if no entity is specified defaults to auto-entities |
+| entity_4 | auto-entities | :material-close: | Can be any common type of entity
if no entity is specified defaults to auto-entities |
+| entity_5 | auto-entities | :material-close: | Can be any common type of entity
if no entity is specified defaults to auto-entities |
+| entity_6 | none | :material-close: | Can be any common type of entity |
+| entity_7 | none | :material-close: | Can be any common type of entity |
## Entity Variables
-| Variable | Default | Required | Notes |
-|----------|---------|------------------|-------------------|
-| _entity_id | | :material-close: | Support almost all types of entities
Scenes do always show as off |
-| _icon | | :material-close: | The icon to show |
-| _name | | :material-close: | The name to show|
-| _color | Random | :material-close: | Color of the icon
Can choose between: `blue`, `red`, `green`, `yellow`, `pink`, `purple`
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
*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
+| Variable | Default | Required | Notes |
+| -------------- | ----------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
+| \_entity_id | | :material-close: | Support almost all types of entities
Scenes do always show as off |
+| \_icon | | :material-close: | The icon to show |
+| \_name | | :material-close: | The name to show |
+| \_color | Random | :material-close: | Color of the icon
Can choose between: `blue`, `red`, `green`, `yellow`, `pink`, `purple`
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
_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
!!! note ""
- This feature is fully optional. It requires some more manual configuration!
+This feature is fully optional. It requires some more manual configuration!
You need to create a `input_boolean` in HA to track the state. See [Docs](https://www.home-assistant.io/integrations/input_boolean/).
Furthermore, you need to add the `input_boolean` to the variable `ulm_card_welcome_scenes_collapse` **and** to either the `entity` or `triggers_update` to make sure it directly refreshes the state.
!!! warning
- Do not use `triggers_update: "all"`! This will lead to unwanted behavior with the random colors generator.
+Do not use `triggers_update: "all"`! This will lead to unwanted behavior with the random colors generator.
## Usage
!!! note ""
- You can set 1 to 7 entities to show 1 to 7 pills dynamically
- If set none it uses `auto-entities` with max 5 pills
+You can set 1 to 7 entities to show 1 to 7 pills dynamically
+If set none it uses `auto-entities` with max 5 pills
```yaml
- type: "custom:button-card"
diff --git a/docs/usage/chips/chip_mdi_icon_state.md b/docs/usage/chips/chip_mdi_icon_state.md
index 0aae91388..662f23478 100644
--- a/docs/usage/chips/chip_mdi_icon_state.md
+++ b/docs/usage/chips/chip_mdi_icon_state.md
@@ -3,6 +3,7 @@ title: Mdi:icon State Chip
hide:
- toc
---
+
## Description
@@ -13,12 +14,12 @@ This `chip` displays an icon using [mdi](https://materialdesignicons.com/) and `
## Variables
-| Variable | Default | Required | Notes |
-|----------|---------|------------------|-------------------|
-|ulm_chip_mdi_icon_state_entity | | :material-check: | `entity` to link | |
-|ulm_chip_mdi_icon_state_icon | | :material-close: | mdi:icon to display |
-|ulm_chip_mdi_icon_state_icon_color | `primary-text-color` | :material-close: | Allow to change `icon` color |
-|ulm_chip_mdi_icon_state_label_color | `primary-text-color` | :material-close: | Allow to change `label` color |
+| Variable | Default | Required | Notes |
+| ----------------------------------- | -------------------- | ---------------- | ----------------------------- |
+| ulm_chip_mdi_icon_state_entity | | :material-check: | `entity` to link |
+| ulm_chip_mdi_icon_state_icon | | :material-close: | mdi:icon to display |
+| ulm_chip_mdi_icon_state_icon_color | `primary-text-color` | :material-close: | Allow to change `icon` color |
+| ulm_chip_mdi_icon_state_label_color | `primary-text-color` | :material-close: | Allow to change `label` color |
## Usage
diff --git a/docs/usage/custom_cards/custom_card_camera.md b/docs/usage/custom_cards/custom_card_camera.md
index f8d304bf5..d06e8dbf9 100644
--- a/docs/usage/custom_cards/custom_card_camera.md
+++ b/docs/usage/custom_cards/custom_card_camera.md
@@ -3,6 +3,7 @@ title: Custom Camera Card
hide:
- toc
---
+
# Custom-card "Camera"
@@ -21,7 +22,7 @@ Version: 1.0.0
1.0.1
-Added variable to passthough aspect ratio to the picture entity card. Fix minor issues with title.
+Added variable to passthrough aspect ratio to the picture entity card. Fix minor issues with title.
1.0.0
@@ -39,7 +40,7 @@ Initial release.
ulm_custom_card_camera_title: true
ulm_custom_card_camera_name: "name"
ulm_custom_card_camera_label: "label"
- ulm_custom_card_camera_aspect_ratio: '16:9'
+ ulm_custom_card_camera_aspect_ratio: "16:9"
```
## Variables
diff --git a/docs/usage/custom_cards/custom_card_httpedo13_sun.md b/docs/usage/custom_cards/custom_card_httpedo13_sun.md
index c7684decb..78ab73887 100644
--- a/docs/usage/custom_cards/custom_card_httpedo13_sun.md
+++ b/docs/usage/custom_cards/custom_card_httpedo13_sun.md
@@ -3,6 +3,7 @@ title: Sun Card Custom-card
hide:
- toc
---
+
# Custom-card "Sun"
@@ -24,6 +25,7 @@ Initial release
## Requirements
This card uses:
+
Component / card |
@@ -49,10 +51,10 @@ This card uses:
## Usage
```yaml
- - type: custom:button-card
- template: custom_card_httpedo13_sun
- variables:
- language: 'it'
+- type: custom:button-card
+ template: custom_card_httpedo13_sun
+ variables:
+ language: "it"
```
## Variables
@@ -60,12 +62,12 @@ This card uses:
The same sun card config.
| Name | Accepted values | Description | Default |
-|---------------|----------------------|--------------------------------------|-----------------------------------------------------|
+| ------------- | -------------------- | ------------------------------------ | --------------------------------------------------- |
| darkMode | `boolean` | Changes card colors to dark or light | Home assistant dark mode state |
| language | `string`1 | Changes card language | Home assistant language or english if not supported |
| showAzimuth | `boolean` | Displays azimuth in the footer | `false` |
| showElevation | `boolean` | Displays elevation in the footer | `false` |
| timeFormat | `'12h'`/`'24h'` | Displayed time format | Locale based on Home assistant language |
-| title | `string` | Card title | Doesn't display a title by default | |
+| title | `string` | Card title | Doesn't display a title by default |
(1) Supported languages: `da`, `de`, `en`, `es`, `et`, `fi`, `fr`, `hu`, `it`, `nl`, `pl`, `pt-BR`, `ru`, `sl`, `sv`
diff --git a/docs/usage/custom_cards/custom_card_iAbadia_battery_chip.md b/docs/usage/custom_cards/custom_card_iAbadia_battery_chip.md
new file mode 100644
index 000000000..05a56b8fe
--- /dev/null
+++ b/docs/usage/custom_cards/custom_card_iAbadia_battery_chip.md
@@ -0,0 +1,58 @@
+---
+title: iAbadia's Battery Chip Custom Card
+hide:
+ - toc
+---
+
+
+
+# Custom-card "Battery Chip"
+
+This is a `custom-card` or `custom-chip` to see your device's battery level at a glance.
+
+![Screenshot](../../assets/img/custom_card_iAbadia_battery_chip.png)
+
+## Credits
+
+Author: Iñaki Abadia - 2024
+Version: 1.0.0
+
+## Changelog
+
+
+1.0.0
+Initial release
+
+
+## Requirements
+
+None
+
+## Usage
+
+```yaml
+type: "custom:button-card"
+template: custom_card_iAbadia_battery_chip
+variables:
+ ulm_custom_card_iAbadia_battery_chip_entity: sensor.living_room_sensor_battery
+ ulm_custom_card_iAbadia_battery_chip_icon: mdi:thermostat
+ ulm_custom_card_iAbadia_battery_chip_warning: 30
+ ulm_custom_card_iAbadia_battery_chip_danger: 10
+```
+
+## Variables
+
+| Variable | Example | Required | Explanation |
+| ---------------------------------------------- | -------------------- | -------- | ----------------------------------------------------- |
+| ulm_custom_card_iAbadia_battery_chip_entity | `sensor.temperature` | ✓ | Battery entity |
+| ulm_custom_card_iAbadia_battery_chip_icon | `mdi:thermometer` | ✘ | Icon to be displayed. Will default to mdi:battery |
+| ulm_custom_card_iAbadia_battery_chip_warning | `20` | ✘ | Battery level below which to color as warning (yellow) |
+| ulm_custom_card_iAbadia_battery_chip_danger | `10` | ✘ | Battery level below which to color as danger (red) |
+
+## Template Code
+
+??? note "Template Code"
+
+ ```yaml title="custom_card_irmajavi_speedtest.yaml"
+ --8<-- "custom_cards/custom_card_iAbadia_battery_chip/custom_card_iAbadia_battery_chip.yaml"
+ ```
diff --git a/docs/usage/custom_cards/custom_card_imswel_medias.md b/docs/usage/custom_cards/custom_card_imswel_medias.md
index e1994dc63..69c2405aa 100644
--- a/docs/usage/custom_cards/custom_card_imswel_medias.md
+++ b/docs/usage/custom_cards/custom_card_imswel_medias.md
@@ -29,6 +29,7 @@ Initial release
## Requirements
This card needs the following to function correctly:
+
| Component | Required |
| ----------------------------------------------------------------------------------------- | ---------------------------------- |
|[Plex Recently Added](https://github.com/NemesisRE/sensor.plex_recently_added) | Yes for **`Media Library Card`** |
@@ -40,6 +41,7 @@ This card needs the following to function correctly:
**Media Library Card** for [Plex Recently Added](https://github.com/NemesisRE/sensor.plex_recently_added) :
![example-image-plex](../../assets/img/custom_card_imswel_medias/medias_library_plex.png)
+
| Variable | Default | Required | Notes |
| ----------------------------- | ------- | -------- | ----------------------------------------------------------------------- |
| ulm_custom_card_imswel_medias_index | 1 | Yes | The index of the item in your **Plex library** to show. |
@@ -58,6 +60,7 @@ This card needs the following to function correctly:
![example-image-radarr](../../assets/img/custom_card_imswel_medias/medias_upcoming_radarr.png)
![example-image-sonarr](../../assets/img/custom_card_imswel_medias/medias_upcoming_sonarr.png)
+
| Variable | Default | Required | Notes |
| ----------------------------- | ------- | -------- | -------------------------------------------------------------------------------------------------------- |
| ulm_custom_card_imswel_medias_index | 1 | Yes | The index of the item in your **Radarr/Sonarr library** to show. |
diff --git a/docs/usage/custom_cards/custom_card_nik_clock.md b/docs/usage/custom_cards/custom_card_nik_clock.md
index 735bfa8a4..795f109fe 100644
--- a/docs/usage/custom_cards/custom_card_nik_clock.md
+++ b/docs/usage/custom_cards/custom_card_nik_clock.md
@@ -3,11 +3,12 @@ title: Tablet Clock Card
hide:
- toc
---
+
# Custom-card "Tablet clock Card"
-This is a `custom-card` that shows the currenct time and Date. This is designed for a tablet or big monitor.
+This is a `custom-card` that shows the current time and Date. This is designed for a tablet or big monitor.
![Screenshot](../../assets/img/custom_card_nik_clock.png)
diff --git a/docs/usage/custom_cards/custom_card_nik_door.md b/docs/usage/custom_cards/custom_card_nik_door.md
index 01b1f8941..282fba66f 100644
--- a/docs/usage/custom_cards/custom_card_nik_door.md
+++ b/docs/usage/custom_cards/custom_card_nik_door.md
@@ -8,7 +8,7 @@ hide:
# Custom-card "Minimal Door Lock"
-This is a `custom-card` that shows the currenct state of your Lock and allows you to open and close it showing the state with a Minimal Design.
+This is a `custom-card` that shows the current state of your Lock and allows you to open and close it showing the state with a Minimal Design.
![Screenshot](../../assets/img/custom_card_nik_door.png)
@@ -36,7 +36,6 @@ To have the Minimalist cards and custom cards installed
## Usage
```yaml
-
- type: "custom:button-card"
template: "custom_card_nik_door"
entity: "sensor.nuki_blindato_door_security_state"
diff --git a/docs/usage/custom_cards/custom_card_scenes.md b/docs/usage/custom_cards/custom_card_scenes.md
index 2b2d46614..ed0e8b033 100644
--- a/docs/usage/custom_cards/custom_card_scenes.md
+++ b/docs/usage/custom_cards/custom_card_scenes.md
@@ -3,6 +3,7 @@ title: Scenes Card Custom-card
hide:
- toc
---
+
# Custom-card "Scenes Card"
@@ -21,76 +22,76 @@ Version: 1.2.0
1.2.0
- ```yaml
- #OLD
+```yaml
+#OLD
- type: "custom:button-card"
- template:
- - card_scenes
- variables:
- entity_1: "scene.YOUR_SCENE"
- entity_2: "scene.YOUR_SCENE"
- entity_3: "scene.YOUR_SCENE"
- entity_4: "scene.YOUR_SCENE"
- entity_5: "scene.YOUR_SCENE"
- name_1: "YOUR_NAME"
- name_2: "YOUR_NAME"
- name_3: "YOUR_NAME"
- name_4: "YOUR_NAME"
- name_5: "YOUR_NAME"
- icon_1: "mdi:YOUR_ICON"
- icon_2: "mdi:YOUR_ICON"
- icon_3: "mdi:YOUR_ICON"
- icon_4: "mdi:YOUR_ICON"
- icon_5: "mdi:YOUR_ICON"
- color_icon_1: "yellow"
- color_icon_2: "blue"
- color_icon_3: "purple"
- color_icon_4: "green"
- color_icon_5: "red"
- color_bg_1: "yellow"
- color_bg_2: "blue"
- color_bg_3: "purple"
- color_bg_4: "green"
- color_bg_5: "red"
- ```
-
- ```yaml
- #NEW
+ template:
+ - card_scenes
+ variables:
+ entity_1: "scene.YOUR_SCENE"
+ entity_2: "scene.YOUR_SCENE"
+ entity_3: "scene.YOUR_SCENE"
+ entity_4: "scene.YOUR_SCENE"
+ entity_5: "scene.YOUR_SCENE"
+ name_1: "YOUR_NAME"
+ name_2: "YOUR_NAME"
+ name_3: "YOUR_NAME"
+ name_4: "YOUR_NAME"
+ name_5: "YOUR_NAME"
+ icon_1: "mdi:YOUR_ICON"
+ icon_2: "mdi:YOUR_ICON"
+ icon_3: "mdi:YOUR_ICON"
+ icon_4: "mdi:YOUR_ICON"
+ icon_5: "mdi:YOUR_ICON"
+ icon_color_1: "yellow"
+ icon_color_2: "blue"
+ icon_color_3: "purple"
+ icon_color_4: "green"
+ icon_color_5: "red"
+ bg_color_1: "yellow"
+ bg_color_2: "blue"
+ bg_color_3: "purple"
+ bg_color_4: "green"
+ bg_color_5: "red"
+```
+
+```yaml
+#NEW
- type: "custom:button-card"
- template:
- - card_scenes
- variables:
- entity_1:
- entity_id: "scene.YOUR_SCENE"
- icon: "mdi:YOUR_ICON"
- icon_color: "yellow"
- name: "YOUR_NAME"
- bg_color: "yellow"
- entity_2:
- entity_id: "scene.YOUR_SCENE"
- icon: "mdi:YOUR_ICON"
- icon_color: "blue"
- name: "YOUR_NAME"
- bg_color: "blue"
- entity_3:
- entity_id: "scene.YOUR_SCENE"
- icon: "mdi:YOUR_ICON"
- icon_color: "purple"
- name: "YOUR_NAME"
- bg_color: "purple"
- entity_4:
- entity_id: "scene.YOUR_SCENE"
- icon: "mdi:YOUR_ICON"
- icon_color: "green"
- name: "YOUR_NAME"
- bg_color: "green"
- entity_5:
- entity_id: "scene.YOUR_SCENE"
- icon: "mdi:YOUR_ICON"
- icon_color: "red"
- name: "YOUR_NAME"
- bg_color: "red"
- ```
+ template:
+ - card_scenes
+ variables:
+ entity_1:
+ entity_id: "scene.YOUR_SCENE"
+ icon: "mdi:YOUR_ICON"
+ icon_color: "yellow"
+ name: "YOUR_NAME"
+ bg_color: "yellow"
+ entity_2:
+ entity_id: "scene.YOUR_SCENE"
+ icon: "mdi:YOUR_ICON"
+ icon_color: "blue"
+ name: "YOUR_NAME"
+ bg_color: "blue"
+ entity_3:
+ entity_id: "scene.YOUR_SCENE"
+ icon: "mdi:YOUR_ICON"
+ icon_color: "purple"
+ name: "YOUR_NAME"
+ bg_color: "purple"
+ entity_4:
+ entity_id: "scene.YOUR_SCENE"
+ icon: "mdi:YOUR_ICON"
+ icon_color: "green"
+ name: "YOUR_NAME"
+ bg_color: "green"
+ entity_5:
+ entity_id: "scene.YOUR_SCENE"
+ icon: "mdi:YOUR_ICON"
+ icon_color: "red"
+ name: "YOUR_NAME"
+ bg_color: "red"
+```
diff --git a/docs/usage/custom_cards/custom_card_schumijo_flower.md b/docs/usage/custom_cards/custom_card_schumijo_flower.md
index 994a3c851..9acad317a 100644
--- a/docs/usage/custom_cards/custom_card_schumijo_flower.md
+++ b/docs/usage/custom_cards/custom_card_schumijo_flower.md
@@ -14,8 +14,9 @@ This is a `custom-card` to display a plant entity. Shows state of the plant and
## Credits
-Author: schumijo - 2021
-Version: 1.1.0
+- Author: schumijo - 2021
+- Update 2.0.0 : Ashino - 2024
+- Version: 2.0.0
## Changelog
@@ -28,6 +29,11 @@ Initial release
Fix language files for beta5
Updated README
+
+2.0.0
+Add support to lovelace-flower-card from Olen (advanced forked version)
+Updated README
+
## Usage
@@ -38,6 +44,10 @@ Updated README
ulm_card_flower_entity: plant.bonsai_ficus
ulm_card_flower_name: Bonsai Ficus
ulm_card_flower_species: "ficus retusa"
+ ulm_card_flower_show_bars:
+ - temperature
+ - humidity
+ - moisture
```
#### Variables
@@ -67,11 +77,30 @@ Updated README
yes |
The species of your plant |
+
+ulm_card_flower_show_bars |
+
+- temperature
+
+- moisture
+
+- humidity
+ |
+no |
+The bar you want to display. Any of :
+illuminance
+humidity
+moisture
+conductivity
+temperature
+dli
+ |
+
## Requirements
-Need [lovelace-flower-card](https://github.com/thomasloven/lovelace-flower-card)
+Need [lovelace-flower-card](https://github.com/Olen/lovelace-flower-card)
## Template code
diff --git a/docs/usage/custom_cards/custom_template_shogun160_battery_info.md b/docs/usage/custom_cards/custom_template_shogun160_battery_info.md
index 3400942cb..dbdc51781 100644
--- a/docs/usage/custom_cards/custom_template_shogun160_battery_info.md
+++ b/docs/usage/custom_cards/custom_template_shogun160_battery_info.md
@@ -27,9 +27,9 @@ This is an template to add the battery level to every ui minimalist card
## Variables
-| Variable | Default | Required | Notes |
-| -------------------------------------------- | ------- | -------- | ------------------------------------------------------------------------ |
-| ulm_battery_entity | | No | The entity to represent the battery_level
+| Variable | Default | Required | Notes |
+| ------------------ | ------- | -------- | ----------------------------------------- |
+| ulm_battery_entity | | No | The entity to represent the battery_level |
## Usage with battery or battery_level attribute from entity