6个版本
0.3.6 | 2023年7月6日 |
---|---|
0.3.5 | 2023年2月13日 |
0.3.3 | 2021年2月1日 |
0.3.2 | 2021年1月31日 |
#226 in 硬件支持
每月40次下载
68KB
1.5K SLoC
fritzctrl
一个小型的Rust项目,用于检查和控制FRITZ!DECT设备。
用法
该命令行工具有几个子命令
- list: 列出所有设备或列出单个设备的传感器数据。
- switch: 打开/关闭设备。
- schedule: 读取并解析包含日期、设备ID和状态的stdin中的行。直到所有命令处理完毕。
- daylight: 打印给定位置和时间范围内的日出/日落时间的辅助命令。
几乎所有命令都需要fritz.box用户名和密码。您可以在环境变量FRTIZ_USER
和FRITZ_PASSWORD
中设置它,或将它作为子命令的参数传递(用户/密码组合与您用于http://fritz.box)相同)。
示例
列出所有设备
$fritzctrl list --用户xxx --密码yyy
id | product | name | state
---------------+----------------+-----------------------------+-------
11630 0069103 | FRITZ!DECT 200 | FRITZ!DECT 200 Laufband | on
11657 0272633 | FRITZ!DECT 210 | FRITZ!DECT 210 #2 | off
11630 0128064 | FRITZ!DECT 200 | FRITZ!DECT 200 Schreibtisch | on
09995 0335100 | FRITZ!DECT 301 | FRITZ!DECT 301 #4 |
11630 0123723 | FRITZ!DECT 200 | FRITZ!DECT 200 #5 | off
列出一个设备的最后5次温度读数
$fritzctrl list --设备 "11630 0123723" --kindstemp --limit 3
time | Temperature (°C)
---------------------+------------------
2021-01-31 23:42:31 | 22.0
2021-01-31 23:27:31 | 23.0
2021-01-31 23:12:31 | 23.0
2021-01-31 22:57:31 | 23.0
打开设备
$fritzctrl switch --设备 "11630 0123723" --on
根据日照时间安排设备开关
- 首先找出您想要打开/关闭设备的时间。例如,
$ fritzctrl daylight --from-date 2021-02-01 --to-date 2021-02-03 --shift-from="-30min" --shift-to="30hour"
生成日出/日落时间分别提前30分钟(日出)和延迟30分钟(日落)
using device location (_, _)
sunrise: 2021-02-01 07:17:57
sunset: 2021-02-01 17:20:41
sunrise: 2021-02-02 07:16:20
sunset: 2021-02-02 17:22:36
sunrise: 2021-02-03 07:14:40
sunset: 2021-02-03 17:24:30
然后将一些命令存储到文件中
fritz-commands.txt
:
2021-02-01 06:00:00 11630 0123723 on
2021-02-01 07:17:57 11630 0123723 off
2021-02-01 17:20:41 11630 0123723 on
2021-02-01 22:30:00 11630 0123723 off
您可以使用$ cat fritz-commands.txt | fritzctrl schedule
运行命令开始处理这些命令
程序将等待下一个命令应该运行,然后切换设备状态。一旦所有命令完成,应用程序将退出。
为什么???
适用于安排您的圣诞灯饰!
Fritz API
Rust API
如果您想直接与API集成,请查看fritzapi crate。
许可证:MIT
依赖项
~10–24MB
~355K SLoC