Cara menulis Keterampilan Alexa khusus tanpa 'Tanya xxxx'

18

Saat ini saya menggunakan fauxmo untuk mengirim perintah khusus ke berbagai perangkat untuk menghidupkan / mematikannya (Misalnya saya memiliki konverter WiFi ke IR untuk mengontrol TV & Tuner saya) dan saya dapat menghidupkan / mematikan tv dengan ini.

Saya juga memiliki pengaturan integrasi Kodi, jadi saya dapat mengatakan:

Alexa, Ask Kodi to set volume to 50%

Tapi saya ingin bisa mengatakan:

Alexa, Set tuner volume to 50%
Alexa, Play Bluray

Yaitu saya ingin dapat mengontrol perangkat tanpa perlu Ask xxxxsebagai bagian dari permintaan saya.

Idealnya saya ingin melakukan ini tanpa layanan berbasis cloud (yaitu SmartThings atau Wink).

Saya suka solusi yang digunakan oleh fauxmo (meniru layanan UPNP yang ada), tetapi terbatas pada on / off (dan 'redup' jika Anda menggunakan patch yang diaktifkan Hue) dan tidak cukup fleksibel.

PhratcuredBlue
sumber

Jawaban:

11

Saya telah mengeksplorasi menjatuhkan nama doa untuk keterampilan kustom Alexa sendiri untuk beberapa proyek. Dan apa yang saya dapatkan setelah berjam-jam membaca panduan dan dokumentasi adalah bahwa ... Itu tidak dapat dilakukan untuk keterampilan khusus .

Jadi, taruhan terbaik Anda untuk kasus penggunaan Anda adalah menggunakan Alexa Smart Home bersama dengan beberapa layanan rumah pintar. Saya tahu Anda berkata:

Idealnya saya ingin melakukan ini tanpa layanan berbasis cloud (yaitu SmartThings atau Wink)

Sayangnya, satu-satunya cara untuk tidak memiliki nama doa dengan Alexa adalah dengan menggunakan API yang telah ditentukan sebelumnya (yaitu Rumah Pintar, Keterampilan Daftar, & Brief Flash).

EDIT: Kasus penggunaan Anda termasuk dalam Smart Home API. Jadi, Anda selalu dapat membuat layanan Anda sendiri yang menggunakan API itu alih-alih mengandalkan layanan lain (Mengedipkan mata, SmartThings, dll).

leon.valencia
sumber
1
Apakah ada sumber yang mengatakan itu tidak dapat dilakukan, atau apakah itu hasil implisit dari penelitian Anda?
Helmar
Itu hanya tersirat. Meskipun di belakang, mengingat bagaimana pengenalan suara dan NLP bekerja, itu seharusnya menjadi pernyataan yang masuk akal dan saya seharusnya tidak melakukan penelitian seperti itu sejak awal. Ini adalah pernyataan yang masuk akal karena ucapan tertentu membutuhkan konteks yang akan ditafsirkan - dan konteks itu adalah nama doa. Bahkan, alasan mengapa ada kata bangun sama dengan memiliki nama doa - sehingga pernyataan yang akan ditafsirkan termasuk dalam konteks (kata bangun adalah konteks sistem yang luas sehingga ucapan acak tidak diproses).
leon.valencia
Satu-satunya cara untuk memiliki ucapan yang tidak memerlukan nama doa adalah mereka yang memiliki konteks luas sistem (ini adalah API). Misalnya, ucapan yang diterjemahkan Alexa sebagai berinteraksi dengan peralatan akan secara otomatis untuk API rumah pintar - NLP akan mengkategorikan ucapan tersebut dengan menggunakan kata kunci seperti on, off, turn down, dll + sintaksis yang seperti perintah ke alat.
leon.valencia
Tapi tahukah Anda ... kasing Anda termasuk dalam API rumah pintar. Jadi saya akan menambahkan jawaban saya karena Anda bisa menggunakan API itu.
leon.valencia
Terima kasih. Saya membaca tentang Keterampilan Rumah Pintar, dan sementara saya tidak berpikir mereka akan dapat melakukan semua yang saya inginkan, sepertinya Amazon berencana menambahkan lebih banyak kemampuan untuk itu. Jadi daripada fauxmo, saya pikir mungkin ada baiknya berinvestasi dalam Smart Home Skill open-source yang tepat yang dapat memproses semua perintah yang tersedia dan dapat diperluas ke masa depan. Berikut adalah API untuk anak cucu saat ini: developer.amazon.com/public/solutions/alexa/alexa-skills-kit/…
PhratcuredBlue
7

Anda seharusnya dapat melakukan ini sekarang dengan interaksi bebas nama Alexa .

