ich bearbeite aktuell mein Dashboard und würde mir gerne (ähnlich wie bei den Standard-Entities-Cards) die verfügbaren Hue Szenen eines bestimmten Raumes in einer Card als Button anzeigen lassen, sodass ich sie zügig aktivieren kann.
Klar kann ich jede einzelne Szene über einen Button oder Ähnliches integrieren, allerdings nervt es, wenn ich Szenen in Philips Hue erstellen und anschließend noch manuell in die Cards von HA einbinden muss.
Gibt es da eine charmantere Lösung? Wie macht ihr das?
Demnach fügst du die Szenen aber auch einzeln hinzu, richtig? Es ist nicht so, dass die Card automatisch neue Szenen erkennt und anzeigt. Sehe ich das richtig?
Ja, hab ich aber auch nur einmal gemacht und war großteils copy-paste. Müsste ich alle paar Tage einen Haufen neue Szenen basteln, wäre die Methode von ciddi89 schon eine große Hilfe.
Hallo,
habe mir die Auto-Entities Card runtergeladen und den obigen Code kopiert. Es stand schon etwas Code vorher drin, den hab ich zuerst gelöscht aber es kamen leider nur Fehler. Daher hab ich den anfänglichen Code mal drin gelassen. Es werden zwar keine Fehler angezeigt aber ich erhalte lediglich eine leere Karte im Dashboard. Weiß jemand wo der Fehler liegt? Mein Code sieht jetzt folgendermaßen aus:
type: custom:auto-entities
card:
type: entities
filter:
include: []
exclude: []
template: |
{% for state in states.scene -%}
{%- if state.entity_id | regex_match('scene.wohnzimmer_',ignorecase=False) -%}
{%- set NAME = state_attr(state.entity_id,"friendly_name") | regex_replace(find='Wohnzimmer ', replace='') -%}
{{
{ 'entity': state.entity_id,
'type': 'tile',
'name': NAME,
'tap_action': {
'action': 'toggle'
}
}
}},
{%- endif -%}
{%- endfor %}
sort: null
method: friendly_name
Erstmal wäre es gut den Fehler dann zu posten. Ich denke es lag daran das ganz am Anfang vor Type der Bindestrich fehlte. Also „- type“
Das die Karte leer ist kann sein das er keine Szenen mit den Wert „_wohnzimmer“ finden kann. Zur Erklärung: in den zwei Zeilen:
{%- if state.entity_id | regex_match('scene.wohnzimmer_',ignorecase=False) -%}
{%- set NAME = state_attr(state.entity_id,"friendly_name") | regex_replace(find='Wohnzimmer ', replace='') -%}
es wird nach Szenen gesucht die den Wert _wohnzimmer beinhalten. Wenn es diese gibt entfernt er aus dem Namen der entitie das Wort „Wohnzimmer“
Die Werte müssen natürlich angepasst werden an den eigenen entities.
Hi,
wie gesagt mit dem Code oben gab es keine Fehler. Die Karte war nur leer.
Wenn ich den Bindestrich hinzufüge erhalte ich den Fehler: “Kein Typ angegeben”. Code sieht jetzt so aus:
- type: custom:auto-entities
card:
type: entities
filter:
template: |
{% for state in states.scene -%}
{%- if state.entity_id | regex_match('scene.wohnzimmer_',ignorecase=False) -%}
{%- set NAME = state_attr(state.entity_id,"friendly_name") | regex_replace(find='Wohnzimmer ', replace='') -%}
{{
{ 'entity': state.entity_id,
'type': 'tile',
'name': NAME,
'tap_action': {
'action': 'toggle'
}
}
}},
{%- endif -%}
{%- endfor %}
sort: null
method: friendly_name
Bei den Entitäten von Hue habe ich neben anderen Wohnbereichen eine ganze Reihe von “Scene.wohnzimmer_xyz…”
Das müsste ja dann eigentlich passen. Auch ein Neustart brachte nichts. Vielleicht sonst noch Ideen?
Nachtrag: Wenn ich deinen Code einfach mal 1:1 kopiere und einfüge, erhalte ich ebenfalls die Fehlermeldung “Kein Typ angegeben”.
Ähm guck dir mal den Code von mir oben an und dann deinen. Du hast ab der zweiten Zeile
‚card:
type: entities‘
Das ist aber falsch. Du gibst die Karte weiter unten an im Filter Bereich an wo jetzt steht Type: tile diese müsste du ändern in entities
Müsste type: entities nicht entity. Und ganz oben bei Type custom entities vielleicht den Bindestrich vor Type weg, weiß halt nicht welche Karten du da drüber stehen hast.
Hm okay das ist komisch. Versuch dann mal die Karte über die UI hinzuzufügen und dann kannst ja wieder zum yaml Code wechseln und per Hand die fehlenden Details nachtragen.
nach einigem rumprobieren läuft es jetzt, der Code sieht folgendermaßen aus:
type: custom:auto-entities
filter:
include: []
template: |
{% for state in states.scene -%}
{%- if state.entity_id | regex_match('scene.wohnzimmer_',ignorecase=False) -%}
{%- set NAME = state_attr(state.entity_id,"friendly_name") | regex_replace(find='Wohnzimmer ', replace='') -%}
{{
{ 'entity': state.entity_id,
'name': NAME,
'tap_action': {
'action': 'toggle'
}
}
}},
{%- endif -%}
{%- endfor %}
sort: null
method: friendly_name
exclude: []
show_empty: true
card:
type: entities
Anscheinend machte das ‘type’: ‘entities’ im roten Bereich Probleme. Habs gelöscht. Außerdem hatte ich durch den grafischen Editor festgestellt, dass er am Ende doch nochmal den Kartentyp definiert. Auch wenns jetzt funktioniert, verstehe ich nicht wieso sich unsere Codes so unterscheiden und es am Ende bei Beiden funktioniert?
Ich mache es mit einer button card und Gradient
Wenn du möchtest schicke ich den code
Natürlich muss man hier alles händisch pflegen
Auto entities ist da schon smarter