我正在使用 Wink API 来控制灯和恒温器等。在 API 中,您可以订阅设备主题以接收事件,例如何时打开或关闭灯。这是通过 PubNub 处理的。我有这一切工作,除了如果我离开系统一夜之间停止发送事件。
如果我尝试通过点击物理开关来“手动”切换灯,那么通常我的应用程序会通过 PubNub 触发和接收一个事件。重新启动我的应用程序并因此重新连接到 PubNub 并不能解决问题。我发现解决此问题的唯一方法是打开 Wink 应用程序本身。除了打开 Wink 应用程序外,无需执行任何其他操作。然后,如果我手动切换开关,事件将显示并由我的应用程序接收。即使我不重新启动我的应用程序,此解决方案也有效。
似乎正在进行某种唤醒或保持活动。尽管我在 Wink API 文档中没有看到任何这样的说明。在此停机期间,PubNub 也没有发送任何内容。我已经为 status()、message() 和 Presence() 回调发送了日志,并且一夜之间没有任何记录。因此,考虑到上述所有因素,我认为问题出在 Wink 方面。
不幸的是,Wink 不提供开发人员支持。Wink 应用程序显然在做某事,但由于交易是加密的,所以不知道它在做什么。此外,我的测试周期目前是 8 小时,因此很难通过反复试验来调试。我正在努力看看这个“超时”是否比我迄今为止所经历的过夜 8 小时更短。我昨天也试过重启我的 Wink Hub,但这并没有解决问题。
还有其他人遇到这个问题吗?您如何使订阅保持活动状态以便始终发送?