How do I find my WeMo's IP Address?
Note: I have replaced all my WeMo switches. I don't recommend using them. But, I had them for more than 3 years. So, some of my WeMo work might help others.
Yes, this annoying. The WeMo app does not show the IP address. And my AT&T router cannot show the WeMo's Friendly Name. So, to find the IP address, I must cross-correlate WeMo app data with Gateway data
How do I find my WeMo's IP Address, Port and Friendly Name?
Here is a script. Get the script from github:
$ wget https://raw.githubusercontent.com/dumbo25/wemosetup/main/vadim.py
$ wget https://raw.githubusercontent.com/dumbo25/wemosetup/main/mylog.py
$ wget https://raw.githubusercontent.com/dumbo25/wemosetup/main/wemo_db.py
You may have to change the address 192.168.1.255 in the script. This is the broadcast IP address on my home LAN. Yours might be different.
Run the script:
$ python3 vadim.py discover
and it will list all WeMo devices on your network with: friendly name, IP Address and port
If there is a rogue DHCP Server on your network, then the discover command will identify it.
Script:
I got annoyed doing the steps below and wrote this very simple bash script to get the IP Address, Port used and the Wemo's Friendly Name
I know it runs on a MacBook running OsX 11.4. To get the script, change to an appropriate directory and run the command:
$ wget https://raw.githubusercontent.com/dumbo25/wemo/main/wemoIpPortName.sh
To run the script:
$ bash wemoIpPortName.sh
There may be items you want to edit. For example:
My valid IP address range on my LAN runs from 64-255
I set ping timeout to 2 seconds
I set curl timeout to 2 seconds
The script checks for ports in the range of 49151 to 49156, but so far I have only received responses on 49152, 49153 and 49154. Eliminating the other three ports will cut the run-time by almost 50%
The short way:
Install node-js and npm
https://nodejs.org/en/download/
Select macOS
Download
Open
Follow package installer instructions
Check the version
$ node -v
V14.17.0
Get the WeMo tools
sudo npm install -g belkin-wemo-command-line-tools
enter your password
$ wemo -h 192.168.1.96 -a GETNAME
The long way:
Instructions:
On a smart phone open the WeMo app
Select More
Click Settings & About
Click Hardware Info
Click on the Device Name of interest, which will show the device's MAC Address without colons in upper case
Open a browser and go to AT&T Gateway
Select Device and then Device list tabs, which will show the device MAC Address and IP Address but not the Friendly Name
On a MacBook, find the MAC Address on the page using CMD-F.
In general, only the last 6 digits should be needed
Also, the Gateway shows the MAC Address in lower case
The WeMo's MAC Address needs to be incremented by 1 using hexadecimal arithmetic. So, ...C7528E becomes c7:52:8f