Skip to main content

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

Project details


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)

Uploaded Source

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

Hashes for pyvlx-0.2.4.tar.gz
Algorithm Hash digest
SHA256 63c8c6ac4c19c2bc51d77672b1a8c55a16b4699eb08d5a5880ce7a82be73a618
MD5 8187acfe4fe4253f17a92779f8575339
BLAKE2b-256 c1df8eb1da3914beb85f734b3b76181d7911311296feb9e60913b44645868b6a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page