Understand Smart Home Networking and Wi-Fi Skills

You can use the Alexa.Networking APIs to create Alexa skills that model a home Wi-Fi network and the devices connected to it, such as computers and mobile phones. Your skill can enable and disable internet and network access for individual devices on both Wi-Fi and Ethernet connections, and schedule access duration.

You can enable and disable internet and network access on both Wi-Fi and Ethernet connections, without removing devices from the Wi-Fi network.

Utterances

The Alexa.Networking interfaces to build skills for smart home networking and Wi-Fi devices use the pre-built voice interaction model. The following examples show some user utterances.

Alexa, turn off the Wi-Fi for John's tablet.
Alexa, enable the internet for Junior's phone for three hours.

Overview of Wi-Fi skills

The user can only voice-control network access for the devices they choose in the Alexa app. In the Alexa app, choose Devices, choose Wi-Fi access, and then select the devices that you want to voice-control on the network.

By using relationships, users can associate multiple connected devices with a single home network controller. If the user deletes a home network, all the connected devices are also deleted. You report relationships during discovery for connected devices. For details, see connected devices discovery.

If your device is a router, advertise your service by using DNS-based service discovery to help Alexa discover your router locally. If Alexa can discover your router, Alexa publishes a card in the Alexa app to help customers set up voice-control networking for your router. For details, see DNS-based service discovery.

You create networking and Wi-Fi skills the same way you create any other smart home skill. For details, see Understand Smart Home Skills and Steps to Build a Smart Home Skill.

Networking interfaces

Implement the following Smart Home APIs in your Alexa skill to enable users to control your smart home networking devices. For ideas about how to combine Alexa interfaces in different products, see Get Started with Device Templates.

DNS service discovery

If your device is a router, advertise a multicast service, by using RFC 6763 DNS-based service discovery. Amazon recommends that you use Avahi or Bonjour software, or any other standards-compliant software implementation of DNS service discovery. In your DNS service discovery, the service type is _alexa._tcp, and the domain is local.

Provide the following information in your DNS service discovery records.

Record Field Value
SRV hostname An RFC 2782-compliant hostname. Amazon recommends that you publish a multicast DNS entry that points to the router itself.
TXT skillSetupId A UUID provided by Amazon, for information required to set up your skill.

You request a skillSetupId by emailing alexa-homenetworking@amazon.com. In your email, provide the brand name of your appliance and the ID of your skill.
TXT version The version of the TXT schema. The current version is 1.

Service discovery example

The following service discovery example uses the built-in DNS service discovery client on macOS.

dns-sd -Z _alexa._tcp local

The following output shows the correct resolution for a device that supports the _alexa._tcp service type.

_alexa._tcp          PTR  example._alexa._tcp
example._alexa._tcp  SRV  0 0 443 186590d00737-2.local.
example._alexa._tcp  TXT  "version=1" "skillSetupId=114980c4-62fb-4ec3-801e-a6ac42c1b901"