Der Ideen-Thread

Hier wird über die Entwicklung von Skills diskutiert.
Benutzeravatar

Fonzo
Beiträge: 1690
Registriert: Fr 24. Feb 2017, 00:06

Sa 6. Mai 2017, 16:10

DJUB hat geschrieben:
Sa 6. Mai 2017, 15:04
Ist es möglich, das Alexa einen empfangenen Kurztext als E-Mail oder besser als SMS (wegen 8sec Regelung) verschickt?
[...]
Gern auch Vorschläge die in die richtige Richtung gehen, aber z.B. mit einer festen E-Mail Adresse arbeiten.
Das ist ohne weiteres möglich mit der Begrenzung das Dir Alexa nicht lange zuhört also nur für ganz kurze Mitteilungen geeignet.
Du kannst so etwas realisieren indem Du Dir einen eigenen Custom Skill erstellst und dann z.B. eine Lambda Funktion anhängst die den Intent verschickt. Wenn Du so was nicht selber schreiben willst kannst Du auch auf so was wie eine Hausautomationssoftware zurückgreifen, dann musst Du lediglich noch die Slot Types anpassen, wie die Namen an die etwas geschickt werden soll.

Wenn Du dann sagst Alexa sage SMSMessage schicke Franz eine Nachricht mit dem Inhalt Ich komme bald nach Hause
SMSMessage wäre der selbst zu wählende Invocation Name
Franz der erste Slot
Ich komme bald nach Hause die eigentliche Nachricht der zweite Slot.

In IP-Symcon würdest Du dann z.B. mit dem Alexa Custom Skill Modul den Slot Type entgegennehmen und dann entsprechend eine SMS mit SMS Instanz oder Email mit Email Instanz mit dem Inhalt der Nachricht verschicken.

Wie Du den Utterance genau formulierst ist Dir persönlich überlassen.
0 x
Benutzeravatar

DJUB
Beiträge: 2
Registriert: Sa 6. Mai 2017, 14:10

Sa 6. Mai 2017, 18:53

Fonzo hat geschrieben:
Sa 6. Mai 2017, 16:10

Wenn Du dann sagst Alexa sage SMSMessage schicke Franz eine Nachricht mit dem Inhalt Ich komme bald nach Hause
SMSMessage wäre der selbst zu wählende Invocation Name
Franz der erste Slot
Ich komme bald nach Hause die eigentliche Nachricht der zweite Slot.

In IP-Symcon würdest Du dann z.B. mit dem Alexa Custom Skill Modul den Slot Type entgegennehmen und dann entsprechend eine SMS mit SMS Instanz oder Email mit Email Instanz mit dem Inhalt der Nachricht verschicken.

Wie Du den Utterance genau formulierst ist Dir persönlich überlassen.

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?
0 x
Benutzeravatar

Fonzo
Beiträge: 1690
Registriert: Fr 24. Feb 2017, 00:06

Sa 6. Mai 2017, 21:17

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

Code: Alles auswählen

SMS_Send(12345, "0171123456789", "Alarm!");
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.
0 x
Benutzeravatar

rak
Beiträge: 6
Registriert: Di 18. Jul 2017, 19:48

Di 18. Jul 2017, 20:05

Ein google Skill wäre echt was hilfreiches.

Ala.. Alexa frage Google nach ...
0 x
Benutzeravatar

Anz
Beiträge: 114
Registriert: Sa 8. Apr 2017, 00:29
Wohnort: Schwarzwald (BW)
Vorhandene Echo Dots: 4
Vorhandene Echo Shows: 1
Kontaktdaten:

Sa 22. Jul 2017, 22:54

Gibt es doch schon ,nicht ganz offiziell aber es funktioniert.

Hier....

viewtopic.php?t=807
0 x

clel
Beiträge: 15
Registriert: Sa 14. Jan 2017, 19:34

Do 31. Aug 2017, 15:49

Ich weiß nicht, ob das schon vorgeschlagen wurde:

Google bietet ja anscheinend eine Schnittstelle für andere Gräte an, z.B. sowas: https://developers.google.com/assistant/sdk/overview

Darauf aufbauend könnte man vielleicht einen Skill entwickeln, womit der Google Assistent auch über Alexa nutzbar ist. Einige Dinge laufen damit einfach besser.
0 x
Benutzeravatar

luigidc
Beiträge: 523
Registriert: Mi 21. Dez 2016, 11:33
Wohnort: Hamburg
Vorhandene Echos: 1
Vorhandene Echo Dots: 2

Do 31. Aug 2017, 16:20

clel hat geschrieben:
Do 31. Aug 2017, 15:49
Darauf aufbauend könnte man vielleicht einen Skill entwickeln, womit der Google Assistent auch über Alexa nutzbar ist. Einige Dinge laufen damit einfach besser.
Als fertig entwickelten Skill wird es das nicht geben. Aber hier ist ein Custom Skill, mit dem man den Assistant mittels Alexa (auf Englisch) nutzen kann: https://github.com/tartanguru/alexa-assistant
Vielleicht ist das ja was für Dich. Das ganze ist allerdings sehr aufwändig und hat viele Einschränkungen. Da lohnt es sich eher einen Google Home daneben zu stellen.
1 x

clel
Beiträge: 15
Registriert: Sa 14. Jan 2017, 19:34

Do 31. Aug 2017, 17:37

Danke für den Link! Wie es aussieht, kann die API keinen Text als Ein- und Ausgang verwenden, sondern braucht immer Audio Dateien. Das scheint auch die Veröffentlichung als offiziellen Skill zu behindern und die Einrichtung zu verkomplizieren. Ist also tatsächlich noch nicht wirklich brauchbar, aber vielleicht tut sich ja in Zukunft noch was.
Zuletzt geändert von clel am Do 31. Aug 2017, 17:37, insgesamt 1-mal geändert.
0 x
Benutzeravatar

eNTie
Beiträge: 1
Registriert: Di 26. Sep 2017, 01:27

Di 26. Sep 2017, 01:36

Star Trek Logbuch Skill
hi so ein Captains Logbuch für den Echo we're cool...

Nett were es wenn das dann an die eigene E-Mail Adresse versendet würde oder erneut angehört werden kann oder auch in ein sozial Netzwerk gepostet würde .... Vielseitige Einsatzmöglichkeiten
0 x

Sutadur

Fr 29. Sep 2017, 20:20

Erstmal wäre auch schön, wenn vermeintlich selbstverständliche Dinge möglich wären, z.B. die Nutzung eines Echo oder Dot als Radiowecker. Wecker geht, Musik geht ... nur in der Kombination geht's nicht. Ich finde das nur schwer nachvollziehbar.
1 x
Antworten

Zurück zu „Fähigkeiten (Skills) entwickeln“

  • Information