7次发布
0.3.3 | 2023年12月25日 |
---|---|
0.3.2 | 2023年10月13日 |
0.3.1 | 2023年2月18日 |
0.3.0 | 2022年10月4日 |
0.1.0 | 2022年9月23日 |
#75 在 WebSocket
每月40次下载
21KB
457 行
Heatmiser neohub "v3"(websocket/token)客户端
对neoHub websocket API的(目前)低级包装。
上游文档可以从https://dev.heatmiser.com/(需要免费账户)获得。它们并不完整也不准确。
警告
所有证书信息都被忽略。该中心没有有效的证书,客户端被设置为接受这一点。您不应信任通过不受信任的网络传输的数据。
用法
找到您的中心地址。据称它们对广播做出响应,但我的不会
echo -n "hubseek" | nc -b -u 255.255.255.255 19790
我从路由器的仪表板上拉取了IP地址。假设IP地址是 192.168.13.37
。
接下来,在移动应用程序中创建一个令牌。名字不重要。它看起来像 uuidv4
。
将这两个都导出为环境变量
export NEOHUB_URL=wss://192.168.13.37:4243
export NEOHUB_TOKEN=69696969-6969-4969-6969-696969696969
然后,您可以使用库
let mut client = Client::from_env()?;
let result: Value = client.command_void(commands::GET_LIVE_DATA).await?;
println!("{}", result.to_string()));
或者其中一个示例
cargo run --example neohub-cli
>> GET_LIVE_DATA
{
"CLOSE_DELAY": 0,
"COOL_INPUT": false,
"HOLIDAY_END": 0,
"HUB_AWAY": false,
"HUB_HOLIDAY": false,
示例
dump-live-data
持续将 GET_LIVE_DATA 输出到zstd
的jsonlines
文件中。
贡献/未来
我认为API还不够稳定,不能提供结构体,例如(生成的)LiveData
结构体,因此我认为将这些添加到crate的API中不是一个好主意。
请通过Github问题或PR提出。
许可证
MIT OR Apache-2.0
依赖关系
~12–21MB
~381K SLoC