Android app: please support WiiM static IP address

robca

Active member
Joined
Aug 25, 2023
Messages
29
I have a very complex network with multiple SSIDs and devices isolated on subnetworks. All my dedicated devices, including the WiiM have static IP addresses. The WiiM device supports static IP addresses, but for reasons I don't understand, the Android app doesn't allow to set a static address to find the WiiM, and uses mDNS to find the device. My router properly redirects mDNS, and usually everything works just fine.

From time to time, though, it takes more than a minute to find the WiiM on the network. Then, once found, it all works. Given that my WiiM has a static IP, having to wait for mDNS to find the device each time is pretty annoying. Since I can set a static (manual) address for the device, I would expect the Android app to also let me hardcode the IP address. It seems like a relatively simple change, even if I realize that my case is not very common.

For what is worth, the third party WiiM Watcher Chrome extension works perfectly fine with the hardcoded IP address, and it's much more reliable in finding the WiiM on my network than the Android WiiM app.
 
If you connect your phone to the same network as the WiiM do you still have discovery problems?
To be clear: it is connected to the same network, just a different IP range. But it's all one network, and every service works across all IP ranges. All other devices and even the WiiM services can be found by all other apps and the Bonjour browser. It's just the WiiM app that has problems. Amazon Music on the phone, for example, can control the WiiM without issues, even when the WiiM app says that the WiiM is not reachable

If I have my phone on the same ip range as the WiiM and connect to it, then switch my phone wifi to a different access point on a different IP range, the app keeps working (because it's using the cached IP, I think). It's just discovery that is broken, the rest of the app works just fine. All I need, is an option to have the app always use the stored IP address and never look for the WiiM device. It's wasteful having to look for a device if the previous address is still valid (yes, I understand, the case of multiple WiiM on the same network is more complex, but allowing just one address to be stored would be enough to solve a relatively common user scenario). More and more IoT device are on separated networks for security reasons (see also https://forum.wiimhome.com/threads/...ce-in-wiim-apps-to-avoid-a-re-discovery.2213/)
 
You are right: Alexa Cast doesn't listen. Alexa does.

Alexa on echo devices listens for the wake word otherwise it wouldn’t function as a voice assistant. With respect to WiiM devices, pressing and holding the mic button on the remote also wakes Alexa. In neither case does it casually eavesdrop on your domestic or business conversations.

My problem was that I was logged into the Amazon Music app, and also needed to be logged into the Amazon Alexa app. The WiiM app lists all services in alphabetical order, starting with Amazon Music. But, for reasons I can't fathom, Amazon Alexa is the last entry, and requires scrolling thru 18 other services, until you finally see Amazon Alexa as the last entry after vTuner. Had Amazon Alexa been in the correct alphabetical order before Amazon Music, discoverability would not have been such an issue. It's also puzzling having to log in twice to the same account on the same device, but I understand enough about cloud services and authentication to see how that's not a WiiM problem (the ordering is, though)

The WiiM Android app does indeed list Amazon Alexa as the last item in the music service list, but conversely lists it first in the IOS app 🤷‍♂️

So, yes, once you log in again to your Amazon account in the Amazon Alexa service, then you can see the WiiM as an Alexa Cast option in the phone Amazon Music app, in addition to the WiiM Chromecast option. If you are not logged into Alexa Cast, all you can use is Chromecast, and that is not bit perfect.

Amazon Music help pages confirm that ChromeCast only supports HD quality on Chromecast, but in that respect it’s still bit perfect as the Amazon Music cloud adaptive bitrate service will only serve an HD version of the track, it’s not downsampled on the WiiM device.

Thanks for pointing this out, appreciate the help.

Still, that only solves one problem: how to easily stream from the Amazon service. If you want to switch to a podcast or to Pandora, you need to use the WiiM app.

You can still cast podcasts from the Amazon Music app, assuming that it has the podcast you want.

The most frustrating issue is that my Android phone can see the WiiM device as a Chromecast device or an Alexa Cast device, but the WiiM app cannot find the device that is happily playing along. So if I want to switch service or change the device settings (input, for example), I can't. It would all be so much better if I could simply tell the app to stop searching for the WiiM every time, and use a stored IP address.
 
Alexa on echo devices listens for the wake word otherwise it wouldn’t function as a voice assistant. With respect to WiiM devices, pressing and holding the mic button on the remote also wakes Alexa. In neither case does it casually eavesdrop on your domestic or business conversations.
This is now offtopic, but Alexa listens all the time. It should only recognize the wake word, and only start recording when the wake word is recognized, but that is not a hard guarantee. After all, there are many ways to misinterpret something as a wake word, especially with non-native English speakers and accents. I mean, I understand pretty well how voice recognition for a device like an Echo works: if you don't have a physical button, you must listen all the time and buffer enough audio to be able to apply your analysis to it. In case of doubt, the software can store the snippet and send to the back end for analysis. Humans then look at anything ambiguous and improve the code over time. Echo devices are supposed to show when they send data, but it's easy to miss. Humans listen to the audio sent to the cloud, and the Echo device is collecting telemetry all the time. Not to mention that you seem to trust Amazon's security, while I have worked long enough in the IoT field to know that the old "the S in IoT is for security" is only too true. Any hacker with access to an Alexa-enabled device can collect audio unhindered. All IoT devices in my house are segregated and their microphones disabled (to be honest, I'm more concerned about IoT devices being hacked an used as a bot army than a random hacker listening on my boring life :) )

The main point anyway is that to just enable Alexa, you must accept a specific privacy policy in addition to the Amazon one, and I have no use for Alexa, so I don't want to give away additional rights. I don't own an echo, and any device with a microphone outside my laptop and smartphone, is disabled. As discussed, Alexa Cast is not Alexa, so there are no concerns for the WiiM.

