DJUB hat geschrieben: ↑Sa 6. Mai 2017, 18:53
Wie gut ist das ganze zu realisieren, wenn man frei nach der Devise "probieren geht über studieren" einiges bewegen kann, aber vom programmieren prinzipiell keine Ahnung hat?
Von programmieren musst Du nicht unbedingt eine Ahnung haben. Aber wenn Du Probieren willst kannst Du ja zunächst mal schauen wie man SMS und EMail verschickt mit der
Demo Version und ob Du den grundsätzlich zurecht kommst, das kannst nur Du selber beurteilen.
Um z.B. eine SMS zu verschicken über ein Skript würdest Du
schreiben das ist alles, das ist jetzt nicht programmieren, aber zumindest ein Funktionsaufruf. Der erste Parameter ist die Instanz ID, der zweite Parameter die Telefonnummmer und der dritte der Text, der gesendet wird.
Falls das grundsätzlich für Dich machbar ist musst Du Dir halt überlegen ob Dir das das Wert ist eine Software anzuschaffen um mit Alexa SMS und EMail verschicken und viele andere Dinge machen zu können. Und ohne Programmier Kenntnisse fällt für Dich zumindest der zweite Weg nämlich sich die Lamba Funktion komplett selber zu schreiben weg.
Die Anbindung an Alexa kannst Du nicht testen, das geht nur mit einer lizenzierten Version. Aber wenn das verschicken von SMS und Email eingerichtet ist ist die Alexa Anbindung dann auch kein großer Schritt mehr.
Patami hat an sich einen Ausführliche
bebilderte Anleitung geschrieben wie man grundsätzlich einen eigenen Custom Skill anlegt und damit dann eine Rückmeldung aus IP-Symcon bekommt bzw. alles was in IP-Symcon ist auch schalten kann. Falls dann konkrete Fragen sind kann man Dir da bestimmt auch weiterhelfen.
Vom Grundprinzip her sieht der Intent dann so aus
Code: Alles auswählen
"slots": [
{
"name": "shortmessage",
"type": "message",
"samples": []
},
{
"name": "recipient",
"type": "AMAZON.DE_FIRST_NAME",
"samples": [
"Verschicke die nachricht an {recipient} ",
"An {recipient} ",
"{recipient} "
]
}
]
Du hast also zwei Slot Types einen
AMAZON.DE_FIRST_NAME der nimmt Dir den Vornamen entgegen an den Du was schicken willst. Der zweite Slot type ist message der nimmt Deine Nachricht entgegen.
Den Slot Type fragst Du dann ab
Code: Alles auswählen
<?
function ExecuteAction($name, $id, array $slots, $locale, $sessionControllerId)
{
$message = strtolower(@$slots['message']);
$recipient = strtolower(@$slots['recipient']);
if($recipient == "Franz")
{
$number = "012345987654";
SMS_Send(12345, "0171123456789", $message);
return AlexaCustomSkillPlainTextResponse::create('Eine Nachricht mit dem Inhalt '.$message.' wurde an '.$recipient.' geschickt');
}
else
{
return AlexaCustomSkillPlainTextResponse::create(
'Leider habe ich nicht alle benötigten Informationen. Wie lautet die nachricht die Du verschicken wolltest?'
)->ContinueSession($id, $slots);
}
}
In dem Beispiel nimmt die Funktion
ExecuteAction die Werte von Alexa entgegen. Die Variablen $message und $recipient enthalten das was Du Alexa gesagt hast. Dann prüfst Du z.B. ob $recipient Franz ist wenn ja wird eine SMS verschickt.
Das mag am Anfang etwas wirr aussehen, mit "probieren geht über studieren" solltest Du aber damit ans Ziel kommen bzw. ansonsten halt an den Stellen fragen wo etwas unklar ist.
Der Vorteil ist halt wenn Du das einmal vom Prinzip grundlegend verstanden hast und dann wieder eine neue Idee bekommst was man noch machen könnte an einem persönlichen Skill lässt sich das stets auf die gleiche Weise realisieren.
Ob das was für einen ist muss jeder selber beurteilen der andere Weg ist halt immer darauf hoffen das es jemand anders macht und veröffentlicht aber ehrlich gesagt bist Du wenn Du die Dinge selber machst schneller und bist nicht von anderen abhängig.