Verständnisfrage zu Autom. + Szene

Rat und Tat rings um Home Assistant Automationen.


Antworten
Jim_OS

Verständnisfrage zu Autom. + Szene

Beitrag von Jim_OS »

Ich versuche ja gerade per Automatisierung und Szene einen Wert an ein Google Nest Display auszugeben, bzw. darüber abzufragen.

Dazu habe ich erst einmal eine ganz einfache Automatisierung erstellt.

Code: Alles auswählen

alias: Sprachtest Automation
description: ''
trigger:
  - platform: state
    entity_id:
      - sensor.shelly1pm_84cca8af2_power
    attribute: device_class
condition: []
action:
  - service: tts.cloud_say
    data:
      entity_id: media_player.nest_hub_wohnzimmer
      message: >-
        Die Leistung beträgt zur Zeit {{
        states('sensor.shelly1pm_84cca8af2_power') }}
mode: restart
Sprachtest_Automatisierung.png

Diese funktioniert auch, sprich ich kann sie über "Aktion ausführen" beliebig oft starten und auf dem Nest Display wird der Wert des Shelly Sensors angesagt.

Dann habe ich eine entsprechende Szene (Szene Sprachtest) erstellt und dort als Entität die Sprachtest Automation gewählt

Szene_Sprachtest.png

Auch das funktioniert, sprich über "Aktion ausführen" wird die Sprachtest Automation gestartet und der Wert des Shelly Sensors auf dem Nest Display angesagt. Auch das lässt sich beliebig wiederholen.

Dann habe ich bei dem Nest Display einen neuen Ablauf angelegt und die HA Szene Sprachtest dort als aufzurufende Aktion hinterlegt. Tja und da hakt es dann. Sobald ich den Ablauf starte bekommt das Nest Display das HA Chromecast Signal, aber es wird keine Ansage abgespielt.

Was mir aufgefallen ist: Normalerweise kann/muss ich ja eine Automatisierung per Schieberegler

Schieberegler.png

ein- bzw. ausschalten. D.h. wenn sie eingeschaltet ist ist die Automatisierung aktiv. Jetzt ist es aber so das wenn ich die Szene teste, die Automatisierung jedes mal ausgeschaltet wird und auch ausgeschaltet bleibt. Es spielt dabei auch keine Rolle wie der Modus (Einzeln, Neu starten, In Warteschlange, Parallel) eingestellt ist. Sobald ich die Szene teste wird die Automatisierung ausgeschaltet.

Mit der Szene mache ich ja eigentlich nichts anderes als die Entität der Automatisierung aufzurufen und mehr kann ich da ja auch nicht machen oder einstellen. Und die Szene scheint die Automatisierung ja auch aufzurufen, aber warum wird sie dann nicht gestartet und warum wird sie dann ausgeschaltet. :?

Wahrscheinlich habe ich hier schon wieder so lange herumgespielt, dass ich schon wieder den Wald vor lauter Bäumen nicht sehe. :lol: Wo ist hier mein (Denk-)Fehler?

VG Jim

Benutzeravatar
Osorkon
Administrator
Beiträge: 1945
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 61 times
Been thanked: 529 times
Kontaktdaten:

Re: Verständnisfrage zu Autom. + Szene

Beitrag von Osorkon »

Mir wird es ehrlich gesagt ein wenig schwindlig und kann Dir irgendwie nicht wirklich folgen.

Hast Du Dich schon mal hier eingelesen?

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Jim_OS

Re: Verständnisfrage zu Autom. + Szene

Beitrag von Jim_OS »

Mir ist auch schon schwindlig. :lol: Ja ich habe schon jede Menge gelesen, auch Deinen Beitrag.

Zwischenzeitlich habe ich auch noch einen Versuch per Skript gemacht, weil sich Skripte ja auch in Szenen aufrufen lassen. Also ganz einfach:

Code: Alles auswählen

alias: Testscript
sequence:
  - service: tts.cloud_say
    data:
      entity_id: media_player.nest_hub_wohnzimmer
      message: >-
        Die Leistung beträgt zur Zeit {{
        states('sensor.shelly1pm_cca8a0f2_power') }}
mode: single

