ich bin gerade dabei einen Custom Skill für Alexa zu erstellen, und drehe mich irgendwie im Kreis. Folgendes Problem.
Zur Erstellung der „Alexa Custom Skill“ Instanz benötige ich die Skill Application ID und die User ID.
Die letzte finde ich nicht heraus.
In den Dokus steht, ich könne den Skill in der Developer-Oberfläche testen, was aber durch ein geändertes Frontend scheinbar (bei mir) nicht funktioniert.
Hat jemand einen Tipp für mich?
Edit: jetzt bin ich soweit, dass Alexa mir im Test antwortet, dass eine ungültige DeviceID übergeben wurde
Guten Morgen, ich dreh mich (sicher auch wegen der umfangreichen Dokus) im Kreis.
Ich bin zwar der Meinung alles beachtet zu haben, aber so recht klappen will es nicht. Hab aber den Verdacht, dass es nur eine Kleinigkeit ist, da IPS registriert, dass ich den echo dot anspreche:
<?
use Patami\IPS\System\IPS;
function Execute(Request $request)
{
// Get the subject slot
$subject = strtolower($request->slots->subject);
// Get the requested information
switch ($subject) {
case 'objekte':
case 'objekten':
$text = sprintf('Es sind %d Objekte vorhanden.', IPS::GetObjectCount());
break;
case 'bibliothek':
case 'bibliotheken':
$text = sprintf('Es sind %d Bibliotheken vorhanden.', IPS::GetLibraryCount());
break;
case 'module':
case 'modulen':
$text = sprintf('Es sind %d Module vorhanden.', IPS::GetModuleCount());
break;
case 'instanzen':
$text = sprintf('Es sind %d Instanzen vorhanden.', IPS::GetInstanceCount());
break;
case 'variablen':
$text = sprintf('Es sind %d Variablen vorhanden.', IPS::GetVariableCount());
break;
case 'skripte':
case 'skripten':
$text = sprintf('Es sind %d Skripte vorhanden.', IPS::GetScriptCount());
break;
case 'funktionen':
$text = sprintf('Es sind %d Funktionen vorhanden.', IPS::GetFunctionCount(0));
break;
case 'ereignisse':
case 'ereignissen':
$text = sprintf('Es sind %d Ereignisse vorhanden.', IPS::GetEventCount());
break;
case 'medien':
$text = sprintf('Es sind %d Medien vorhanden.', IPS::GetMediaCount());
break;
case 'links':
$text = sprintf('Es sind %d Links vorhanden.', IPS::GetLinkCount());
break;
case 'kategorien':
$text = sprintf('Es sind %d Kategorien vorhanden.', IPS::GetCategoryCount());
break;
case '':
// The subject slot was not set
// Ask the user for the object type
return AskResponse::CreatePlainText(
'Ich kann Dir sagen wie viele Objekte unterschiedlicher Typen im System vorhanden sind. ' .
'Zu welcher Art von Objekt willst Du Informationen haben?'
)->SetRepromptPlainText(
'Wie bitte?'
);
default:
// The subject slot was invalid
// Ask the user for the correct object type
return AskResponse::CreatePlainText(
'Diese Objektart kenne ich nicht. Was meintest Du?'
)->SetRepromptPlainText(
'Wie bitte?'
);
}
// Tell the user the requested number of objects
return TellResponse::CreatePlainText(
$text
)->SetSimpleCard(
'IP-Symcon Informationen',
$text
);
}
die Systemvariablen vom Framework angesprochen werden. Mittlerweile teilt mir Alexa auch die Werte mit. Da kann ich doch bestimmt eigene Variablen aus IPS abgreifen, oder? (in Amazon developer Oberfläche ist mir das schon deutlich und angepasst)
Wenn ich eine integer Variable mit ID 50518 habe, die die verbleibenden Tage enthält, wann der Müll abgeholt wird, fehlt mir die korrekte Zeile:
$text = sprintf(‚Es sind %d Tage bis dein blöder Müll abgeholt wird.‘, 50518);
und die Integration im Skript, dass ich einen weiteren intent aufrufen kann:confused: