This Adapter enables you to manage the supported Wiser by Feller system devices via a WebSocket connection.
All product and company names or logos are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them or any associated subsidiaries! This personal project is maintained in spare time and has no business goal. Wiser by Feller is a trademark of Feller AG, CH-8810 Horgen.
- node.js >= v18 is required
- js-controller >= v5.0.19 is required
- admin >= v6.3.5 is required
- Installed Wiser by Feller devices are required. More information can be found here: Wiser by Feller.
- Wiser by Feller Druckschalter 1-Kanal 3401...
- Wiser by Feller Druckschalter 2-Kanal 3402...
- Wiser by Feller Storenschalter 1-Kanal 3404...
- Wiser by Feller Storenschalter 2-Kabal 3405...
- Wiser by Feller LED-Universaldimmer 1-Kanal 3406...
- Wiser by Feller LED-Universaldimmer 2-Kanal 3407...
- Wiser by Feller DALI-Dimmer 1-Kanal 3411...
Еven without the mobile app, Wiser by Feller WLAN device can be set and controlled through a browser and WiFi connection of a mobile phone, tablet or PC (please make sure, that the device is not connetced to the cloud service -> see reset guideline in the manual of the device).
Installation procedure:
- Install Wiser by Feller WLAN device
- After first connection to power, Wiser by Feller WLAN device has created an own WiFi network, with name (SSID) such as
wiser-000xxxxx. Connect to it with your phone, tablet or PC and enter passwort, provided together with the device (sticker). - Type
http://192.168.0.1in your browser - Fill in
New Registrationand press the button on the device to continue - Log in
- Go to
settings->Network settings->Add new WLAN - Enter your credentials and press button
Add WLAN - Press button
Reboot Now! - Log out and discconnect your phone, tablet or PC from the Wiser by Feller WLAN device
- Get IP-Address of Wiser by Feller WLAN device in your router
- Enter
IP-Addressof Wiser by Feller WLAN device in settings of ioBroker.wiserbyfeller adapter instanceGateway-IP - Enter
usernameof Wiser by Feller WLAN device in settings of ioBroker.wiserbyfeller adapter instanceusername - Click
savebutton - Click
Get authentification tokenbutton and follow the shown procedure - Click
closebutton
Installation procedure:
- Install Wiser by Feller WLAN device and connect it via the guideline from Wiser by Feller via the normal installation guide.
- Get IP-Address of Wiser by Feller WLAN device in your router
- Enter
IP-Addressof Wiser by Feller WLAN device in settings of ioBroker.wiserbyfeller adapter instanceGateway-IP - Enter
usernameof Wiser by Feller WLAN device in settings of ioBroker.wiserbyfeller adapter instanceusername - Click
savebutton - Click
Get authentification tokenbutton and follow the shown procedure - Click
closebutton
To turn on or off a load set the attribute BRI (brightness) to the following values:
- Turn off set the
.ACTIONS.BRIattribute tooff - Turn on set the
.ACTIONS.BRIattribute toon
On a motor e.g. shutter/blind you can set the target level between 0% and 100% (0 - 10000) and a tilt value.
- To set the shutter in open position set the
.ACTIONS.LEVELattribute to0 - To set the shutter in close position set the
.ACTIONS.LEVELattribute to10000 - To control the shutter set the
.ACTIONS.LEVELattribute between1and10000(e.g. set.ACTIONS.LEVELto5000, means set the shutter/blind to position 50%) - To control slats of a shutter (number of tilt) set the
.ACTIONS.TILTattribute to a value0-9. Finally it's the motor running time, because we don't know the slat position in degrees. - To control the position and the tilt attribute together, set the
.ACTIONS.leveltilt.SETattribute to valuetrue. The shutter/blind will move to the position of the two values.ACTIONS.leveltilt.leveland.ACTIONS.leveltilt.tilt
On a dimmable light you can set the target brightness between 0% and 100% (0 - 10000).
- Turn off set the
.ACTIONS.BRIattribute to0 - To dim set the
.ACTIONS.BRIattribute between1and10000(e.g. set.ACTIONS.BRIto5000, means 50% of brightness)
On a dimmable light you can set the target brightness between 0% and 100% (0 - 10000).
- Turn off set the
.ACTIONS.BRIattribute to0 - To dim set the
.ACTIONS.BRIattribute between1and10000(e.g. set.ACTIONS.BRIto5000, means 50% of brightness)
On a dimmable light you can set the target brightness between 0% and 100% (0 - 10000).
- Turn off set the
.ACTIONS.BRIattribute to0 - To dim set the
.ACTIONS.BRIattribute between1and10000(e.g. set.ACTIONS.BRIto5000, means 50% of brightness) - To change the color set the
.ACTIONS.CTattribute between1000and20000
On a dimmable light you can set the target brightness between 0% and 100% (0 - 10000).
- Turn off set the
.ACTIONS.BRIattribute to0 - To dim set the
.ACTIONS.BRIattribute between1and10000(e.g. set.ACTIONS.BRIto5000, means 50% of brightness) - To change the color set the
.ACTIONS.RED,.ACTIONS.GREEN,.ACTIONS.BLUEand/or.ACTIONS.WHITEattribute between0and255
Create a job on the μGateway and connect them to a smartbuttons with true respectively false or toggle value:
-
Open
[IP-Adress of Wiser by Feller WLAN device]/debug/apiui.html -
Click Authorize button
-
Enter value
SecretAuth (http, Bearer) -
Click
Authorizebutton -
Click
Closebutton -
Open
scriptstab on your μGateway (url:[IP-Adress of Wiser by Feller WLAN device]/scripts.html), click buttonCreate File -
Enter a program name (f. ex.
smartbutton_1.py), click buttonSave -
Open programm by clicking on the pencil right in the above created program
-
First Option: Add the following code if you want to get
trueandfalseyou need two buttonsFirst Button:
import websockets async def onButtonEvent(*argv): await websockets.Connection.push_event('/api', {'smb': {'id': argv[2], 'value': True}})Second Button:
import websockets async def onButtonEvent(*argv): await websockets.Connection.push_event('/api', {'smb': {'id': argv[2], 'value': False}})Second Option: Add the following code if you want to toggle the value
true -> false -> true ...import websockets value = True async def onButtonEvent(*argv): global value await websockets.Connection.push_event('/api', {'smb': {'id': argv[2], 'value': value}}) value = False if value else True -
Click on button
✓(save) -
Open
[IP-Adress of Wiser by Feller WLAN device]/debug/apiui.html -
Go to
POST /api/smartbuttons/program, clickTry it outbutton -
Enter
{"on": true, "timeout": 60, "button_type": "scene", "owner": "user"}, clickExecutebutton -
Go to
GET api/smartbutton/notify, clickTry it outbutton -
Click
Executebutton -
Press a blinking Scene Button on your Wiser by Feller Device
-
Write down the
button id -
Go to
POST api/jobs, clickTry it outbutton -
Enter
{"scripts": ["smartbutton_1.py"]}(smartbutton_1.pymust match the above choosen program name), clickExecutebutton -
Write down the
job id -
Go to
PATCH /api/smartbuttons/{id}, clickTry it outbutton -
Enter the
button idinidfield -
Enter following code in the request body:
{"job": 102, "name": "Smartbutton_1"}(job must match thejob idfrom above,namecan be choosen), clickExecutebutton
-
For issues please use GitHub issues -> "Bug report" and fill in the form.
Set the adapter to debug log mode (Instances -> Expert mode -> Column Log level). Get the logfile from disk (subdirectory "log" in ioBroker installation directory and not from Admin because Admin cuts the lines). Check that there are no personal information before you publish your log.
-
For feature requests Please use GitHub issues -> "Feature request" and fill in the form.
- (ice987987) BREAKING: js-controller >= v5.0.19, admin >= v6.3.5 and node.js >= v18 is required
- (ice987987) dependencies updated
- (ice987987) section "disclaimer" in readme added
- (ice987987) ukrainian language added
- (ice987987) support for DALI-Dimmer added
- (ice987987) additional device info added (folder:
.info.device.[...]) - (ice987987) smartbuttons added (folder:
.smartbuttons.[...]) - (ice987987) watchdog for WebSocket-Connection added
- (ice987987) device icons fixed
- (ice987987) websocket connection fixed
- (ice987987) dependencies updated
- (ice987987) cleartimeout added
- (ice987987) WebSocket connection to get values of the devices implemented
- (ice987987) all subscribed states are now capitalized
- (ice987987) new way to set leveltilt values added
- (ice987987) readme updated
- (ice987987) description of several datapoints updated
- (ice987987) icons for main datapoints added
- (ice987987) license year updated
- (ice987987) DP rssi into info-folder moved
- (ice987987) readme.md updated
- (ice987987) dependencies updated
- (ice987987) initial release
MIT License
Copyright (c) 2025 ice987987 mathias.frei1@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
