Werte von Sensoren über Alexa ansagen lassen, die nicht direkt unterstützt werden

LIFX Tile Kit (International), Einstellbar, Mehrfarbig, Dimmbar, Kein hub notwendig, Kompatibel mit Alexa, Apple HomeKit und Google Assistant
LIFX Tile Kit (International), Einstellbar, Mehrfarbig, Dimmbar, Kein hub notwendig, Kompatibel mit Alexa, Apple HomeKit und Google Assistant
356,44 €

Da es ja jetzt auch einige unter uns gibt, die den „Amazon Alexa Smart Home Skill“ benutzen, hier eine Möglickeit, Alexa nach z.B. einer Temperatur zu fragen und sie dann auf dem Alexa Gerät antworten zu lassen, das auf den Befehl / die Frage reagiert hat. Zudem wird die Möglichkeit gezeigt, Alexa nicht immer mit dem gleichen Satz antworten zu lassen.

Zuerst wird der folgende Template-Sensor erzeugt, der als Wert das Alexa-Gerät enthält, welches auf die Frage / Ansage reagiert hat.

platform: template
sensors:
  last_alexa:
    unique_id: *** hier eine unique ID eintragen (VSCode Kontextmenu -> generate UUID) ***
    value_template: >
        {%- for group in states.media_player | groupby('state') -%}
          {%- for entity in group.list -%}
            {%- if is_state_attr(entity.entity_id, 'last_called', true) %}
              {{ entity.entity_id }}
            {%- endif -%}
          {%- endfor -%}
        {%- endfor -%}

Jetzt ein Skript anlegen, das die entsprechende Aktion ausführt wenn ihr Alexa z.B. fragt: „Alexa, wie warm ist es im Keller?“

alias: wie warm ist es im Keller
sequence:
  - service: notify.alexa_media
    data_template:
      target:
        - '{{ states.sensor.last_alexa.state }}'
      data:
        type: tts
        method: speak
      message: >
        {% set alexa_text = [ "Die Temperatur im Keller beträgt ",
                              "Im Keller sind ", 
                              "Im Moment sind im Keller " ] | random %}
        {{ '{} {} Grad Celsius.'.format( alexa_text, states('sensor.name_deines_temperatur_sensors')) }}  
mode: single

Als nächsten Schritt müsst ihr noch das zuvor erstellte Skript, z.b. „script.wie_warm_ist_es_im_keller“, in der configuration.yaml im entsprechenden Abschnitt eintragen.

alexa:
  smart_home:
    filter:
      include_entities:
        - script.wie_warm_ist_es_im_keller

Jetzt die Konfiguration prüfen lassen und Home Assistant neu starten.

Wenn wieder alles gestartet ist, Alexa nach neuen Geräten suchen lassen, es sollte jetzt eine neue Szene gefunden werden z.B.“wie warm ist es im Keller“.

Zum Abschluss jetzt mit der Alexa App eine neue Routine erstellen die, wenn ihr „Alexa, wie warm ist es im Keller“ sagt, die Szene „wie warm ist es im Keller“ aktiviert.

Wenn jetzt alles richtig konfiguriert wurde, sagt euch Alexa auf Zuruf auf dem nächsten Alexa-Gerät die aktuelle Temperatur im Keller an.