使用脚本通过身份验证控制 Shelly 设备

使用脚本通过身份验证控制 shelly 设备

本文档介绍了如何使用 Shelly Plus 1 PM 上的脚本,通过用户名和密码验证来控制另一个 Shelly 设备。由于 Shelly.call(“http.get”) 不会自动将 URL 中的凭据转换为 HTTP 身份验证标头,因此我们需要使用 HTTP.Request 并手动生成 Authorization: Basic 标头。本文提供了详细的代码示例,展示了如何实现这一目标,并解释了关键步骤和注意事项。

使用 HTTP.Request 进行身份验证

当需要通过用户名和密码验证来控制 Shelly 设备时,直接在 Shelly.call(“http.get”) 的 URL 中包含用户名和密码可能无法正常工作。这是因为 Shelly 的 http.get 方法不会自动将 URL 中的凭据转换为 HTTP Authorization: Basic 标头。为了解决这个问题,我们需要使用 HTTP.Request 方法,并手动构建包含身份验证信息的 HTTP 标头。

以下是如何使用 HTTP.Request 方法进行身份验证的步骤:

定义配置信息: 首先,我们需要定义包含目标 Shelly 设备的 IP 地址、用户名和密码的配置对象。

let CONFIG = {  host: "your_shelly_ip", // 替换为目标 Shelly 设备的 IP 地址  username: "your_username", // 替换为用户名  password: "your_password", // 替换为密码}

构建 URL: 接下来,构建要发送到目标 Shelly 设备的 URL。

let shelly_url = "http://" + CONFIG.host + "/relay/0?turn=on&timer=10"; // 示例:打开 relay 0 并设置 10 秒定时器

创建 Authorization 标头: 使用 btoa() 函数将用户名和密码编码为 Base64 字符串,并将其添加到 Authorization 标头中。

let user_pass = btoa(CONFIG.username + ":" + CONFIG.password);let header = {  method: "GET",  url: shelly_url,  headers: {},  timeout: 20,};if (CONFIG.username) {  header.headers.Authorization = "Basic " + user_pass;}

使用 HTTP.Request 发送请求: 使用 Shelly.call(“HTTP.Request”, header, callback, null) 发送带有身份验证标头的 HTTP 请求。

Shelly.call("HTTP.Request", header, function (result, error_code, error_message) {  if (error_code === 200) {    print("Success: " + result);  } else {    print("Error code: " + error_code);    print("Errormessage: " + error_message)  }}, null);

完整示例代码

以下是一个完整的示例代码,展示了如何使用 HTTP.Request 方法通过身份验证来控制 Shelly 设备:

let CONFIG = {  host: "your_shelly_ip", // 替换为目标 Shelly 设备的 IP 地址  username: "your_username", // 替换为用户名  password: "your_password", // 替换为密码}function turnOnShelly() {  let shelly_url = "http://" + CONFIG.host + "/relay/0?turn=on&timer=10";  let user_pass = btoa(CONFIG.username + ":" + CONFIG.password);  let header = {    method: "GET",    url: shelly_url,    headers: {},    timeout: 20,  };  if (CONFIG.username) {    header.headers.Authorization = "Basic " + user_pass;  }  Shelly.call("HTTP.Request", header, function (result, error_code, error_message) {    if (error_code === 200) {      print("Success: " + result);    } else {      print("Error code: " + error_code);      print("Errormessage: " + error_message)    }  }, null);}// 调用 turnOnShelly 函数来打开 Shelly 设备turnOnShelly();

注意事项

替换占位符: 务必将 your_shelly_ip、your_username 和 your_password 替换为实际的值。错误处理: 示例代码包含基本的错误处理。在生产环境中,建议添加更完善的错误处理机制。安全性: 尽量避免在代码中硬编码用户名和密码。可以考虑使用环境变量或其他更安全的存储方式。URL 编码: 如果 URL 中包含特殊字符,请确保对其进行正确编码。

总结

通过使用 HTTP.Request 方法并手动构建 Authorization: Basic 标头,我们可以成功地通过身份验证来控制 Shelly 设备。这种方法提供了更大的灵活性和控制权,可以满足各种复杂的身份验证需求。希望本文档能够帮助您更好地理解和应用 Shelly 脚本编程。

以上就是使用脚本通过身份验证控制 Shelly 设备的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/111719.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月23日 16:35:46
下一篇 2025年11月23日 16:57:08

相关推荐

  • 加密货币市场的“恐慌与贪婪指数”怎么看?

    %ignore_a_1%币安交易所 注册入口: APP下载: 欧易OKX交易所 注册入口: APP下载: 火币交易所: 注册入口: APP下载: 加密货币的恐慌与贪婪指数是衡量市场情绪的关键指标。它通过整合多种数据源,将复杂的情绪量化为0到100的数值,帮助投资者判断市场是处于过度恐惧还是过度贪婪的…

    2025年12月9日
    000
  • 区块链的TPS是什么?为什么越高越好?

    %ignore_a_1%币安交易所 注册入口: APP下载: 欧易OKX交易所 注册入口: APP下载: 火币交易所: 注册入口: APP下载: TPS(Transactions Per Second)即每秒交易处理量,是衡量区块链网络性能的核心指标。它代表了系统在一秒钟内能够有效处理并最终确认的交…

    2025年12月9日
    000
  • 比特币和区块链是什么关系?新手一看就懂

    %ignore_a_1%币安交易所 注册入口: APP下载: 欧易OKX交易所 注册入口: APP下载: 火币交易所: 注册入口: APP下载: 简单来说,比特币是区块链技术的第一个成功应用,而区块链是支撑比特币运行的底层核心技术。它们的关系就像电子邮件和互联网,没有互联网,电子邮件就无法存在。 区…

    2025年12月9日
    000
  • 什么是“聪”(Satoshi)?比特币的最小单位换算

    binance币安交易所 注册入口: APP下载: 欧易OKX交易所 注册入口: APP下载: 火币交易所: 注册入口: APP下载: “聪”(Satoshi,简称sat)是比特币(BTC)的最小计量单位,类似于中的“分”。它的命名是为了致敬比特币的匿名创造者中本聪(Satoshi Nakamoto…

    2025年12月9日
    000
  • 币安存贷易是什么?跟其他币安理财产品有何差异?币安存贷易放贷及借币教学

    %ignore_a_1%存贷易让有闲置资金或借款需求的用户,可以透过类似下单的方式,直接满足彼此需求,不仅利率公开透明,也更能反应真实行情。 Binance币安 欧易OKX ️ Huobi火币️ 这篇文章就来深入解析币安存贷易的概念、规则、适合对象及使用方式,无论你打算放贷领收益,还是借币开杠杆,都…

    2025年12月9日 好文分享
    000
  • 免费虚拟货币行情平台大全_币圈实时行情查询网站汇总

    对于任何%ignore_a_1%投资者而言,一个功能强大、数据全面的行情查询平台是必不可少的工具。这些平台不仅提供实时的价格波动,还集成了k线图、深度图、行业资讯和市值排名等关键信息,帮助用户做出更明智的投资决策。本文将为您汇总并介绍当前市场上最受欢迎的免费虚拟货币行情查询网站。 主流虚拟货币行情平…

    2025年12月9日
    000
  • 免费加密货币行情查看网站_币圈实时行情查询平台推荐

    对于%ignore_a_1%投资者而言,实时、准确的行情数据是做出交易决策的关键。一个优秀的行情查询平台不仅能提供价格波动,还能展示深度图表、资金流向和相关资讯。本文将为您推荐几个主流且功能强大的免费加密货币行情查看网站,帮助您轻松掌握市场脉搏。 主流币圈行情查询平台推荐 1、币安 (Binance…

    2025年12月9日
    000
  • 狗狗虚拟币还有多少个?怎么买?

    %ignore_a_1%币安交易所 Binance币安注册入口: Binance币安APP下载: 欧易OKX交易所 欧易(OKX)注册入口: 欧易(OKX)注册APP下载: 火币HTX交易所: 注册入口: APP下载: 狗狗虚拟币(Dogecoin)的总量没有上限,每年会新增固定数量的币。获取它通常…

    2025年12月9日
    000
  • okx全球数字资产交易平台官网地址 欧易okx交易所APP下载安装

    本文将为您提供官方%ignore_a_1%的下载链接和详细的安装指导,通过点击本文提供的下载链接,即可轻松获取最新版本的应用程序,开启您的数字资产之旅。 一、okx全球数字资产交易平台官网 OKX安卓APP下载:(支持直接安装) OKX苹果APP下载:(支持客户端及移动端) OKX交易平台官网直达:…

    2025年12月9日
    000
  • DAO是什么?详解去中心化自治组织的运作模式与未来

    dao,即去中心化自治组织,是构建于区块链上的一种创新型组织。它不受任何中心化实体控制,其规则被编码为透明的计算机程序,由组织成员集体所有和管理,旨在实现更民主、更高效的协作模式。 DAO的核心运作模式 1、智能合约奠定基础:DAO的组织章程和运营规则完全被写入智能合约中。这些合约部署在区块链上,确…

    2025年12月9日
    000
  • 什么是“链上治理”?持有代币就能投票吗?

    binance币安交易所 注册入口: APP下载: 欧易OKX交易所 注册入口: APP下载: 火币交易所: 注册入口: APP下载: 链上治理是一种将区块链协议的规则和决策机制直接编码在链上的去中心化管理模式。它允许利益相关者通过投票来决定协议的未来发展方向,从而实现社区驱动的真正自治。 链上治理…

    2025年12月9日
    000
  • 币圈行情软件哪个最好 2026币圈行情软件排行榜

    1、%ignore_a_1% 欧易okx官网入口: 欧易okxAPP下载链接: 2、币安Binance 币安Binance官网入口: 币安BinanceAPP下载链接: 3、火币HTX 官网入口: APP下载链接: 4、大门Gate.io 官网入口: 官方APP下载链接: 选择一款合适的行情软件是数…

    2025年12月9日
    000
  • 一文读懂:比特币是哪一年发行的 在哪里买

    1、%ignore_a_1% 欧易okx官网入口: 欧易okxAPP下载链接: 2、币安Binance 币安Binance官网入口: 币安BinanceAPP下载链接: 3、火币HTX 官网入口: APP下载链接: 4、大门Gate.io 官网入口: 官方APP下载链接: 比特币诞生于2009年,由…

    2025年12月9日
    000
  • 币安国际版官网入口_Binance全球交易所访问地址

    %ignore_a_1%国际版的官方网站是进行全球加密货币交易的主要入口。正确访问官网能确保账户与资金安全,避免钓鱼网站风险。 Binance币安 欧易OKX ️ Huobi火币️ 币安国际官网地址 币安国际站的官方网址为:https://www.binance.com。这是其全球通用的主域名,支持…

    2025年12月9日
    000
  • 比特币跌破十万后:谁逆势暴涨,谁借机归零?

    11 月 5 日凌晨 5 点,加密市场遭遇重创。衍生品爆仓金额高达 21 亿美元,其中多单爆仓 16.8 亿美元。这组数字虽远低于 10 月 11 日那次超 200 亿美元的“世纪爆仓”,但这一次的下跌却更具杀伤力。 Binance币安 欧易OKX ️ Huobi火币️ 比特币失守 10 万美元整数…

    2025年12月9日
    000
  • 简单说说什么是哈希和哈希算法

    %ignore_a_1%币安交易所 注册入口: APP下载: 欧易OKX交易所 注册入口: APP下载: 火币交易所: 注册入口: APP下载: 哈希(Hash)是一种能将任意数据,通过特定算法压缩成一个简短且长度固定的字符串的技术。这个独一无二的字符串就是哈希值,它就像是原始数据的“数字指闻”,常…

    2025年12月9日
    000
  • 除了比特币和以太坊,还有哪些主流加密货币?

    %ignore_a_1%币安交易所 注册入口: APP下载: 欧易OKX交易所 注册入口: APP下载: 火币交易所: 注册入口: APP下载: 加密货币世界远不止比特币和以太坊,许多其他项目凭借其独特技术和应用场景,同样吸引了大量关注和资本,共同构成了这个充满活力的生态系统。 Solana (SO…

    2025年12月9日
    000
  • 什么是RWA?它是如何运作的?为什么RWA的增长如此迅速?

    现实资产(rwa)正在革新金融业,它将债券、黄金和股票等有形资产引入区块链——一个安全透明的数字账本,能够像公共记录一样追踪所有权。通过对现实世界资产进行代币化,rwa 使投资更加便捷、流动性更强、效率更高,从而连接了传统金融与数字时代。本指南将解释 rwa 的定义、运作方式、类型、优势、风险以及其…

    2025年12月9日
    000
  • 币安binance官方认证APP获取入口 币安安卓最新版v3.6.0安全下载

    %ignore_a_1%(binance)是全球领先的数字资产交易平台,支持上百种加密货币交易与理财服务。本文将为你介绍如何通过官方渠道获取币安安卓最新版app(建议版本 v3.6.0),并说明下载及安装流程,帮助你安全完成安装与登录。 币安(Binance)官网地址: 建议通过币安官网“下载中心”…

    2025年12月9日
    000
  • ZEC独立行情复盘:当主流币下跌时,它为何能逆涨10倍?

    在瞬息万变的数字资产市场中,大多数资产的价格波动往往与主流%ignore_a_1%,如比特币和以太坊,呈现出高度的相关性。然而,偶尔会有一些“异类”脱颖而出,以其独特的市场表现吸引了投资者的目光。 Zcash(ZEC)在某段市场普跌时期内,展现出了惊人的逆势上涨,最高涨幅达到了10倍,这无疑是市场中…

    2025年12月9日
    000

发表回复

登录后才能评论
关注微信