Hallo, ich komme aus der Entwicklung Analog- Digitalelektrink Mikroprozessor Hard und Software. Ich habe meiner Frau zu ihrem Geburtstag ihren grössten Wunsch erfüllt und ihr eine "Alexa" geschenkt. Das Ding ist ganz witzig und hat in mir den Wunsch geweckt, mehr damit zu machen. Mein Ziel: Selbst entwickelte Elektronik mit Alexa oä steuern und zwar mit mehr als Licht an / Licht aus. Habe so nebenher zu meinem Job das Aufkommen von Arduion und Co mitverfolgt, mich aber nie tiefer damit befasst. Daher meine Frage: Gibt es Literatur, Links oder Was auch immer, das erlaubt, sich professionell in das Thema "smart devices" incl. Arduino, Raspberry usw einzuarbeiten?
Protolus schrieb: > Digitalelektrink Hi, ich kenne auch andere die gerne trinken :-) Das Stichwort zu deiner Anfrage ist "Skills", suche mal danach. Ein Anfang wäre https://www.homeandsmart.de/die-besten-alexa-skills-im-ueberblick
Hab mir die Skill-Programmierung schon mal angesehen. Programmiererfreundlich ist das nicht gerade :-( Ich möchte eben genau eine Skillprogrammierung umgehen. Die Funktionalität sollte auch nicht irgendwo in den Servern von Amazon stecken, sondern in meiner Eigenentwicklung. Wenn ich eine Lampe mit Alexa steuern will, muss ich auch nicht extra einen Skill aufrufen. Alexa erkennt die Lampe und dann müssen beide über irgend ein Protokoll Infos austauschen. So habe ich mir das auch mit einer Eigentwicklung vorgestellt. Alexa erkennt mein Gerät, die sprechen miteinander und Alexa leitet dann nur plain die erkannten Sprachbefehle an mein Gerät weiter. Ich suche nach einer Möglichkeit, mich in die gesamte Materie "smart devices" oder wie auch immer man diesen ganzen Komplex bezeichnet, einzuarbeiten um die Fragen: Wer kommuniziert über welche Protokole mit wem usw zu klären. Skills sind ja nur ein Sub-Thema von dem ganzen Komplex.
Beitrag #6480060 wurde von einem Moderator gelöscht.
Protolus schrieb: > Die Funktionalität sollte auch nicht irgendwo in den Servern von Amazon > stecken, sondern in meiner Eigenentwicklung. Dann musst du aber auch die gesamte Erkennung der Sprachbefehle selbst programmieren und auch Alexa selbst umprogrammieren. Oder zumindest den Fluss der Information vom Echo-Dot zu den Servern auf deinen eigenen Server umbiegen. Denn das Echo-Dot hat nur genug Intelligenz, um den Sprachbefehl wie "Alexa!" oder "Computer!" oder sonst was zu erkennen. Der Rest wird in der Cloud analysiert und dekodiert. Das Ergebnis von "Licht 1 an" wird dann aus der Cloud wieder an die dumme Alexa geschickt - die ist nur das ausführende Organ. Die Intelligenz sitzt in der Cloud. Und eben diese müsstest du dann nachbauen. Viel Spaß. Du bist nicht der erste hier, der sowas bauen will.
Protolus schrieb: > Hab mir die Skill-Programmierung schon mal angesehen. > Programmiererfreundlich ist das nicht gerade :-( > Ich möchte eben genau eine Skillprogrammierung umgehen. Dann kannst du auch keine Alexa für deine Zwecke nutzen. Alexa wird mit Skills um Funktionalitäten erweitert. Damit kann Alexa dann eine Eigenentwicklung von dir Steuern. > Die > Funktionalität sollte auch nicht irgendwo in den Servern von Amazon > stecken, sondern in meiner Eigenentwicklung. Alexa steckt nun mal in den Servern von Amazon. Wenn du selbst Spracherkennung machen willst und das auch noch lokal, dann reden wir von einer ganz anderen Hausnummer. Abgesehen davon dass du an das Alexa Niveau nicht rankommen wirst. > Wenn ich eine Lampe mit Alexa steuern will, muss ich auch nicht extra > einen Skill aufrufen. Alexa erkennt die Lampe und dann müssen beide über > irgend ein Protokoll Infos austauschen. Den Skill musst du nicht aufrufen, aber Alexa hat den Skill bereits geladen. z.B. um, HUE Leuchten zu steuern, braucht es den HUE Skill. Alexa erkennt dann die Sprachbefehle die spezifisch für HUE leuchte sind und der Skill weiß wie er mit der HUE Bridge reden muss. > So habe ich mir das auch mit einer Eigentwicklung vorgestellt. Alexa > erkennt mein Gerät, die sprechen miteinander und Alexa leitet dann nur > plain die erkannten Sprachbefehle an mein Gerät weiter. -> SKILL Genau damit geht das. Und nur so. Nur du musst die Befehle definieren. Nicht andersrum. Evt. informierst du dich erstmal wie das grundsätzlich funktioniert und übelegst dann weiter. Du gehst grade von komischen Annahmen aus.
:
Bearbeitet durch User
Beitrag #6480097 wurde von einem Moderator gelöscht.
Beitrag #6480101 wurde von einem Moderator gelöscht.
Naja, es gibt eine Alternative. https://www.audeme.com/movi.html Damit geht es ohne Alexa, und für normale Geräte reicht das. Vorteil : Keine Spionage. ;)
Schlaumaier schrieb: > und für normale Geräte reicht das Ist halt die Frage was das heißt. Will man auf eine Spracherkennungsqualität von 2001 zurück? Oder will man die beste Spracherkennung die derzeit möglich ist? Wenn ich zuhause alltägliche Dinge per Sprache steuere, weiß ich was ich da wählen würde.
Beitrag #6480120 wurde von einem Moderator gelöscht.
Beitrag #6480122 wurde von einem Moderator gelöscht.
Ich bin etwas irritiert über Vorschläge wie "du musst die Amazon Cloud nachbauen" etc. Im Prinzip musst du, wenn du ein Gerät per Alexa steuern willst, ein Gerät bauen was die Alexa-Schnittstelle implementiert und dadurch von Alexa als Schalter, Lampe oder sonstwas erkannt wird. Oder du greifst auf ein bestehendes Framework zurück und konzentrierst dich auf die eigentliche Aufgabe. Beispiel: Ich habe daheim ioBroker als Automatisierungssoftware im Einsatz. Dort hab ich mir ein Gerät, Typ Schalter angelegt was sinngemäß "Raspberry" heißt. Alexa findet diesen Schalter und ich kann damit einen Raspberry ein- und ausschalten. Ganz ohne Skills oder Cloud-Nachbauten. Das interessante daran: Dieses "Gerät" existiert in Wahrheit garnicht sondern nur virtuell. Wird der "Schalter" betätigt rennt ein Skript los welches die Steckdose, an der der Pi hängt anschaltet, wartet bis er hochgefahrne ist und ihn dann mit Kommandos bespaßt. Wird der "Schalter" nochmal betätigt wird der Pi runtergefahren, nochmal gegenprüft und anschließend die Steckdose wieder abgeschalten. Hinter dem "Schalter" steckt also eine etwas komplexere Logik. Auf diese Art kann ich alles mögliche Skripten, Alexa startet dann nur noch das Skript (von dem "sie" "denkt" es sei ein Schalter).
Le X. schrieb: > Ich habe daheim ioBroker als Automatisierungssoftware im Einsatz. > Dort hab ich mir ein Gerät, Typ Schalter angelegt was sinngemäß > "Raspberry" heißt. Alexa findet diesen Schalter und ich kann damit einen > Raspberry ein- und ausschalten. Wie soll Alexa mit diesem IO Broker ohne SKILL kommunizieren? Evt. ist der Skill eben schon defaultmäßig geladen. Wie handhabst du Custom Kommandos für Alexa mit diesem ioBroker System? Also was musst du zur Alexa sagen damit sie dort was tut? Und du vergisst eine Anforderung des TO: > Die Funktionalität sollte auch nicht irgendwo in den Servern von Amazon > stecken Das ist so nicht möglich.
:
Bearbeitet durch User
Das Zauberwort ist fauxmo und Wemo. https://www.heise.de/developer/artikel/Gutes-Echo-mit-ESP8266-oder-ESP32-3991889.html
Cyblord -. schrieb: >> Die Funktionalität sollte auch nicht irgendwo in den Servern von Amazon >> stecken > > Das ist so nicht möglich. Jein. Es stimm,t die Spracherkennung läuft grundsätzlich auf Amazon-Server, das lässt sich nicht ändern und wenn das ein No-Go ist kann man Alexa nicht verwenden. Die eigentliche Logik läuft aber in meinem Netz und kann auch ohne Alexa auf mehrere Arten getriggert werden. Genauso wie Amazon nicht sieht was der "Schalterdruck" eigentlich alles auslöst. Ob das für den TO reicht? Keine Ahnung, muss er beurteilen. Einen Denkanstoß hat er von mir gekriegt.
Le X. schrieb: > Die eigentliche Logik läuft aber in meinem Netz und kann auch ohne Alexa > auf mehrere Arten getriggert werden. > Genauso wie Amazon nicht sieht was der "Schalterdruck" eigentlich alles > auslöst. Naja das sollte klar sein. Grundsätzlich lässt sich jede Custom HW im Haus mit Alexa steuern. Die hat natürlich nichts mit Amazon zu tun.
Das sind dann aber x verschiedene skills die man für verschiedene Geräte braucht, mit ioBroker ist es einer. Ich schreibe ‚Dekolampe ein‘ in den ioBroker Adapter und welche Variable gesetzt werden soll. Und das kann dann alles sein was der ioBroker ansteuern kann.
Johannes S. schrieb: > Das sind dann aber x verschiedene skills die man für verschiedene Geräte > braucht, mit ioBroker ist es einer. Ich schreibe ‚Dekolampe ein‘ in den > ioBroker Adapter und welche Variable gesetzt werden soll. Und das kann > dann alles sein was der ioBroker ansteuern kann. Najo klar. Das ist halt ein Skill extra für Custom Hardware und Entwicklungen. Der selbst wiederum anpassbar ist. Ändert aber am Konzept nichts: Ein Skill wird benötigt. So oder so.
batman schrieb: > Kann man nicht einfach auf den Lichtschalter drücken? Kann man. Aber meine Lichtschalter reden auch nur mit der HUE Bridge und die schaltet die Lampen. Also ist es egal ob Alexa mit der Bridge redet oder mein Lichtschalter oder meine App. Falls du einen so richtig hart verdrahteten Lichtschalter meinst: Das 20. Jahrhundert ist vorbei.
:
Bearbeitet durch User
>> Die Funktionalität sollte auch nicht irgendwo in den Servern von Amazon >> stecken, sondern in meiner Eigenentwicklung. Mit Funktionalität meinte ich nicht die Spracherkennung. Aber um die gehts mir. "Alexa, Siri und Co" repräsentieren nun mal die momentan beste Spracherkennung. Wenn es eine frei verfügbare .dll zur Spracherkennung mit annähernd gleich guter Qualität wie Alexa gäbe, könnte ich auf Alexa verzichten. Dann würde ich meine Geräte damit tseuern. Ein freies, vernünftiges Spracherkennungs .dll hab ich aber leider noch nicht gefunden. Wie schon gesagt, ich habe mich biher nur am Rand mit Alexa und Co, smart devices usw beschäftig. Daher gehe ich wahrscheinlich auch von falschen Vorausetzungen aus. Ich würde mich ja gerne tiefer in das Thema einarbeiten. Und das war meine ursprüngliche Frage: Wo gibts vernünftige Literatu, Links usw?
Protolus schrieb: > Ich würde mich ja gerne tiefer in das Thema einarbeiten. Und das war > meine ursprüngliche Frage: Wo gibts vernünftige Literatu, Links usw? Die offizielle Alexa-Developer-Webseite von Amazon dürfte da mit der beste Anlaufpunkt sein: https://developer.amazon.com/en-US/docs/alexa/ Die Dokumentation dort ist ausführlich, und es gibt diverse Schritt-für-Schritt-Tutorials, z.B. um in wenigen Minuten einen einfachen "Hello World"-Skill umzusetzen. Aber vielleicht sagst Du lieber mal, was genau Du eigentlich vorhast. Je nachdem, was Du konkret vorhast, ist es nämlich gar nicht nötig, Dich mit der Entwicklung eigener Skills herumzuschlagen. Falls Du irgendwas kommerzielles anbieten willst, dann wirst Du da vermutlich nicht drum herum kommen. Dann musst Du normalerweise Deinen eigenen, im Internet per HTTPS erreichbaren Webserver betreiben, den Amazon bei jedem Sprachkommando kontaktiert, oder Du verwendest alternativ das kostenpflichtige AWS Lambda, wofür bspw. eine Kreditkarte erforderlich ist. Falls Dein Skill Smart Home-Funktionalität haben soll (Was stark vereinfacht gesagt bedeutet, dass Du so etwas sagen kannst wie "Alexa, schalte die Lampe an!", statt eine umständlichere Formulierung wie "Alexa, sage Skill XY, dass die Lampe angeschaltet werden soll!" verwenden zu müssen), brauchst Du so oder so AWS Lambda. Falls es Dir aber nur darum geht, in Deinem eigenen Haushalt ein paar Geräte per Sprache zu steuern oder so, dann gibt es viel einfachere Möglichkeiten. Dann musst Du keinen eigenen Skill entwickeln und den damit verbundenen Aufwand betreiben.
Wie ich schon geschrieben habe, komme ich aus der Entwicklung, habe aber Arduino und Co nur so am Rande wahrgenommen. Kansst Du Deine Lösung näher im Detail beschreiben?
Protolus schrieb: > Wenn es eine frei verfügbare .dll zur Spracherkennung mit annähernd > gleich guter Qualität wie Alexa gäbe, könnte ich auf Alexa verzichten. Du meinst, eine einfache, kostenlose DLL in der Größe von ein paar kB könnte das, was eine ganze Rechenfarm und eine Unmenge an Mannjahren und Forschungsprojekten und Patenten bewerkstelligen, ersetzen? Ich glaube, du stellst dir das ganze ein kleines wenig zu leicht vor. Muss es denn zwingend Alexa sein? Auf eine Raspberry Pi ließe sich eine abgespeckte Spracherkennung bestimmt einrichten. Meinentwegen könnte die auch auf "Alexa" hören. Nur eben an die Qualität von Amazons Alexa wird das ganze bei weitem nicht herankommen, fürchte ich.
Joachim S. schrieb: > Aber vielleicht sagst Du lieber mal, was genau Du eigentlich vorhast. Je > nachdem, was Du konkret vorhast, ist es nämlich gar nicht nötig, Dich > mit der Entwicklung eigener Skills herumzuschlagen. So, wie ich ihn verstanden habe, will er alles das, was in der Amazon-Cloud passiert (also in erster Linie die Sprachverarbeitung) bei sich daheim auf einem Arduino (?) oder ähnlichem haben. Protolus schrieb: > Ich möchte eben genau eine Skillprogrammierung umgehen. Die > Funktionalität sollte auch nicht irgendwo in den Servern von Amazon > stecken, sondern in meiner Eigenentwicklung. Protolus schrieb: >>> Die Funktionalität sollte auch nicht irgendwo in den Servern von Amazon >>> stecken, sondern in meiner Eigenentwicklung. > > Mit Funktionalität meinte ich nicht die Spracherkennung. Aber um die > gehts mir. Offenbar geht es ihm um die Spracherkennung. Nur eben jene findet in der Cloud statt, wo dieses hochkomplexe Problem einfach mit einer riesigen Menge an Rechenleistung beworfen werden kann. Was da so einfach und reibungslos erscheint ist in Wahrheit nämlich ein hochkomplexer Prozess. Hier ist ein wenig Prosa zu der ganzen Thematik. https://de.cloudflight.io/presse/iot-sprachsteuerung-das-geht-auch-offline-und-sehr-privat-35425/ Man kann sich so eine Rechnerfarm natürlich auch in den Keller stellen - ersetzt eben die Fußbodenheizung...
Selbst Alexa versteht mich, meine Frau oder Gäste nicht immer sofort. Dazu kommt das man nicht direkt aus 20 cm in ein Mikrofon spricht, sondern es kommen noch reichlich Störgeräusche hinzu. Und häufige Fehlfunktionen werden dazu führen das die Akzeptanz sinkt. Die Alexa/Siri/HeyGoogle Erkennungsrate wird man kaum mit einem RPi erreichen.
Johannes S. schrieb: > Selbst Alexa versteht mich, meine Frau oder Gäste nicht immer sofort. Ich verstehe nicht mal meine Frau, nicht sofort und auch nach ein paar weiteren Minuten, wie sollte das eine Alexa können? SCNR
ja, das verwirrt alle neuronalen Netze einer KI, das ist Forschungsbedarf für ein paar Dekaden :)
Protolus schrieb: > Wie ich schon geschrieben habe, komme ich aus der Entwicklung, habe aber > Arduino und Co nur so am Rande wahrgenommen. Kansst Du Deine Lösung > näher im Detail beschreiben? Du hast leider nicht geschrieben, an wen diese Zeilen überhaupt addressiert sind. Ich vermute jetzt einfach mal, dass Du mich gemeint hast, weil ich der einzige war, der seit Deinem vorherigen Posting etwas geschrieben hatte. Was ich mit dieser einfacheren Lösung gemeint habe: Mein privates Smart Home-System basiert bspw. auf der Open Source-Software "Node Red". Und dort ist es bspw. so, dass ein freundlicher Zeitgenosse aus England einen Dienst anbietet, den man als Node Red-Benutzer kostenlos nutzen kann, und der die Verwendung von Alexa für eigene Geräte besonders leicht macht: Man registriert auf seiner Homepage einen kostenlosen Account, loggt sich ein, und kann dort die Geräte, die man steuern will, als "virtuelle" Geräte anlegen. Man gibt jedem Gerät die Bezeichnung, mit der das Gerät in Alexa-Sprachkommandos referenziert werden soll, und legt noch grob fest, um was für eine Art von Gerät es sich handelt. Dann aktiviert man in Alexa den von diesem freundlichen Engländer entwickelten zugehörigen Skill, startet eine "Gerätesuche" - und schwupps, schon zeigt Alexa alle virtuellen Geräte, die man eben auf der Homepage angelegt hat, als vermeintlich echte Geräte an. Wenn man nun Alexa per Sprachkommando auffordert, dies oder jenes mit einem dieser virtuellen Geräte zu tun (z.B. "Alexa, setze Nachttischlampe auf 50%"), dann wird in Node Red eine entsprechende Nachricht mit allen relevanten Parametern erzeugt (ungefähr so etwas wie: {"Gerät":"Nachttischlampe", "Aktion":"Helligkeit setzen", "Wert":0.5}), die man dann entsprechend weiterverarbeiten und irgendwelche Aktionen auslösen lassen kann. Für die Smart Home-Software "ioBroker" gibt's offenbar etwas ganz ähnliches, wenn ich das richtig verstehe, und für wieder andere Smart Home-Systeme wahrscheinlich ebenfalls. Oder wenn es bspw. nur darum geht, ein Gerät ein-/auszuschalten, dann geht es noch einfacher, dann genügt häufig eine günstige WLAN-Steckdose. Aber das sind alles nur Beispiele - solange Du nicht etwas konkreter wirst, was Dir so vorschwebt, ist es schwierig, da wirklich gute Ratschläge zu geben.
Amazon Echo Plus und Echo Show unterstützen ZigBee. Wenn dir die implementierten Geräteprofile ausreichen (u.a. Lampe, Lichtschalter), dann kommst du um das Thema Skills komplett herum. Siehe: https://developer.amazon.com/en-US/alexa/devices/connected-devices/development-resources/zigbee
WAs spricht denn dagegen, Alexa auf den Raspi herunterzuladen ?
und jetzt schrieb: > WAs spricht denn dagegen, Alexa auf den Raspi herunterzuladen ? Würde das irgend etwas an der cloud-basierten Funktionsweise ändern?
Ohne Entwicklerzugang zum AWS geht gar nichts... Du musst dich also erst mal als Entwickler anmelden und dann wirst du von den Möglichkeiten im AWS erschlagen. Umsonst ist nicht einmal der Tot und Amazon möchte an allen verdienen. Irrend einer zahlt, auch bei HUE und Trittbrettlösungen funktionieren nur mit alten Geräten. Die Sache ist an sich nicht sehr kompliziert, Geräte per MQTT etc. ins AWS anzubinden. Im ersten Jahr fallen auch keine Kosten an und danach sind die kosten für 10 Geräte z.Bsp lächerlich (ein paar Cent im Monat). Summiert sich aber wenn du deinen Skill veröffentlichst und auch noch unüberlegt die Firmware teilst.
Still wurde es ;) Nunja der Einsieg ist relativ leicht, denn es gibt viele Anleitungen im Netz. An dem man sich aber auch die Beine ausreißen kann... Amazon selbst Dokumentiert die API schlecht oder sie ist schon zu alt. Zumal muss man ein paar Amazon Eigenheiten in kauf nehmen, z.Bsp. bei MQTT welche so gestrickt wurde das man maximal daran verdienen kann. Das speichern der Zustände funktioniert über Schattengeräte und nicht über das MQTT Protokoll. Wie soll es auch sein das jede Änderung der Schatten $ auslöst. Mein Zeug läuft seit 3 Jahren ohne Probleme, wie ich bereits erwähnte kostet mich der Spaß ein paar Cent im Monat. Die Möglichkeiten sind enorm und es lohnt sich das kostenlose Jahr umfangreich zu nutzen.
Wemo bzw. Hue Emulation geht doch ohne "Cloud" oder "Skill"!?
Klaus schrieb: > Wemo bzw. Hue Emulation geht doch ohne "Cloud" oder "Skill"!? Ja, aber das sind m.W.n. aber auch genau die beiden Ausnahmen, die es gibt. Ich glaube, deren direkt in Alexa integrierte Unterstützung hat historische Gründe. Man kann die in Alexa integrierte Unterstützung von Hue und WeMo unter Umständen ausnutzen, indem man ein Smart Home Device so programmiert, dass es sich gegenüber Alexa als WeMo-Plug oder Hue Bridge ausgibt. Ein solches Gerät, ist aus Sicht von Alexa dann aber halt eine (Hue) Lampe bzw. eine (WeMo) Steckdose, und man kann solche Geräte dann nur mit solchen Sprachkommandos steuern, die für eine Lampe bzw. Steckdose Sinn machen: Einschalten, Ausschalten und im Falle der Hue-Emulation vermutlich noch dimmen. Wenn das zu steuernde Smart Home Device zum einen netzwerkbasiert ist und zum anderen diese 2-3 Aktionen (Einschalten/Ausschalten/Dimmen) ausreichen, dann ist Hue/WeMo-Emulation eine Option. Es ist keine Option, wenn das zu steuernde Gerät bspw. ein Türöffner ist, denn ein Sprachkommando wie "Alexa, öffne XY" macht bei einer Lampe bzw. Steckdose keinen Sinn. Von daher ist es schwer pauschale Aussagen zu treffen ohne zu wissen, was genau jemand eigentlich vorhat. Hier gibt es eine kleine Übersicht verschiedener Möglichkeiten, wie Geräte Alexa-fähig werden können: https://developer.amazon.com/de-DE/alexa/devices/connected-devices/development-resources#development-options
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.