Befehle an Alexa geben ohne Sprachsteuerung?

Mag sich vielleicht im ersten Moment komisch anhören warum man einen Dot oder Echo ohne Sprache steuern will.

Mir schwebt da folgendes vor. Ein Dot ist z.B. an einen Verstärker angeschlossen. Wenn ich in dem Raum bin kann ich ja z.B. Musik starten
Alexa spiele Musik

und dann weitere Befehle geben wie lauter, leiser usw.

Jetzt würde ich gerne den Echo ähnlich mit IP-Symcon steuern wie Sonos. Ich bin also nicht in dem Raum und kann trotzdem einen Musikwiedergabe auf dem Echo von IP-Symcon aus starten, pausieren oder lauter und leiser stellen.

Hat so was schon jemand realisiert oder eine Idee ob und wie das vielleicht funktionieren könnte?

Edit:

Erster Entwurf einer Steuerung findet man hier.

Hi Fonzo,

da warte ich auch sehnsüchtig drauf, ist aber zur zeit nicht möglich :frowning:

Grüße
Dave

Irgendwie möglich ist das wohl schon zumindest findet man da was vereinzelt was im Internet zu.
Mir ist nur noch nicht ganz klar wie das genau geht.

hast du beispiele ?

Alexa Voice Service API Overview
Using Dash Button
Remote command to alexa

Vielleicht die Reverb App nutzen und damit die Befehle mit dem Smartphone geben.

Ja Reverb funktioniert zwar ist ja aber auch wieder Sprachsteuerung. Im Sinne einer Automatisierung suche ich halt was, wo ich mit IP-Symcon wie bei anderen Dingen auch eine Prozess ablaufen lassen kann.

z.B.

[ul]
[li]Steckdose einschalten
[/li][li]AVR einschalten
[/li][li]Input wählen
[/li][li]Musik über Amazon Dot starten
[/li][/ul]

Bis auf den letzten Punkt ist das ja alles auch kein Problem von IP-Symcon, wäre halt nur schön es gebe für den letzten Punkt, nämlich den Dot zu befehlen Musik abzuspielen, ohne ein Sprachkommando zu geben, auch eine Lösung.

Ich nutze dazu meine Sonos, die werden halt nur über Alexa gestartet. Sollte Sprache nicht möglich sein dann eben über App.

Wenn du „nur“ Musik über das Alexa Device wiedergeben möchtest, könnte man das Gerät als Bluetooth Wiedergabegerät nutzen und dann mit eigenem Smartphone dann Medien steuern.

Wäre aber auch nur ein Workaround.

Also über die Weboberfläche von Amazon Alexa lässt sich ja auch Music starten und stoppen ohne einen Sprachbefehl zu geben. Grundsätzlich geht das ja also, die Frage ist nur was wird genau gesendet das konnte ich bisher noch nicht rausfinden. Ist da jemand von Euch schon schlauer?

Hast Du es schon mit Wiresharkversucht?

Ne bisher nicht, ich werde mal die Tage jemanden bei Amazon fragen bevor ich mir da die Mühe mache.

Bzw.
hier hat sich schon jemand die Mühe gemacht hatte aber keine Zeit bisher das zu testen.

Hallo ich hab’s hiermit versucht. klappt auch ganz gut allerdings ist es dann ein eigenes Device. ich muss noch testen ob ich da noch mit IPS kommunizieren kann. Ansonsten klappt es hervorragend per console.

https://github.com/gravesjohnr/AlexaNotificationCurl

schau dir das mal an: https://www.piettes.com/the-amazon-echo-api/

oder diesen Ansatz hier:https://www.amzecho.de/alexa-allgemein-f14/alexa-automatisiert-fernsteuern-t739.html

Viele Grüße
Stephan

How to remote control Amazon Alexa
hab ich was gefunden muss ich nur mal ausprobieren ob das funktioniert.

Ist von Euch da einer weiter mit basteln oder funktioniert das bei Euch schon?

Ich habe das mal mit


function SendAlexaAPI($devicenumber, $devicetype, $csrf, $cookie, $command)
	{
		$uribase = "https://pitangui.amazon.com/api/np/command?";
		$url =  $uribase."deviceSerialNumber=".$devicenumber."&deviceType=".$devicetype;
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36");
		curl_setopt($ch, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds
		curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
		curl_setopt($ch,CURLOPT_ENCODING , "");
		curl_setopt($ch, CURLOPT_URL,$url);
		curl_setopt($ch, CURLOPT_POST, true);
		curl_setopt($ch, CURLOPT_POSTFIELDS, $command);
		curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json' , 'Origin: http://alexa.amazon.de', 'Accept-Language: de', $csrf, $cookie ));
		
		$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);   //get status code
		$result=curl_exec ($ch);
		curl_close ($ch);
		return $result;
	}

probiert aber bisher keinen Erfolg. Findet da jemand den Fehler oder hat es von Euch einer schon funktionsfähig laufen?

Ich habe hier mal ein Amazon Remote Control Modul zum Steuern abgelegt, Ergänzungen und Anmerkungen am besten dann dort im Thread.