Abschaltung von Geräten über Helfer Gruppen?

Ich versuche gerade das Ausschalten von Geräten beim Verlassen des Hauses so einfach wie möglich zu realisieren.
Dazu habe ich allen Entitäten die abgeschaltet werden müssen das Label „AUS“ gegeben.
Leider habe ich bis jetzt auch mit Hilfe von ChatGPT keine Lösung gefunden, wie ich alle Entitäten die ein bestimmtes Label haben ausschalten kann.

Nun habe ich versucht das mit Gruppenhelfern über die GUI zu lösen. Klappt auch nicht, weil es keinen Helfer gibt der „Lichter“ und „Plugs“ u.s.w gemeinsam schalten kann.

In der Doku zu den Gruppen von HA ist zwar eine Lösung " Gruppen im alten Stil" über die Configuration.yaml beschrieben, die mir gefällt, diese wird aber nicht mehr empfohlen, warum auch immer?
Bei einem kurzen Test hat das zwar zuverlässig funktioniert, aber bei jedem neuen Gerät in der YAML rumzuschreiben ist auch nicht die beste Idee…

Nun habe ich mir für jeden Raum ein Skript gebaut, welches die entsprechenden Lichter im Raum ausschaltet. Das funktioniert mal soweit:

sequence:
  - action: light.turn_off
    metadata: {}
    data: {}
    target:
      entity_id:
        - light.kuche_147
        - light.kuche_neon_fenster_185
        - light.kuche_rs_neonbalken1_453
        - light.kuche_rs_neonbalken2_454
alias: AUS-Küche
description: Schaltet ALLE Geräte im Raum aus
icon: mdi:lightbulb-group-off

Gibt es da wirklich keinen eleganteren Weg??

Ich habe nämlich später mal vor automatisiert zu prüfen ob alle Geräte eines gewissen Labels auch ausgeschaltet wurden, und danach über eine spezielle Notifikation dann abzuschalten.

Aber daran trau ich mich derzeit als „Rookie“ noch gar nicht zu denken :wink:

Erstelle doch einfach einen Gruppenhelfer lights und füge alle Lampen hinzu. Die Plugs die Lampen schalten, stellst du zuvor von Schalter auf Lichter um. Die Automation triggerst bei zone unter 1.

1 „Gefällt mir“

Hallo,
genau richtig. Denn jetzt kannst du mit der Aktion generisches Ausschalten dein Vorhaben umsetzen.

action: homeassistant.turn_off
data: {}
target:
  label_id: aus

Das klappt grundsätzlich, vielen Dank!

Wie kann ich das nun so erweitern, dass ich z.B. im Wohnzimmer alle Geräte ausschalte, die das Laben „aus“ haben?

Mein Ziel ist es, mit möglichst wenig Aufwand jeden Raum extra alle Geräte abzuschalten die das Laben „aus“ haben?

In meinem Versuch schaltet das alle Geräte aus die „aus“ als Label haben UND ALLE Geräte im Arbeitszimmer unabhängig ihres Labels!

alias: AUS-Arbeitszimmer2.Versuch
description: Schaltet ALLE Geräte mit AUS im AZ aus
icon: mdi:lightbulb-group-off
sequence:
  - action: switch.turn_off
    metadata: {}
    data: {}
    target:
      label_id: aus
      area_id: arbeitszimmer
  - action: light.turn_off
    metadata: {}
    data: {}
    target:
      label_id: aus
      area_id: arbeitszimmer

Wie bekomme ich da ein „UND“ rein?

Wenn ich Dich richtig verstehe dann doch so:

Teste mal so.

alias: AUS-Arbeitszimmer2.Versuch
description: Schaltet ALLE Geräte mit AUS im AZ aus
icon: mdi:lightbulb-group-off
sequence:
  - action: homeassistant.turn_off
    target:
      entity_id: "{{ intersect(area_entities('arbeitszimmer') , label_entities('aus')) }}"
    data: {}

2 „Gefällt mir“

cool, eine Anwendung für die gerade eingeführte intersect Funktionalität (2025.4) :slight_smile:

2 „Gefällt mir“

@ rstuck
Damit schaltet er ALLES im Arbeitszimmer aus !!!
Auch alle Geräte nicht Label AUS haben.

Muss mir jetzt mal einen anderen Raum zum Testen suchen, denn es reißt jedesmal meinem Server und auch HA beim Testen den Strom weg ;-(

Was ist intersect?
Kannst du mir das näher beschreiben, ich finde dazu nix?

Zeig mir bitte mal den yaml-code, .falls du etwas an meinem verändert hast

1 „Gefällt mir“

Das macht nach meinem Vewrständnis zuerst alles im Arbeitszimmer aus und danach alles mit dem Label „aus“, oder ?
Ich brauche hier eine UND verknüpfung!
Nur die Geräte im Arbeitszimmer die das Label „AUS“ haben!

Im Templet-Editor kannst testen welche Entitäten geschaltet werden

"{{ intersect(area_entities('arbeitszimmer') , label_entities('aus')) }}"

eingeben.

Z.B.

Ja, so hatte ich oben verstanden

Das ist natürlich etwas anderes :+1: dann passt meins natürlich nicht, sorry

Der Hinweis von @rstuck ist genau richtig! Mit dem intersect template wird genau das gemacht, was du möchtest! Ich habe es bei mir auch getestet und das funktioniert perfekt. Es schaltet nur alle Geräte die ein Aus label in dem Raum ab. Also genau was du möchtest :slight_smile:
Du kannst hier mehr darüber nachlesen: Templating - Home Assistant
→ Man gibt HA quasi zwei Listen mit Geräten, einmal die Liste mit den Entitäten in dem Raum und eine Liste mit den Geräten mit den Labels. HA schaut dann welche Entitäten in BEIDEN Listen vorkommen und gibt diese aus

2 „Gefällt mir“

Sorry @rstuck das hab ich verbockt!
Habe deinen Code zwar in das Skript reinkopiert aber irgendwie hat mein liebes HA den nicht speichern wollen!

Im Template Editor sieht das jetzt so aus:

Werde gleich nochmal versuchen…

1 „Gefällt mir“

Ja jetzt klappt es, vielen Dank für die Geduld mit mir !!

Wenn ich da nun mehrere Räume reintun möchte, wie wird das verschachtelt?
So hat es nicht geklappt!

"{{ intersect(area_entities('wohnzimmer','arbeitszimmer') , label_entities('aus')) }}"

Oder geht das nicht?

So müsste das gehen:

{% set bereiche = area_entities('wohnzimmer') + area_entities('arbeitszimmer') %}
{% set label_aus = label_entities('aus') %}

{{ intersect(bereiche, label_aus) }}

Denn du möchtest ja alle Geräte haben, welche in einem der beiden Räume sind und das Label aus haben, richtig?

2 „Gefällt mir“

Oder so als Alternative.

"{{ intersect(union(area_entities('wohnzimmer'), area_entities('arbeitszimmer')) , label_entities('aus')) }}"
1 „Gefällt mir“

@rstuck und @MarzyHA waren viel schneller, danke Euch.
Die Mengenoperatoren (union, intersect, … ) wurden mit 2025.4 eingeführt. @MarzyHA hat den Link zur Doku geteilt :slight_smile:

So viele Infos zum weiterarbeiten!!
Die Doku hab ich schon mal angelesen, da steckt viel Potential drin!

Werde meine Skripte nun mal stückseise umbauen und dann mal testen was man damit noch alles so anstellen kann …

Vielen Dank euch ALLEN, ihr seid Spitze!! :grin: