Ist die service call karte installiert? Ha neu gestartet danach? Sind die leerzeichen richtig gesetzt? Cache geleert?
könntest du mir nochmal den Link für die Service Call Card geben?
ja alles richtg gesetzt.
Der Harmony Hub Wird angezeigt, aber leider nur alle 4 Buttons unten drunter nicht…
Ooh ich sehe oben das ist ja nur n localer link. Werde das mal berichtigen. Hier der richtige link:
Vielen dank! Jetzt funktioniert es auch! Danke!
Nachtrag:
Bin leider noch nicht so ganz HA versiert, sag mal würde es auch gehen wenn ich als Entität meinen Denon AV Receiver nehmen würde? Würde das genau so funktionieren, wenn ich die Automation anpasse?
by HarryP: Zusammenführung Doppelpost
Natürlich, musst du nur entsprechend anpassen dann sollte das kein problem sein.
Sieht gut aus, kannst Du bitte mal den Code von den Beleuchtungskarten posten?
Danke!
Die Karten aus dem Reiter “Beleuchtung” ? Hier ist zb. die Erste. Ansonsten weiter oben habe ich einen Link gepostet wo der gesamte code drin steht
- type: custom:button-card
template: header_card
variables:
name: Wohnzimmer
label: Szenen
action: fire-dom-event
browser_mod:
service: browser_mod.popup
data:
title: Wohnzimmer Szenen
size: normal
content:
type: custom:layout-card
layout_type: custom:grid-layout
layout:
margin: 0
cards:
- square: false
type: grid
cards:
- type: custom:auto-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:
method: friendly_name
card:
type: custom:layout-card
layout_type: custom:grid-layout
columns: 1
- type: custom:layout-card
layout_type: custom:grid-layout
layout:
margin: 0
cards:
- square: false
type: grid
cards:
- type: custom:mushroom-template-card
entity_id: light.wohnzimmer_lampen
primary: Alle Lichter
icon: mdi:sofa
icon_color: '{{ ''orange'' if is_state(''light.wohnzimmer_lampen'', ''on'') }}'
secondary: >-
{% if expand('light.wohnzimmer_lampen')|selectattr('state',
'eq','on')| list|count > 0 %}
{{ expand('light.wohnzimmer_lampen')|selectattr('state',
'eq','on')| list|count }} an
{% else %}
Alles aus
{% endif %}
badge_icon: >-
{{ 'mdi:motion-sensor' if
is_state('binary_sensor.wohnzimmer_bmw_bewegung', 'on') }}
badge_color: var(--rgb-accent-color)
fill_container: true
multiline_secondary: false
tap_action:
action: toggle
entity: light.wohnzimmer_lampen
layout: vertical
- type: custom:decluttering-card
template: mini-graph-standart
variables:
- name: Lichtstärke
- icon: mdi:brightness-5
- entity: sensor.wohnzimmer_bmw_beleuchtungsstarke
- unit: LX
- decimals: 0
- hours: 6
- type: tile
entity: light.wohnzimmer_stehlampe
vertical: false
name: Stehlampe
icon: mdi:floor-lamp
- type: tile
entity: light.wohnzimmer_tischlampe
name: Tischlampe
icon: mdi:lamp
- type: tile
entity: switch.wohnzimmer_wohnwand
name: Wohnwand
- type: tile
entity: light.wohnzimmer_ambilight
name: Ambilight
icon: mdi:television-ambient-light
columns: 2
Danke Dir, habe unten noch dein ganzen Code gefunden. (Ich war blind)
Hallo, anbei mein Dashboard im Wohnzimmer, an dem ich ziemlich lange gebastelt habe, da alles mit custom-button cards gemacht wurde.
Links mein Stromverbrauch, der direkt vom Zähler abgelesen wird, und mir eine Rückmeldung gibt, ob mein Vertragswert an kwh eingehalten oder überschritten wird. Daneben eine Karte, die zeigt, wo meine Freundin oder ich sind (im Bild ausgeblendet). Darunter Anzeigen die blinken und ein rotes Kreuz und eine rote Umrandung bekommen, wenn ein Fenster oder eine Tür offen sind. Daneben eine Übersicht über alle schaltbaren Geräte je nach Zimmer. Sind sie an, werden die meisten Flächen gelb. Geräte mit höherem Stromverbrauch werden rot. Ganz rechts dann die Sensorenleiste. Die Flächen mit den Zimmertemperaturen blinken und bekommen eine rote Umrandung, wenn der entsprechende Thermostat heizt. Sie bekommen ein rotes Kreuz, wenn das Fenster im Raum offen ist und sie zeigen mit ihrer Farbe an, ob die Temperatur im Raum zu kalt (blau), im Soll (grün) oder zu warm (orange) ist.
Respekt für die Arbeit aber soll nicht böse gemeint sein, designmäßig einfach voll nicht mein Fall .
Aber klar, muss einem ja selbst gefallen, aber trotzdem sieht man die extreme Arbeit dahinter.
Mir gefällts . Die Formen und das Design orientieren sich an Appels Homekit. Damit hatte ich angefangen, dann kamen die Homebridge und dann Home Assistant. Ich wollte vor allem auch ein Board, bei dem ich auf einen Blick sehe, ob alles so läuft wie es soll. Form and Design follows Function
. Ich hab auch länger überlegt mit einem Grundriß zu arbeiten, da gibts ja auch tolle Dashboards, aber je mehr Funktionen man dann unterbringt, desto unübersichtlicher wird es. Viele Boards auch hier im Beitrag sehen vom Design gut aus, keine Frage, wenn ich dann aber 10 Minuten davor sitzen muss um zu schauen, ob alles läuft ist mir das zu umständlich.
Jeder hat ein wenig andere Anforderungen an “sein” Dashboard und dementsprechend haben wir schon viele unterschiedliche Dinge gesehen.
Im Endeffekt kann man sich Anregungen holen und ggf. das Eine oder Andere daraus kopieren und sich zu eigen machen
Da hier im Hause lediglich Smartphones (und keine Tablets mit Wandhalterung) zum Einsatz kommen, habe ich es eher minimalistisch gehandhabt.
Wichtig war mir in erster Linie dort nach Möglichkeit alles auf eine (Smartphone-)Seite zu bekommen, ohne noch zusätzlich scrollen zu müssen:
- Erste Reihe Chip-Cards: Wie viele Personen sind zu Hause und wer, Zugriff auf Alarmfunktionalitäten, Fenster/Türen offen (conditional), Urlaubsmodus
- Zweite Reihe: Wetter, Gästemodus, direkter Zugriff auf Türschloss, Briefkasten ggf. mit Uhrzeit des Einwurfs, Zugriff auf alle Licht Entitäten
- Dritte Reihe: individuelle Begrüßung des aktiven Benutzers je nach Tageszeit
- Vierte Reihe: sollte für sich sprechen
Die Button in Reihe 4 führen dann bei Bedarf weiter in eine Unteransicht für den spezifischen Bereich mit einer Tab-Ansicht:
Genau richtig deine Aussage jeder hat andere Anforderungen. Was mich zum nächsten Thema bringt dass man nicht außer Acht lassen sollte. Wer Pflegt das System in der Zukunft wenn der Ersteller es nicht mehr kann ?
@Thalion
Sehr nice. Das wäre genau das, wie ich es mir auch vorstelle.
Aber bisher scheue ich noch den Aufwand.
Sehr cool! Ich bin noch am experimentieren mit meiner Heimkino-Ansicht und sie sieht jeden Tag anders aus
Wie hast du die Cover-Ansicht mit der Playtime hinbekommen? Ist das ein mini-media-player?
Das addon brauchst
Einen sensor der die Playtime aufzeichnet
- platform: history_stats
name: ps5_play_time_false
entity_id: sensor.ps5_activity
state: 'playing'
type: time
start: '{{ now().replace(hour=0, minute=0, second=0) }}'
end: "{{ now() }}"
Einen sensor der das Zeit format umwandelt.
- platform: template
sensors:
ps5_play_time:
unique_id: PS5 Spielzeit
value_template: >
{% set play_time = states('sensor.ps5_play_time_false') | float(0) %}
{% set hours = play_time | int %}
{% set minutes = ((play_time - hours) * 60) | round %}
{% if hours == 0 %}
{% set text = '{} min'.format(minutes) %}
{% else %}
{% set text = '{} Std {} min'.format(hours, minutes) %}
{% endif %}
{% if play_time == 0 %}
Off
{% else %}
{{ text }}
{% endif %}
Die karte
- type: custom:button-card
entity: sensor.ps5_activity
show_name: false
label: ps5
show_label: false
show_entity_picture: true
entity_picture: >-
[[[ if (entity.state == 'playing') return entity.attributes.title_image;
else return '/local/ps5/ps.png' ]]]
custom_fields:
playtime: >-
[[[ if (entity.state == 'playing') return 'Playtime: ' +
states['sensor.ps5_play_time'].state; else return '' ]]]
styles:
grid:
- position: relative
custom_fields:
playtime:
- color: white
- background-color: null
- text-shadow: 1px 1px 1px black
- position: absolute
- left: 10px
- bottom: 10px
- height: null
- font-size: 12px
- line-height: 12px
state:
- value: none
styles:
card:
- filter: opacity(50%)
- height: 65px
playtime:
- filter: opacity(0%)
entity_picture: null
- value: playing
styles:
card:
- height: 400px
entity_picture:
- height: 100%
- width: 100%
tap_action:
action: call-service
service: input_boolean.toggle
data: {}
target:
entity_id: input_boolean.lovelace_playstation
hold_action:
action: call-service
confirmation:
text: Playstation an/aus schalten?
service: switch.toggle
data: {}
target:
entity_id: switch.ps5_power
Schönes Dashboard.
Mich würde interssieren wie du die Karte mit den Räumen und den Informationen gelöst hast.
Moin @stromen ,
du meinst die hier?
hat sich inzwischen ein bisschen verändert.
Das sind Mushroom Templatecards in einer Vertical Stack In Card
hier der Code vom aktuellen stand:
type: custom:vertical-stack-in-card
cards:
- type: grid
square: false
columns: 2
cards:
- type: custom:mushroom-template-card
primary: Badezimmer
secondary: >-
{{"\U0001F321"}}{{ states('sensor.temp_bad') }}°C
{{"\U0001F4A7"}}{{ states('sensor.humidity_bad') }}%
icon: mdi:hand-water
hold_action:
action: toggle
entity: switch.bad_indirekt
icon_color: |-
{% if is_state('switch.bad_indirekt', 'on') %}
orange
{% elif is_state('switch.bad_spiegelschrank', 'on') %}
orange
{% endif %}
tap_action:
action: navigate
navigation_path: badezimmer
multiline_secondary: true
fill_container: true
badge_icon: |-
{% if is_state('binary_sensor.wassersensor_bad', 'on') %}
mdi:water-alert
{% elif is_state('switch.lufter', 'on') %}
mdi:fan
{% elif is_state('switch.lufter', 'off') %}
mdi:fan-off
{% endif %}
badge_color: |-
{% if is_state('binary_sensor.wassersensor_bad', 'on') %}
blue
{% elif is_state('switch.lufter', 'on') %}
orange
{% elif is_state('switch.lufter', 'off') %}
gray
{% endif %}
card_mod:
style:
mushroom-state-info$: |
.container {
--card-secondary-font-size: 10px;
}
- type: custom:mushroom-template-card
primary: Büro
secondary: >-
{{"\U0001F321"}}{{ states('sensor.temp_buro') }}°C
{{"\U0001F4A7"}}{{states('sensor.humidity_buro') }}%
icon: mdi:desktop-tower-monitor
entity: switch.buro
icon_color: |-
{% if is_state('switch.buro', 'on') %}
orange
{% elif is_state('switch.pc_licht', 'on') %}
yellow
{% endif %}
tap_action:
action: navigate
navigation_path: buro
hold_action:
action: toggle
multiline_secondary: true
fill_container: true
badge_icon: |-
{% if is_state('binary_sensor.fenster_buro', 'on') %}
mdi:window-open
{% elif is_state('binary_sensor.fenster_buro', 'off') %}
mdi:window-closed
{% endif %}
badge_color: |-
{% if is_state('binary_sensor.fenster_buro', 'on') %}
red
{% elif is_state('binary_sensor.fenster_buro', 'off') %}
none
{% endif %}
card_mod:
style:
mushroom-state-info$: |
.container {
--card-secondary-font-size: 10px;
}
- type: custom:mushroom-template-card
primary: Küche
secondary: >-
{{"\U0001F321"}}{{ states('sensor.temp_kuche') }}°C
{{"\U0001F4A7"}}{{ states('sensor.humidity_kuche') }}%
icon: mdi:fridge-outline
hold_action:
action: toggle
icon_color: |-
{% if is_state('switch.kuche', 'on') %}
orange
{% elif is_state('switch.kuche_schrank', 'on') %}
orange
{% endif %}
tap_action:
action: navigate
navigation_path: kuche
multiline_secondary: true
fill_container: true
badge_color: |-
{% if is_state('binary_sensor.wassersensor_kuche', 'on') %}
blue
{% elif is_state('binary_sensor.fenster_kuche', 'on') %}
red
{% elif is_state('binary_sensor.fenster_kuche', 'off') %}
gray
{% endif %}
badge_icon: |-
{% if is_state('binary_sensor.wassersensor_kuche', 'on') %}
mdi:water-alert
{% elif is_state('binary_sensor.fenster_kuche', 'on') %}
mdi:window-open
{% elif is_state('binary_sensor.fenster_kuche', 'off') %}
mdi:window-closed
{% endif %}
card_mod:
style:
mushroom-state-info$: |
.container {
--card-secondary-font-size: 10px;
}
- type: custom:mushroom-template-card
primary: Schlafzimmer
secondary: >-
{{"\U0001F321"}}{{ states('sensor.temp_schlafzimmer') }}°C
{{"\U0001F4A7"}}{{ states('sensor.humidity_schlafzimmer') }}%
icon: mdi:bed-double
hold_action:
action: toggle
icon_color: |-
{% if is_state('switch.schlafzimmer_shelly', 'on') %}
orange
{% elif is_state('switch.bett', 'on') %}
orange
{% elif is_state('switch.tv_schlafzimmer', 'on') %}
orange
{% elif is_state('light.led_band_schlafzimmerschrank', 'on') %}
yellow
{% endif %}
tap_action:
action: navigate
navigation_path: schlafzimmer
multiline_secondary: true
entity: switch.schlafzimmer_shelly
fill_container: true
badge_color: |-
{% if is_state('binary_sensor.fenster_schlafzimmer', 'on') %}
red
{% elif is_state('binary_sensor.fenster_schlafzimmer', 'off') %}
none
{% endif %}
badge_icon: |-
{% if is_state('binary_sensor.fenster_schlafzimmer', 'on') %}
mdi:window-open
{% elif is_state('binary_sensor.fenster_schlafzimmer', 'off') %}
mdi:window-closed
{% endif %}
card_mod:
style:
mushroom-state-info$: |
.container {
--card-secondary-font-size: 10px;
}
- type: custom:mushroom-template-card
primary: Wohnzimmer
secondary: >-
{{"\U0001F321"}}{{ states('sensor.temp_wohnzimmer') }}°C
{{"\U0001F4A7"}}{{ states('sensor.humidity_wohnzimmer') }}%
icon: mdi:sofa
hold_action:
action: toggle
icon_color: |-
{% if is_state('switch.wohnen', 'on') %}
orange
{% elif is_state('switch.essen', 'on') %}
orange
{% elif is_state('light.stehlampe_sofa', 'on') %}
orange
{% elif is_state('light.ambiant', 'on') %}
orange
{% endif %}
tap_action:
action: navigate
navigation_path: wohnzimmer
entity: switch.wohnen
multiline_secondary: true
fill_container: true
badge_color: |-
{% if is_state('binary_sensor.balkontur_contact', 'on') %}
red
{% elif is_state('binary_sensor.balkontur_contact', 'off') %}
none
{% endif %}
badge_icon: |-
{% if is_state('binary_sensor.balkontur_contact', 'on') %}
mdi:window-open
{% elif is_state('binary_sensor.balkontur_contact', 'off') %}
mdi:window-closed
{% endif %}
card_mod:
style:
mushroom-state-info$: |
.container {
--card-secondary-font-size: 10px;
}
- type: custom:mushroom-template-card
primary: Abstellkammer
secondary: >-
{{"\U0001F321"}}{{ states('sensor.temp_abstellkammer') }}°C
{{"\U0001F4A7"}}{{ states('sensor.humidity_abstellkammer') }}%
icon: mdi:package-variant-closed
entity: switch.abstellkammer
hold_action:
action: toggle
icon_color: |-
{% if is_state('switch.abstellkammer', 'on') %}
orange
{% endif %}
tap_action:
action: navigate
navigation_path: abstellkammer
multiline_secondary: true
fill_container: true
badge_color: |-
{% if is_state('binary_sensor.bewegungsmelder_ak', 'on') %}
blue
{% elif is_state('binary_sensor.bewegungsmelder_ak', 'off') %}
none
{% endif %}
badge_icon: |-
{% if is_state('binary_sensor.bewegungsmelder_ak', 'on') %}
mdi:motion-sensor
{% elif is_state('binary_sensor.bewegungsmelder_ak', 'off') %}
mdi:motion-sensor-off
{% endif %}
card_mod:
style:
mushroom-state-info$: |
.container {
--card-secondary-font-size: 10px;
}
- type: custom:mushroom-template-card
primary: Keller
secondary: >-
{{"\U0001F321"}}{{ states('sensor.temp_keller') }}°C
{{"\U0001F4A7"}}{{ states('sensor.humidity_keller') }}%
icon: mdi:home-floor-b
hold_action:
action: toggle
tap_action:
action: navigate
navigation_path: keller
icon_color: |-
{% if is_state('switch.keller_schalter_left', 'on') %}
orange
{% elif is_state('switch.brucke', 'on') %}
orange
{% endif %}
entity: switch.keller_schalter_left
multiline_secondary: true
fill_container: true
badge_color: |-
{% if is_state('binary_sensor.wassersensor_keller', 'on') %}
blue
{% elif is_state('binary_sensor.kellertur', 'on') %}
red
{% elif is_state('binary_sensor.occupancy_2', 'on') %}
blue
{% elif is_state('binary_sensor.kellertur', 'off') %}
none
{% endif %}
badge_icon: |-
{% if is_state('binary_sensor.wassersensor_keller', 'on') %}
mdi:water-alert
{% elif is_state('binary_sensor.kellertur', 'on') %}
mdi:door-open
{% elif is_state('binary_sensor.occupancy_2', 'on') %}
mdi:motion-sensor
{% elif is_state('binary_sensor.kellertur', 'off') %}
mdi:door-closed
{% endif %}
card_mod:
style:
mushroom-state-info$: |
.container {
--card-secondary-font-size: 10px;
}
- type: custom:mushroom-template-card
primary: Balkon
secondary: >
{{"\U0001F321"}}{{ states('sensor.balkon_temp_temperature') }}°C
{{"\U0001F4A7"}}{{ states('sensor.balkon_temp_humidity') }}%
icon: mdi:balcony
icon_color: |-
{% if is_state('switch.balkon', 'on') %}
orange
{% endif %}
tap_action:
action: navigate
navigation_path: balkon
hold_action:
action: toggle
entity: switch.balkon
multiline_secondary: true
fill_container: true
card_mod:
style:
mushroom-state-info$: |
.container {
--card-secondary-font-size: 10px;
}
- type: custom:mushroom-template-card
primary: Flur
secondary: >-
{{"\U0001F321"}}{{ states('sensor.lumi_lumi_airmonitor_acn01_temperature') }}°C
{{"\U0001F4A7"}}{{ states('sensor.lumi_lumi_airmonitor_acn01_humidity') }}%
icon: mdi:floor-plan
entity: switch.flur
icon_color: |-
{% if is_state('switch.flur', 'on') %}
orange
{% endif %}
hold_action:
action: toggle
tap_action:
action: navigate
navigation_path: flur
multiline_secondary: true
fill_container: false
badge_color: |-
{% if is_state('binary_sensor.bewegungsmelder_flur', 'on') %}
blue
{% elif is_state('binary_sensor.bewegungsmelder_flur', 'off') %}
none
{% endif %}
badge_icon: |-
{% if is_state('binary_sensor.bewegungsmelder_flur', 'on') %}
mdi:motion-sensor
{% elif is_state('binary_sensor.bewegungsmelder_flur', 'off') %}
mdi:motion-sensor-off
{% endif %}
card_mod:
style:
mushroom-state-info$: |
.container {
--card-secondary-font-size: 10px;
}
- type: custom:mushroom-template-card
primary: Wohnungstür
secondary: >-
{% if is_state('lock.home', 'unlocked') %}aufgeschlossen{% elif
is_state('lock.home', 'locked') %}abgeschlossen{% endif %}
icon: |-
{% if is_state('lock.home', 'unlocked') %}
mdi:lock-open-variant-outline
{% elif is_state('lock.home', 'locked') %}
mdi:lock-outline
{% endif %}
entity: input_boolean.haustur
icon_color: |-
{% if is_state('lock.home', 'unlocked') %}
orange
{% endif %}
hold_action:
action: call-service
service: input_button.press
target:
entity_id: input_button.wohnungstur_abschliessen
data: {}
tap_action:
action: navigate
navigation_path: tur
multiline_secondary: true
fill_container: false
badge_icon: |-
{% if is_state('binary_sensor.wohnungstur', 'on') %}
mdi:door-open
{% elif is_state('binary_sensor.wohnungstur', 'off') %}
mdi:door-closed
{% endif %}
badge_color: |-
{% if is_state('binary_sensor.wohnungstur', 'on') %}
red
{% elif is_state('binary_sensor.wohnungstur', 'off') %}
none
{% endif %}
card_mod:
style:
mushroom-state-info$: |
.container {
--card-secondary-font-size: 10px;
}
Hallo,
ja genau das meinte ich. Die Ansicht gefällt mir, danke fürs teilen muss ich mir genauer anschauen.