{"id":1002,"date":"2018-09-08T13:51:20","date_gmt":"2018-09-08T12:51:20","guid":{"rendered":"https:\/\/www.open4me.de\/?p=1002"},"modified":"2018-09-17T17:31:12","modified_gmt":"2018-09-17T16:31:12","slug":"einen-esp8266-esp32-mit-hilfe-von-alexa-steuern","status":"publish","type":"post","link":"https:\/\/www.open4me.de\/index.php\/2018\/09\/einen-esp8266-esp32-mit-hilfe-von-alexa-steuern\/","title":{"rendered":"Einen ESP8266\/ESP32 mit Hilfe von Alexa steuern"},"content":{"rendered":"<p>In den letzten Tage und Wochen habe ich mich etwas mit dem Thema besch\u00e4ftigt, wie man mit Hilfe von <a href=\"https:\/\/amzn.to\/2Kp2Mih\">Alexa (*)<\/a> einen ESP8266 oder ESP32 ansteuern kann.<\/p>\n<p>Da das Thema etwas un\u00fcbersichtlich ist, hier mein Versuch das Thema zu strukturieren.<\/p>\n<p>Grob\u00a0 kann man zwei F\u00e4lle unterscheiden:<\/p>\n<ul>\n<li>Der ESP8266\/ESP32 simuliert ein anderes Ger\u00e4t, welches von Alexa unterst\u00fctzt wird<\/li>\n<li>Es wird ein externer Dienst genutzt, der von Alexa unterst\u00fctzt wird<\/li>\n<\/ul>\n<table border=\"0\" cellspacing=\"0\">\n<colgroup span=\"2\" width=\"85\"><\/colgroup>\n<tbody>\n<tr>\n<td align=\"left\" height=\"17\"><strong>Simulation eines Ger\u00e4tes<\/strong><\/td>\n<td align=\"left\"><strong>Externer Dienst<\/strong><\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" align=\"left\" height=\"17\">Vor- und Nachteile:<\/td>\n<\/tr>\n<tr>\n<td align=\"left\" height=\"17\">&#x1F44D;\u00a0L\u00e4uft ohne zus\u00e4tzliche Dienste<\/td>\n<td align=\"left\"> &#x1F44E; externe Dienste und\/oder Skills sind notwendig<\/td>\n<\/tr>\n<tr>\n<td align=\"left\" height=\"17\"> &#x1F44E; Beschr\u00e4nkter Funktionsumfang (An, Aus, Prozent)<\/td>\n<td align=\"left\">&#x1F44D;  Gr\u00f6\u00dferer Funktionsumfang (siehe <a href=\"https:\/\/developer.amazon.com\/de\/docs\/device-apis\/message-guide.html#power-control-messages\">Funktionsumfang<\/a> von Alex-Nachrichten)<\/td>\n<\/tr>\n<tr>\n<td align=\"left\" height=\"17\">&#x1F44D;  Einfache Sprachebefehle<\/td>\n<td align=\"left\"> &#x1F44E; Vor dem Befehl, muss man Alexa mitteilen, welcher Skill genutzt wird &#8222;Alexa verwende XXX und &#8230;&#8220;<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" align=\"left\" height=\"17\">&nbsp;<\/p>\n<p>Beispiele:<\/td>\n<\/tr>\n<tr>\n<td align=\"left\" height=\"17\"><a href=\"https:\/\/github.com\/witnessmenow\/esp8266-alexa-wemo-emulator\">esp8266-alexa-wemo-emulator<\/a> oder <a href=\"https:\/\/bitbucket.org\/xoseperez\/fauxmoesp\">Fauxmoesp<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Diese L\u00f6sung simuliert ein <a href=\"https:\/\/amzn.to\/2MDidQH\">Belkin WeMo(*)<\/a> Ger\u00e4t. Der ESP kann 16 virtuelle Ger\u00e4te\/Funktionen bereitstellen. Leider nur mit An und Aus Funktionalit\u00e4t.<\/td>\n<td align=\"left\"><a href=\"https:\/\/github.com\/kakopappa\/sinric\">Sinric<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Diese L\u00f6sung erfordert eine Anmeldung und die Installation eines Skills.<\/p>\n<p>Danach werden diverse Ger\u00e4te\/Funktionen bereitgestellt. Z.B. k\u00f6nnen Ein- und Ausschalter, Lampen, Thermostate oder Fernseher bereitgestellt werden und dann \u00fcber die\u00a0 passenden Sprachbefehle gesteuert werden.<\/p>\n<p>&nbsp;<\/td>\n<\/tr>\n<tr>\n<td align=\"left\" height=\"17\"><a href=\"https:\/\/github.com\/Aircoookie\/Espalexa\">Espalexa<\/a><\/p>\n<p>Espalexa simuliert eine <a href=\"https:\/\/amzn.to\/2u0jKbK\">Philips Hue Bridge (*)<\/a>. Der ESP kann 20 virtuelle Ger\u00e4te\/Funktionen bereitstellen. Neben An und Aus, unterst\u00fctzt dieser Anzahl auch Helligkeitsstufen von 0% bis 100%.<\/p>\n<p>&nbsp;<\/td>\n<td align=\"left\"><\/td>\n<\/tr>\n<tr>\n<td align=\"left\" height=\"17\"><\/td>\n<td align=\"left\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>F\u00fcr mich hat der Funktionsumfang von <strong>&#8222;Simulation eines Ger\u00e4tes&#8220;<\/strong> nicht gereicht. Ich wollte aber auch nicht neben Amazon noch einen zus\u00e4tzlichen Dienstleister nutzen.<\/p>\n<p>Ich habe mir also meinen Skill selber zusammengestellt. Da mir die AWS Lambda Function irgendwie nicht gefallen habe, habe ich mich f\u00fcr die <a href=\"https:\/\/developer.amazon.com\/de\/docs\/custom-skills\/host-a-custom-skill-as-a-web-service.html\">Web-Service<\/a> Variante entschiedenen. Hierbei werden die Informationen vom Skill an den eigenen Server weitergeleitet. Hierf\u00fcr nutze ich im Moment eine ziemlich gepatchte Version von <a href=\"https:\/\/github.com\/MayBeTall\/Alexa-PHP-Endpoint\">Alexa-PHP-Endpoint<\/a>. Ich habe einige der Pull-Requests eingespielt und noch die eine oder andere \u00c4nderung vorgenommen.<\/p>\n<p>Da ich Alexa f\u00fcr die Heim-Automatisierung nutze, werden die Daten direkt in MQTT gespeichert.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In den letzten Tage und Wochen habe ich mich etwas mit dem Thema besch\u00e4ftigt, wie man mit Hilfe von Alexa (*) einen ESP8266 oder ESP32 ansteuern kann. Da das Thema etwas un\u00fcbersichtlich ist, hier mein Versuch das Thema zu strukturieren. Grob\u00a0 kann man zwei F\u00e4lle unterscheiden: Der ESP8266\/ESP32 simuliert ein anderes Ger\u00e4t, welches von Alexa &hellip; <a href=\"https:\/\/www.open4me.de\/index.php\/2018\/09\/einen-esp8266-esp32-mit-hilfe-von-alexa-steuern\/\" class=\"more-link\"><span class=\"screen-reader-text\">Einen ESP8266\/ESP32 mit Hilfe von Alexa steuern<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[49,48,41],"tags":[],"class_list":["post-1002","post","type-post","status-publish","format-standard","hentry","category-alexa","category-home-automatisierung","category-technik"],"_links":{"self":[{"href":"https:\/\/www.open4me.de\/index.php\/wp-json\/wp\/v2\/posts\/1002","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.open4me.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.open4me.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.open4me.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.open4me.de\/index.php\/wp-json\/wp\/v2\/comments?post=1002"}],"version-history":[{"count":7,"href":"https:\/\/www.open4me.de\/index.php\/wp-json\/wp\/v2\/posts\/1002\/revisions"}],"predecessor-version":[{"id":1028,"href":"https:\/\/www.open4me.de\/index.php\/wp-json\/wp\/v2\/posts\/1002\/revisions\/1028"}],"wp:attachment":[{"href":"https:\/\/www.open4me.de\/index.php\/wp-json\/wp\/v2\/media?parent=1002"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.open4me.de\/index.php\/wp-json\/wp\/v2\/categories?post=1002"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.open4me.de\/index.php\/wp-json\/wp\/v2\/tags?post=1002"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}