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
),它会按预期工作。
有什么建议吗?
我本来想对此事发表评论,而不是写答案,但我只是想提供我已捕获目标设备从 Shelly 接收的 HTTP 标头的信息,并且它不包含
Authorization: Basic
必要/必需的标题。
奇怪的是,上面的问题或多或少与here提供的解决方案完全匹配,所以它应该有效,但它对我也不起作用。