Amazon Echo an Symcon anbinden inklusive Proxy

Hallo gogo20012002,

kannst Du mir sagen welchen „alexa_type“ ich für die Steuerung einer Homematic Heizung nehmen muss?

Gruß

Axel

Ich habe das über die Bewegungsmelder, die ich in jeden Raum habe gelöst

Gesendet von iPhone mit Tapatalk

Ich wollte gerne direkt mit Alexa die Temperatur einstellen.

Gruß

Axel

Gesendet von iPhone mit Tapatalk

Wäre natürlich praktisch wenn man per Skill die (externe) IP-Adresse eines Echos erfahren könnte. So könnte man mit mehreren externen IP-Adressen die Echos/Dots unterscheiden :frowning:

Siehe auch Why a Custom Slot is the Literal Solution

Hallo,

habe diese Fehlermeldung:

Notice: Undefined index: REQUEST_METHOD in C:\IP-Symcon\scripts\38854.ips.php on line 66

Warning: Cannot modify header information - headers already sent by (output started at C:\IP-Symcon\scripts\38854.ips.php:66) in C:\IP-Symcon\scripts\45775.ips.php on line 46

Warning: Cannot modify header information - headers already sent by (output started at C:\IP-Symcon\scripts\38854.ips.php:66) in C:\IP-Symcon\scripts\45775.ips.php on line 63

Endpoint eingestellt wie in der Lösung vorgeschlagen…

Ich bekomme auch die empfangenen Worte gesendet …LogMessage

Was kann ich noch testen? Benutze connect Dienst!

Viele Grüße

Lothar

Hi Axel, sorry für die späte Rückmeldung.
Wie du den Typ nennst ist egal, Hauptsache du reagierst in der control-thread darauf korrekt.
Ich habe es wie folgt benannt. Bei mir wird alles über Modbus geschaltet. Bei Homematic musst du also statt Modbus_WriteRegisterReal einen anderen Befehl für deine Hardware nutzen.

