-
-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issue with mDNS and Android #39
Comments
Hmm, I remember this being an issue a while back. Unfortunately I wasn't able to reproduce it. I've only got Linux and apple devices at home, but I might be able to scrounge an Android device. What android device are you using? You can normally access Do you have any devices running esphome, or home assistant on your network, that you can access from your android device? I assume you're also seeing no abnormal logs coming over serial for the web server?
Implementing this won't fix your issue though right, as you'll still have difficulty resolving the root domain (front end) You should also be able to call the winder's API directly by substituting the ip. Glancing at the old front-end logic, the url sanitization only happened when the FE was accessed during local development, where you access the FE from your dev box on I'll see if I can sink some more time into this tomorrow. |
Couple more follow-up questions. Do you see anything from your android devices with the following urls:
Reading through Google's Android issue tracker, it looks like multicast dns was implemented in Android 12 and rolled out to Pixel devices. However, I can't say how that roll-out is handled by other manufacturers. See here:
There's also a possibility that this change was not back-ported to older Android systems. |
Thanks for the detailed feedback! I hope this answers your questions :) Q: What android device are you using? Q: You can normally access .local domains without issue? Q: Do you have any devices running esphome, or home assistant on your network, that you can access from your android device? Q: I assume you're also seeing no abnormal logs coming over serial for the web server?
Q: Do you see anything from your android devices with the following urls Some additional comments:
It seems to be part of the Play Services -> https://www.androidpolice.com/android-mdns-local-hostname/
Rolling back to commit
That's right, but at least it would be possible to access a working FE from the IP of the ESP. Currently, the winderoo.local is hardcoded and if access is not possible, it breaks the FE even if the FE is loaded from the IP.
Please don't put too much effort in it 🙂 It could still be an issue on my side - I just wanted to ask if it's reproducible for you (or perhaps someone else using Winderoo with Android). I'll provide another PR which brings back the |
Seeing as #40 is merged, i'm going to close this for now. In the future, we need to work out a better solution for android users. |
It seems that mDNS doesn't work properly on Android which causes the Winderoo web UI to not work anymore after #36. At least I couldn't get it to work... 😅
It turned out that I cannot resolve
http://winderoo.local
on any Android device (7, 12, 13, 14).Before the change in #36, it was possible to access the web UI with the IP of the ESP32 on Android and the API call was then done towards the IP. With my change in #35, the API call would be done to any domain that was used for the UI (which is of course accessible, otherwise the UI would not load at all).
But now since #36, the API call is always done to
http://winderoo.local
, even if the IP is used to load the UI or if a custom non-.local-domain name is used (I can set this with AdGuard Home in my LAN).I did some research and found some issues where this one seems to be quite similar to my problem:
espressif/arduino-esp32#9051
esphome/issues#3003
I can access the
.local
domain which is broadcasted from a Raspberry Pi with OpenHAB, but I cannot access the.local
from the ESP32 on Android.On Linux or iOS it works fine.
Long story short - @mwood77 do you observe the same with an Android device? Or does it work for you on Android? I'm currently not sure if it's an issue in my network or an issue in the combination Android + mDNS on ESP32.
To not be dependent on mDNS, perhaps the web UI could load the API from the IP of the ESP32 instead of the mDNS
.local
domain?The text was updated successfully, but these errors were encountered: