I've been trialling OpUtils from ManageEngine - it's actually very good, although i don't know how many of the features will disappear once it goes to the free version.
I was originally looking for something which will let me map switch ports and physical port numbers to device 'entities' including physical location, VLAN, IP etc