通过脚本打开 shelly 进行身份验证

问题描述 投票:0回答:1

Shelly Plus 1 PM 应打开受用户名和密码保护的 Shelly 1。

我有一台运行脚本的 Shelly Plus 1 PM。在某个时刻,另一台 Shelly 1 应该打开 10 秒。只要 Shelly 1 不受用户名和密码保护,就会按预期工作:

function turnOn() {
  Shelly.call("http.get", {url: 'http://' + 
          Config.ip + 
          '/relay/0?turn=on&timer=' + 
           JSON.stringify(Config.duration * 60)});
}

但是,我在包括身份验证时也遇到了困难。我尝试了以下方法:

function turnOn() {
  Shelly.call("http.get", {url: 'http://' + 
            Config.username + ':' + 
            Config.password + '@' + 
            Config.ip + '/relay/0?turn=on&timer=' +
            JSON.stringify(Config.duration * 60)});
}

如果执行后没有任何反应,Shelly 1 将保持关闭状态。如果我通过邮递员发送完全相同的请求(

http://USERNAME:PASSWORD@IP/relay/0?turn=on&timer=10
),它会按预期工作。

有什么建议吗?

javascript scripting iot shelly
1个回答
0
投票

我本来想对此事发表评论,而不是写答案,但我只是想提供我已捕获目标设备从 Shelly 接收的 HTTP 标头的信息,并且它不包含

Authorization: Basic 
必要/必需的标题。 奇怪的是,上面的问题或多或少与here提供的解决方案完全匹配,所以它应该有效,但它对我也不起作用。

© www.soinside.com 2019 - 2024. All rights reserved.