Understand Smart Home Networking and Wi-Fi Skills
Alexa.Networking
APIs will be disabled on December 31, 2023. For more details, see Deprecated Features. 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.
- Alexa.Networking.AccessController — Users can enable or disable network and internet access for a device and schedule access to the network.
- Alexa.Networking.ConnectedDevice — For devices that connect to a home network controller.
- Alexa.Networking.HomeNetworkController — For IP network routers.
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"
Related topics
Last updated: Nov 22, 2023