WiFi / router setup

WiFi / router setup

A big thanks to Kerry Clendinning for letting me use his guide. Original post:


Shelly Networking Best Practices

1. Static IP Addressing for Battery Powered Devices

It is recommended to use static IP addresses on battery powered devices, both the H&T and especially the Door/Window sensor, set directly on each Shelly device (not just DHCP reservations set on the router). A separate document details more of the specifics about this and how to implement it. https://www.facebook.com/groups/ShellyIoTCommunitySupport/permalink/2010614172371270/
Benefits include:
  • For battery powered devices, the time to connect to the network and send updates is reduced.
  • (no longer pertinent in firmware v1.5.9 and above) With certain router models and/or weak WiFi signals, the use of static IP addressing has been shown to improve reliability.
  • For DDD (direct device-to-device communications) the IP address is guaranteed to stay the same. (With DHCP addresses may change over time.)
  • (no longer pertinent in firmware v1.5.9 and above) Static IP addressing has been shown to work better in some situations where power is restored to the devices and a router at the same time… DHCP may not work well when certain routers reboot and don’t restore DHCP services quickly enough.

2. Disable WMM and IGMP in the Router

An article linked to this post https://www.facebook.com/groups/ShellyIoTCommunitySupport/permalink/2359489714150379/ details reasons why WMM and IGMP might not be good for WiFi-connected home automation devices. Many routers have them enabled by default.

4. Make sure your router allows many WiFi connections

Some ISP-provided modem/router/WiFi combination devices have limits as low as 10 WiFi clients set as a default, and sometimes not configurable by the end user.

5. Consider a Better Router

There have been many discussions in the Shelly support group over issues with connectivity where a user simply updated to a more modern router and/or WiFi access point and reliability of WiFi connections to all devices improved.

6. Avoid Using Certain Repeaters

Some brands and models of WiFi repeaters have been shown to be problematic. Ask in the Shelly support group before attempting to improve reception to a remotely located Shelly device using a repeater. There are also concerns with whether the repeater uses the same SSID as the main router/access point. It may be better to assign a different SSID and insure that the Shelly device always connects to the closer AP or repeater.

7. Antenna Orientation

The built in antenna in the Shelly and the antenna on your router or access point have a form of polarity, and signal strength will vary depending upon their orientation relative to one another. You might find that changing the position of a given Shelly device from horizontal to vertical, or vice versa, might help in resolving weak WiFi signal problems.

8. Consider the Placement of your Router

The location and orientation of the antennas on your router or access point is critical to reliable WiFi connections. If possible, moving the device away from any walls, furniture or other obstructions helps eliminate reflections which degrade WiFi signals. The closer to having a clear line of sight between the antennas and any specific device, like a Shelly, where you need to insure a good connection, the better. Obviously optimizing for every device in a house is impossible, so it’s a matter of compromise, or adding additional access points or a mesh-based system.

9. During Initial Setup Your Phone Must Be on WiFi. Try Disabling Cell Data.

The Shelly app must communicate locally on your WiFi network to find and set up new Shelly devices. If there are issues during setup you might find that temporarily disabling mobile data (by turning on airplane mode then re-enabling only WiFi) might be of some help.

10. Make Sure You Do Not Have “WiFi Isolation” or “Access Point Isolation” Modes Enabled.

These are features which keep any two devices on your home network from seeing one another. If you have primarily used the internet to stream videos, surf the web, and use email, you might have had this feature enabled and never known it. Since the Shelly app needs to communicate locally between your phone and the Shelly devices, WiFi isolation must be disabled for proper operation.

11. Turn Off 5GHz During Setup

It might be necessary to turn off the 5GHz network during the setup process. The Shelly devices only communicate via 2.4GHz, and having only the 2.4 network enabled on the router ensures that the phone app and the Shelly connect properly during setup.

12. Beware of Certain SSID and Password Restrictions

Some users have reported issues with lengths of SSID (too short) or non alpha-numeric characters in SSIDs or passwords. If you have issues with your very first Shelly installation, consider checking for these possibilities.

13. Always Check the Password Entered During Setup

It is critical that the WiFi password is entered correctly. Use the feature in the app to show the password that is normally hidden before proceeding.

14. Disable MAC Address Filtering on the Router Temporarily

If you use MAC address filtering on your router, this can interfere with setup. Be sure to disable it while attempting the setup process.

15. For IOS 13 turn on location sharing during setup.

Apparently it is necessary to have location sharing enabled for the setup process to complete using IOS 13.

16. Certain Other Router Features You Might Want to Try Disabling

Fredrik Zetterberg gives this recommendation: In some routers (usually mesh-Technology routers with several ap:s) there are reach and roaming software like beamshaping and quickroaming that sometimes create a hassle for cloud services to recognize local installed IOT devices…. If you have those services on your router, try and turn them off…

Christopher Worley gives this recommendation: You should check your Unifi clients tab and modify the columns to expose additional details. The newer Unifi OS also has time based per client statistics charts to help narrow down problems. In my case, I had to create a separate IOT WiFI network for each AP because the multiple Shelly couldn’t handle it otherwise.
And from Dario Sekula, also for Unifi: Disable the feature “Block LAN to WLAN Multicast and Broadcast Data.”

17. Assign Channel on Your Router

