Button Welches ein Relais schaltet + HUE Farbauswahl anzeigt

Hallo Community, ich habe hier ein vorhaben welches für mich kompliziert ist.
Ich schalte mit einem Switch ein Relais welches ein Hue Netzteil mit Spannung versorgt. Nun möchte allerdings das wenn ich diesen Button klicke ich auch zeitgleich ein Popup mit der hue light entity auf geht und ich meine Farbe wählen kann. Wie gehe ich das am besten an?

Besten Dank im Voraus.

VG Steve

Es gibt mehrere Möglichkeiten, ein Popup mit der Hue-Licht-Entity zu öffnen, wenn Sie auf einen Schalter klicken. Ein Weg, dies zu tun, wäre die Verwendung von Lovelace UI und der tap_action-Eigenschaft in Home Assistant.

Hier ist ein einfaches Beispiel, wie Sie dies einrichten können:

type: button
entity: switch.mein_relay_switch
tap_action:
  action: call-service
  service: browser_mod.popup
  service_data:
    title: Hue Light Control
    card:
      type: light
      entity: light.meine_hue_light
    deviceID:
      - this

In diesem Beispiel haben Sie einen Schalter, der switch.mein_relay_switch steuert. Wenn Sie auf diesen Schalter klicken, wird eine tap_action ausgeführt, die den browser_mod.popup-Service aufruft. Dies öffnet ein Popup-Fenster mit der Hue-Licht-Entity light.meine_hue_light, die Sie steuern können.

Bitte beachten Sie, dass Sie die browser_mod-Integration in Ihrem Home Assistant installiert und konfiguriert haben müssen, um dies zu tun. Die browser_mod-Integration ist ein Custom Component und nicht Teil der standardmäßigen Home Assistant-Installation. Sie können es von HACS (Home Assistant Community Store) installieren.

Stellen Sie außerdem sicher, dass Sie die richtigen Entity-IDs für Ihren Schalter und Ihr Hue-Licht verwenden. Diese finden Sie im Developer Tools-Bereich von Home Assistant.

Bitte beachten Sie auch, dass das obige Beispiel einen einfachen Licht-Entity-Card-Typ verwendet. Sie können einen anderen Card-Typ oder zusätzliche Optionen hinzufügen, um die Hue-Lichtsteuerung Ihren Wünschen entsprechend anzupassen.

1 „Gefällt mir“

Hallo UlrichC,

besten Dank für Ihre/Deine sehr ausführliche Antwort! Ich habe alles nach Anleitung getan.
browser-mod über Hacs installiert und über Integration hinzugefügt. HA neu gestartet und einen Switch angelegt. Deinen Code oben habe ich über yaml eingetragen und die entity Ids stimmen auch. Allerdings passiert beim klicken rein garnichts. Weder wird das Relay geschaltet noch erscheint ein Popup.
Mache ich irgendetwas falsch?

Mein Code lautet:

show_name: true
show_icon: true
type: button
entity: switch.relay_no_6_pool_lights
tap_action:
  action: call-service
  service: browser_mod.popup
  data:
    title: Hue Light Control
    card:
      type: light
      entity: light.pool
    deviceID:
      - this
  target: {}

Der Schalter sollte erst das Relay schalten:

switch.relay_no_6_pool_lights

dann das Popup mit der Entity

light.pool

öffnen. Muss ich eventuell noch Etwas unter Ziele eingeben?

VG Steve

Edit: Ich habe links im Menü unter Browser Mod Settings Browser Mod aktiviert. Nun zeigt er mir beim klicken des Schalters ein leeres Popup an mit der Überschrift die eingegeben ist.
Aber das Relay schaltet er dennoch nicht.

Auf Basis deiner Frage scheint es, dass du zwei Aktionen gleichzeitig durchführen möchtest, wenn du auf den Schalter klickst:

  1. Ein Relais schalten
  2. Ein Popup öffnen, um eine Hue-Lichtsteuerung anzuzeigen

In der aktuellen Konfiguration, die du bereitgestellt hast, wird nur der browser_mod.popup-Service aufgerufen, wenn du auf den Schalter klickst. Daher wird das Relais nicht geschaltet.

Leider unterstützt Home Assistant in der Standardeinstellung nicht mehrere Aktionen mit einem einzigen Klick. Jedoch gibt es einen Workaround, indem du ein Skript oder eine Automatisierung erstellst, die beide Aktionen ausführt, und dann dieses Skript oder die Automatisierung aufrufst, wenn du auf den Schalter klickst.

Hier ist ein Beispiel, wie du das tun kannst:

Zuerst erstellst du ein Skript, das das Relais schaltet und das Popup öffnet:

script:
  schalter_aktion:
    sequence:
      - service: switch.toggle
        target:
          entity_id: switch.relay_no_6_pool_lights
      - service: browser_mod.popup
        data:
          title: Hue Light Control
          card:
            type: light
            entity: light.pool
          deviceID:
            - this

