PyVLX is a wrapper for the Velux KLF 200 API.
Project description
PyVLX enables you to run scenes and or open and close velux windows.
Home-page: https://github.com/Julius2342/pyvlx
Author: Julius Mittenzwei
Author-email: julius@mittenzwei.com
License: LGPL
Download-URL: https://github.com/Julius2342/pyvlx/archive/0.2.4.zip
Description: PyVLX - controling VELUX windows with Python
============================================
[![Build Status](https://travis-ci.org/Julius2342/pyvlx.svg?branch=master)](https://travis-ci.org/Julius2342/pyvlx)
PyVLX uses the Velux KLF 200 interface to control io-Homecontrol devices, e.g. Velux Windows.
NEW API!!!
----------
Velux published a new API. Connecting to the new API is still work in progress.
The [current state can be found here](https://github.com/Julius2342/pyvlx/blob/master/examples/demo.py).
This wrapper can already:
* Login to KLF 200 with password.
* Retrieve scene list.
* Run/activate scene.
* Retrieve object list.
* Set position of specific window (50%)
Stay tuned!
**Note:** To use version 0.2.\* you have to install the [new Firmware](https://www.velux.com/api/klf200) on your KLF device. If you dont want to use the new firmware install pyvlx==0.1.6.
Installation
------------
PyVLX can be installed via:
```bash
pip3 install pyvlx
```
Basic Operations
----------------
```python
"""Just a demo of the new PyVLX module."""
import asyncio
from pyvlx import PyVLX
async def main(loop):
"""Demonstrate functionality of PyVLX."""
pyvlx = PyVLX('pyvlx.yaml', log_frames=True, loop=loop)
# Alternative:
# pyvlx = PyVLX(host="192.168.2.127", password="velux123", loop=loop)
# Runing scenes:
await pyvlx.load_scenes()
await pyvlx.scenes["All Windows Closed"].run()
# Changing position of windows:
await pyvlx.load_nodes()
await pyvlx.nodes['Bath'].open()
await pyvlx.nodes['Bath'].close()
await pyvlx.nodes['Bath'].set_position_percent(45)
# You can easily rename nodes:
# await pyvlx.nodes["Window 10"].rename("Window 11")
await pyvlx.disconnect()
if __name__ == '__main__':
# pylint: disable=invalid-name
LOOP = asyncio.get_event_loop()
LOOP.run_until_complete(main(LOOP))
# LOOP.run_forever()
LOOP.close()
```
Keywords: velux KLF 200 home automation
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Developers
Classifier: Topic :: System :: Hardware :: Hardware Drivers
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Home-page: https://github.com/Julius2342/pyvlx
Author: Julius Mittenzwei
Author-email: julius@mittenzwei.com
License: LGPL
Download-URL: https://github.com/Julius2342/pyvlx/archive/0.2.4.zip
Description: PyVLX - controling VELUX windows with Python
============================================
[![Build Status](https://travis-ci.org/Julius2342/pyvlx.svg?branch=master)](https://travis-ci.org/Julius2342/pyvlx)
PyVLX uses the Velux KLF 200 interface to control io-Homecontrol devices, e.g. Velux Windows.
NEW API!!!
----------
Velux published a new API. Connecting to the new API is still work in progress.
The [current state can be found here](https://github.com/Julius2342/pyvlx/blob/master/examples/demo.py).
This wrapper can already:
* Login to KLF 200 with password.
* Retrieve scene list.
* Run/activate scene.
* Retrieve object list.
* Set position of specific window (50%)
Stay tuned!
**Note:** To use version 0.2.\* you have to install the [new Firmware](https://www.velux.com/api/klf200) on your KLF device. If you dont want to use the new firmware install pyvlx==0.1.6.
Installation
------------
PyVLX can be installed via:
```bash
pip3 install pyvlx
```
Basic Operations
----------------
```python
"""Just a demo of the new PyVLX module."""
import asyncio
from pyvlx import PyVLX
async def main(loop):
"""Demonstrate functionality of PyVLX."""
pyvlx = PyVLX('pyvlx.yaml', log_frames=True, loop=loop)
# Alternative:
# pyvlx = PyVLX(host="192.168.2.127", password="velux123", loop=loop)
# Runing scenes:
await pyvlx.load_scenes()
await pyvlx.scenes["All Windows Closed"].run()
# Changing position of windows:
await pyvlx.load_nodes()
await pyvlx.nodes['Bath'].open()
await pyvlx.nodes['Bath'].close()
await pyvlx.nodes['Bath'].set_position_percent(45)
# You can easily rename nodes:
# await pyvlx.nodes["Window 10"].rename("Window 11")
await pyvlx.disconnect()
if __name__ == '__main__':
# pylint: disable=invalid-name
LOOP = asyncio.get_event_loop()
LOOP.run_until_complete(main(LOOP))
# LOOP.run_forever()
LOOP.close()
```
Keywords: velux KLF 200 home automation
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Developers
Classifier: Topic :: System :: Hardware :: Hardware Drivers
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
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
pyvlx-0.2.4.tar.gz
(24.6 kB
view details)
File details
Details for the file pyvlx-0.2.4.tar.gz
.
File metadata
- Download URL: pyvlx-0.2.4.tar.gz
- Upload date:
- Size: 24.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63c8c6ac4c19c2bc51d77672b1a8c55a16b4699eb08d5a5880ce7a82be73a618 |
|
MD5 | 8187acfe4fe4253f17a92779f8575339 |
|
BLAKE2b-256 | c1df8eb1da3914beb85f734b3b76181d7911311296feb9e60913b44645868b6a |