A library to control Sensio smart house systems
Project description
Sensio Library
A minimal async library to control Sensio (EOPT Home) smart house systems. Designed for easy integration with Home Assistant.
Features (v1.2.0)
- Unity and HA pilot - Supports getting devices from both unity and ha-pilot.
- Local control — All device commands sent directly to your controller on the LAN
- Cloud API — Fetch device configuration from the EOPT cloud (one-time setup)
- Lights — Turn individual lights and room-level lights on/off
- Scenes — Activate lighting scenes
Architecture
The library separates cloud access from local control:
SensioApi— Authenticates with the Sensio cloud and fetches device data. Used once during setup; the result can be cached.Hub— Connects to your local controller and sends commands. Works entirely offline using cached device data.
Quick Start
First-time setup (fetch device data from cloud)
from sensio_lib import SensioApi
async with SensioApi(username, password) as api:
projects = await api.login()
project_id = next(iter(projects.values()))
functions_data = await api.get_devices(project_id)
# Cache functions_data for future use
Local control (from cached data)
from sensio_lib import Hub
async with Hub("192.168.1.100") as hub:
await hub.connect(cached_functions_data)
for light in hub.get_lights():
await light.turn_on()
for scene in hub.get_scenes():
await scene.activate()
Device Support
This library has been tested with a Sensio X1 controller. Testing is limited, so your experience may vary. Device support is also very limited to only scenes and lights. There is no reading of data back from the controller only sending of commands.
Requirements
- Python 3.10+
aiohttp
Testing
Example script reads env params for sensitive data and does not store anything. Example for launching it and testing:
SENSIO_USERNAME="your user name / email" SENSIO_PASSWORD="your password" SENSIO_HUB_IP="your hub IP" python example.py
You can also optionally specify SENSIO_ENV to target a different cloud environment (defaults to unity, can also be pilot-ha):
SENSIO_ENV="pilot-ha" SENSIO_USERNAME="your user name / email" SENSIO_PASSWORD="your password" SENSIO_HUB_IP="your hub IP" python example.py
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
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 sensio_lib-1.2.0.tar.gz.
File metadata
- Download URL: sensio_lib-1.2.0.tar.gz
- Upload date:
- Size: 12.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b2c4300c2d08d6aefdc3bcd286133f5e8889797f7d8c8a63faa8c11ea9946fa
|
|
| MD5 |
2239e97ae3ee1cb85d8204ea236667b7
|
|
| BLAKE2b-256 |
dd10072079d8384362e4bd9ed9408378a7ec06e9f44eb2bea1405d2ba34aaf12
|
Provenance
The following attestation bundles were made for sensio_lib-1.2.0.tar.gz:
Publisher:
publish.yml on sk0zzi/sensio_lib
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sensio_lib-1.2.0.tar.gz -
Subject digest:
2b2c4300c2d08d6aefdc3bcd286133f5e8889797f7d8c8a63faa8c11ea9946fa - Sigstore transparency entry: 1389516599
- Sigstore integration time:
-
Permalink:
sk0zzi/sensio_lib@eb1c68c72fb612116b4a0393983ed435ae745265 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/sk0zzi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@eb1c68c72fb612116b4a0393983ed435ae745265 -
Trigger Event:
push
-
Statement type:
File details
Details for the file sensio_lib-1.2.0-py3-none-any.whl.
File metadata
- Download URL: sensio_lib-1.2.0-py3-none-any.whl
- Upload date:
- Size: 10.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b88246c741f8cfc2d5b591171b303998c32557d79457c206e311a3ffac612471
|
|
| MD5 |
53f6c7b970960e2967a70e578939c4c1
|
|
| BLAKE2b-256 |
0ee663d9a967dda4f77e286b386b1c093d5222420fdd32a71d61a18065efd7c1
|
Provenance
The following attestation bundles were made for sensio_lib-1.2.0-py3-none-any.whl:
Publisher:
publish.yml on sk0zzi/sensio_lib
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sensio_lib-1.2.0-py3-none-any.whl -
Subject digest:
b88246c741f8cfc2d5b591171b303998c32557d79457c206e311a3ffac612471 - Sigstore transparency entry: 1389516643
- Sigstore integration time:
-
Permalink:
sk0zzi/sensio_lib@eb1c68c72fb612116b4a0393983ed435ae745265 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/sk0zzi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@eb1c68c72fb612116b4a0393983ed435ae745265 -
Trigger Event:
push
-
Statement type: