运行v3+Itead固件的Sonoff设备接口。
pysonofflanr3的Python项目详细描述
在局域网模式下控制运行原始固件的Sonoff设备
控制运行V3+Itead固件的Sonoff交换机(在3.0、3.0.1、3.1.0、3.3.0上测试),本地(局域网模式)。在
这只适用于运行V3+库存(Itead/eWeLink)固件的Sonoff设备。对于V1.8.0到V2.6.1的用户,请使用PySonoffLAN
该模块提供了一种与Sonoff智能家居设备接口的方法, Sonoff基本型开关(例如Sonoff智能开关), 以及墙开关(例如Sonoff Touch),当这些设备处于LAN模式时。在
LAN模式是制造商Itead引入的一项功能,允许操作 当他们的服务器不可用时。 更多详细信息可在eWeLink LAN Mode guide中找到。在
自2018年年中以来,固件Itead已随大多数Sonoff设备一起提供 提供了此功能,允许直接控制设备 在本地网络上使用端口8081上的WebSocket连接。在
特点
- 发现本地网络上的所有设备
- 读取设备状态
- 打开/关闭设备
- 监听设备宣布的状态变化(例如通过物理交换机)
- 启动微动/瞬时装置,具有可变接通时间(例如1s)
安装
$ pip install pysonofflanr3
命令行用法
^{pr2}$用法示例
$ pysonofflan discover 2019-01-31 00:45:32,074 - info: Attempting to discover Sonoff LAN Mode devices on the local network, please wait... 2019-01-31 00:46:24,007 - info: Found Sonoff LAN Mode device at IP 192.168.0.77 $ pysonofflan --host 192.168.0.77 state 2019-01-31 00:41:34,931 - info: Initialising SonoffSwitch with host 192.168.0.77 2019-01-31 00:41:35,016 - info: == Device: 10006866e9 (192.168.0.77) == 2019-01-31 00:41:35,016 - info: State: OFF $ pysonofflan --host 192.168.0.77 on 2019-01-31 00:49:40,334 - info: Initialising SonoffSwitch with host 192.168.0.77 2019-01-31 00:49:40,508 - info: 2019-01-31 00:49:40,508 - info: Initial state: 2019-01-31 00:49:40,508 - info: == Device: 10006866e9 (192.168.0.77) == 2019-01-31 00:49:40,508 - info: State: OFF 2019-01-31 00:49:40,508 - info: 2019-01-31 00:49:40,508 - info: New state: 2019-01-31 00:49:40,508 - info: == Device: 10006866e9 (192.168.0.77) == 2019-01-31 00:49:40,508 - info: State: ON
库使用
所有常见的共享功能都可以通过SonoffSwitch
类获得:
x = SonoffSwitch("192.168.1.50")
在实例化SonoffSwitch类时,一个连接是 已初始化并填充设备状态,但不执行进一步的操作。在
对于大多数用例,您将希望使用callback_after_update
参数在连接后对设备执行某些操作
例如,初始化:
async def print_state_callback(device): if device.basic_info is not None: print("ON" if device.is_on else "OFF") device.shutdown_event_loop() SonoffSwitch( host="192.168.1.50", callback_after_update=print_state_callback )
此示例仅连接到设备,打印当前是否 “开”或“关”,然后关闭连接。注意,回调必须是 异步。在
特定于模块的错误将作为异常引发,并且是预期的 由图书馆用户处理。在
许可证
- 免费软件:麻省理工学院许可证
1.1.4(2020-03-29)
- 启用了在设备IP地址更改时工作的代码
- 修复了1.1.3中引入的错误CLI(https://github.com/mattsaxon/pysonofflan/issues/65)
- 删除了zeroconf早期版本的先前解决方法代码(<;=24.4)
1.1.3(2020-02-16)
- 修正了重新连接的问题,在状态改变之前设备仍然不可用
- 修复了条形设备的重试代码
1.1.2(删除版本)
1.1.1(2020-02-01)
- 优化后的zeroconf版本有一些不同的行为
- 改进了对意外错误的错误处理
1.1.0(2020-01-10)
- PyPI的第一个版本。在
- 从Pyonofflan包中分出(由Andrew Beveridge提供)
- 在v3itead固件上使用mdn进行服务发现,REST用于服务调用
- 支持DIY模式和“标准”模式(对于标准模式,需要获取API密钥,例如通过嗅探LAN)
- 支持所有已知的设备进行切换,尽管此时没有添加传感器
- 项目
标签: