我只想发现我的网桥的IP地址,我在www.meethue.com/api/nupnp 上遇到了一些问题
事实上,昨天,当我提出请求时,我得到了这样的答案:
["id":..., "internalipaddress":...]
一切都很好。
但是,今天早上,我重新启动了相同的请求。。我只有这个:
[ ]
然而,我的桥可以工作,因为我可以访问昨天找到的同一个IP地址,并且我可以更改我的灯状态。
你有办法解决我的问题吗?
要使/nupnp发现工作,您的应用程序必须与网桥位于同一网络上。
如果您运行应用程序的设备通过另一个网络连接到互联网(例如,3G上的手机而不是Wifi,或者您的笔记本电脑上启用了VPN),则您将无法通过/nupnp找到网桥,因此会得到空列表[]。
对于发现你的桥梁的解决方案,你可以尝试一些事情:
1) 既然你提到了Watch和Swift,我想你是在用iOS做点什么。也许你可以使用飞利浦iOS SDK进行探索?
2) 按照飞利浦文档中的建议进行IP扫描。请注意,将扫描限制在正确的子网内!
3) UPnP,这通常很难正确,这就是为什么我最后提到它。但可能有图书馆可以帮助你。
对于我的个人项目,我倾向于使用/nupnp和IP扫描的组合来发现桥梁。
从您得到的空数组结果来看,我认为您到达Hue站点很好,但它无法返回到您的集线器以检索其id或ip地址。这可能是因为您没有登录到hue门户,也可能是由于http请求可能以多种方式失败造成的。
如果我是你,我会1)在我的路由器中为Hue Hub设置一个静态ip,这样它就不会因为DHCP而更改;2)在获得值时,随时使用NSUserDefaults存储其ip。这样,如果得到一个空数组,则可以通过读取NSUserDefaults返回到以前存储的值。
我今晚也有同样的经历,这已经不是第一次了。由于我浪费了30分钟的时间试图弄清楚,所以它是:在路由器/系统监视器/ARP表中查找类似00:17:88:40:XX:XX的MAC地址。
然后,在您获得正确的IP后,在您拥有的应用程序中手动设置此IP地址。Bingo,这个设备运行得很好,事实上https://discovery.meethue.com/'不起作用,并返回一个由浏览器显示为[]的空数据结构。
不幸的是,我无法用我的ZYXEL路由器将PHUE DHCP设置为私有,这是另一个文档严重不足的设备,它缺乏最前沿的基本功能。。。