Asyncio module for Orvibo devices control
Project description
asyncio-orvibo
Control Orvibo devices with Python 3 using asyncio (single threaded with event loop). Currently supports the S20 WiFi Smart Switch and AllOne IR.
Usage
from asyncio_orvibo import s20
import asyncio
import traceback
async def test_switch_all_off_on():
dict_devices = await s20.S20.discovery()
for _,s in dict_devices.items():
if await s.state_change(0):
print("State off OK %s",s)
else:
print("State off FAIL %s",s)
await asyncio.sleep(5)
for _,s in dict_devices.items():
if await s.state_change(1):
print("State on OK %s",s)
else:
print("State on FAIL %s",s)
loop = asyncio.get_event_loop()
try:
loop.run_until_complete(test_switch_all_off_on())
except:
traceback.print_exc()
################################################
from asyncio_orvibo import allone
import asyncio
import traceback
import binascii
async def test_emit(k):
dict_devices = await allone.AllOne.discovery()
payload = binascii.unhexlify(k)
for _,a in dict_devices.items():
rv = await a.emit_ir(payload)
if rv:
print("Emit OK %s %s",a,binascii.hexlify(rv).decode('utf-8'))
else:
print("Emit failed")
loop = asyncio.get_event_loop()
try:
loop.run_until_complete(test_emit('00000000a801000000000000000098018e11951127029b0625029906270299062702380227023a0225023802270238022d023202270299062702990627029806270238022702380227023802270238022802370227023802270238022702980627023802240245021c02380227023802270238022702980627029c0623023802270298062702990627029b062502990627029906270220b7a1119d11270299062702990628029b06250238022702380227023802270238022702380227029906270299062702990627023802270238022a0234022702380227023802260238022702380226029a06260238022602380226023802260241021e02380227029b0624029906270238022702980627029b0625029906270299062702990629021db79f11a2112502990627029b0625029906270238022702380227023802270238022a02350227029906270299062702990628023702260238022702380227023802270238022702380226023b02240299062702380226023802270238022602380227023c0223029906270299062702380226029b062402990627029906270299062802980627020000'))
except:
traceback.print_exc()
Contributions
Pull requests are welcome. Possible areas for improvement:
- Additional Orvibo devices (CT10 for example, I have reverse engineered this device I only need time to write the code).
- Expand S20 functions: Timers, configuration, etc
Disclaimer
Not affiliated with Shenzhen Orvibo Electronics Co., Ltd.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
asyncio-orvibo-1.19.tar.gz
(8.2 kB
view details)
Built Distribution
File details
Details for the file asyncio-orvibo-1.19.tar.gz
.
File metadata
- Download URL: asyncio-orvibo-1.19.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 192be1f7fbd314bbb63c48079a5ecc0ad8705b2a6527c1417611c1d71028ce1d |
|
MD5 | e314ce950c63e2c3e1e7dac08d43ebb4 |
|
BLAKE2b-256 | 1e23162f2c9a9c2a05353d5272c91851dc36f6f3579f457315aa879bbd6b75d4 |
File details
Details for the file asyncio_orvibo-1.19-py3-none-any.whl
.
File metadata
- Download URL: asyncio_orvibo-1.19-py3-none-any.whl
- Upload date:
- Size: 11.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 418ca67ccaa7cb2191f16bb2459f2afe7ed76cfbe73676807d4902301a41c37f |
|
MD5 | d89a8ea6bc83da2a7598e990def7456f |
|
BLAKE2b-256 | 2ce3c65be65aea366fd2b7481e10a55be631d886b0cb2b19e2221c31bcbc0de8 |