用于与myStrom设备交互的异步Python API客户端
项目描述
用于与myStrom设备交互的异步Python API客户端。
此模块非官方,非myStrom AG开发、支持或认可。有关问题和其它咨询,请使用此仓库的问题跟踪器。
在没有myStrom AG的支持下,创建此模块将会花费更长的时间,它是Home Assistant集成的基础。myStrom AG提供了硬件。他们的持续支持使得此模块的进一步开发成为可能。
需求
您需要安装Python。
myStrom设备(灯泡、插头或按钮)
python-mystrom需求
网络连接
连接到您的网络的设备
安装
该软件包可在Python包索引中找到。
$ pip3 install python-mystrom
在基于Fedora的系统或已启用EPEL的CentOS/RHEL机器上。
$ sudo dnf -y install python3-mystrom
对于Nix或NixOS用户,有可用的软件包。请注意,最新的版本可能仅在不稳定通道中提供。
$ nix-env -iA nixos.python3Packages.python-mystrom
插头/开关
目前以下端点得到覆盖,根据https://api.mystrom.ch
/report:获取当前状态和功耗
/relay:用于设置继电器状态
您仍然可以使用智能手机应用程序、curl或其他工具使用您的设备。以下示例显示了如何使用httpie和curl以及python-mystrom使用开关。
$ http http://IP_ADDRESS_PLUG/report
HTTP/1.1 200 OK
Content-Length: 39
Content-Type: application/json
Date: Mon, 15 Feb 2016 17:52:21 GMT
{
"power": 51.630947,
"relay": true
}
$ curl -X GET http://IP_ADDRESS_PLUG/relay?state=1
灯泡
如果灯泡是开启的,那么您应该能够获取灯泡的当前状态。
浏览到http://IP_ADDRESS_BULB/api/v1/device/MAC_ADDRESS_BULB或使用命令行工具。
$ curl -d "color=0;0;100" -d "action=on" http://IP_ADDRESS_BULB/api/v1/device/MAC_ADDRESS_BULB
{
"5DFF7FAHZ987": {
"on": true,
"color": "0;0;100",
"mode": "hsv",
"ramp": 100,
"notifyurl": ""
}
}
灯泡无法处理JSON格式的有效载荷。必须使用application/x-www-form-urlencoded。如果在设置HSV颜色时出现问题,请记住这一点。
如果您打算使用Home Assistant与灯泡配合使用,请使用应用程序将灯泡设置为颜色状态,或使用以下命令。
$ curl -d "color=0;0;100" IP_ADDRESS_BULB/api/v1/device/MAC_ADDRESS_BULB
设置状态
您可以通过POST请求和有效载荷来设置状态。
开启:curl -d "action=on" http://IP_ADDRESS_BULB/api/v1/device/MAC_ADDRESS_BULB
关闭:curl -d "action=off" http://IP_ADDRESS_BULB/api/v1/device/MAC_ADDRESS_BULB
切换:$ curl -d "action=toggle" http://IP_ADDRESS_BULB/api/v1/device/MAC_ADDRESS_BULB
设置RGB颜色
设置颜色的支持模式之一是RBG。
白色:$ curl -d "color=FF000000" http://IP_ADDRESS_BULB/api/v1/device/MAC_ADDRESS_BULB
红色:$ curl -d "color=00FF0000" http://IP_ADDRESS_BULB/api/v1/device/MAC_ADDRESS_BULB
绿色:$ curl -d "color=0000FF00" http://IP_ADDRESS_BULB/api/v1/device/MAC_ADDRESS_BULB
蓝色:$ curl -d "color=000000FF" http://IP_ADDRESS_BULB/api/v1/device/MAC_ADDRESS_BULB
设置HSV颜色(色调,饱和度,亮度)
也可以使用HSV。
$ curl -d "color=0;0;100" http://IP_ADDRESS_BULB/api/v1/device/MAC_ADDRESS_BULB
“color=”由色调、饱和度和亮度组成。
设置单色(白色)
如果您只想设置灯泡的“白色”颜色,请使用单色。
$ curl -d "color=10;100" http://IP_ADDRESS_BULB/api/v1/device/MAC_ADDRESS_BULB
“color=”包含颜色温度(从1到18)和亮度(从0到100)的值。
调光(渐变)
添加渐变和间隔以设置改变颜色时的过渡时间。
$ curl -d "action=on&ramp=1000&color=00FF0000" http://IP_ADDRESS_BULB/api/v1/device/MAC_ADDRESS_BULB
渐变的单位是毫秒(ms)。
mystrom 帮助工具
命令行工具mystrom可以帮助设置按钮并从灯泡和插座获取详细信息。
$ mystrom
Usage: mystrom [OPTIONS] COMMAND [ARGS]...
Simple command-line tool to get and set the values of a myStrom devices.
This tool can set the targets of a myStrom button for the different
available actions single, double, long and touch.
Options:
--version Show the version and exit.
--help Show this message and exit.
Commands:
bulb Get and set details of a myStrom bulb.
button Get and set details of a myStrom button.
config Get and set the configuration of a myStrom...
示例展示了如何获取指定灯泡的详细信息。
$ mystrom config read
IP address of the myStrom device: IP_ADDRESS_BULB
MAC address of the device: MAC_ADDRESS_BULB
Read configuration from IP_ADDRESS_BULB
{
'MAC_ADDRESS_BULB':{
'type':'rgblamp',
'battery':False,
'reachable':True,
'meshroot':False,
'on':True,
'color':'191;90;14',
'mode':'hsv',
'ramp':100,
'power':0.953,
'fw_version':'2.25'
}
}
模块的示例用法
灯泡的示例可以在目录 examples 中找到。
许可证
python-mystrom 采用 MIT 许可,更多详情请查看 LICENSE。
项目详情
python-mystrom-2.2.0.tar.gz 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 545b1303f8ac070d07eea5d084e5fa2b6a7541c5713bbab94c8cdff188af5607 |
|
MD5 | b56b2ed0f841dc559d80c128115b3bbb |
|
BLAKE2b-256 | 941876754f29de8b40b1172548c68932c19a9fe09258be52ced6b9f74b109db6 |