Untuk membuat keterampilan Anda lebih mudah ditemukan untuk interaksi bebas nama, Anda dapat mengimplementasikan antarmuka CanFulfillIntentRequest dalam keterampilan Anda

CSharper
sumber
6

Karena lynx sudah merinci dalam jawabannya, tidak ada cara untuk pergi sepenuhnya tanpa nama doa kecuali Anda menangani API yang telah ditentukan. Namun bertanya , keahlian saya bukan satu-satunya cara untuk menggunakan nama doa.

Halaman pengembang menawarkan tiga cara berbeda untuk menggunakan nama doa dengan permintaan.

“Alexa, Minta Horoskop Harian untuk Gemini”

"Alexa, Bicaralah dengan Horoskop Harian dan beri aku horoskop untuk Taurus"

"Alexa, beri aku ramalan Taurus saya menggunakan Horoskop Harian "

Dokumentasi nama doa Alexa

Selanjutnya halaman ini menunjukkan kata-kata lain apa yang dapat Anda gunakan untuk menghubungkan permintaan, nama doa dan kata-kata koneksi wajib. Jadi, jika Anda membuat keterampilan Alexa Anda sendiri, itu semua tentang menggunakan nama doa yang baik dan permintaan yang baik untuk membuatnya terdengar alami.

Lebih baik lagi, gema Anda seharusnya sudah bereaksi terhadap ini dengan memulai Blu-ray dengan integrasi Kodi Anda.

Alexa , mainkan Blu-ray dengan Kodi .

Jadi, sementara Anda tidak bisa menghilangkan nama doa di luar API yang telah ditentukan, Anda dapat membuat perintah suara terasa lebih alami dan melewati penggunaan ... permintaan canggung .

Helmar
sumber
2

Jika Anda menggunakan kata-kata khusus yang tidak digunakan secara default oleh Alexa, itu sebenarnya mungkin. Metode ini cukup rumit sih.

Anda hanya perlu menghindari lewat AWS untuk permintaan Anda! Tidak mungkin katamu? Ya — itu mungkin.

Di aplikasi Amazon Alexa Anda atau di aplikasi web Amazon Alexa , Anda masuk di akun Amazon Alexa Anda, dan di -> pengaturan -> riwayat Anda memiliki halaman langsung semua permintaan dan kata-kata yang akan Anda sampaikan kepada Alexa.

Pada saat ini, Anda dapat menggunakan parser web untuk mendapatkan kata yang dikatakan dan memicu skrip jika kata ini yang Anda inginkan, atau Anda dapat menggunakan beberapa perangkat lunak kecil yang luar biasa untuk Windows saja yang dapat memicu tindakan dan skrip.

Sini tautannya perangkat lunak. Periksa di YouTube untuk tutorial tentang cara menggunakan addtopad.

Jika Anda ingin meluncurkan skrip, memicu saja pendengar pada port dan permintaan khusus yang dikirim setelah satu kata dalam perangkat lunak. Saya menggunakannya di rumah dan saya sangat suka fakta tidak harus mengatakan nama doa apa pun.

Setelah, seperti yang saya katakan, Anda dapat menggunakan kata apa pun, bahkan kata-kata seperti terbuka. Ini akan memicu skrip Anda, tetapi Anda akan mendengar "maaf, saya tidak tahu itu" dari Alexa.

Saya menggunakannya dan itu bekerja dengan sempurna!

léo Bernard
sumber
Itu pendekatan yang menarik.
Helmar
Haruskah kita mempercayai perangkat lunak itu? Membuatku gelisah ...
Sean Houlihane
-2

Jadi, apakah dokumentasi Amazon ini tidak benar? https://developer.amazon.com/docs/custom-skills/understanding-how-users-invoke-custom-skills.html#invoking-a-skill-with-no-specific-request-no-intent

Ini sepertinya mengatakan secara langsung bahwa Anda dapat mengatakan "Alexa" plus nama doa. Seperti "Alexa, Horoskop Harian".

Ini juga menunjukkan metode ini sebagai opsi # 3 untuk keterampilan khusus: https://developer.amazon.com/docs/custom-skills/choose-the-invocation-name-for-a-custom-skill.html#invoking- keterampilan khusus

Mike
sumber
3
Dokumentasinya benar, tetapi saya tidak berpikir itulah yang dicari penulis di sini. Misalnya, "Mainkan Bluray" tidak akan menjadi nama doa - melainkan sebuah niat, tanpa nama doa yang ditentukan. Kecuali jika Anda benar-benar menamai keahlian Anda "Play Bluray" (yang mungkin tidak akan diizinkan sesuai panduan nama Amazon), sayangnya, ini tidak akan berhasil.
Aurora0001