Amazon settled Alexa privacy violations, btw, so this is not hypothetical https://www.npr.org/2023/06/01/1179381126/amazon-alexa-ring-settlement.

That has nothing to do with the original issue, though. The WiiM app should use stored IPs to connect to a known device if the user so decides
 
To be clear: it is connected to the same network, just a different IP range. But it's all one network, and every service works across all IP ranges.
I understand, different subnets/broadcast domains much like my setup.

Given discovery works whilst on the same subnet, and works for everything else on the other subnet, are there any firewall rules that could be blocking traffic between the WiM Home app and the WiiM Pro/Mini or the internet?
Grasping at straws here as it works fine on EdgeOS.
 
I understand, different subnets/broadcast domains much like my setup.

Given discovery works whilst on the same subnet, and works for everything else on the other subnet, are there any firewall rules that could be blocking traffic between the WiM Home app and the WiiM Pro/Mini or the internet?
Grasping at straws here as it works fine on EdgeOS.
I tried thinking about that, too. The firewall rules are to allow any new traffic from main lan to iot lan, any established traffic across both networks, to allow mDNS traffic (UDP 5353) and the Avahi reflector is enabled. I cannot enable unrestricted traffic from iot to main lan, because that would negate the reason to have an iot network in the first place

But the fact that, once the WiiM is discovered, the WiiM app can use it, makes me think it's a discovery problem (start on the iot network, connect, switch to main lan). But I can see the WiiM device services using a Bonjour browser, so should be discoverable, too. Also, the Android WiiM app can sometimes find it, other times tells me it's "online but on another network", which makes no sense. Maybe a timeout issue when discovering, if the WiiM is not broadcasting mDNS frequently enough? And all services on the WiiM can be discovered reached by their apps (chromecast, Alexa Cast, etc). It's just the Android WiiM app being unreliable.

Whatever the issue, I'm not the only one having it (see the other similar thread I posted). the other user reports exactly what I do: can't find it, but if I connect to the iot network then switch, it works. So this can clearly be easily solved by caching the IP address. Especially considering that the WiiM app allows me to set a static address for the WiiM. Why would the WiiM app not try the previous address first, before anything else? In pretty much any network even with DHCP, devices rarely change address. With Static IP, never.
 
Also, the Android WiiM app can sometimes find it, other times tells me it's "online but on another network", which makes no sense. Maybe a timeout issue when discovering
Could there be anything blocking the WiiM Home apps internet access on the secure subnet?
 
Could there be anything blocking the WiiM Home apps internet access on the secure subnet?
No, the iot network has full internet access. And, in any case, when it's not working, the Andoid WiiM app is on the main lan (the WiiM Home app works anyway on the iot network).
 
No, the iot network has full internet access. And, in any case, when it's not working, the Andoid WiiM app is on the main lan (the WiiM Home app works anyway on the iot network).
I was asking if anything could be blocking the WiiM Home app on the secure/main subnet as that's where it's failing.
 
I was asking if anything could be blocking the WiiM Home app on the secure/main subnet as that's where it's failing.
The WiiM home apps works from the iot network, but I don't want my smartphone to be in that network (as a matter of fact, I need to change settings on the router to allow my phone to log there, so it's not something I can do every time I need to log onto the WiiM).

The WiiM home app also works from the main network, as long as the discovery is done from the iot network (so, connect phone to iot, launch WiiM app, select the WiiM, switch the phone to the main lan).

What doesn't work, is the only scenario I care about: smartphone on the main lan, launch WiiM app, connect to WiiM device. That fails 80-90% of the times. All other apps using the WiiM directly (i.e. without the WiiM Home app), work just fine. It's only the WiiM home app that cannot find the WiiM

The main lan has no blocks of any sort. All outbound traffic is sent to the WAN. And in any case, failing local discovery for an internet issue seems wrong.
 
You are right: Alexa Cast doesn't listen. Alexa does.

My problem was that I was logged into the Amazon Music app, and also needed to be logged into the Amazon Alexa app. The WiiM app lists all services in alphabetical order, starting with Amazon Music. But, for reasons I can't fathom, Amazon Alexa is the last entry, and requires scrolling thru 18 other services, until you finally see Amazon Alexa as the last entry after vTuner. Had Amazon Alexa been in the correct alphabetical order before Amazon Music, discoverability would not have been such an issue. It's also puzzling having to log in twice to the same account on the same device, but I understand enough about cloud services and authentication to see how that's not a WiiM problem (the ordering is, though)

So, yes, once you log in again to your Amazon account in the Amazon Alexa service, then you can see the WiiM as an Alexa Cast option in the phone Amazon Music app, in addition to the WiiM Chromecast option. If you are not logged into Alexa Cast, all you can use is Chromecast, and that is not bit perfect.

Thanks for pointing this out, appreciate the help.

Still, that only solves one problem: how to easily stream from the Amazon service. If you want to switch to a podcast or to Pandora, you need to use the WiiM app. The most frustrating issue is that my Android phone can see the WiiM device as a Chromecast device or an Alexa Cast device, but the WiiM app cannot find the device that is happily playing along. So if I want to switch service or change the device settings (input, for example), I can't. It would all be so much better if I could simply tell the app to stop searching for the WiiM every time, and use a stored IP address.
Back in post #10 I wrote

See the Amazon entry at the end of the Music Services list in the wiim app.
Register your amazon account there.


The bold was in that post too ;)

Glad you got that one issue sorted!
 
Last edited:
Back
Top