From ef8da6b3075ae652ed6d37bae62f26a197e31d82 Mon Sep 17 00:00:00 2001 From: Michael Fester Date: Mon, 26 Jun 2017 21:21:40 +0200 Subject: [PATCH 1/4] Documentation for Snips components --- source/_components/snips.markdown | 91 ++++++++++++++++++++ source/images/screenshots/snips_modules.png | Bin 0 -> 40124 bytes source/images/screenshots/snips_nlu.png | Bin 0 -> 49459 bytes source/images/supported_brands/snips.png | Bin 0 -> 5583 bytes 4 files changed, 91 insertions(+) create mode 100644 source/_components/snips.markdown create mode 100644 source/images/screenshots/snips_modules.png create mode 100644 source/images/screenshots/snips_nlu.png create mode 100644 source/images/supported_brands/snips.png diff --git a/source/_components/snips.markdown b/source/_components/snips.markdown new file mode 100644 index 000000000000..764b5d73b038 --- /dev/null +++ b/source/_components/snips.markdown @@ -0,0 +1,91 @@ +--- +layout: page +title: "Snips" +description: "Instructions how to integrate Snips within Home Assistant." +date: 2017-06-22 12:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: snips.png +ha_category: Voice +ha_release: 0.10 +--- + +The [Snips Voice Platform](https://www.snips.ai) allows users to add powerful voice assistants to their Raspberry Pi devices without compromising on Privacy. It runs 100% on-device, and does not require an Internet connection. It features Hotword Detection, Automatic Speech Recognition (ASR), Natural Language Understanding (NLU) and Dialogue Management. + +![Snips Modules](/images/screenshots/snips_modules.png) + +Snips takes voice or text as input, and produces *intents* as output, which are explicit representations of an intention behind an utterance, and which can subsequently be used by Home Assistant to perform appropriate actions. + +![Snips Modules](/images/screenshots/snips_nlu.png) + + +## {% linkable_title The Snips Voice Platform %} + +### Installation + +The Snips Voice Platform is installed on Raspberry Pi with the following command: + +```sh +(pi) $ curl https://install.snips.ai -sSf | sh +``` + +### Creating an assistant + +
+ +
+ +Snips assistants are created via the [Snips Console](console.snips.ai). Once trained, the assistant should be downloaded and copied to the Raspberry Pi + +```sh +$ scp assistantproj_XXX.zip pi@pi_hostname:/home/pi/assistant.zip +``` + +and installed locally on the Raspberry Pi via the `snips-install-assistant` helper script: + +```sh +(pi) $ sudo snips-install-assistant assistant.zip +``` + +### Running Snips + +Make sure that a microphone is plugged to the Raspberry Pi, and start the Snips Voice Platform using the `snips` command: + +```sh +(pi) $ snips +``` + +Snips is now ready to take voice commands from the microphone. To trigger the listening, simply say + +> Hey Snips + +followed by a command, e.g. + +> Turn the lights green + +We should see the transcribed phrase in the logs, as well as a properly parsed intent. The intent is published on MQTT, on the `hermes/nlu/intentParsed` topic. The Snips Home Assistant component subscribes to this topic, and handles the intent according to the rules defined in `configuration.yaml`, as explained below. + +## Home Assistant configuration + +By default, the Snips MQTT broker runs on port 9898. We should tell Home Assistant to use this as a broker (rather than its own), by adding the following section to `configuration.yaml`: + +```yaml +mqtt: + broker: 127.0.0.1 + port: 9898 +``` + +In Home Assistant, we trigger actions based on intents produced by Snips. This is done in `configuration.yaml`. For instance, the following block handles `ActivateLightColors` intents (included in the Snips IoT intent bundle) to change light colors: + +```yaml +snips: + intents: + ActivateLightColor: + action: + - service: light.turn_on + data_template: + entity_id: light.{% raw %}{{ objectLocation | replace(" ","_") }}{% endraw %} + color_name: {% raw %}{{ objectColor }}{% endraw %} +``` diff --git a/source/images/screenshots/snips_modules.png b/source/images/screenshots/snips_modules.png new file mode 100644 index 0000000000000000000000000000000000000000..60235f65681e1a0e445bcc8b46b7de578a47669c GIT binary patch literal 40124 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%0DtkaA9u+=3^{HFAJCn<*qLLJe(0~ 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 literal 0 HcmV?d00001 diff --git a/source/images/screenshots/snips_nlu.png b/source/images/screenshots/snips_nlu.png new file mode 100644 index 0000000000000000000000000000000000000000..b589f3f1cfcd1b8259ad4770b6189685aaad302b GIT binary patch literal 49459 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 JqLbDk{|~k_$NvBT literal 0 HcmV?d00001 diff --git a/source/images/supported_brands/snips.png b/source/images/supported_brands/snips.png new file mode 100644 index 0000000000000000000000000000000000000000..ec98a5f2a6fdddc2a9f132c10013d5ee75d918bc GIT binary patch literal 5583 zcmd5=^;=W#`)8DZAkrzRARr}gKnX#mCm|^fBHf(>W`GDtIXXm;l$IDZBnA?rL27i2 zj!~mN2mS5)7ksblxwhTc+5NiX+|P4f=M|x)p-e%>OooStN1>{sppAzIiUodqkPri( z5QXqP;0xrbt^5qH6vc|c!=sB(Rd}lF2inTGIYOsL*Lk(C1s<&2k7N8uS76V~1LJa7 z;%-y^6qZ-f3e$I>wYCRa!M@wT9rz-WW8z0X7?Scd-#!>r!&oZt*~sVdoxC7Vh@}b9 zZ1Y6~uDYXor*}}Y2eXcl=|Ef5fp6G^=gMYNKXIsN?8i`&zl#?doQZ*%5Gu%DFEefq zqHi~!{xyGEuk{?A2T2w$56Ue1^B4}kV#DTwMeu%IS{x$+*CIy`?Z z5Z`T60xk}GV8KaLpi8ZJFaBBD9QDNif_YHI;{X1jp7PJimG`3fm(&s$2T}aZw1*LY z99m^g z-4$O5PRJgqyS@ z2bR03Q%l6@ZZs6^k_WCCXDL&@WlffVx+pJ`U_xXAZ|L-Lg=oiI@p&q!B2IiV+>OW3Z>%Ms*AyfL>^S{cuvdP9RP7GjATz*oO zAC9$zv4p9aT#yjxN?Yn*#hcy@elkgdz77gi++4Awy z>SiuYSy=wkri@9Q+#1K+S`IXh8~W=VbR2Ic^WgnQyr=con{ZZeS*=1PPry!KQ$XOO^-=>d%50jv7}<< zQvciUcX1iBm}{nJ;LcV^$!2qdXnv*x`G)s$;~oj$&GAi=$Zeil!(Khmig z9td$7=L~183h)kq6zelpjhkVXKQmeN^5rv%y;caQ|Jcz2MZQRRO+K~7?KsX{WdRk< z&#)oy`PeOhn?N8$dDAU=b7F8mk;x2ZA~rZLtD5P`#v0nK$o<;D2e~q8XE6qckub@y zn?kz{eC^*e9}g!x*SI%`_)hgD8<=7EmM_n?`s{O};}5d@zKLqe%_Q*d)P4t7xgJGZ z`Lt2Ei1#JOP5bb3qW^Hi7jId8e$>iX>H0$e*Sz={DRb`jMe1sGp#vGk!eFkfo7A&9 z_Y3J3^@)V;_tI}9IipsitdO&Qs)k1*e#Ax0ok>MFCJ#C7ZyPuDY^SmRiDPeOppAK5 zeimBV92-ftFzp%5^e{I+s!u{}rGDcZ?Q&45p;fPC_~A&LL}~5xf<7;uo%ZA5ypE*3 zKUTcQhN)h)2}6NfLN0{UOZQ%?_~nf|+PZag$u=&ARbpD2Dq z&REj4{Q}1%7U<(I8CH-B6NsL0MPMUOi_N38J45zI8C|Cv_k_&ZvhvmjlguS-uxnT! z51Ae{h7e)of^Fp>9Tk70P3ulI%>-pRc`dU6xZTqL{cnn^)5J3BbkV2m&vxFBV8S+E0 z+@V<+^hUz&+2;e#1Ig*TU1(}2FGkCLRDS_a5Zu78vaPj!_kdaUd_PI3L@U+hE(g(2 zbk544jS*c&aJ@2de{Lh+uvF1{<;778L$lVQe&YC(Fw2z3V(8Q#@WccSd>=IY)XpC< zd)&;nQL?Y5r>e&R9H$>%+F7xnq>7s~(c};PrktHO_25@NK$q+Y*-D}!w^k`V}=3XXZPf#FS%p9cJBE8v8wZsD%mQ3ek2fW zn^hfr7YnwlmAR}t^glU9fKWW>BZ=Dl4Wy4dd%-Q^#%b>ZB+|1yC<5&_qV(K9~iNg<) zV5wnSfGeASkbKwh^k4@|up= zykl?XGWg6eT%r__?oQkSkqKIgeIBHJ>}(`OJXDcjrPQf`o@O%3L}0ok9TP(WyX@CT zmV!(o-KqF*)!43SZJ5+ex!~pCv3k?Ch@7}TTh);&)aF!sdrxai@3OgupQNxkLG!bd z<&d1cM%vhp?2$;=6S_DVY^>;%b5bTRziZ|?Mw^`*J8Xkys ze31E2_aNL0rMH;Fq*6{v++sYtJ_g??1#2Ep&Ef|wECrBV)!pxAQfYXvFU@{YFqI%6 z>ASG`Td!sUDQ-QRyEutgG7x;}S&Q4QYeTgLwH6KxST3}m?3s`h1^1(WVW!%sZL zLK!u(*5eJmI9JHcUH^KUhC-*{3&&cvf%32X9*fZuB$k;+(}BXf z@7U{BgI1+W=AU}rVpwi*4l*4ZO6?ij*(Fth63QTdns~(R1T)N0q=oThHCM$H+)Cx}O&IWq=#A`>yRw(^q3UlZ8;%?D##e*M5 zL%L&n3pO18z4|&66WMq+BcVX1UaR@ILss__ctUMB1Hh~IoK82s$k=(r3lZe>y?Z{C zglA-Saah(OiLi%IovZy$!fA$dCzY{yo(iS&9>!JS8!$=y5WmN;1hLW^lw122xoM;A zizao0W~Rldt}6p1Z&ws?WHi@&w(lJ;4a)S-%jnpJ_2kQC%yLhDCyJzp=aO;vy(L=4 zzLQpZa-42#h-HhRL8=*7^KZYvi4wQwTCHL+c;@-;2G3IO8d#srV8=F`n1EEfzrLD( zc;c}7$13v7d4M`xUoJ+LSft)n`bgc^aG*rQVKuL5pG<2dHF~3-O5F#Z?_cFcuRY@W zjtasg5pKLCWMX&Wm#dPh8h&g{cDGT~8AIiYBPY;CI?`-M$a?e37xQL4G8T+>kdjwi zWl78}{8)N=dVa7hF`D0a*PIDAB+?6JdP>PedJ@L6*(s6qB7LH*N#!viS2 zS81yq(tbY)@u%r2BXM(-n|RQuf1mi)#K40RcByempjo&u&+iWN-=vN|%|$ISAa-xE zP>;vaXq1aqE}-CS2ksv|1*?iM@n+o1&SjeZLS+qW6a6X6(r8P_I}`O^36rx3xfVai zsC*vMYkvM}5i`o-64>3uTr)#IX9HGrq5V1b`jMZi1W3r{te3e`Ef-TA>9&Wq&4|DV z!`sm(_6mC!I|M@6nhTT9T#r2aqos4KW?ldcH%+-Lx5jgp0?m5z{v`AG6-&tYBcqoz zYrldg?FWS+HdGv|58v!s95*dRz6zE-`3mW>z?v~@y6sS#uc~hoY1%5NJ_71%W$Mum zXjRnY$4B4iQLnUVC?yh$s%?*!PdBJDMxhJqw6^$vA_e$^niO}A-52p(_B(FGj26#; zzpKLUvI4E1kFqY5omZd#B(RC{E6wa~%x*tr`Z8HAPbT1KtAH% zYQ_y#H+fBdqw(Fs!NWTe>P{H$mcE$E_D-(*#Xko6#a0;2X;xtUkXySEnXLKp1z7t@ zV6PH95BrlS!b%f>zN6Hy0~1pH_u&@lP>BI2+jjXH;2c`~uZpL_*bV1NZ7o z_voG_BiA)dX*2V#DZ^azb`<_x(a7)eiHU=5fh{vGT?O~n6p9@BH+}cNHKvaa=}Ll4 z#?>mj2TvVt$Kn?vAAOnp#HUl~Duh+6+mc|B6)*Nkb*{gEn|S$PPpqq`_SPz#&3oJw z?|E)R7fN~x+ZNuCTVubL>px*Fi>XC3CqJrK^&P5}Ju3HxpQO}nmv$AP;@yBZ+V^6K z8-bO6d$_Vf^OJTzfLQgW$WK#5l-*@4TH5c?i8KuHK&2m=A9lRMgOQB$3NG~AOse2EW&u~Ty!-AdUJM@fijoKdl;`l2r}YUy&rHp6;~PWJ1- zf=iO=G{e3>#GZIarREF)hI(Bw)?h=^&UVH17ab!L71VFk=>r7ss0{OExPQu3nAfCH z#~RAJK;Gt?825fD-E-mj$UtW}B@;VNOB*$|7_Xn^SMWllhsW3>k$)vN}*Q`WU#KTxE9&tx)nEYCq?h0 zgJkg@!6t2QcHo6~n?-DgzRc87&<^>znkNNK^q=)t?S)Iu#>cxnaXh7Ef+oZFMwe6N z1T%`?daEamj3E~d&zXnwAgdeqk(J-%RM~7bQ1VB!v!&Ls3hAYx?_)1vluYq%01tRC zT_Y&FC{g1@vNYM%Mp>JVk{PJexzpy?(A9KYpUZ!V-N0ef6I}+mYHRBAdib|;6Mnc7 zLEMBI2axgI-NQkd*-w*`g1NBVs>TO)sHyWb|9-hyqtJ>6$eMjRelGrp#Ggj$lZBhM z!3dOJRqtxyHi6bEy%^Vnw#+Ct3X!#iP*BN#el#g^vqDHu8qQRbGqQIFd%}GB)LHuQ z1JjqnNAD$VL?_AGfo33TUFpWW-4 zA%4u3&g7Q&Yw!NUHkG2D!;`O1WyeX(iIkiddUdrm@kRU74+&o$n+;2+R7J{&Mb%e1 zDqs2Qtn@~O=*7VVK$m)j>Ux$s<34s2xux7?!I6MICI1u{Fd`6t!(SBw1`Lm>ve^aw zwLtL}m|HS@U7u^|sz3mkiu%uuIKgX;iU_!mw1fql*K(DX0RZ5A$N$jyT4p1oj>YFA z(V9>M)VQyu0Kl~(QhSX}3y=iu+g~gH1~ml$M!c6sU9Yk4s{qeL4tZ;a>!9@jK;cGL z@vJjvY>lO!)rV3H^TApJiEcEI+NhGk7RCX;l*JC7x8cC(5VTA9lU-%^`Hx#i;!skW zO`p<>*KGZDpy8}5^4{dZi6&WGYQ*}@1i&?UvB>ONkCUGwZI|J$Zqm^Er@h_A0}8_< zerb9w(LptUBNs#HJ<4}oB?vG`EpCqzT_?Fl2>ee&%OK;r=KqgQ&?}I`oRtJS`}#7V P(Bi2oYABRGvv~VIt^cu( literal 0 HcmV?d00001 From d9c3984c8128f9d42a87b4ec351f71740590e2bb Mon Sep 17 00:00:00 2001 From: Michael Fester Date: Tue, 27 Jun 2017 09:47:06 +0200 Subject: [PATCH 2/4] Fix version --- source/_components/snips.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/snips.markdown b/source/_components/snips.markdown index 764b5d73b038..aeafe7416bd5 100644 --- a/source/_components/snips.markdown +++ b/source/_components/snips.markdown @@ -9,7 +9,7 @@ sharing: true footer: true logo: snips.png ha_category: Voice -ha_release: 0.10 +ha_release: 0.48 --- The [Snips Voice Platform](https://www.snips.ai) allows users to add powerful voice assistants to their Raspberry Pi devices without compromising on Privacy. It runs 100% on-device, and does not require an Internet connection. It features Hotword Detection, Automatic Speech Recognition (ASR), Natural Language Understanding (NLU) and Dialogue Management. From f14fa02f7051cb082f0d53e7718abe2fb9dc434c Mon Sep 17 00:00:00 2001 From: Michael Fester Date: Tue, 27 Jun 2017 09:58:10 +0200 Subject: [PATCH 3/4] Fix typos --- source/_components/snips.markdown | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/source/_components/snips.markdown b/source/_components/snips.markdown index aeafe7416bd5..1068dd6cf1bc 100644 --- a/source/_components/snips.markdown +++ b/source/_components/snips.markdown @@ -12,7 +12,7 @@ ha_category: Voice ha_release: 0.48 --- -The [Snips Voice Platform](https://www.snips.ai) allows users to add powerful voice assistants to their Raspberry Pi devices without compromising on Privacy. It runs 100% on-device, and does not require an Internet connection. It features Hotword Detection, Automatic Speech Recognition (ASR), Natural Language Understanding (NLU) and Dialogue Management. +The [Snips Voice Platform](https://www.snips.ai) allows users to add powerful voice assistants to their Raspberry Pi devices without compromising on Privacy. It runs 100% on-device, and does not require an Internet connection. It features Hotword Detection, Automatic Speech Recognition (ASR), Natural Language Understanding (NLU) and Dialog Management. ![Snips Modules](/images/screenshots/snips_modules.png) @@ -37,13 +37,13 @@ The Snips Voice Platform is installed on Raspberry Pi with the following command -Snips assistants are created via the [Snips Console](console.snips.ai). Once trained, the assistant should be downloaded and copied to the Raspberry Pi +Snips assistants are created via the [Snips Console](https://console.snips.ai). Once trained, the assistant should be downloaded and copied to the Raspberry Pi: ```sh $ scp assistantproj_XXX.zip pi@pi_hostname:/home/pi/assistant.zip ``` -and installed locally on the Raspberry Pi via the `snips-install-assistant` helper script: +and installed locally via the `snips-install-assistant` helper script: ```sh (pi) $ sudo snips-install-assistant assistant.zip @@ -51,7 +51,9 @@ and installed locally on the Raspberry Pi via the `snips-install-assistant` help ### Running Snips -Make sure that a microphone is plugged to the Raspberry Pi, and start the Snips Voice Platform using the `snips` command: +Make sure that a microphone is plugged to the Raspberry Pi. If you are having trouble setting up audio, we have written a guide on [Raspberry Pi Audio Configuration](https://github.com/snipsco/snips-platform-documentation/wiki/1.-Setup-the-Snips-Voice-Platform-on-your-Raspberry-Pi#configuring-the-audio). + +Start the Snips Voice Platform using the `snips` command: ```sh (pi) $ snips @@ -69,7 +71,7 @@ We should see the transcribed phrase in the logs, as well as a properly parsed i ## Home Assistant configuration -By default, the Snips MQTT broker runs on port 9898. We should tell Home Assistant to use this as a broker (rather than its own), by adding the following section to `configuration.yaml`: +By default, the Snips MQTT broker runs on port 9898. We should tell Home Assistant to use this as a broker, rather than its own, by adding the following section to `configuration.yaml`: ```yaml mqtt: From 0fd9b77e8daa2590fd18ac566af44a24dfdf5bf8 Mon Sep 17 00:00:00 2001 From: Michael Fester Date: Tue, 27 Jun 2017 12:08:17 +0200 Subject: [PATCH 4/4] Update video link --- source/_components/snips.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/snips.markdown b/source/_components/snips.markdown index 1068dd6cf1bc..63e8009af48e 100644 --- a/source/_components/snips.markdown +++ b/source/_components/snips.markdown @@ -34,7 +34,7 @@ The Snips Voice Platform is installed on Raspberry Pi with the following command ### Creating an assistant

- +
Snips assistants are created via the [Snips Console](https://console.snips.ai). Once trained, the assistant should be downloaded and copied to the Raspberry Pi: @@ -65,7 +65,7 @@ Snips is now ready to take voice commands from the microphone. To trigger the li followed by a command, e.g. -> Turn the lights green +> Set the lights to green in the living room We should see the transcribed phrase in the logs, as well as a properly parsed intent. The intent is published on MQTT, on the `hermes/nlu/intentParsed` topic. The Snips Home Assistant component subscribes to this topic, and handles the intent according to the rules defined in `configuration.yaml`, as explained below.