Home Assistant Android version: 1.3.1 (75)
Android version:10
Phone model: Pixel 2XL
Home Assistant version: 0.103.5
My house has several SSID's that my phone may connect to. Maybe allow us to specify a list of SSID's that we can consider local?
I have the same problem. I saw in the last update that now we can type the SSID name and I think this is fantastic. However, I have 1 router and 2 extenders in my house, all with different SSID, so I would love to have a list of SSIDs, the same as the iOS app has.
Thank you for the awesome work!
I have the same problem.
The solution might be to allow the ssid to be a regex that would make is extremely expandable
The solution might be to allow the ssid to be a regex that would make is extremely expandable
Although it could be an expandable solution, I don't think is very user-friendly. Maybe we could change the text to: "Home Network WiFi SSID contains" and any connected WiFi that contains that text, it will then connect to the internal URL. Just an opinion.
I agree it might be easier for some, but if we are trying to get the largest audience they won't even know what a regular expression is.
+1 to that. It's wonderfull that the app started supporting local urls via SSIDs. If you add a list of SSIDs instead of just 1 - this will be really fantastic and will solve my problem of 2 home SSIDs for 2.4 and 5GHz network setup.
And yeah - I agree with baloob that patterns are probably not the right option. An explicit list would be more user friendly and more transparent, same as in the iOS app.
I agree on simply providing a list. Regular expressions or hacks like "contains" are not a good idea and will confuse many users.
Moreover, using a list would not require any changes in current configs.
+1 for list
Comma separated list would be another interim option, if making it a proper list is too much work.
Delimited SSID lists have a problem that a valid SSID can contain the delimiter. I suppose a comma is rare enough though.
Comma separated list would be another interim option, if making it a proper list is too much work.
Delimited SSID lists have a problem that a valid SSID can contain the delimiter. I suppose a comma is rare enough though.
Also thought about that problem. To make it even worse, SSIDs can basically contain any data (conceptually, even unprintable chars but I guess we can surely ignore this).
"According to last standard 802.11-2012 (Section 6.3.11.2.2), it can be 0-32 octets with an unspecified or UTF8 encoding."
@JBassett regex's are simple the ssid "myWifi" is matched by the reguar expresson "myWifi". You can match multiple by "(myWifi|mySSID)" then you give the power that advanced users want. It is just typing in a name for most users and you don't have to resolve the Problem of escaping characters. It also means that with very little effort we can be confident is saying this can work for everyone. We don't want to reinvent the wheel.
I think a comma separated list would be the easiest less confusing route to go.
So fun fact both \ and , are valid characters for SSIDs. Making the regex and comma separated list complicated.
Don't make it comma separated. Either REGEX entry for advanced users. Definitely simplist.
Or, change the screen to have a 'plus' button that allows you to add additional wifi SSIDs in a new text box then have the backend REGEX them or compare or w/e you want.
In my opinion by far the best choice is to implement proper collection support, along with UI for entering multiple SSIDs (e.g. the +/- buttons that add/remove text fields), then compare collection elements one at a time as is. No need for regex tricks under the hood.
Other interim solutions could be comma separated, fnmatch.fncasematch like wildcard thing whatever there is for kotlin, or regex -- all of these with just ignoring the fact that special chars in them might collide with valid SSID chars somewhere -- but the problem with all these is that they'd likely get in the way in incompatible manner when the above "real" support is implemented sometime.
Most helpful comment
I agree it might be easier for some, but if we are trying to get the largest audience they won't even know what a regular expression is.