Understand 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.
- Overview of Wi-Fi Skills
- Alexa.Networking interfaces
- DNS-based service discovery
- Related Topics
When you use the
Alexa.Networking interfaces, the voice interaction model is already built for you. 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 more information, 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 more information, see DNS-based service discovery.
The following are the available
HomeNetworkControllerinterface is an abstract representation of a home network, and represents an IP network router.
- Implement the
ConnectedDevicecapability interface for devices that connect to a home network controller.
- Implement the
AccessControllerinterface so that users can enable or disable network and internet access for a device. You can also use
AccessControllerto schedule access to the network.
DNS-based service discovery
If your device is a router, advertise a multicast service, by using rfc6763 DNS-based service discovery. We recommend 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
Provide the following information in your DNS service discovery records.
||hostname||An rfc2782-compliant hostname. We recommend that you publish a multicast DNS entry that points to the router itself.|
||A UUID provided by Amazon, for information required to set up your skill. You request a
||The version of the TXT schema. The current version is 1.|
Example service discovery
The following example uses the built-in DNS service discovery client on macOS. Using the following command:
dns-sd -Z _alexa._tcp local
The following is the correct resolution:
_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"