else if ($alexaType == „tempModbus“ ) {
ModBus_WriteRegisterReal($deviceId , $value);

Gruß
Georg

Hallo - ich geb für heute auf.

Lambda geht, test erfolgreich (bekomme im Browser meine Daten zurückgeliefert), sehe den Skill auch unter alexa.amazon.com.

Aber wenn ich diesen aktivieren will, bekomme ich die Fehlermeldung „Bei der Verknüpfung mit the external Provider ist ein Fehler aufgetreten.“ Login scheint also nicht zu klappen. :confused:

Hat jemand einen Tipp für mich?

Grüße,
Kai

EDIT:
Ok, habs jetzt mit dem OAuth2 von Amazon gemacht - wie hier Alexa-Fhem – FHEMWiki unter Skill-Kit einrichten beschrieben. GEHT! Lichter gehen an uns aus :slight_smile:

Hallo,

läuft jetzt, hab Zeile 66 auskommentiert und geht… warum, keine Ahnung!

Allerdings ist das Script immer noch als fehlerhaft markiert

Viele Grüße

Lothar

Hi,

versuche mich schon den ganzen Tag an den verschiedenen Ansätzen in diesem Thema.

Mit dem ersten Post hat es auch ansatzweise funktioniert. Jetzt bin ich bei 1007’s scripten:
Hab alles wie in #1 post eingerichtet. Die Daten von Alexa kommen auch am webhook an…
Aber mit der Einrichtung von 1007’s scripten endet es mit der hier schon wiederholt berichteten Fehlermeldung (wenn ich das Testscript starte):

schalte stehleuchte ein
Warning:  Invalid argument supplied for foreach() in C:\IP-Symcon\scripts\AmazonEchoInclude.ips.php on line 17

Session:0
Response : Ich habe : schalte stehleuchte ein nicht verstanden

Die SCripte sind die letzten aus dem GIT.
Wo soll das Problem mit „ArrayArray“ denn sein (finde das in keinem Script)?

die AmazonEchoConfig sieht so aus:

<?
	GLOBAL $applicationIdValidation;
	GLOBAL $userIdValidation;           
	GLOBAL $echoServiceDomain;         
	GLOBAL $debug;
	GLOBAL $logging;
	GLOBAL $parentDataID;
//******************************************************************************
//	AmazonEcho relevante Definitionen
//******************************************************************************
	
	$applicationIdValidation    = 'amzn1.ask.skill.***************************************';
	$userIdValidation           = 'amzn1.ask.account.*************************************';
	$echoServiceDomain          = 'echo-api.amazon.com';
//******************************************************************************
//	IPSymcon relevante Definitionen
//******************************************************************************
	$debug   = true;
	$logging = true;
	$parentDataID = IPSUtil_ObjectIDByPath("Program.IPSLibrary.data.privat.AmazonEcho");
//******************************************************************************
// Demo Konfiguration
// Suche nach Schluesselwoerter um dann das angegeben Script zu starten
//******************************************************************************
	GLOBAL $AlexaGeraetArray;
	$AlexaMasterKeyArray = array( 				
	   array("search('licht') AND ( search('schalte') OR search('dimme') ) ","AmazonEcho_Licht.ips.php"),
	   array("search('temperatur') AND search('hoch') ","AmazonEcho_Temperatur.ips.php"),
	   array("search('sonos')","AmazonEcho_Sonos.ips.php"),
				);
//******************************************************************************
//	Geraetenamen
//******************************************************************************
	GLOBAL $AlexaGeraetArray;
	$AlexaGeraetArray = array( 
				//			   spoken           Geraet           Typ           ID
			   array(""		,"stehlampe"		,"Lampe"		, "VARIABLE"    ,45120 /*[Amazon Alexa\kannweg]*/),
			   array(""		,"drucker"		,"Drucker"		, "FS20"   		,30543),
			   array(""		,"heizlüfter"	,"Heizlüfter"	, "FS20"		,32995),
			   array(""		,"box"			,"Dreambox"		, "VARIABLE"    ,19015),	   	
				);
				
//******************************************************************************
//	Lichtnamen
//******************************************************************************
	GLOBAL $AlexaLightArray;
	$AlexaLightArray = array( 
				//	   spoken         spoken           response         IPSLight Name
			   array("wohnzimmer"	,""				,"Wohnzimmer"	,"Wohnen Deckenlicht"			,true	,true	,false),
			   array("esszimmer"	,"decke"		,"Esszimmer"	,"Essen Deckenlicht"			,true	,true	,false),
			   array("esszimmer"	,"lampe"		,"Esszimmer"	,"Essen Steinlampe"				,true	,false	,false),
         );
?>

Der Objektbaum siehr so aus:

Wo übersehe ich gerade etwas?

EDIT: Ich denke ich habs:
Muss wohl im Config-Script so aussehen:

Gruß
hardlog

//******************************************************************************
// Demo Konfiguration
// Suche nach Schluesselwoerter um dann das angegeben Script zu starten
//******************************************************************************
	GLOBAL $AlexaMasterKeyArray;//statt $AlexaGeraetArray; !!!!
	$AlexaMasterKeyArray = array( 				
	   array("search('licht') AND ( search('schalte') OR search('dimme') ) ","AmazonEcho_Schalte.ips.php"),
	   array("search('schalte') ","AmazonEcho_Schalte.ips.php"),
	   array("search('sonos')","AmazonEcho_Sonos.ips.php"),
				);

Hallo Georg,

vielen Dank für Deine Antwort.

Ich kann jetzt zwar die Heizung an oder aus schalten aber eine Temperatur kann ich nicht vorgeben.
Versuch ich dieses mit „Alexa stelle die Heizung im Wohnzimmer auf 20 Grad“ erhalte ich folgende Rückmeldung:

„Ich bin nicht sicher ob diese Einstellung für die Beleuchtung oder den Thermostat in Heizung Wohnzimmergruppe gilt“

Gruß

Axel

Guten Morgen allerseits,
melde mich nach langem Beobachten nun auch zu Wort. Das erste Mal, dass ich überhaupt in ein Forum schreibe. (Bitte also um Rücksicht)

Als langer Symcon Verehrer und gelernter Elektroinstallateur und und und…

Meine Alexa schaltet mit eurer Vorarbeit und schlaflosen Nächten:

Homematic Licht
Homematic Heizung
Sonos

Nötig ist eine Anpassung der discover php und viel testen mit Alexa Gruppen.

Schreibe leider vom Handy…
Muss mal später ausprobieren wie man Codes einfügt und postet.

Mit freundlichen Grüßen

Hi,

ich habe folgendes erledigt:

  1. Skill angelegt
  2. Lambda Funktion erstellt
  3. Webhook erstellt

Nun folgende fragen:

  1. Die /hook/alexa/login wirft folgenden Fehler:

Notice: Undefined index: redirect_uri in /var/lib/symcon/scripts/32464.ips.php on line 5
Notice: Undefined index: state in /var/lib/symcon/scripts/32464.ips.php on line 5

  1. Wenn ich in Lambda als Test Szenario Alexa Smart Home auswähle kommt als Ergenis immer „null“

  2. Was wird in der /hook/alexa/login bei „?code=123456789“ eingetragen?

  3. Zumindest /hook/alexa/discover sieht ok aus:

[{„applianceId“:„22421“,„manufacturerName“:„Homematic“,„modelName“:„model 01“,„version“:„1.0.0“,„friendlyName“:„Stehlampe“,„friendlyDescription“:„Stehlampe“,„isReachable“:„True“,„actions“:[ „turnOn“, „turnOff“, „setPercentage“, „incrementPercentage“, „decrementPercentage“],„additionalApplianceDetails“:{ „extraDetail1“:„switch“, „extraDetail2“:"", „extraDetail3“:"", „extraDetail4“:""}}]

Sorry, aber die Doku im Git ist echt übel!

Hi Axel,

lt. Amazon gelten die folgenden Befehle

Alexa, schalte name ein
Alexa, schalte name aus
Alexa, stelle name auf x Prozent
Alexa, mache mein name heller
Alexa, dimme der/die/das name
Alexa, dimme der/die/das name auf x

Alexa, setze name auf x grad -> der funktioniert bei mir
Alexa, reduziere name
Alexa, reduziere name um x grad
Alexa, erhöhe name
Alexa, erhöhe name um x grad

Alexa kann man jetzt auch mit IFTTT mit einem deutschen Echo nutzten falls das für jemand interessant ist.

Hallo,

ich habe nun auch meine Alexa und möchte diese gern in Smycon integrieren.

Nur gibt es mittlerweile so viele Anleitungen hier im Forum.

Könnt ihr mir sagen welche Methode die einfachste und effektivste ist?

Danke.

warten bis das IPS Smarthome Skill von Amazon freigegeben wird.

Ich denke mal das schnellste Erfolgserlebnis bekommst Du mit der HA Bridge Lösung. Das war auch der Grund weswegen ich zunächst diesen Weg gegangen bin. Ich gehe aber auch davon aus, dass ich auf den IPS Smarthome Skill umsteigen werde wenn er zertifiziert und freigegeben wurde.

Wobei es mir als ich den Ansatz von Patami gesehen habe schon gewaltig in den Fingern gejuckt hat (tut es noch…:D).

Wäre auch schade, allein der Spieltrieb muß bedient werden :wink:

Und wenn der die das IP-Symcon Skill da ist geht ja sicher noch viel mehr, freu mich drauf. Aber allein der Umgang mit Alexa macht Laune.
Gruß Helmut

Ja dann hoffe ich das der bald Freigegeben wird. Mir juckt es auch an den Fingern. Vielleicht werde ich mir das mit der HA Bridge ma ansehen test weiße. Danke bis dann :slight_smile:

Gesendet von meinem SM-G900F mit Tapatalk