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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|