Unter Szene rufe ich dann als Entität das Testscript auf. Auch hier wieder: Rufe ich das Skript oder die Szene manuell unter HA auf wird die aktuelle Leistung die der Shelly misst per Sprachausgabe auf das Nest Display übertragen. Rufe ich die HA Szene über Google Home als dort definierten Ablauf ab wird zwar die Chromecast-Übertragung von HA auf dem Nest Display gestartet, aber es kommt keine Sprachausgabe.

Nachtrag: Mit dem Skript funktioniert es jetzt. Unter Google Home lassen sich nicht nur Szenen, sondern auch Skripte von HA einbinden. Das habe ich eben erst gesehen als ich mir den bei Google Home hinterlegten Ablauf noch einmal angeschaut habe. Dort war dann die Einbindung der Szene, aber auch des Skriptes möglich. Als ich dann das Skript eingebunden hatte funktionierte es. D.h. ich bekomme jetzt auf die Frage an Google: Wie hoch ist die Stromproduktion? den aktuellen Wert des Shelly genannt.
D.h. irgendwelche Automatisierungen oder Szenen sind nicht notwendig!

Somit habe ich für mich eine passende Lösung gefunden. Ob das jetzt der übliche Weg ist oder vielleicht auch nicht ist mir erst einmal egal. Wichtig ist es funktioniert. 8-)

Falls gewünscht kann ich hier noch einmal den kompl. Weg (bei HA und Google Home) beschreiben wie es bei mir jetzt funktioniert?

VG Jim

Jim_OS

Re: Verständnisfrage zu Autom. + Szene

Beitrag von Jim_OS »

Ich habe das Skript für mich jetzt noch ein wenig "verfeinert", da mir die Lautstärke der Ausgaben zu gering war. :) Hier ein Beispiel wie ich die heutige Stromproduktion an meinem Growatt Wechselrichter (sensor.growattos_total_energy_today) abfrage. Dabei wurde die Lautstärke für einzelne Nest Geräte (in dem Fall meine beiden Nest Displays) per (media_player.volume_set) eingestellt. Die Abfragemöglichkeit und die Antwort von Google erfolgt dann ebenfalls auf meinen beiden Nest Displays.

Code: Alles auswählen

alias: Stromproduktion heute
sequence:
  - service: media_player.volume_set
    data:
      volume_level: 0.4
    target:
      entity_id:
        - media_player.nest_hub_wohnzimmer
        - media_player.nest_hub_kuche
  - service: tts.cloud_say
    data:
      entity_id:
        - media_player.nest_hub_wohnzimmer
        - media_player.nest_hub_kuche
      message: >-
        Die Stromproduktion heute beträgt {{ states('sensor.growattos_total_energy_today') }} Kilowattstunden
mode: single

Soll die Ausgabe an alle Media Player (also z.B. auch noch Nest Audio/Mini) erfolgen muss man entweder alle entsprechenden Geräte unter service: tts.cloud_say eintragen oder man verwendet entity_id: all . Also so:

Code: Alles auswählen

alias: Stromproduktion heute
sequence:
  - service: media_player.volume_set
    data:
      volume_level: 0.4
    target:
      entity_id:
        - media_player.nest_hub_wohnzimmer
        - media_player.nest_hub_kuche
  - service: tts.cloud_say
    data:
      entity_id: all
      message: >-
        Die Stromproduktion heute beträgt {{ states('sensor.growattos_total_energy_today') }} Kilowattstunden
mode: single

Edit: Das all beinhaltet dann auch wirklich alle Medien Player, also alle die sich auch unter Media auswählen lassen.

Media_Player.png

Bei all wird die Antwort dann also nicht nur auf meinen beiden Nest Displays abgespielt, sondern auch auf meinem Denon AVR und dem Sony TV (hier gerade im ausgeschalteten Zustand). :)

Die möglichen Befehle/Optionen für Media Player könnt ihr hier nachschauen: https://www.home-assistant.io/integrati ... ia_player/

Auf die Art und Weise - sprich per HA Skript - kann man den Wert (Watt, kWh, EUR usw.) jeder Entität abfragen und man
a) ist nicht auf °C beschränkt, was Google Home ja eigentlich nur abfragen könnte.
b) kann sich seine Sprachabfragen an Google individuell erstellen. D.h. man ist nicht drauf angewiesen welche Eingabe genau Google denn jetzt hören möchte damit es/man auch verstanden wird und die richtige Antwort kommt. :lol:

VG Jim

Antworten