Danach kannst du dieses Skript in deiner Schaltflächenkonfiguration aufrufen:

type: button
tap_action:
  action: call-service
  service: script.schalter_aktion
show_icon: true
show_name: true

Bitte beachte, dass das Skript nur das Relais umschaltet (switch.toggle). Wenn du es immer einschalten (switch.turn_on) oder immer ausschalten (switch.turn_off) möchtest, ändere den service im Skript entsprechend.

Stelle sicher, dass du Home Assistant neu startest, nachdem du das Skript hinzugefügt hast, und aktualisiere deine Schaltflächenkonfiguration, um das neue Skript zu verwenden.

1 „Gefällt mir“

Hi Ulrich,

jetzt habe ich wieder etwas gelernt. Mehrere Aktionen immer über Skript lösen. Allerdings löst er die 2. Aktion (Popup) nicht aus.

Mein Schalter schaltet zumindest schonmal das Relay!

alias: PoollightScript
sequence:
  - service: switch.toggle
    data: {}
    target:
      entity_id: switch.relay_no_6_pool_lights
  - service: browser_mod.popup
    data:
      autoclose: false
      title: Hue Lights Steuerung
      card:
        type: light
        entity: light.pool
mode: single

Wo liegt denn noch mein Fehler?

Das sieht fast richtig aus! Es fehlt nur noch der deviceID-Teil in deinem Skript. Die deviceID ist notwendig, um zu definieren, auf welchem Gerät das Popup erscheinen soll. Mit dem Wert “this” wird das Popup auf dem aktuellen Gerät angezeigt. Hier ist, wie es in deinem Skript aussehen sollte:

alias: PoollightScript
sequence:
  - service: switch.toggle
    data: {}
    target:
      entity_id: switch.relay_no_6_pool_lights
  - service: browser_mod.popup
    data:
      autoclose: false
      title: Hue Lights Steuerung
      card:
        type: light
        entity: light.pool
      deviceID:
        - this
mode: single

Wenn du diese Änderung vorgenommen hast, starte Home Assistant neu und versuche es erneut. Wenn das immer noch nicht funktioniert, könnte es ein Problem mit der browser_mod-Integration geben. In diesem Fall wäre es hilfreich, die Protokolle zu überprüfen, um weitere Details zu möglichen Fehlern zu sehen.

1 „Gefällt mir“

Hallo UlrichC,

wir sind schon gaaaaanz nah! :slight_smile:

Relay wird geschalten
Popup erscheint mit Überschrift. Allerdings ist das Popup leer. Die entity light.pool stimmt allerdings.
Muss da irgendwo noch das “action: more-info” rein um dieses Bild zu erhalten:

Die “more-info” Aktion öffnet die detaillierte Ansicht einer Entity, die normalerweise mehr Informationen und Aktionen enthält als die Standardansicht. In deinem Fall möchtest du, dass das Popup die detaillierte Ansicht deines Lichts anzeigt, die vermutlich mehr Steuerelemente und Informationen enthält.

Leider unterstützt der browser_mod.popup-Service das direkte Anzeigen der “more-info”-Ansicht in einem Popup derzeit nicht. Du kannst jedoch versuchen, einen entities-Cardtyp anstelle des light-Cardtyps zu verwenden und die Option show_header_toggle auf false zu setzen, um das Standardsteuerelement zu entfernen. Hier ist ein Beispiel:

alias: PoollightScript
sequence:
  - service: switch.toggle
    data: {}
    target:
      entity_id: switch.relay_no_6_pool_lights
  - service: browser_mod.popup
    data:
      autoclose: false
      title: Hue Lights Steuerung
      card:
        type: entities
        entities:
          - entity: light.pool
        show_header_toggle: false
      deviceID:
        - this
mode: single

Dies sollte ein Popup mit der Entity light.pool anzeigen. Es wird nicht genau die “more-info”-Ansicht sein, aber es sollte zumindest einige grundlegende Steuerelemente anzeigen. Ein Klick auf den Namen des Lichts sollte dann die “more-info”-Ansicht öffnen.

1 „Gefällt mir“

Hallo Ulrich,

du gibst wirklich alles und ich bin dir sehr dankbar dafür. Allerdings zeigt auch dieser code nur ein leeres popup an. Sowohl der vorherige Code mit der light karte als auch die entity karte:

image

Funktioniert das bei dir?

Ich habs! :slight_smile:
Data: habe ich mit content: ersetzt. Nun geht es!

alias: PoollightScript
sequence:
  - service: switch.toggle
    data: {}
    target:
      entity_id: switch.relay_no_6_pool_lights
  - service: browser_mod.popup
    data:
      autoclose: false
      title: Hue Lights Steuerung
      content:
        type: light
        entity: light.pool
        show_header_toggle: false
    target:
      device_id: this
mode: single

Du bist eine Bereicherung für dieses Forum. Vielen Dank für deine tolle Unterstützung und die investierte Zeit!