This sample shows how to integrate with the Local Home SDK. The Local Home SDK allow developers to add a local path to execute smart home intents by running TypeScript (or JavaScript) directly on Google Home smart speakers and Nest smart displays.
- Node.js LTS 10.16.0+
- Follow the instruction to deploy the smart home provider sample for Node.js.
- Follow the instructions to run the smart home frontend locally.
- Set up a new virtual device:
- Select
RGB Light
- Enable
Local Execution
- Set
Local Device ID
tofakecandy-0
- Select
- Open the smart home project in the Actions console, then perform these steps:
- in
Build > Actions > Smart home > Actions
: Add the following attributes in theDevice Scan Configuration
:- UDP discovery address:
255.255.255.255
- UDP discovery port in:
3312
- UDP discovery port out:
3311
- UDP discovery packet:
A5A5A5A5
- UDP discovery address:
- in
- Start the virtual light strip server:
npm install --prefix device/
npm start --prefix device/ -- \
--udp_discovery_port 3311 \
--udp_discovery_packet A5A5A5A5 \
--device_id fakecandy-0
This starts a server that replies to UDP discovery packets with device information and displays openpixelcontrol commands to the terminal in a colorful way. Note: The server needs to listen on the same local network as the Home device.
Serve the sample app locally from the same local network as the Home device, or deploy it to a publicly reacheable URL endpoint.
- Start the local development server:
npm install --prefix app/
npm start --prefix app/ -- --host 0.0.0.0
Note: The local development server needs to listen on the same local network as the Home device in order to be able to load the Local Home SDK application.
- Go to the smart home project in the Actions console
- In
Test > On device testing
: set the development URL to http://local-dev-server-hostname-or-ip:8080/
npm run build --prefix app/
npm run deploy --prefix app/ -- --project FIREBASE_PROJECT_ID
- Go to the smart home project in the Actions console
- In
Test > On device testing
: set the development URL tohttp://FIREBASE_PROJECT_ID.firebaseapp.com/
- Reboot the Google Home Device
- Open
chrome://inspect
- Locate the Local Home SDK application and click
inspect
to launch the Chrome developer tools. - Try the following query
Turn on the light
Turn off the light
Set the light brightness to 50
Set the light color to magenta
npm test --prefix app/
npm run lint --prefix device/
See LICENSE