2017-07-19 1 views
1

Meine Alexa Smart Home Skill for Entertainment Devices implementiert einige Funktionen der API-Version 3, einschließlich der Alexa.Speaker Interface.Smart Home-Gerät, das die Alexa.Speaker-Schnittstelle implementiert und nicht auf die Volumenänderungsanfrage reagiert

Soweit ich aus der Dokumentation zu verstehen, sollte es reagieren Befehle wie zu äußern „Alexa, die Lautstärke des Geräts auf 5 gesetzt“ jedoch Alexa mit „Sorry reagiert immer, ich nicht kontrollieren kann Lautstärke auf Ihrem Gerät ".

Die Entdeckung Reaktion der Vorrichtung sieht wie folgt aus

{ 
    endpointId: 'music1', 
    friendlyName: 'pillow', 
    description: 'Music on Kodi', 
    manufacturerName: 'Cubox-i', 
    displayCategories: [], 
    capabilities: [ 
     { 
      type: 'AlexaInterface', 
      interface: 'Alexa.PowerController', 
      version: '1.0', 
      properties: { 
       supported: [ 
        { 
         name: 'powerState', 
        }, 
       ], 
      }, 
     }, 
     { 
      type: 'AlexaInterface', 
      interface: 'Alexa.PlaybackController', 
      version: '1.0', 
      properties: {}, 
     }, 
     { 
      type: 'AlexaInterface', 
      interface: 'Alexa.Speaker', 
      version: '1.0', 
      properties: { 
       supported: [ 
        { 
         name: 'volume', 
        }, 
        { 
         name: 'muted', 
        }, 
       ], 
      }, 
     }, 
    ], 
} 

Die Entdeckung, gut zu funktionieren scheint, als die PowerController Schnittstelle (z.B. „Alexa, drehen auf Kissen“) zur Fein reagiert wird.
Ich kann Entdeckung, PowerController und PlaybackController Anfragen und Antworten in den AWS Lambda-Logs sehen.

Alle Sprachbefehle zu Speaker (ob versucht, das Volumen -20 zu setzen, es von 5 erhöhen oder zu fragen, um mute oder unmute Kissen) erzeugen keine Anfragen an meine Lambda und Ergebnis in der oben genannten Antwort - oder im Fall von Muting in "Kissen unterstützt das nicht".

Antwort

1

Statt

properties: { 
      supported: [ 
       { 
        name: 'volume', 
       }, 
       { 
        name: 'muted', 
       }, 
      ], 
     }, 

diese JSON, verwenden Sie diese:

'properties.supported':[{ 
        name: 'volume', 
       }, 
       { 
        name: 'muted', 
       }] 

Dies ist ein Fehler sie versuchen zu lösen, aber bis dahin wird dies umgehen, lassen Sie mich bitte, wenn diese wissen besondere Lösung funktioniert für Sie.

+0

Vielen Dank für die Antwort. Dies scheint für den Befehl "Stummschalten/Stummschalten" der Fall gewesen zu sein. Wenn Sie jedoch versuchen, die Lautstärke einzustellen ("Legen Sie die Lautstärke des Kissens auf 5 fest"), lautet die Antwort immer noch "Leider kann ich die Lautstärke auf Ihrem Gerät nicht steuern" - oder manchmal "Entschuldigung, das Kissen unterstützt das nicht" Was ist lustig hier ist, dass, obwohl ich den gleichen Eingabebefehl verwenden, die Fehlermeldung manchmal die eine und manchmal die andere ist Kombiniert mit Ihrem Hinweis, sagt mir, dass API noch nicht so stabil ist und der Fehler möglicherweise nicht auf meiner, aber auf der Seite von Amazon. – WrongAboutMostThings

1

Zusätzlich zu 'properties.supported' sollte die Version 1 (nicht 3) sein. Die Antwort zur Erkennung der Lautsprecherschnittstelle sollte wie folgt aussehen:

{ 
    "type": "AlexaInterface", 
    "interface": "Alexa.Speaker", 
    "version": "1.0", 
    "properties.supported":[ 
    { 
     "name": "muted", 
    }, 
    { 
     "name": "volume" 
    }] 
} 
Verwandte Themen