Skip to main content

Wiser by Feller µGateway API

Project description

Wiser by Feller API Async Python Library

aioWiserbyfeller codecov PyPI - Version GitHub License

A modern async Python library to control and integrate Wiser by Feller smart light switches, cover controls, and scene buttons into your Python applications.

[!WARNING] This integration implements Wiser by Feller and not Wiser by Schneider Electric, which is a competing Smart Home platform (and is not compatible). It is even more confusing, as Feller (the company) is a local subsidiary of Schneider Electric, catering only to the Swiss market.

📦 Installation

pip install aiowiserbyfeller

🧑‍💻 Usage

import asyncio
import aiohttp
from aiowiserbyfeller import Auth, WiserByFellerAPI

async def main():
    async with aiohttp.ClientSession() as session:
        auth = Auth(session, "192.168.0.42")  # Replace with the IP of your µGateway
        api = WiserByFellerAPI(auth)
        info = await api.async_get_info()
        print(info)

asyncio.run(main())

🧰 Basic Functionality

Wiser by Feller devices always consist of two parts: The control front and the base module. There are switching base modules (for light switches and cover controllers) and non-switching base modules (for scene buttons and secondary controls).

Because the functionality changes when the same base module is used with a different front, the combination of the two is considered an unique device.

Devices are connected with each other by a proprietary K+ bus system. One (and only one) device acts as a WLAN gateway (called µGateway) to interface with the system.

Learn more about Wiser devices on the official website and API documentation.

🚀 Features

Here's what this library offers:

🤖 Simple API abstraction

The library abstracts abstraction, that allows for easy authentication, interaction with the endpoints and data validation.

✨ Easy to use framework

The framework implements model abstraction classes allowing for strongly typed implementations. Helper methods and properties abstract as much complexity of the API as possible, while retaining full flexibility.

🚨 Status LEDs

Each front features a configurable RGB LED edge for their buttons. Normally you would configure those in the Wiser Home app. They can be configured in color and brightness. For buttons controlling a load, there can be two different brightnesses: One for if the load is on and one for if it is off. For others (e.g. scene buttons) there can only be one brightness, as there is no logical "on" state.

🧪 Robust test suite

Extensive unit test coverage ensures high stability and confidence even if new functionality is added.

[!IMPORTANT] Due to the implementation on the devices, the status light is not suited for fast updating, as multiple slow API calls are necessary.

⚠️ Known Limitations

  • The µGateway supports REST and WebSockets only. MQTT exists but is not publicly accessible.
  • Device names appear in German only, due to limited international support.
  • Status LED updates are slow, as they require multiple API calls.

🔗 Related Projects

🤝 Contributing

We welcome contributions! To get started:

  1. Create a virtual environment: python -m venv .venv
  2. Install dependencies: pip install -r requirements.txt
  3. Make your changes.
  4. Write or update unit tests.
  5. Run tests with pytest
  6. Open a Pull Request 🎉

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

aiowiserbyfeller-1.0.0b9.tar.gz (39.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiowiserbyfeller-1.0.0b9-py3-none-any.whl (53.4 kB view details)

Uploaded Python 3

File details

Details for the file aiowiserbyfeller-1.0.0b9.tar.gz.

File metadata

  • Download URL: aiowiserbyfeller-1.0.0b9.tar.gz
  • Upload date:
  • Size: 39.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for aiowiserbyfeller-1.0.0b9.tar.gz
Algorithm Hash digest
SHA256 926f8247c0e114fed328a91b82025bc06174578e892b055beedaaedfc32b2ba1
MD5 dab370dabfe961dcef61d1cbb17a5a8b
BLAKE2b-256 aaaddf653c92a3b120c548aeca2a4db9883c50d5defd6c7eb83b4d0213402baa

See more details on using hashes here.

File details

Details for the file aiowiserbyfeller-1.0.0b9-py3-none-any.whl.

File metadata

File hashes

Hashes for aiowiserbyfeller-1.0.0b9-py3-none-any.whl
Algorithm Hash digest
SHA256 4b8ecaeb00a2c525fd2efb65b88883b1cc01583fbaf11b52d815a3c71bf1087d
MD5 6a9da7e23f4031a471443079eecfd627
BLAKE2b-256 d6023b08ebf625e05636bf17521660f3b2a02c15b1cbb4430f49e159ecc874e9

See more details on using hashes here.

Supported by

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