{"id":1442,"date":"2023-02-18T14:27:38","date_gmt":"2023-02-18T13:27:38","guid":{"rendered":"https:\/\/www.montybanse.eu\/?p=1442"},"modified":"2023-02-18T20:04:52","modified_gmt":"2023-02-18T19:04:52","slug":"sprachliche-integration-von-alexa-in-home-assistant","status":"publish","type":"post","link":"https:\/\/www.montybanse.eu\/index.php\/server-programmierung-co\/smarthome\/sprachliche-integration-von-alexa-in-home-assistant\/","title":{"rendered":"Sprachliche integration von Alexa in Home Assistant"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_76 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Alles auf einen Blick<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.montybanse.eu\/index.php\/server-programmierung-co\/smarthome\/sprachliche-integration-von-alexa-in-home-assistant\/#Integration_von_Alexa_mit_Home_Assistant\" >Integration von Alexa mit Home Assistant<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.montybanse.eu\/index.php\/server-programmierung-co\/smarthome\/sprachliche-integration-von-alexa-in-home-assistant\/#Voraussetzungen\" >Voraussetzungen<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.montybanse.eu\/index.php\/server-programmierung-co\/smarthome\/sprachliche-integration-von-alexa-in-home-assistant\/#Auf_Los_gehts_Los\" >Auf Los geht\u2019s Los:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.montybanse.eu\/index.php\/server-programmierung-co\/smarthome\/sprachliche-integration-von-alexa-in-home-assistant\/#Aber_das_ist_ein_Skript_Alexa_kann_keine_Skripte\" >Aber das ist ein Skript, Alexa kann keine Skripte!<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.montybanse.eu\/index.php\/server-programmierung-co\/smarthome\/sprachliche-integration-von-alexa-in-home-assistant\/#Tipp_Credit\" >Tipp &amp; Credit<\/a><\/li><\/ul><\/nav><\/div>\n\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"1442\" class=\"elementor elementor-1442\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ccbaec8 elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"ccbaec8\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-57997b4\" data-id=\"57997b4\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-c4bc48d elementor-widget elementor-widget-heading\" data-id=\"c4bc48d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span class=\"ez-toc-section\" id=\"Integration_von_Alexa_mit_Home_Assistant\"><\/span>Integration von Alexa mit Home Assistant<span class=\"ez-toc-section-end\"><\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2c743ba elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"2c743ba\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1ab5593\" data-id=\"1ab5593\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-9a375c6 elementor-drop-cap-yes elementor-drop-cap-view-default elementor-widget elementor-widget-text-editor\" data-id=\"9a375c6\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;drop_cap&quot;:&quot;yes&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Wer Home Assistant nutzt und zuf\u00e4llig die eine oder andere Alexa bei sich zuhause stehen hat, wei\u00df sicherlich auch, dass beides wunderbar miteinander kombiniert werden kann.<\/p><p>Aber unabh\u00e4ngig davon, dass man mit Alexa die rudiment\u00e4ren Funktionen steuern kann, wie &#8222;Schalte Licht an und aus&#8220; und sich Alexa dabei direkt auf den Raum bezieht in dem man sich mit dem Alexa Ger\u00e4t auch befindet, lassen sich hier auch noch ganz andere tolle Sachen umsetzen.<\/p><p>Beispielsweise gibt es eine M\u00f6glichkeit, Alexa mit einem vollst\u00e4ndigem Satz nach etwas zu befragen und dann Home Assistant etwas tun zu lassen.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-009b828 elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"009b828\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ab3d1af\" data-id=\"ab3d1af\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5e102ed elementor-widget elementor-widget-text-editor\" data-id=\"5e102ed\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>In meinem Beispiel m\u00f6chte ich das einmal an einer Integration mit meinem <a href=\"https:\/\/www.montybanse.eu\/index.php\/allgemein\/ja-das-katzenklo-macht-die-katze-froh\/\">&#8222;Smarten&#8220; Katzenklo<\/a> zeigen.<\/p><p>Alexa teilt mir zwar (initiiert durch Home Assistant und TTS) regelm\u00e4\u00dfig mit, wie oft das Katzenklo benutzt worden ist. Aber was ist, wenn ich zuf\u00e4llig abseits der st\u00fcndlichen Erinnerung wissen m\u00f6chte, wie oft das Klo benutzt worden ist? Dann bleibt mir nur der Weg in die Counter-Variable im Home Assistand Dashboard zu sehen, richtig? Falsch ;).\u00a0Ich m\u00f6chte Alexa fragen k\u00f6nnen und eine Antwort dazu erhalten.<\/p><p>Das erkl\u00e4re ich euch heute einmal, wie sich das umsetzen l\u00e4sst.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2097255 elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"2097255\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-27d194b\" data-id=\"27d194b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0de3aa2 elementor-widget elementor-widget-heading\" data-id=\"0de3aa2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span class=\"ez-toc-section\" id=\"Voraussetzungen\"><\/span>Voraussetzungen<span class=\"ez-toc-section-end\"><\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8389943 elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"8389943\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b23bd25\" data-id=\"b23bd25\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-065c9de elementor-widget elementor-widget-text-editor\" data-id=\"065c9de\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Was muss Alexa und Home Assistant erf\u00fcllen, damit wir das erreichen k\u00f6nnen, was wir wollen?<\/p><p>Nicht viel: Der allgemeine Alexa-Skill sollte funktionieren. Das hei\u00dft, ihr solltet in Alexa eure Ger\u00e4te, Szenen und ggf. Schalter von Home Assistant sehen k\u00f6nnen.<\/p><p>Ich nutze hierf\u00fcr die Home Assistant Cloud. Einerseits, weil es mir das Geld wert ist, die Entwickler zu unterst\u00fctzen und andererseits, weil es problemlos funktioniert (zugegeben, der Start damals war etwas holprig, aber seitdem hatte ich nie wieder Probleme mit Alexa und Home Assistant).<\/p><p>Es gibt auch noch Alternativen um den Alexa-Skill mit Home Assistant zu nutzen, diese habe ich aber nicht ausprobiert.<\/p><p>Wichtig ist: Diese Basis sollte erstmal funktionieren.<\/p><p>Danach k\u00f6nnt Ihr ganz easy loslegen.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-fdd954a elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"fdd954a\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f0cb92c\" data-id=\"f0cb92c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5d7ccdf elementor-widget elementor-widget-heading\" data-id=\"5d7ccdf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span class=\"ez-toc-section\" id=\"Auf_Los_gehts_Los\"><\/span>Auf Los geht\u2019s Los:<span class=\"ez-toc-section-end\"><\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1f18a10 elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"1f18a10\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9d3e444\" data-id=\"9d3e444\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a26bd93 elementor-widget elementor-widget-text-editor\" data-id=\"a26bd93\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Als erstes erstellt Ihr euch ein Skript, dieses wird sp\u00e4ter Alexa als Szene bekannt gemacht um darauf zugreifen zu k\u00f6nnen. Dieses Skript funktioniert grunds\u00e4tzlich wie eine normale Automatisierung, enth\u00e4lt jedoch keine Trigger die es ausl\u00f6sen (wie z.B. ein gedr\u00fcckter Schalter), sondern wird einfach gestartet und macht dann etwas.<\/p><p>Finden k\u00f6nnt Ihr die Skripte auch im Bereich der Automatisierungen. Jedoch findet sich oben ein extra Reiter &#8222;Skripte&#8220;. Dort erstellt Ihr erst einmal nein neues Skript.<\/p><p>In meinem Fall sieht das Skript folgenderma\u00dfen aus:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ccbf434 elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"ccbf434\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e14ee0b\" data-id=\"e14ee0b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-00e351e elementor-widget elementor-widget-code-block-for-elementor\" data-id=\"00e351e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-block-for-elementor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-yml'>alias: Anzahl Katzenklobesuche\nsequence:\n  - service: notify.alexa_media\n    data_template:\n      target:\n        - &quot; {%- for group in states.media_player | groupby(&#039;state&#039;) -%} {%- for entity in group.list -%} {%- if is_state_attr(entity.entity_id, &#039;last_called&#039;, true) %} {{ entity.entity_id }} {%- endif -%} {%- endfor -%} {%- endfor -%}&quot;\n      data:\n        type: tts\n        method: speak\n      message: &gt;\n        {% set alexa_text_vor = [ &quot;Das Katzenklo wurde &quot;,\n                              &quot;Es wurde bisher  &quot;, \n                              &quot;Seit der letzten Reinigung wurde es &quot; ] | random %}\n        {% set alexa_text_nach = [ &quot;mal benutzt.&quot;,\n                              &quot;mal verunstaltet.&quot;, \n                              &quot;mal bekackt.&quot; ] | random %}\n        {{ &#039;{} {} {}&#039;.format( alexa_text_vor,\n        states(&#039;counter.katzenklobesuche&#039;), alexa_text_nach ) }}  \nmode: single<\/code><\/pre>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-d16b620 elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"d16b620\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-bcef81b\" data-id=\"bcef81b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ba33d0b elementor-widget elementor-widget-text-editor\" data-id=\"ba33d0b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Recht \u00fcberschaubar, oder?<\/p><p>Es wird lediglich eine Sequenz abgearbeitet.<\/p><p>Das Target ist das Alexa-Ger\u00e4t, dass Ihr angesprochen habt. Hier k\u00f6nnte auch z.B. eine feste Alexa hinterlegt werden anstatt des Skriptes. Aber was macht das Skript als Target?<\/p><p>\u00dcber die verschiedenen Variablen, l\u00e4sst sich abfragen, welche Alexa gerade zuletzt benutzt worden ist. In der Regel ist das die Alexa, mit der Ihr gerade gesprochen habt. Am Ende &#8211; wenn das Skript durch ist &#8211; wird dort z.B. der Name von eurem letzten Alexa auftauchen. Sprich: Die Alexa, die Ihr befragt habt bekommt auch den Input als TTS von Home Assistant zur\u00fcck. Praktisch oder? So kann ich im Wohnzimmer nach dem Katzenklo fragen und bekomme auch dort die Antwort. Oder wenn ich selbst auf Klo bin, kann ich Alexa im Bad fragen und bekomme dort die R\u00fcckmeldung.<\/p><p>Der Rest ist nicht mehr als ein paar Random Variablen (es wird also ein Text ausgew\u00e4hlt, in zwei Variablen gelegt (hier alexa_text_vor und alexa_text_nach und zuletzt ausgegeben: alexa_text_vor, status des Counters und alexa_text_nach). Hier kommt dann z.B. &#8222;Das Katzenklo wurde 3 mal verunstaltet&#8220; heraus.<\/p><p>Das ist dann die Antwort, die Alexa uns wiederum vorliest.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-c3615b1 elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"c3615b1\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-51d3f92\" data-id=\"51d3f92\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-dcc9672 elementor-widget elementor-widget-heading\" data-id=\"dcc9672\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span class=\"ez-toc-section\" id=\"Aber_das_ist_ein_Skript_Alexa_kann_keine_Skripte\"><\/span>Aber das ist ein Skript, Alexa kann keine Skripte!<span class=\"ez-toc-section-end\"><\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-93f586a elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"93f586a\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2097ca1\" data-id=\"2097ca1\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-176b5a2 elementor-widget elementor-widget-text-editor\" data-id=\"176b5a2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Absolut richtig. Alexa kann keine Skripte aufrufen (warum, wei\u00df ich nicht, wird aber sicherlich Gr\u00fcnde geben). Daher machen wir die Skripte Alexa als Szene bekannt. Sie tauchen dann einfach im Alexa Skill als Szene auf und k\u00f6nnen aufgerufen werden (wie z.B. jede andere Licht-Szene auch).<\/p><p>Dazu kommt folgendes in eure configuration.yaml (oder in eine externe .yaml, je nachdem wie Ihr euer Home Assistant pflegt):<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-353fbc2 elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"353fbc2\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d8c0478\" data-id=\"d8c0478\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-c938c10 elementor-widget elementor-widget-code-block-for-elementor\" data-id=\"c938c10\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-block-for-elementor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-yml'>#-&gt; configuration.yaml\nalexa: !include ownconfig\/alexa.yaml\n\n#-&gt; ownconfig\/alexa.yaml\nsmart_home:\n  filter:\n    include_entities:\n      - script.anzahl_katzenklobesuche<\/code><\/pre>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-025a7a9 elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"025a7a9\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4983419\" data-id=\"4983419\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-56c0874 elementor-widget elementor-widget-text-editor\" data-id=\"56c0874\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Ich lagere die Dinge in unterschiedliche .yaml\u2019s aus. Daher wird in der configuration.yaml nur inkludiert und der extra Teil landet dann in der alexa.yaml.<\/p><p>Home Assistant ben\u00f6tigt jetzt noch einen Restart um die Configs neu einzulesen (vorher nat\u00fcrlich nicht den obligatorischen Syntax-Check vergessen ;D) und schon sollten euch die &#8222;Szenen&#8220; ala Skripte in der Alexa App erscheinen.<\/p><p>Wenn Ihr die Szene dort ausf\u00fchrt, dann wird euch die letzte Alexa, die ihr genutzt habt, sehr wahrscheinlich eine Antwort pr\u00e4sentieren. Gl\u00fcckwunsch, das klappt schon mal!<\/p><p>Nun wollen wir nur noch, dass wir Alexa auch fragen k\u00f6nnen. Dazu erstellen wir eine Routine in Alexa:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-71061c0 elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"71061c0\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7eef622\" data-id=\"7eef622\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-31979fa elementor-widget elementor-widget-image\" data-id=\"31979fa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"530\" height=\"1024\" src=\"https:\/\/www.montybanse.eu\/wp-content\/uploads\/2023\/02\/IMG_F49C0143AEEF-1-530x1024.jpeg\" class=\"attachment-large size-large wp-image-1445\" alt=\"\" srcset=\"https:\/\/www.montybanse.eu\/wp-content\/uploads\/2023\/02\/IMG_F49C0143AEEF-1-530x1024.jpeg 530w, https:\/\/www.montybanse.eu\/wp-content\/uploads\/2023\/02\/IMG_F49C0143AEEF-1-155x300.jpeg 155w, https:\/\/www.montybanse.eu\/wp-content\/uploads\/2023\/02\/IMG_F49C0143AEEF-1-768x1483.jpeg 768w, https:\/\/www.montybanse.eu\/wp-content\/uploads\/2023\/02\/IMG_F49C0143AEEF-1-796x1536.jpeg 796w, https:\/\/www.montybanse.eu\/wp-content\/uploads\/2023\/02\/IMG_F49C0143AEEF-1-1061x2048.jpeg 1061w, https:\/\/www.montybanse.eu\/wp-content\/uploads\/2023\/02\/IMG_F49C0143AEEF-1.jpeg 1170w\" sizes=\"(max-width: 530px) 100vw, 530px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-609ea3a elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"609ea3a\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9943780\" data-id=\"9943780\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8160ecd elementor-widget elementor-widget-text-editor\" data-id=\"8160ecd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Den Namen der Routine k\u00f6nnt ihr frei w\u00e4hlen.<\/p><p>Unter &#8222;Wenn&#8220; w\u00e4hlt Ihr &#8222;Stimme&#8220; und tragt dort die S\u00e4tze ein, die Ihr Alexa um die Mikrofons schmei\u00dfen m\u00f6chtet. Ich habe da eine kleine Auswahl und erg\u00e4nze diese, wenn ich merke, dass ich eine Formulierung nutze, die ich so nicht eingetragen habe. Es soll ja intuitiv bleiben.<\/p><p>Als Aktion w\u00e4hlt ihr nun die aus Home Assistant stammende Szene aus.<\/p><p>Fertig. Ihr k\u00f6nnt Alexa nun fragen und bekommt eine Antwort als Sprache zur\u00fcck. Egal, welche Alexa Ihr in eurem Zuhause und Home Assistant Netz fragt =).<\/p><p>Und das ist unser Ergebnis:<br \/>(Achtung: Ich spreche Alexa an, das hei\u00dft eure Alexas k\u00f6nnten hellh\u00f6rig werden!)<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8fc3a07 elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"8fc3a07\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9785785\" data-id=\"9785785\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4de8ffc elementor-widget elementor-widget-video\" data-id=\"4de8ffc\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;video_type&quot;:&quot;hosted&quot;,&quot;controls&quot;:&quot;yes&quot;}\" data-widget_type=\"video.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"e-hosted-video elementor-wrapper elementor-open-inline\">\n\t\t\t\t\t<video class=\"elementor-video\" src=\"https:\/\/www.montybanse.eu\/wp-content\/uploads\/2023\/02\/IMG_8117.mov\" controls=\"\" preload=\"metadata\" controlsList=\"nodownload\"><\/video>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2c1be67 elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"2c1be67\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9bf1fa7\" data-id=\"9bf1fa7\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-406d6b1 elementor-widget elementor-widget-text-editor\" data-id=\"406d6b1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Oha, ich glaub da muss ich dann wohl mal ran \ud83d\ude09<\/p><p>Und euren Fantasien im Bereich auf die Skripte und Alexa abfragen, sind nun keine Grenzen mehr gesetzt.<\/p><p>Viel Spa\u00df beim basteln!<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-623954b elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"623954b\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fd4ea9e\" data-id=\"fd4ea9e\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ca5ef33 elementor-widget elementor-widget-heading\" data-id=\"ca5ef33\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span class=\"ez-toc-section\" id=\"Tipp_Credit\"><\/span>Tipp &amp; Credit<span class=\"ez-toc-section-end\"><\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-28f554b elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"28f554b\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-cf1f41b\" data-id=\"cf1f41b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7d7e144 elementor-widget elementor-widget-text-editor\" data-id=\"7d7e144\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Als kleinen Tipp kann ich euch empfehlen, die Antworten von Alexa auf die Kurzform zu stellen.<\/p><p>Mich hat immer das &#8222;OK&#8220; von Alexa gest\u00f6rt, wenn ich ihr etwas gesagt habe. Mir reicht ein kurzer Hinweis-Ton, dass sie mich verstanden hat.<\/p><p>Das k\u00f6nnt ihr in der Alexa App unter &#8222;Einstellungen&#8220; -&gt; &#8222;Allgemein&#8220; -&gt; &#8222;Alexa-Sprachantworten&#8220; konfigurieren. W\u00e4hlt dort einfach den Kurzmodus aus. Ab sofort gibt euch Alexa keine Antwort in Sprache, sondern nur ein kurzen Signalton als Quittung.<\/p><p>Credit: Das Target-Ziel ist nicht auf meinen Mist gewachsen. Es ist aus verschiedenen Quellen entstanden, da ich selbst nach einer L\u00f6sung gesucht habe, aber \u00fcber Stunden schier verzweifelt bin. Ich konnte mir aus verschiedenen Foren und Beitr\u00e4gen eine funktionsf\u00e4hige L\u00f6sung zurecht basteln. Wenn sich hier jemand in seinen eigenen Gehirnzellen wiederfindet: Melde dich kurz, gerne mache ich deinen geistigen Schmalz kenntlich :).<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Integration von Alexa mit Home Assistant Wer Home Assistant nutzt und zuf\u00e4llig die eine oder andere Alexa bei sich zuhause stehen hat, wei\u00df sicherlich auch, dass beides wunderbar miteinander kombiniert werden kann. Aber unabh\u00e4ngig davon, dass man mit Alexa die rudiment\u00e4ren Funktionen steuern kann, wie &#8222;Schalte Licht an und aus&#8220;<\/p>\n","protected":false},"author":1,"featured_media":952,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":"","_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[20],"tags":[],"class_list":["post-1442","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-smarthome"],"_links":{"self":[{"href":"https:\/\/www.montybanse.eu\/index.php\/wp-json\/wp\/v2\/posts\/1442","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.montybanse.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.montybanse.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.montybanse.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.montybanse.eu\/index.php\/wp-json\/wp\/v2\/comments?post=1442"}],"version-history":[{"count":18,"href":"https:\/\/www.montybanse.eu\/index.php\/wp-json\/wp\/v2\/posts\/1442\/revisions"}],"predecessor-version":[{"id":1463,"href":"https:\/\/www.montybanse.eu\/index.php\/wp-json\/wp\/v2\/posts\/1442\/revisions\/1463"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.montybanse.eu\/index.php\/wp-json\/wp\/v2\/media\/952"}],"wp:attachment":[{"href":"https:\/\/www.montybanse.eu\/index.php\/wp-json\/wp\/v2\/media?parent=1442"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.montybanse.eu\/index.php\/wp-json\/wp\/v2\/categories?post=1442"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.montybanse.eu\/index.php\/wp-json\/wp\/v2\/tags?post=1442"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}