motionblinds
Python library for interfacing with Motion Blinds
What it is and what it does
motionblinds is a Python library for controlling motorized blinds manufactured by Coulisse B.V. (Motion Blinds brand) and compatible systems from other manufacturers that use the same API. It communicates with a Motion Blinds gateway on your local network to send commands (open, close, stop, set position/angle) and retrieve device status. The library is designed primarily for integration with Home Assistant but works standalone; it supports both synchronous polling and asynchronous multicast listening for real-time status updates when blinds finish moving.
The library requires a gateway IP address and a 16-character API key obtained from the Motion Blinds mobile app. It uses pycryptodomex for encryption and supports Python 3.6 and later. Device discovery is available to locate gateways on your network. Callbacks can be registered to react to gateway or blind status changes, making it suitable for automation workflows that respond to blind movements.
Use it for:
- Integrate motorized blinds into a Home Assistant smart home setup for centralized control.
- Build standalone automation scripts that open/close blinds on a schedule or in response to external events.
- Discover and monitor all Motion Blinds gateways and connected blinds on a network programmatically.
- Listen for real-time multicast updates from the gateway to trigger callbacks when blinds finish moving.
- Control blind position and angle precisely for light management or privacy automation.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Controls Motion Blinds and compatible motorized blind systems via their gateway API, supporting open, close, stop, and position/angle commands.
Yes. The package is actively maintained, has low install friction, carries no known vulnerabilities, and uses a permissive MIT license. It solves a specific problem (controlling Motion Blinds and compatible systems) with a straightforward API. Install it if you own compatible blinds and need programmatic control; skip it if you don't have the hardware or prefer a different brand's API.
Install
motionblinds on PyPI
pip
pip install motionblindsuv
uv add motionblindspoetry
poetry add motionblindsInstalling motionblinds
Before you install
Low friction install with a single runtime dependency (pycryptodomex). Actively maintained with recent commits; last release 379 days ago, repo shows 28 stars and is not archived.
License in practice
MIT license permits commercial and private use with minimal restrictions; suitable for integration into proprietary or open-source projects.
Quickstart
pip install motionblinds
from motionblinds import MotionGateway
m = MotionGateway(ip="192.168.1.100", key="12ab345c-d67e-8f")
m.GetDeviceList()
m.Update()
blind = list(m.device_list.values())[0]
blind.Open()
Requires a Motion Blinds gateway on the local network and a 16-character API key retrieved from the official Motion Blinds mobile app.
Verify before relying
- Whether all listed compatible brands (Smart Blinds, Dooya, Brel Home, etc.) are actively tested or community-reported only.
- Real-world latency and reliability of multicast push updates versus polling.
- Whether asyncio support is production-ready or experimental.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — pycryptodomex |
| Maintenance | actively maintained — 379 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 74,918/month — #14,768 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: motionblinds-0.6.30-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
aiopulseAsynchronous Python library for controlling…
permissive · top 15,000 on PyPI
aiopvapiAsync Python API client for PowerView motorized…
permissive · top 15,000 on PyPI
bruntPython SDK for controlling Brunt motorized…
permissive · top 15,000 on PyPI
mplibMPlib provides motion planning algorithms for…
permissive · top 15,000 on PyPI
velbus-aioAn asyncio-based Python library for controlling…
permissive · top 15,000 on PyPI
led-bleControls generic unbranded Bluetooth LE LED…
permissive · top 15,000 on PyPI
homematicipA Python wrapper for the HomematicIP REST API…
copyleft · top 15,000 on PyPI
python-motion-planningImplements motion planning algorithms including…
copyleft · top 15,000 on PyPI
aiolifxaiolifx is an asyncio-based Python library for…
permissive · top 15,000 on PyPI