Aktion (Script) nur auf dem Nest Gerät ausführen über das sie (es) abgerufen wurde? Thema ist als GELÖST markiert

Alles rund um den Google Assistant. Alles außer Datenschutzbedenken!


Antworten
Jim_OS

Aktion (Script) nur auf dem Nest Gerät ausführen über das sie (es) abgerufen wurde?

Beitrag von Jim_OS »

Hat hier jemand eine Idee/Vorschlag ob/wie man eine per Google Befehl gestartete Aktion - in dem Fall ein HA Script - nur auf dem Google Gerät ausführen lassen kann über den der Befehl zur Ausführung auch gestartet wurde?

Hintergrund: Ich habe hier ja div. HA Scripte für Google erstellt, die dann z.B. einen Kamera Stream auf dem Nest Display darstellen.

Code: Alles auswählen

alias: Zeige Kamera Schuppen
sequence:
  - service: media_player.play_media
    target:
      entity_id:
        - media_player.nest_hub_wohnzimmer
        - media_player.nest_hub_kuche
        - media_player.sony_kd_55xh9299_3
    data:
      media_content_id: >-
        media-source://camera/camera.dahua_schuppen_onvif_mediaprofile_channel1_substream2
      media_content_type: application/vnd.apple.mpegurl
    metadata:
      title: DahuaSchuppen_ONVIF MediaProfile_Channel1_SubStream2
      thumbnail: >-
        /api/camera_proxy/camera.dahua_schuppen_onvif_mediaprofile_channel1_substream2
      media_class: video
      children_media_class: null
      navigateIds:
        - {}
        - media_content_type: app
          media_content_id: media-source://camera
mode: single

Bei target: --> entity_id: habe ich ja nur die Möglichkeit eins, mehrere (wie aktuell), oder all für alle Chromecast Geräte einzutragen. Das bedeutet aber auch das wenn ich z.B. in der Küche zu dem Nest Display sage "OK Google zeige Kamera Schuppen" das dann auf allen unter target: entity_id: eingetragenen Geräten der Stream dargestellt wird. Das ist natürlich etwas "suboptimal". :)

Ich bräuchte für das target also quasi eine Abfrage if media_player.nest_hub_wohnzimmer then media_player.nest_hub_wohnzimmer was ja im HA Virtuellen Editor auch nicht vorgesehen ist und beim Media Player https://www.home-assistant.io/integrati ... ia_player/ sehe ich spontan auch keine Option dafür.

Grundsätzlich sind if-then-else Aktionen und input_select bei HA ja möglich,
https://www.home-assistant.io/integrations/script/
https://www.home-assistant.io/docs/scripts
aber als YAML Anfänger :) habe ich nicht wirklich Ahnung davon ob und wenn ja wie, ich das am besten/sinnvollsten auf das o.g. Beispielscript anwende. Könnte mir da ggf. jemand auf die Sprünge helfen?

VG Jim

Jim_OS

Re: Aktion (Script) nur auf dem Nest Gerät ausführen über das sie (es) abgerufen wurde?

Beitrag von Jim_OS »

So nachdem ich jetzt wieder zu Hause bin und nach ein wenig nachdenken unterwegs, noch ein Nachtrag. :)

Im Prinzip brauche ich ja etwas in der Art: Beispiel playing

Code: Alles auswählen

          {% if states.media_player.nest_hub_wohnzimmer.state == "playing"

Die Frage ist wie kann ich abfragen an welchem Nest Display die Spracheingabe erfolgt ist, sodass die Antwort (hier der Kamera Stream) dann auch nur auf diesem Display abgespielt wird. Komm ich da ggf. mit irgendeiner condition weiter? Also irgendwie triggern? Playing, on ,off usw. hilft mir da ja nicht weiter.

Das HA Script wird von dem Nest Display per Sprachbefehl ausgelöst, sprich Google Home erkennt den für das HA Script verwendeten Befehl(ssatz) "OK Google Zeige Kamera Schuppen", starten dann einen Google Home Ablauf und der ruft dann das HA Script auf.

VG Jim

Jim_OS

Re: Aktion (Script) nur auf dem Nest Gerät ausführen über das sie (es) abgerufen wurde?

Beitrag von Jim_OS »

Auf die Idee mal in der entsprechenden Rubrik im HA-Forum zu schauen bin ich bisher tatsächlich nicht gekommen. :roll: :oops: Dann hätte ich gewusst das es dort bereits div. ähnliche/entsprechende Fragen gibt und das die Antwort dort immer lautet: Dafür gibt es keine direkte Möglichkeit. Zumindest hat auch dort noch niemand eine Lösung gepostet. Die einzige indirekte Lösung die dort auftaucht ist diese: https://community.home-assistant.io/t/s ... nds/346885

BTW: Wenn das Mikrofon des Nest Displays als Sensor in HA verfügbar wäre könnte man darüber/damit ggf. etwas (per presence sensor) basteln und somit eine Zuordnung erstellen. Da die Google Nest Hub/Display/Lautsprecher aber nur als Chromecast Gerät verhanden sind gibt es leider auch keinen Sensor für das Mikrofon.

VG Jim

Antworten