Turn off “auto” channel selection on your router or access point. The reason is so that devices, especially the battery powered Shellys, can connect back on the channel they last used. If you have “auto” enabled, your router might frequently move between what it thinks is the clearest channel, causing other devices to have to follow.
In the United States, use only one of 1, 6, or 11. In other countries it may vary which are the non-overlapping 2.4GHz channels. Also set your bandwidth to 20 MHz. Here’s a great explanation for why you (and your neighbors) really need to stick to 1, 6 and 11: https://www.metageek.com/training/resources/why-channels-1-6-11.html.
In some European countries, 1, 5, 9 and 13 might be the preferred choices. Do some research on your own location.

18. Battery Powered Devices and “Roaming”

With mesh systems or multiple wired access points (which is actually preferable), devices like phones and laptops are allowed to “roam” from one node to another, which is useful as you move from room to room. Some Shelly battery powered devices intentionally do not move from one node to another, but rather stay locked to the original node that was the strongest signal when they were first configured. This is to speed up connecting to save battery power, but can have the reverse effect if a device is moved from one place to another after it has been configured. Either configure the battery-powered device near where it will be installed, or consider using dedicated SSIDs, described below.

19. Using Dedicated SSIDs

There are two reasons you might consider using multiple, dedicated SSIDs in your WiFi network (given you have multiple APs or mesh nodes). The first reason was described above, concerning battery powered Shelly devices. A second issue to consider is the combined network traffic handled by any one node in your network.
To understand this concept more thoroughly, a little knowledge about network traffic, topology, congestion, bandwidth, latency and throughput is desirable. There’s a lot to know, and plenty of resources on the web if you want to search some of those topics. Here, we’ll try to present just enough information to help you decide if dedicated nodes and SSIDs is an approach you should consider.
The network traffic on your WiFi network, mesh, and/or wired ethernet throughout your house has a topology. It is the set of connections running between all of these nodes as well as the connected WiFi devices they serve. Think of it like a roadmap. The analogy works really quite well. There are longer and shorter paths to get between any two places, and making less stops (or hops) at intervening nodes means faster communications, much like choosing a good route on a map. There are also faster and slower connections, depending upon your hardware, chosen frequencies, and amounts of congestion.
A mesh system tries to take all of this into consideration and dynamically move devices to the node that will serve them best. This implicit/automatic approach works well when it has all of the information it needs and makes informed decisions. We have seen too many cases where, with a mixture of IoT and other WiFi clients with completely different requirements, the automatic actions of a mesh system can cause issues of their own.
Let’s think about congestion in our map analogy. Some roads might be more direct, but knowing how much traffic is typically on that road, we choose a different route. This definitely happens in a mesh system, too. What kind of congestion would contribute to the phenomena? Say that you have a node in your front room, with a WiFi-connected TV streaming 4k video, and 3 family members with laptops. That node could be inundated with streaming traffic. The buffering in all of those devices helps to hide the fact that each one is being given high-bandwidth bursts of data, in turn, to effectively deliver the needed throughput. Streaming is throughput-intensive, but latency, the time it takes for the data to traverse the network, is less of an issue, because of buffering.
Now consider an IoT device connected to the same node in the front room, competing with the bursts of video streaming. While those other devices are using the node, the IoT device might be delayed from sending/receiving a signal. Consider an http request from a Button1 to a Shelly Duo Bulb. This is the kind of thing that makes the delay between pressing a button and seeing a response vary greatly in time. In the best case, an intelligent mesh system might move the Shelly device to a less busy, but more remote, node. What effect would that have on a Shelly Button1? Either the button might not successfully move, or if it does, it’s now using more battery power to reach a node that’s further away.
My recommendation? Dedicate one set of nodes or APs to just your Shelly and other IoT devices, and specifically design what connects where. This might sound expensive, and doubling the number of nodes in a mesh system could be costly. My approach has been to use much less expensive, even older equipment for the IoT network that has multiple dedicated SSIDs that are chosen geographically.
Allow laptops and phones to roam, but tie stationary devices to specific WiFi access points. Be aware of the wired topology of the network, so that the traffic from streaming-intensive parts of the network don’t pass through the wired hardware used for the IoT part of the network. Deploy as many low-cost access points as it takes to cover the geographical area of the home. Don’t worry about the count of how many devices connect to any one given AP, as IoT devices like switches, lights, buttons and sensors use very little bandwidth. Treat video security cameras the same as streaming, and keep them separate from the other IoT nodes.
In the end, you have a low-latency, low-bandwidth network segregated from the high-latency, high bandwidth clients.
I tested this scenario on my own network, by moving my laptop onto the IoT SSID and streaming youtube. This particular node serves 30+ devices and was humming along with practically no bandwidth utilization until the dramatic shift when the video streaming starts, shown in this graph:
Bandwidth before, during, and after streaming 30s of youtube
During a similar test, the latency of communicating with one Shelly device went from .015 seconds to almost .5 seconds, because of the effect of video traffic causing congestion, described above.
My solution might not fit for your purposes, and many, many factors affect what’s best. If a single combined router/WiFi device from your ISP still handles your entire network, it might not be time to consider dedicated SSIDs. Or if an automatic mesh system works well for your configuration, fantastic. Learn to measure, research, and make informed decisions.

20. Minimum RSSI on Ubiquiti

One customer has reported setting a minimum RSSI has improved stability of connections between Ubiquiti and Shelly devices.