创建几个进行 REST API 调用的按钮

Creating several buttons that make REST API call

在 ThingsBoard 中,我试图创建几个按钮,每个按钮都会生成一个 不同的 REST API 调用。现在我创建了一个像 post 建议的单个按钮,但根据 post 每次单击按钮都会生成相同的 REST API 调用。我想区分每个电话。可能还有另一种方法可以做到,但不知道如何。

事物板版本:3.2

想出了一个办法:

  1. 在 Widget library 选项卡中创建一个新的 widget bundle 并将其命名为您喜欢的任何名称,对于我们的示例,我们将其命名为“Custom”。
  2. 创建一个新的静态类型的小部件。
  3. 在小部件编辑器中,我们有 Javascript 部分,在这里我们可以做任何我们在常规 html 页面上会做的事情。我们可以将不同的 REST API 调用附加到不同的按钮。
  4. 完成后保存所有内容。
  5. 转到您的仪表板并单击右下角的“进入编辑模式”图标,然后单击“添加新小部件”。
  6. 转到您的小部件包,在我们的例子中是“自定义”,“静态小部件”选项卡下将有您新创建的小部件。

我使用 Javascript fetch API 将 REST API 请求发送到我使用的服务器 我收到的信息 我发送到相关设备,一切都在我创建的这个特定小部件。

创建自定义小部件后,我们可以将其放置在仪表板中,请注意静态类型小部件不能附加到遥测数据(因为它是静态的)。我们在 Javascript 部分中写的关于我们开发的小部件的所有内容只会在我们在我们开发的小部件处于“活动”状态的仪表板页面中执行。当我们离开页面时,所有内容都将被“销毁”,并在我们重新打开页面时重新创建。例如,如果我们使用 setInterval 函数,它会在我们离开页面时被删除。

因此,如果我们想要像 REST API 这样定期发生的事情,每隔一定时间调用一次,我们应该使用一个外部服务器,它将信息发送到设备(在 Thingsboard 上)并持续运行。如果我们需要的操作是按需执行的,例如我们执行单个 REST API 调用的按钮单击,我们可以使用上面的方法。

Thingsboard 网站中的这个 Widgets Development Guide 非常有用。