我正在尝试将SmartApp与我公司的本地REST服务器通话。此REST服务器无法从外部访问。为了缩小问题范围,我创建了一个与REST服务器交互的groovy程序。我已经在自己的电脑和同事身上执行了此操作。计算机,他们都能按预期访问REST服务器。当我尝试从SmartApp访问REST服务器时(使用SmartThings httpGet()函数),我只获取ConnectionTimeoutExceptions。我的SmartApp是从外部角度执行的吗?
答案 0 :(得分:1)
从smartthings文档中,除Smart Home Monitor和Smart Lights之外的所有应用程序都可以远程运行(https://support.smartthings.com/hc/en-us/articles/209979766-Local-processing)。
智能家居显示器和智能灯是唯一的 目前具有本地处理功能的SmartApps。我们是 致力于其他本地SmartApp选项。
这就是您无法通过智能应用访问本地服务器的原因。
但你能做的就是走另一条路。您可以使本地服务器在您的smartApp上进行调用(使用WebServices SmartApp),而不是让SmartApp在本地服务器上进行调用。
可能它不符合您的需要,但您可以对以下工作流程进行成像:
GET /needs
上的SmartApp上每分钟拨打一次电话。 POST /result
你可以想象一个更好的流程,但它只是一个样本。