This is the documentation of the nomos system AG Controller API. nomos system is a Smart Home and building automation controller that manages devices, rooms, zones, users, automations, scenes, and integrations with platforms such as Matter, HomeKit, KNX, Philips Hue, Sonos, Miele, Husqvarna, and many more.
Two communication protocols are available:
All endpoints require authentication. Two schemes are supported on both protocols:
Sessions live for two years and are extended on every access (rolling expiration), so a stored Session ID typically remains valid as long as the client keeps using the API.
Authenticate by emitting auth with username and password. The callback returns a sessionID that can be reused on subsequent connections via the x-nomos-sid query parameter, skipping the credentials prompt.
socket.emit('auth', {username: 'admin', password: '••••••••'}, function(result) {
if(result && result.sessionID) {
// store result.sessionID and reuse it on the next connection
localStorage.setItem('nomos-sid', result.sessionID);
} else {
// result contains {errorCode, errorText} on failure
}
});
// Reconnect later with the stored session — no password required
var sid = localStorage.getItem('nomos-sid');
var socket = io('http://{host}:{port}/api/v1?x-nomos-sid=' + sid, {path: '/socket.io-v4'});
Send credentials via the auth-username and auth-password headers, or a stored Session ID via the x-nomos-sid header.
# With user credentials
curl -H 'auth-username: admin' -H 'auth-password: ••••••••' https://{host}/api/v1/getRooms
# With a stored Session ID
curl -H 'x-nomos-sid: <session-id>' https://{host}/api/v1/getRooms
Every API call returns a result object. On failure, the object has the following shape:
{
"errorCode": 106,
"errorText": "Parameter(s) error"
}
errorCode — integer error code, stable across versions. Use this in code for branching and logging.errorText — human-readable message localized to the client language sent during init. Use this for display only, never for control flow.A successful response never contains an errorCode field. Inspect its absence to distinguish success from failure:
socket.emit('getRooms', {}, function(result) {
if(result.errorCode) {
console.error('Failed:', result.errorCode, result.errorText);
return;
}
// result is the success payload
});
Operations that return no payload on success reply with an empty object ({}).
Many API functions support sort order definitions. For example:
socket.emit('getEvents', {sortBy: ['name', 'created']}, function(result) {
// Result sorted by name and created Timestamp
console.debug(result);
});
socket.emit('getEvents', {sortBy: ['-created', 'name']}, function(result) {
// Result sorted by created Timestamp ('-' means reverse sort order) and name
console.debug(result);
});
function socketInitialization() {
socket.emit('init', {uagent: navigator.userAgent, language: 'en'}, function() {
// ready
});
}
var socket = io('http://{host}:{port}/api/v1', {path: '/socket.io-v4'}); // or '/socket.io' for v2
socket.on('connect', function() {
// TODO: Show authentication dialog or fetch credentials
var username = 'USERNAME';
var password = 'PASSWORD';
socket.emit('auth', {username: username, password: password, persistent: false}, function(auth) {
if(auth.sessionID) {
// successful
socketInitialization();
}
else {
// not successful
}
});
});
var socket = io('http://{host}:{port}/api/v1', {
query: {
'x-nomos-sid': 'SESSION-ID'
}
});
socket.on('connect', function() {
socket.emit('init', {uagent: navigator.userAgent, language: 'en'}, function() {
// ready
});
});
Hostname or IP address
Secure connections (TLS) are available on port 443.
Use auth function to authenticate on the API with user credentials.
Provide your Session ID and skip the username and password.
curl --header "auth-username: USERNAME" --header "auth-password: PASSWORD" --header "auth-persistent: false" --header "accept-language: en" http://{host}:{port}/api/v1/getVersion
curl --header "x-nomos-sid: 1234567890123456789012345678901234567890" --header "accept-language: en" http://{host}:{port}/api/v1/getVersion
Hostname or IP address
Secure connections (TLS) are available on port 443.
Function/Operation Name
Provide user credentials auth-username and auth-password in HTTP header to authenticate on the API.
Provide your Session ID and skip the username and password.
Add an Addon Device/Component
(Version 0.2.58 | admin User Permission needed)
Accepts the following message:
Payload: Add an Addon Device/Component
{
"name": "My Addon",
"profile": "test-addon",
"configOverrides": {
"SERVERIP": "192.168.76.1"
}
}
Add/import an Addon Profile
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Payload: Add/import an Addon Profile
{
"profile": "test-addon",
"content": {}
}
Get Addon Limit
(Version 0.2.39 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Get imported/added Addon Profile
(Version 0.2.40 | admin User Permission needed)
Accepts the following message:
Payload: Get imported/added Addon Profile
{
"id": 5
}
Get imported/added Addon Profiles
(Version 0.2.40 | admin User Permission needed)
Accepts the following message:
Payload: Get imported/added Addon Profiles
{
"sortBy": [
"name",
"created"
]
}
Get available Online Library Profiles
(Version 0.2.40 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Import an Addon Profile (.csv, .json) via Base64 Content. Alternative to the SocketIOFileUpload based Upload-Addon-Profile that does not require the library.
(Version 0.3.30 | admin User Permission needed)
Accepts the following message:
Payload: Import an Addon Profile (.csv, .json) via Base64 Content
{
"content": "eyJuYW1lIjoiVGVzdCBBZGRvbiIs...",
"fileName": "test-addon.json"
}
Add/import an Online Library Profile
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Payload: Add/import an Online Library Profile
{
"type": "Miscellaneous",
"profile": "test-addon"
}
Event Update when a new Addon Profile has been added
(Version 0.2.19 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event Update when a new Addon Profile has been added
{
"id": 1,
"name": "Test Addon"
}
Event Update when an Addon Profile has been removed
(Version 0.2.19 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event Update when an Addon Profile has been removed
{
"id": 5
}
Remove an Addon Profile by Id
(Version 0.2.19 | admin User Permission needed)
Accepts the following message:
Payload: Remove an Addon Profile by Id
{
"id": 5
}
Remove an Addon Profile by Name
(Version 0.2.19 | admin User Permission needed)
Accepts the following message:
Payload: Remove an Addon Profile by Name
{
"name": "test-addon"
}
Set/update an Addon Device/Component
(Version 0.2.39 | admin User Permission needed)
Accepts the following message:
Payload: Set/update an Addon Device/Component
{
"cid": "C3",
"name": "My Addon",
"configOverrides": {
"SERVERIP": "192.168.76.2"
}
}
SocketIOFileUpload Upload Addon (.csv, .json) Profile File with the help of SocketIOFileUpload Library (see SocketIOFileUpload for more information)
(Version 0.2.19 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Payload: Upload Addon (.csv, .json) Profile File with the help of SocketIOFileUpload Library (see SocketIOFileUpload for more information)
var uploader = new SocketIOFileUpload(socket);
uploader.listenOnInput(document.getElementById("addonUploadInput"));
uploader.maxFileSize = 2000000;
uploader.addEventListener('error', function(data) {
if(data.code === 1) {
console.log("File size error");
}
});
uploader.addEventListener('progress', function(event) {
console.log(parseInt(event.bytesLoaded / event.file.size * 100) + '%');
});
uploader.addEventListener('complete', function(event) {
if(event.detail.error === false) {
// Success
window.location.reload();
} else {
// Error
}
});
uploader.addEventListener('start', function(event) {
event.file.meta.type = 'addonprofile';
});
Add a "remote" Apple AppleTV Device/Component
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Payload: Add a "remote" Apple AppleTV Device/Component
{
"model": "AppleTV",
"name": "Living Room AppleTV",
"uuid": "12345678-1234-1234-1234-123456789ABC",
"lid": "remote.appletv",
"profile": "appletv",
"capabilities": []
}
Get (autodetected) "remote" Apple AppleTV Devices/Components
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Payload: Get (autodetected) "remote" Apple AppleTV Devices/Components
{
"model": "AppleTV"
}
Event update when a "remote" Apple status event is triggered
(Version 0.2.71 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event update when a "remote" Apple status event is triggered
{
"name": "Livingroom",
"model": "AppleTV",
"host": "192.168.1.99",
"uuid": "12345678-90C2-4D0D-BA26-4B9EABC2F8B3",
"status": "detected",
"paired": false
}
Send "remote" Apple Pairing PIN Code
(Version 0.2.70 | admin User Permission needed)
Accepts the following message:
Payload: Send "remote" Apple Pairing PIN Code
{
"code": 1234
}
Start "remote" Apple Pairing Mode
(Version 0.2.70 | admin User Permission needed)
Accepts the following message:
Payload: Start "remote" Apple Pairing Mode
{
"uuid": "12345678-90C2-4D0D-BA26-4B9EABC2F8B3"
}
Stop "remote" Apple Pairing Mode
(Version 0.2.25 | admin User Permission needed)
Accepts the following message:
Empty message
{}
HTTP POST Upload a Backup
(Version 0.3.10 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Payload: Upload a Backup
{
"file": "string"
}
Create a Backup
(Version 0.2.4 | admin User Permission needed)
Accepts the following message:
Payload: Create a Backup
{
"name": "Test-Backup"
}
Download a Backup
(Version 0.2.4 | admin User Permission needed)
Accepts the following message:
Payload: Download a Backup
{
"name": "string"
}
Get Backups
(Version 0.2.4 | admin User Permission needed)
Accepts the following message:
Payload: Get Backups
{
"sortBy": [
"name",
"created"
]
}
Import a Backup File via Base64 Content. Alternative to the SocketIOFileUpload based Upload-Backup that does not require the library.
(Version 0.3.30 | admin User Permission needed)
Accepts the following message:
Payload: Import a Backup File via Base64 Content
{
"content": "UEsDBBQAAAAIAA...",
"fileName": "nomos-backup-2024-01-01.bkp"
}
Remove a Backup
(Version 0.2.4 | admin User Permission needed)
Accepts the following message:
Payload: Remove a Backup
{
"source": "local",
"name": "string"
}
Restore a Backup (on Success, System will reboot automatically)
(Version 0.2.49 | admin User Permission needed)
Accepts the following message:
Payload: Restore a Backup (on Success, System will reboot automatically)
{
"name": "Test-Backup"
}
SocketIOFileUpload Upload Backup File with the help of SocketIOFileUpload Library (see SocketIOFileUpload for more information)
(Version 0.2.4 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Payload: Upload Backup File with the help of SocketIOFileUpload Library (see SocketIOFileUpload for more information)
var uploader = new SocketIOFileUpload(socket);
uploader.listenOnInput(document.getElementById("backupUploadInput"));
uploader.addEventListener('error', function(data) {
if(data.code === 1) {
console.log("File size error");
}
});
uploader.addEventListener('progress', function(event) {
console.log(parseInt(event.bytesLoaded / event.file.size * 100) + '%');
});
uploader.addEventListener('complete', function(event) {
if(event.detail.error === false) {
// Success
window.location.reload();
} else {
// Error
}
});
uploader.addEventListener('start', function(event) {
event.file.meta.type = 'backup';
});
Add a Camera
(Version 0.3.3 | admin User Permission needed)
Accepts the following message:
Payload: Add a Camera
{
"name": "Kitchen Cam",
"rooms": [
1
],
"url": "http://192.168.1.2/cam.jpeg",
"type": "snapshot",
"refreshRate": 150
}
Get Camera by ID
(Version 0.3.3 | admin User Permission needed)
Accepts the following message:
Payload: Get Camera by ID
{
"id": 1
}
Get last Camera Error
(Version 0.2.50 | admin User Permission needed)
Accepts the following message:
Payload: Get last Camera Error
{
"id": 3
}
Get Camera Name
(Version 0.2.46 | admin User Permission needed)
Accepts the following message:
Payload: Get Camera Name
{
"id": 1
}
Get Cameras
Cameras assigned to a room the user has no permission for are not returned.
(Version 0.3.3)
Accepts the following message:
Payload: Get Cameras
{
"sortBy": [
"name",
"created"
]
}
Get a token authorizing the forwarder to serve exactly one camera snapshot or url, for use where a session cannot be presented.
(Version 0.3.40)
Accepts the following message:
Payload: Get Forwarder Token
{
"camId": "1"
}
{
"url": "http://192.168.1.2/cover.jpg"
}
Get Janus Configuration Settings
(Version 0.3.2)
Accepts the following message:
Empty message
{}
Get One-time Token for Janus WebSocket Service
(Version 0.3.2)
Accepts the following message:
Empty message
{}
Event Update when a new Camera was added
(Version 0.2.47 | admin User Permission needed)
Not delivered for Cameras standing in a Room the User has no permission for.
Available only on servers:
Accepts the following message:
Event Update when a new Camera was added
{
"id": 1,
"cid": "C1",
"name": "Kitchen Cam"
}
Event Update when a Camera Name has been changed
(Version 0.2.3 | admin User Permission needed)
Not delivered for Cameras standing in a Room the User has no permission for.
Available only on servers:
Accepts the following message:
Event Update when a Camera Name has been changed
{
"id": 1,
"name": "Livingroom WebCam"
}
Event Update when a Camera was removed
(Version 0.2.3 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event Update when a Camera was removed
{
"id": 1
}
Event Update when a Camera has been updated
(Version 0.2.47 | admin User Permission needed)
Not delivered for Cameras standing in a Room the User has no permission for.
Available only on servers:
Accepts the following message:
Event Update when a Camera has been updated
{
"id": 1
}
Remove a Camera
(Version 0.2.47 | admin User Permission needed)
Accepts the following message:
Payload: Remove a Camera
{
"id": 3
}
Set/Update a Camera
(Version 0.3.3 | admin User Permission needed)
Accepts the following message:
Payload: Set/Update a Camera
{
"id": 1,
"name": "Kitchen Cam",
"rooms": [
1
],
"url": "http://192.168.1.2/cam.jpeg",
"type": "snapshot",
"refreshRate": 150
}
Set Camera Name
(Version 0.2.3 | admin User Permission needed)
Accepts the following message:
Payload: Set Camera Name
{
"id": 1,
"name": "Kitchen Cam"
}
Start a Camera Stream
Cameras assigned to a room the user has no permission for are reported as not found.
(Version 0.3.2)
Accepts the following message:
Payload: Start a Camera Stream
{
"id": 1
}
Get (App) Client List
(Version 0.2.26 | admin User Permission needed)
Accepts the following message:
Payload: Get (App) Client List
{
"sortBy": [
"name",
"appVersion"
]
}
HTTP POST Registers a device for push notifications. Only reachable within the local network.
(Version 0.2.33)
Available only on servers:
Accepts the following message:
Payload: Registers a device for push notifications. The device is assigned to the user of the session it was registered with.
{
"did": "1E4F8745-BBBB-40DA-1F7A-2CDAC92BBBBB",
"token": 9.876543210987655e+58,
"appId": "com.nomos-system.testapp",
"appVersion": "1.0.1",
"appName": "nomos TestApp",
"osVersion": "17.6.1",
"platform": "iOS",
"model": "iPhone6,1",
"name": "My iPhone",
"language": "en"
}
Remove all (App) Clients
(Version 0.2.75 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Remove an (App) Client
(Version 0.1.8 | admin User Permission needed)
Accepts the following message:
Payload: Remove an (App) Client
{
"did": "1E4F8745-BBBB-40DA-1F7A-2CDAC92BBBBB",
"appId": "com.nomos-system.testapp"
}
Rename an (App) Client
(Version 0.2.38 | admin User Permission needed)
Accepts the following message:
Payload: Rename an (App) Client
{
"did": "1E4F8745-BBBB-40DA-1F7A-2CDAC92BBBBB",
"appId": "com.nomos-system.testapp",
"name": "New Name"
}
{
"did": "1E4F8745-BBBB-40DA-1F7A-2CDAC92BBBBB",
"appId": "com.nomos-system.testapp",
"name": null
}
Disable Cloud
(Version 0.2.66 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Disable Cloud Controller Synchronization
(Version 0.2.66 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Enable Cloud
(Version 0.2.66 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Enable Cloud Controller Synchronization
(Version 0.2.66 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Get Cloud Status Information/Configuration
(Version 0.3.7)
Accepts the following message:
Empty message
{}
Register to Cloud
(Version 0.2.65 | admin User Permission needed)
Accepts the following message:
Payload: Register to Cloud
{
"username": "string",
"password": "string"
}
Reset Cloud Connection and Credentials
(Version 0.2.66 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Unregister from Cloud
(Version 0.2.66 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Add a Component Tag or multiple Tags
(Version 0.2.40 | admin User Permission needed)
Accepts the following message:
Payload: Add a Component Tag or multiple Tags
{
"cid": "C10",
"tags": [
"Tag1",
"Tag2"
]
}
Attach a Component to a Room
(Version 0.1.8 | admin User Permission needed)
Accepts the following message:
Payload: Attach a Component to a Room
{
"cid": "C10",
"room": 1
}
Event update when new Components are detected by the system
(Version 0.2.71 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event update when new Components are detected by the system
{
"type": "sonos"
}
Do a Property Update on one or multiple Component(s)
(Version 0.2.60)
Accepts the following message:
Payload: Do a Property Update on one or multiple Component(s)
{
"cid": "C10",
"property": "switchon"
}
{
"cid": "C10",
"property": "level",
"value": "100"
}
{
"cid": "C10",
"property": "level",
"value": "+=10"
}
{
"floor": 1,
"property": "switchoff",
"filterType": "Lightbulb"
}
{
"room": [
1,
2
],
"property": "switchoff",
"filterCategory": "Lighting"
}
Detach a Component from a Room
(Version 0.1.8 | admin User Permission needed)
Accepts the following message:
Payload: Detach a Component from a Room
{
"cid": "C10",
"room": 1
}
Get All Components
(Version 0.2.73)
Accepts the following message:
Payload: Get All Components
{
"sortBy": [
"name",
"created"
]
}
Get Components Associations
(Version 0.2.47 | admin User Permission needed)
Accepts the following message:
Payload: Get Components Associations
{
"cid": "C10"
}
Get Component Data/Value for specific Component ID
(Version 0.2.11)
A Component standing in a Room the User has no permission for is refused with error 117.
Accepts the following message:
Payload: Get Component Data/Value for specific Component ID
{
"cid": "C1",
"property": "album"
}
{
"cid": "C2",
"property": "power"
}
Get Component Init Data/Values for specific Component IDs
(Version 0.2.20)
Component IDs standing in a Room the User has no permission for are left out of the reply.
Accepts the following message:
Payload: Get Component Init Data/Values for specific Component IDs
Component IDs to get initialization data for. Accepts a single ID, an array of IDs, or an object carrying them in cid.
C1
[
"C1",
"C2"
]
{
"cid": "C1"
}
Get Component(s) by Attribute(s)
(Version 0.2.82)
Accepts the following message:
Payload: Get Component(s) by Attribute(s)
{
"attributes": {
"id": "1",
"engineType": "ZWAVE"
}
}
Get Component(s) by Id
(Version 0.2.73)
Accepts the following message:
Payload: Get Component(s) by Id
{
"cid": "C1"
}
{
"cid": [
"C1",
"C2"
]
}
Filter components that start with a specific profile name
(Version 0.2.73)
Accepts the following message:
Payload: Filter components that start with a specific profile name
{
"profile": "sonos"
}
{
"profile": "sonos",
"sortBy": [
"name",
"created"
]
}
Get Components by Room
(Version 0.2.73)
Accepts the following message:
Payload: Get Components by Room
{
"room": 1
}
{
"room": 1,
"sortBy": [
"name",
"created"
]
}
Get Components by Tag(s)
(Version 0.2.73)
Accepts the following message:
Payload: Get Components by Tag(s)
{
"tags": "TestTag"
}
{
"tags": "TestTag",
"sortBy": [
"name",
"created"
]
}
Get Components, Floors, Rooms, Cameras, SIP Clients and Scenes
(Version 0.2.80)
Accepts the following message:
Payload: Get Components, Floors, Rooms, Cameras, SIP Clients and Scenes
{
"components": {},
"floors": {},
"rooms": {},
"cameras": {},
"scenes": {},
"links": {},
"sips": {}
}
Event Update when a new Component has been added
(Version 0.1.8 | admin User Permission needed)
Not delivered for Components standing in a Room the User has no permission for.
Available only on servers:
Accepts the following message:
Event Update when a new Component has been added
{
"cid": "C10"
}
Event Update when a Component has been attached to a Room
(Version 0.1.8 | admin User Permission needed)
A Component that moves into a Room the User has no permission for arrives as onComponentRemoved instead, and one that leaves such a Room as onComponentAdded -- so a client can drop it, or fetch it, without waiting for a full reload.
Available only on servers:
Accepts the following message:
Event Update when a Component has been attached to a Room
{
"cid": "C10",
"room": 1
}
Event Update when a Component has been updated
(Version 0.2.70 | admin User Permission needed)
Not delivered for Components standing in a Room the User has no permission for.
Available only on servers:
Accepts the following message:
Event Update when a Component has been updated
{
"cid": "C10"
}
Event Update when a Component has been detached from a Room
(Version 0.1.8 | admin User Permission needed)
A Component that moves into a Room the User has no permission for arrives as onComponentRemoved instead, and one that leaves such a Room as onComponentAdded -- so a client can drop it, or fetch it, without waiting for a full reload.
Available only on servers:
Accepts the following message:
Event Update when a Component has been detached from a Room
{
"cid": "C10",
"room": 1
}
Event Update when Component Meta has been changed
(Version 0.2.60 | admin User Permission needed)
Not delivered for Components standing in a Room the User has no permission for.
Available only on servers:
Accepts the following message:
Event Update when Component Meta has been changed
{
"cid": "C10",
"meta": {}
}
Event Update when a Component Name has been changed
(Version 0.2.0 | admin User Permission needed)
Not delivered for Components standing in a Room the User has no permission for.
Available only on servers:
Accepts the following message:
Event Update when a Component Name has been changed
{
"cid": "C10",
"name": "Test"
}
Event Update when a Component has been removed
(Version 0.2.14 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event Update when a Component has been removed
{
"cid": "C10"
}
Event Update when Component Tags have been changed
(Version 0.2.40 | admin User Permission needed)
Not delivered for Components standing in a Room the User has no permission for.
Available only on servers:
Accepts the following message:
Event Update when Component Tags have been changed
{
"cid": "C10",
"tags": [
"Test"
]
}
Event Update when a Component has been updated
(Version 0.2.11 | admin User Permission needed)
Updates for Components standing in a Room the User has no permission for are not delivered.
Available only on servers:
Accepts the following message:
Event Update when a Component has been updated
Component Update Objects
[
{
"cid": "C3",
"property": "artist",
"content": "AC/DC"
}
]
[
{
"cid": "C5",
"property": "power",
"content": "55.52 W",
"value": 55.52,
"unit": "W"
}
]
Remove a Component
(Version 0.2.18 | admin User Permission needed)
Accepts the following message:
Payload: Remove a Component
{
"cid": "C10"
}
Remove a Component Tag or multiple Tags
(Version 0.2.40 | admin User Permission needed)
Accepts the following message:
Payload: Remove a Component Tag or multiple Tags
{
"cid": "C10",
"tags": [
"Tag1",
"Tag2"
]
}
Set/Update a Component
(Version 0.2.46 | admin User Permission needed)
Accepts the following message:
Payload: Set/Update a Component
{
"cid": "C10",
"name": "Test"
}
Set a new Component Name
(Version 0.1.8 | admin User Permission needed)
Accepts the following message:
Payload: Set a new Component Name
{
"cid": "C10",
"name": "Test"
}
Start Configuration Batch Mode. After calling this function all component configuration updates will NOT restart the engine.
(Version 0.1.8 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Stops Configuration Batch Mode. Will restart the engine(s) so the new configuration takes effect.
(Version 0.1.8 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Add a DMX Device/Component (Switch, Dimmer, RGB, or RGBW). Pass an existing cid to edit an existing device in place — the old backend state is cleared and the component is re-created under the same ID.
(Version 0.3.34 | admin User Permission needed)
Accepts the following message:
Payload: Add a DMX Device/Component
{
"name": "Stage Light",
"universe": 0,
"channels": [
1,
2,
3,
4
],
"objectType": "RGBW"
}
Add a DMX Sync mapping. Mirrors all values from a source universe onto a destination universe.
(Version 0.3.34 | admin User Permission needed)
Accepts the following message:
Payload: Add a DMX Sync mapping. Mirrors all values from source universe onto destination. Each source can have at most one destination — repeating the call with a new destination overwrites the previous mapping.
{
"source": 0,
"destination": 1
}
Get discovered ArtNet/DMX Nodes from the local network.
(Version 0.3.34 | admin User Permission needed)
Accepts the following message:
Payload: List the Art-Net nodes found on the network
{
"sortBy": [
"string"
]
}
Get configured DMX Sync mappings.
(Version 0.3.34 | admin User Permission needed)
Accepts the following message:
Payload: List the configured universe synchronisations
{
"sortBy": [
"string"
]
}
Remove a DMX Sync mapping.
(Version 0.3.34 | admin User Permission needed)
Accepts the following message:
Payload: Remove a DMX Sync mapping
{
"source": 0,
"destination": 1
}
Adds a single device from an Eltako Series 64 gateway as a nomos component.
(Version 0.3.38 | admin User Permission needed)
Accepts the following message:
Payload: Add an Eltako Series 64 device
{
"serial": "0011223344",
"deviceGuid": "00-11-22-33-44-55-01",
"name": "Kitchen ceiling",
"profile": "eltako_light",
"lid": "eltako.light"
}
Adds an Eltako Series 64 gateway using its serial number, host, and administrator password. Logs in once to obtain a persistent API key used for all further communication. The gateway only allows a limited number of API keys and does not allow deleting them, so every call to this endpoint permanently uses up one of those slots, even if the gateway is later removed from nomos again.
(Version 0.3.38 | admin User Permission needed)
Accepts the following message:
Payload: Add an Eltako Series 64 gateway
{
"serial": "0011223344",
"host": "192.168.1.50",
"pop": "XXXXXXXX"
}
Detects Eltako Series 64 gateways on the local network via automatic discovery. Scanning takes a few seconds before the reply is sent.
(Version 0.3.38 | admin User Permission needed)
Accepts the following message:
Empty message
{}
List the devices of an Eltako Series 64 gateway, and whether they have already been added to nomos.
(Version 0.3.38 | admin User Permission needed)
Accepts the following message:
Payload: List the devices of an Eltako Series 64 gateway
{
"serial": "0011223344"
}
List the connected Eltako Series 64 gateways
(Version 0.3.38 | admin User Permission needed)
Accepts the following message:
Payload: List the connected Eltako Series 64 gateways
{
"sortBy": [
"string"
]
}
Removes a configured Eltako Series 64 gateway and disconnects from it. Devices already added to nomos are deleted as well when removeComponents is set, otherwise they are kept and marked unreachable.
(Version 0.3.38 | admin User Permission needed)
Accepts the following message:
Payload: Remove an Eltako Series 64 gateway
{
"serial": "0011223344",
"removeComponents": false
}
Adds all not yet added devices of an Eltako Series 64 gateway as nomos components in one step. Devices that could not be added are listed in the reply instead of failing the whole call.
(Version 0.3.38 | admin User Permission needed)
Accepts the following message:
Payload: Set up an Eltako Series 64 gateway by adding all its devices
{
"serial": "0011223344"
}
Get Engine Configuration Parameters
(Version 0.3.4 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Get Engine Projects List
(Version 0.1.8 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Get Engine/Daemon Start Log
(Version 0.1.8 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Set/Replace Engine Configuration Parameters, a "null" value would delete a configuration parameter
(Version 0.3.4 | admin User Permission needed)
Accepts the following message:
Payload: Set/Replace Engine Configuration Parameters, a "null" value would delete a configuration parameter
{
"PROJECT": "Test"
}
Add an Event
(Version 0.2.60 | admin User Permission needed)
Accepts the following message:
Payload: Add an Event
{
"name": "TestEvent",
"triggers": [
{
"cid": "C1",
"mapping": "playerstate",
"value": "PLAYING"
}
],
"positiveActions": [
{
"cid": "C2",
"property": "switchon"
}
]
}
{
"name": "TestEvent",
"triggers": [
{
"cid": "C1",
"mapping": "playerstate",
"value": "STOPPED"
},
"||",
{
"cid": "C1",
"mapping": "playerstate",
"value": "PAUSED"
}
],
"conditions": [
{
"cid": "C2",
"mapping": "switch",
"value": 1
}
],
"positiveActions": [
{
"cid": "C2",
"property": "switchoff"
},
{
"cid": "C3",
"property": "switchoff"
}
],
"negativeActions": [
{
"cid": "C2",
"property": "switchon"
},
{
"cid": "C3",
"property": "switchon"
}
]
}
{
"name": "TestEvent",
"enabled": false,
"triggers": [
[
{
"cid": "C1",
"mapping": "playerstate",
"value": "STOPPED"
},
"||",
{
"cid": "C1",
"mapping": "playerstate",
"value": "PAUSED"
}
],
"&&",
{
"cid": "C1",
"mapping": "volume",
"operator": ">=",
"value": 75
}
],
"positiveActions": [
{
"cid": "C1",
"property": "volume",
"value": 30
}
]
}
{
"name": "TestEvent",
"enabled": true,
"triggers": [
{
"timer": {
"time": "SUNRISE",
"weekdays": [
"MONDAY",
"TUESDAY",
"WEDNESDAY",
"THURSDAY",
"FRIDAY"
]
}
},
"&&",
{
"cid": "C2",
"mapping": "state",
"value": 1
}
],
"positiveActions": [
{
"cid": "C2",
"property": "state",
"value": 0
}
]
}
{
"name": "TestEvent",
"enabled": true,
"triggers": [
{
"cid": "C2",
"mapping": "state",
"value": 1
}
],
"conditions": [
{
"timer": {
"operator": "<=",
"time": "SUNRISE",
"weekdays": [
"SATURDAY",
"SUNDAY"
]
}
}
],
"positiveActions": [
{
"cid": "C2",
"property": "state",
"value": 0
}
]
}
{
"name": "TestEvent",
"enabled": true,
"triggers": [
{
"cid": "C2",
"mapping": "state",
"value": 1
}
],
"conditions": [
{
"timerange": {
"start": "SUNRISE",
"end": "SUNSET+00:15:00"
}
}
],
"positiveActions": [
{
"cid": "C2",
"property": "state",
"value": 0
}
]
}
{
"name": "TestInterval",
"triggers": [
{
"timer": {
"interval": 60
}
}
],
"positiveActions": [
{
"cid": "C2",
"property": "switchon"
}
]
}
Add a Special Event (see Examples)
(Version 0.2.51 | admin User Permission needed)
Accepts the following message:
Payload: Add a Special Event (see Examples)
{
"name": "Linking KNX Dim Up/Down with Component Volume Property",
"id": "knx.volume.link.4bit",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2"
}
]
}
{
"name": "Linking KNX 1 Byte with Component Volume Property",
"id": "knx.volume.link.8bit",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2"
}
]
}
{
"name": "Linking KNX Dim Up/Down with Component Level Property",
"id": "knx.level.link.4bit",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2"
}
]
}
{
"name": "Linking KNX Dim Up/Down with Lutron Component",
"id": "knx.lutronlevel.link.4bit",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2"
}
]
}
{
"name": "Linking KNX 1 Byte unsigned with Component Property",
"id": "knx.link.8bit",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2",
"property": "level"
}
]
}
{
"name": "KNX Text Scrolling",
"id": "knx.text.scrolling",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2",
"property": "title"
}
]
}
{
"name": "KNX Sonos Information Scrolling",
"id": "knx.playerinfo.scrolling",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2",
"property": ""
}
]
}
{
"name": "Property/Value to KNX Push",
"id": "knx.property.push",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2",
"property": "volume"
}
]
}
{
"name": "Property/Value Push",
"id": "property.push",
"data": [
{
"cid": "C1",
"property": "level"
},
{
"cid": "C2",
"property": "volume"
}
]
}
{
"name": "Property/Value Synchronization",
"id": "property.sync",
"data": [
{
"cid": "C1",
"property": "volume"
},
{
"cid": "C2",
"property": "volume"
}
]
}
{
"name": "Property Trigger",
"id": "property.trigger",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2",
"property": "button1"
},
[
"short_release",
1
]
]
}
{
"name": "Property Repeat Trigger",
"id": "trigger.repeat",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2",
"property": "button2"
},
[
"repeat"
]
]
}
{
"name": "Property Press/Release",
"id": "hue.trigger.pressrelease",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2",
"property": "button1"
}
]
}
{
"name": "Button Triggers KNX 4bit",
"id": "trigger.knx.4bit",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2",
"property": [
"button2",
"button3"
]
},
[
"repeat"
]
]
}
{
"name": "Hue Brightness Rotation Trigger",
"id": "hue.rotation.knx.4bit",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2",
"property": [
"cwise_event",
"ccwise_event"
]
}
]
}
{
"name": "Hue Rotation Press/Release Trigger",
"id": "hue.rotation.pressrelease",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2",
"property": [
"cwise_event",
"ccwise_event"
]
}
]
}
{
"name": "HUE ColorLoop",
"id": "hue.colorloop",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C3"
},
[
[
255,
0,
0
],
[
0,
255,
0
],
[
0,
0,
255
]
]
]
}
{
"name": "KNX RGBLoop",
"id": "knx.rgbloop",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C3"
},
[
[
255,
0,
0
],
[
0,
255,
0
],
[
0,
0,
255
]
]
]
}
{
"name": "InputLoop",
"id": "inputloop",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C3",
"property": "value"
},
[
"Value/Input 1",
"Value/Input 2",
"Value/Input 3"
]
]
}
Clone/duplicate an Event
(Version 0.1.8 | admin User Permission needed)
Accepts the following message:
Payload: Clone/duplicate an Event
{
"eid": "E10"
}
Disable an Event
(Version 0.1.8 | admin User Permission needed)
Accepts the following message:
Payload: Disable an Event
{
"eid": "E10"
}
Enable an Event
(Version 0.1.8 | admin User Permission needed)
Accepts the following message:
Payload: Enable an Event
{
"eid": "E10"
}
Get Event
(Version 0.2.45 | admin User Permission needed)
Accepts the following message:
Payload: Get Event
{
"eid": "E10"
}
Get All Events
(Version 0.2.45 | admin User Permission needed)
Accepts the following message:
Payload: Get All Events
{
"sortBy": [
"name",
"created"
]
}
Get Events by Tag(s)
(Version 0.2.45 | admin User Permission needed)
Accepts the following message:
Payload: Get Events by Tag(s)
{
"tags": "TestTag"
}
{
"tags": "TestTag",
"sortBy": [
"name",
"created"
]
}
Lock Event to prevent unwanted changes
(Version 0.2.45 | admin User Permission needed)
Accepts the following message:
Payload: Lock Event to prevent unwanted changes
{
"eid": "E10"
}
Event Update when an Event got triggered
(Version 0.2.41 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event Update when an Event got triggered
{
"eid": "E10",
"trigger": "positive",
"stats": {
"minute": 1,
"hour": 2,
"day": 3,
"week": 3,
"month": 3,
"year": 3
}
}
Remove an Event
(Version 0.2.45 | admin User Permission needed)
Accepts the following message:
Payload: Remove an Event
{
"eid": "E10"
}
Set/Update an Event
(Version 0.2.57 | admin User Permission needed)
Accepts the following message:
Payload: Set/Update an Event
{
"eid": "E10",
"name": "TestEvent",
"enabled": false,
"onChange": false,
"triggers": [
{
"cid": "C1",
"mapping": "playerstate",
"value": "PLAYING"
}
],
"positiveActions": [
{
"cid": "C2",
"property": "switchon"
}
]
}
Set a new Event Name
(Version 0.2.45 | admin User Permission needed)
Accepts the following message:
Payload: Set a new Event Name
{
"eid": "E10",
"name": "Test-Event"
}
Set/Update a Special Event (see Examples)
(Version 0.2.51 | admin User Permission needed)
Accepts the following message:
Payload: Set/Update a Special Event (see Examples)
{
"eid": "E10",
"name": "Linking KNX Dim Up/Down with Component Volume Property",
"id": "knx.volume.link.4bit",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2"
}
]
}
{
"eid": "E10",
"name": "Linking KNX 1 Byte with Component Volume Property",
"id": "knx.volume.link.8bit",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2"
}
]
}
{
"eid": "E10",
"name": "Linking KNX Dim Up/Down with Component Level Property",
"id": "knx.level.link.4bit",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2"
}
]
}
{
"eid": "E10",
"name": "Linking KNX Dim Up/Down with Lutron Component",
"id": "knx.lutronlevel.link.4bit",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2"
}
]
}
{
"eid": "E10",
"name": "Linking KNX 1 Byte unsigned with Component Property",
"id": "knx.link.8bit",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2",
"property": "level"
}
]
}
{
"eid": "E10",
"name": "KNX Text Scrolling",
"id": "knx.text.scrolling",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2",
"property": "title"
}
]
}
{
"eid": "E10",
"name": "KNX Sonos Information Scrolling",
"id": "knx.playerinfo.scrolling",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2",
"property": ""
}
]
}
{
"eid": "E10",
"name": "Property/Value to KNX Push",
"id": "knx.property.push",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2",
"property": "volume"
}
]
}
{
"eid": "E10",
"name": "Property/Value Push",
"id": "property.push",
"data": [
{
"cid": "C1",
"property": "level"
},
{
"cid": "C2",
"property": "volume"
}
]
}
{
"eid": "E10",
"name": "Property/Value Synchronization",
"id": "property.sync",
"data": [
{
"cid": "C1",
"property": "volume"
},
{
"cid": "C2",
"property": "volume"
}
]
}
{
"eid": "E10",
"name": "Property Trigger",
"id": "property.trigger",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2",
"property": "button1"
},
[
"short_release",
1
]
]
}
{
"eid": "E10",
"name": "Property Repeat Trigger",
"id": "trigger.repeat",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2",
"property": "button2"
},
[
"repeat"
]
]
}
{
"eid": "E10",
"name": "Property Press/Release",
"id": "hue.trigger.pressrelease",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2",
"property": "button1"
}
]
}
{
"eid": "E10",
"name": "Button Triggers KNX 4bit",
"id": "trigger.knx.4bit",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2",
"property": [
"button2",
"button3"
]
},
[
"repeat"
]
]
}
{
"eid": "E10",
"name": "Hue Brightness Rotation Trigger",
"id": "hue.rotation.knx.4bit",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2",
"property": [
"cwise_event",
"ccwise_event"
]
}
]
}
{
"eid": "E10",
"name": "Hue Rotation Press/Release Trigger",
"id": "hue.rotation.pressrelease",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C2",
"property": [
"cwise_event",
"ccwise_event"
]
}
]
}
{
"eid": "E10",
"name": "HUE ColorLoop",
"id": "hue.colorloop",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C3"
},
[
[
255,
0,
0
],
[
0,
255,
0
],
[
0,
0,
255
]
]
]
}
{
"eid": "E10",
"name": "KNX RGBLoop",
"id": "knx.rgbloop",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C3"
},
[
[
255,
0,
0
],
[
0,
255,
0
],
[
0,
0,
255
]
]
]
}
{
"eid": "E10",
"name": "InputLoop",
"id": "inputloop",
"data": [
{
"cid": "C1",
"property": "value"
},
{
"cid": "C3",
"property": "value"
},
[
"Value/Input 1",
"Value/Input 2",
"Value/Input 3"
]
]
}
Unlock Event
(Version 0.2.45 | admin User Permission needed)
Accepts the following message:
Payload: Unlock Event
{
"eid": "E10"
}
Disable Remote Access
(Version 0.2.33 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Enable Remote Access
(Version 0.2.33 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Get/Generate Remote Access Client Token
(Version 0.2.33)
Accepts the following message:
Payload: Get/Generate Remote Access Client Token
{
"jwtid": "E4F8745-BBBB-40DA-1F7A-2CDAC92BBBBB"
}
Get Remote Access Status Information
(Version 0.2.33)
Accepts the following message:
Empty message
{}
Revoke Remote Access Client Token
(Version 0.2.33)
Accepts the following message:
Payload: Revoke Remote Access Client Token
{
"jwt": "eyJhbGciOiJIUzUxiIsInR5cCI6IkpXVCJ9.eyJwYXlkMSI6IlhYWFhYIiwicGF5bG9hZDIiOiJ4eHh4eHgiLCJpYXQiOj1ZCI6InVybjpub21vcyIsInN1YiI6IllZWSJ9.aQs9j7w9-OFxq0ZqzwTK3oCxfE"
}
Revoke All Remote Access Client Tokens
(Version 0.2.33 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Add a Floor
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Payload: Add a Floor
{
"name": "Third Floor",
"position": 3
}
Get Floor Image
(Version 0.3.8)
Accepts the following message:
Payload: Get Floor Image
{
"id": 1
}
Get Floor Name
(Version 0.2.60)
Accepts the following message:
Payload: Get Floor Name
{
"id": 1
}
Get Floors
(Version 0.3.8)
Accepts the following message:
Payload: Get Floors
{
"sortBy": [
"name",
"created"
]
}
SocketIOFileUpload Import Floor Image with the help of SocketIOFileUpload Library (see SocketIOFileUpload for more information)
(Version 0.3.8 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Payload: Import Floor Image with the help of SocketIOFileUpload Library (see SocketIOFileUpload for more information)
var uploader = new SocketIOFileUpload(socket);
uploader.listenOnInput(document.getElementById("imageImportInput"));
uploader.addEventListener('error', function(data) {
if(data.code === 1) {
console.log("File size error");
}
});
uploader.addEventListener('progress', function(event) {
console.log(parseInt(event.bytesLoaded / event.file.size * 100) + '%');
});
uploader.addEventListener('complete', function(event) {
if(event.detail.error === false) {
// Success
window.location.reload();
} else {
// Error
}
});
uploader.addEventListener('start', function(event) {
event.file.meta.id = floor.id;
event.file.meta.subid = 'test'; // optional
event.file.meta.type = 'floorimage';
});
Import a Floor Background Image via Base64 Content. Alternative to the SocketIOFileUpload based Import-Floor-Image that does not require the library.
(Version 0.3.30 | admin User Permission needed)
Accepts the following message:
Payload: Import a Floor Background Image via Base64 Content
{
"content": "iVBORw0KGgoAAAANSUhEUgAA...",
"id": "1",
"fileName": "floorplan.png"
}
Event Update when a new Floor has been added
(Version 0.2.71 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event Update when a new Floor has been added
{
"id": 1,
"name": "Third Floor",
"position": 3,
"readonly": false
}
Event Update when a Floor Image has been uploaded
(Version 0.3.8 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event Update when a Floor Image has been uploaded
{
"id": 1,
"subid": "default"
}
Event Update when a Floor Name has been changed
(Version 0.1.8 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event Update when a Floor Name has been changed
{
"id": 1,
"name": "Third Floor"
}
Event Update when a Floor has been removed
(Version 0.1.8 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event Update when a Floor has been removed
{
"id": 1
}
Event Update when a Floor has been updated
(Version 0.2.71 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event Update when a Floor has been updated
{
"id": 1
}
Remove a Floor
(Version 0.2.3 | admin User Permission needed)
Accepts the following message:
Payload: Remove a Floor
{
"id": 3
}
Remove a Floor image
(Version 0.3.8 | admin User Permission needed)
Accepts the following message:
Payload: Remove a Floor image
{
"id": 3
}
Set/Update a Floor
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Payload: Set/Update a Floor
{
"id": 1,
"name": "Third Floor",
"position": 3
}
Set Floor Name
(Version 0.2.0 | admin User Permission needed)
Accepts the following message:
Payload: Set Floor Name
{
"id": 1,
"name": "Third Floor"
}
Add free@home virtual device
(Version 0.2.59 | admin User Permission needed)
Accepts the following message:
Payload: Add free@home virtual device
{
"cid": "C1",
"mac": "00:00:00:00:00:00"
}
Add a free@home device as component
(Version 0.2.54 | admin User Permission needed)
Accepts the following message:
Payload: Add a free@home device as component
{
"name": "Light",
"apmac": "00:00:00:00:00:00",
"apuuid": "00000-000000-0000000",
"id": "1234567890",
"lid": "freeathome.0012",
"profile": "freeathome_0012",
"model": "1234567890",
"capabilities": [],
"propertiesOverrides": {},
"mappingsOverrides": {}
}
Authorize the nomos Controller on a free@home System Access Point (SysAP).
(Version 0.2.54 | admin User Permission needed)
Accepts the following message:
Payload: Authorize the nomos Controller on a free@home System Access Point (SysAP).
{
"ip": "192.168.0.74",
"mac": "00:00:00:00:00:00",
"username": "installer",
"password": "myPassword1234"
}
Get available free@home SysAPs
(Version 0.2.54 | admin User Permission needed)
Accepts the following message:
Payload: Get available free@home SysAP's
{
"sortBy": [
"name"
]
}
Get free@home virtual devices
(Version 0.2.59 | admin User Permission needed)
Accepts the following message:
Payload: Get free@home virtual devices
{
"mac": "00:00:00:00:00:00"
}
Get available free@home devices
(Version 0.2.54 | admin User Permission needed)
Accepts the following message:
Payload: Get available free@home devices
{
"mac": "00:00:00:00:00:00"
}
{
"mac": "00:00:00:00:00:00",
"sortBy": [
"name"
]
}
Remove a paired free@home System Access Point (SysAP).
(Version 0.2.54 | admin User Permission needed)
Accepts the following message:
Payload: Remove a paired free@home System Access Point (SysAP).
{
"mac": "00:00:00:00:00:00"
}
Remove free@home virtual device
(Version 0.2.54 | admin User Permission needed)
Accepts the following message:
Payload: Remove free@home virtual device
{
"cid": "C1",
"mac": "00:00:00:00:00:00"
}
Get HAP Last Error Message
(Version 0.2.47 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Get HAP Settings
(Version 0.2.50 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Get HAP Last Status Information
(Version 0.2.50 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Reset HAP
(Version 0.2.50 | admin User Permission needed)
Accepts the following message:
Payload: Reset HAP
{
"numberOfProcesses": 1
}
Add a Home Connect device as component
(Version 0.2.76 | admin User Permission needed)
Accepts the following message:
Payload: Add a Home Connect device as component
{
"name": "FridgeFreezer Simulator",
"id": "SIEMENS-HCS05FRF1-FD713F7FF636",
"hcType": "FridgeFreezer",
"lid": "homeconnect.fridge",
"profile": "homeconnect_fridge",
"manufacturer": "SIEMENS",
"model": "HCS05FRF1",
"ident": "HCS05FRF1/03",
"capabilities": [
"homeconnect_states_door",
"homeconnect_settings_power",
"homeconnect_settings_temperatureunit",
"homeconnect_settings_childlock",
"homeconnect_settings_setpoint_refrigerator",
"homeconnect_settings_setpoint_freezer",
"homeconnect_settings_setpoint_bottlecooler",
"homeconnect_settings_setpoint_chiller",
"homeconnect_settings_supermode_refrigerator",
"homeconnect_settings_supermode_freezer"
]
}
Get Home Connect device programs
(Version 0.2.76)
Accepts the following message:
Payload: Get Home Connect device programs
{
"cid": "C10"
}
Get HomeConnect devices
(Version 0.2.76 | admin User Permission needed)
Accepts the following message:
Payload: Get HomeConnect devices
{
"sortBy": [
"name"
]
}
Initialize HomeConnect Authorization
(Version 0.2.76 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Event on HomeConnect Authorization
(Version 0.2.76 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event Update on HomeConnect Authorization
true
Add a Husqvarna device as component
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Payload: Add a Husqvarna device as component
{
"name": "My Mower",
"id": "1234567890",
"husqvarnaType": "MOWER",
"lid": "gardena.mower",
"profile": "gardena_mower",
"capabilities": [
"gardena_status",
"gardena_operatinghours",
"gardena_battery",
"gardena_link"
]
}
Get Husqvarna locations/devices that are reported by the cloud
(Version 0.2.59 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Initialize Husqvarna Authorization
(Version 0.2.59 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Event on Husqvarna Authorization
(Version 0.2.59 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event Update on Husqvarna Authorization
true
Add a KNX Device/Component
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Payload: Add a KNX Device/Component
{
"name": "Livingroom",
"lid": "knx.dimmer",
"profile": "knx_switch",
"propertiesAddresses": {
"switchon": "1/1/1",
"switchoff": "1/1/1",
"level": "1/1/10"
},
"mappingsAddresses": {
"switch": "1/7/1",
"level": "1/7/10"
},
"capabilities": [
"knx_level"
]
}
Add a user-defined KNX Group Address
(Version 0.2.8 | admin User Permission needed)
Accepts the following message:
Payload: Add a user-defined KNX Group Address
{
"addr": "2/1/36",
"name": "FirstFloor_Kitchen_Wall_Dimmer",
"type": "DPT_1.001",
"description": "Kitchen Wall Dimmer",
"readOnInit": false
}
Download a KNX Project
(Version 0.2.19 | admin User Permission needed)
Accepts the following message:
Payload: Download a KNX Project
{
"name": "MyHome.esf"
}
Get an Object of KNX Addresses with their DPT
(Version 0.2.15 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Get a List of KNX Datapoint Types (DPT's)
(Version 0.1.8 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Get/find all KNX Gateways in local network
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Get KNX Project Group Addresses
(Version 0.2.13 | admin User Permission needed)
Accepts the following message:
Payload: Get KNX Project Group Addresses
{
"name": "MyHome.esf"
}
Get all KNX Group Addresses used in Devices
(Version 0.2.82 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Get KNX Project Main Group Address Information
(Version 0.1.8 | admin User Permission needed)
Accepts the following message:
Payload: Get KNX Project Main Group Address Information
{
"name": "MyHome.esf"
}
{
"name": "MyHome.esf",
"sortBy": [
"-addr"
]
}
Get KNX Project Middle Group Address Information
(Version 0.1.8 | admin User Permission needed)
Accepts the following message:
Payload: Get KNX Project Middle Group Address Information
{
"name": "MyHome.esf"
}
{
"name": "MyHome.esf",
"sortBy": [
"name"
]
}
Get KNX Projects List and Meta Information
(Version 0.1.8 | admin User Permission needed)
Accepts the following message:
Payload: Get KNX Projects List and Meta Information
{
"sortBy": [
"name",
"created"
]
}
Get KNX Project Topology Information
(Version 0.3.28 | admin User Permission needed)
Accepts the following message:
Payload: Get KNX Project Topology Information
{
"name": "MyHome.knxproj"
}
{
"name": "MyHome.knxproj",
"sortBy": [
"name"
]
}
Fetch the most recent KNX error so the UI can display it on first load. Returns null if there is no pending error.
(Version 0.3.33 | admin User Permission needed)
Accepts the following message:
Payload: empty — fetch the most recent KNX error.
{}
SocketIOFileUpload Import KNX Project/Group Address File with the help of SocketIOFileUpload Library (see SocketIOFileUpload for more information)
(Version 0.2.83 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Payload: Import KNX Project/Group Address File with the help of SocketIOFileUpload Library (see SocketIOFileUpload for more information)
var uploader = new SocketIOFileUpload(socket);
uploader.listenOnInput(document.getElementById("knxImportInput"));
uploader.addEventListener('error', function(data) {
if(data.code === 1) {
console.log("File size error");
}
});
uploader.addEventListener('progress', function(event) {
console.log(parseInt(event.bytesLoaded / event.file.size * 100) + '%');
});
uploader.addEventListener('complete', function(event) {
if(event.detail.error === false) {
// Success
window.location.reload();
} else {
// Error
}
});
uploader.addEventListener('start', function(event) {
event.file.meta.password = ''; // optional
event.file.meta.type = 'knxfile';
});
Import a KNX/ETS Project File via Base64 Content. Alternative to the SocketIOFileUpload based Import-KNX-File that does not require the library.
(Version 0.3.30 | admin User Permission needed)
Accepts the following message:
Payload: Import a KNX/ETS Project File via Base64 Content
{
"content": "UEsDBBQAAAAIAA...",
"fileName": "MyProject.knxproj"
}
Is a KNX Group Address Used
(Version 0.2.82 | admin User Permission needed)
Accepts the following message:
Payload: Is a KNX Group Address Used
{
"addr": "2/1/36"
}
Event Update when Error occurs on KNX File Import
(Version 0.1.8 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event Update when Error occurs on KNX File Import
{
"errorText": "Unable to detect or wrong KNX file format!"
}
Event Update when KNX File Import finished
(Version 0.2.0 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event Update when KNX File Import finished
Result Object
{
"addresses": [
{
"addr": "2/1/36",
"name": "FirstFloor_Kitchen_Wall_Dimmer",
"type": "DPT_1.001",
"description": "Kitchen Wall Dimmer"
}
],
"duplicates": [
"1/1/1",
"1/1/2"
],
"devices": [
{
"id": "628494305",
"name": "TXA663A - 1 - 3",
"description": "",
"type": "DimmableLight",
"meta": {},
"addresses": {
"TargetAddress": "2/4/29"
}
}
]
}
Event update when the progress of KNX import file parsing changes
(Version 0.1.8 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event update when the progress of KNX import file parsing changes
{
"percent": 75
}
Event update when the progress of KNX project file removal changes
(Version 0.1.9 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event update when the progress of KNX project file removal changes
{
"percent": 75
}
Event Update when KNX Status Change is triggered
(Version 0.2.71 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event Update when KNX Status Event is triggered
{
"status": "connected"
}
Push event emitted when a structured KNX error occurs, such as keyring_load_failed or backbone_missing. A null payload clears the error state. The most recent error is retained and clears automatically once the KNX connection is re-established.
(Version 0.3.33 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Push event emitted when a structured KNX error occurs (e.g. keyring load failure, backbone key missing, secure tunneling authentication problem). A null payload clears the error state. The most recent error is retained and clears automatically once the KNX connection is re-established.
{
"code": "keyring_load_failed",
"context": "knx.knxkeys",
"level": "error",
"timestamp": "2026-05-20T08:00:00.000Z",
"message": "KNX keyring could not be loaded (wrong password?)"
}
Remove a KNX Group Address
(Version 0.2.18 | admin User Permission needed)
Accepts the following message:
Payload: Remove a KNX Group Address
{
"addr": "2/1/36"
}
Remove a KNX Project
(Version 0.2.18 | admin User Permission needed)
Accepts the following message:
Payload: Remove a KNX Project
{
"name": "MyHome.esf"
}
Set/Update a KNX Device/Component
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Payload: Set/Update a KNX Device/Component
{
"cid": "C6",
"name": "Livingroom",
"lid": "knx.dimmer",
"profile": "knx_switch",
"propertiesAddresses": {
"switchon": "1/1/1",
"switchoff": "1/1/1",
"level": "1/1/10"
},
"mappingsAddresses": {
"switch": "1/7/1",
"level": "1/7/10"
},
"capabilities": [
"knx_level"
]
}
Set/Update a KNX Group Address
(Version 0.2.50 | admin User Permission needed)
Accepts the following message:
Payload: Set/Update a KNX Group Address
{
"addr": "2/1/36",
"name": "Kitchen Wall Dimmer",
"description": "Kitchen Wall Dimmer",
"readOnInit": true
}
Get Profile Data/Information from the Library
(Version 0.2.19 | admin User Permission needed)
Accepts the following message:
Payload: Get Profile Data/Information from the Library
{
"lid": "knx.dimmer"
}
{
"lid": "sonos.default"
}
Get Profile Data/Information from the Library
(Version 0.2.19 | admin User Permission needed)
Accepts the following message:
Payload: Get Profile Data/Information from the Library
{
"name": "knx_switch",
"capabilities": [
"knx_level"
]
}
{
"name": "sonos"
}
Get Library Index Data/Information
(Version 0.1.8 | admin User Permission needed)
Accepts the following message:
Payload: Get Library Index Data/Information
{
"name": "KNX"
}
Get License Configuration/Information
(Version 0.2.19)
Accepts the following message:
Empty message
{}
SocketIOFileUpload Set/Upload License Key File with the help of SocketIOFileUpload Library (see SocketIOFileUpload for more information)
(Version 0.1.8 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Payload: Set/Upload License Key File with the help of SocketIOFileUpload Library (see SocketIOFileUpload for more information)
var uploader = new SocketIOFileUpload(socket);
uploader.listenOnInput(document.getElementById("licenseUploadInput"));
uploader.maxFileSize = 706;
uploader.addEventListener('error', function(data) {
if(data.code === 1) {
console.log("File size error");
}
});
uploader.addEventListener('progress', function(event) {
console.log(parseInt(event.bytesLoaded / event.file.size * 100) + '%');
});
uploader.addEventListener('complete', function(event) {
if(event.detail.error === false) {
// Success
window.location.reload();
} else {
// Error
}
});
uploader.addEventListener('start', function(event) {
event.file.meta.type = 'keyfile';
});
Add a Link
(Version 0.2.56 | admin User Permission needed)
Accepts the following message:
Payload: Add a Link
{
"name": "Third Link",
"url": "http://www.example-link3.com",
"icon": "bookmark"
}
Get Links
(Version 0.2.56 | admin User Permission needed)
Accepts the following message:
Payload: Get Links
{
"sortBy": [
"name",
"created"
]
}
Event Update when a new Link has been added
(Version 0.2.56 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event Update when a new Link has been added
{
"id": 3,
"name": "Third Link",
"url": "http://www.example-link3.com",
"icon": "bookmark",
"forceFullscreen": true
}
Event Update when a Link has been removed
(Version 0.2.56 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event Update when a Link has been removed
{
"id": 1
}
Event Update when a Link has been updated
(Version 0.2.56 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event Update when a Link has been updated
{
"id": 1
}
Remove a Link
(Version 0.2.56 | admin User Permission needed)
Accepts the following message:
Payload: Remove a Link
{
"id": 3
}
Set/Update a Link
(Version 0.2.56 | admin User Permission needed)
Accepts the following message:
Payload: Set/Update a Link
{
"id": 1,
"name": "Third Link",
"url": "http://www.example-link3.com",
"icon": "bookmark"
}
Disable Data Logging for a particular Component Property
(Version 0.2.5 | admin User Permission needed)
Accepts the following message:
Payload: Disable Data Logging for a particular Component Property
{
"cid": "C10",
"property": "state"
}
Enable Data Logging for a particular Component Property
(Version 0.2.47 | admin User Permission needed)
Accepts the following message:
Payload: Enable Data Logging for a particular Component Property
{
"cid": "C10",
"property": "state",
"samplingRate": 5,
"color": "237,33,84"
}
Get Logging Settings for all enabled Components
(Version 0.2.47)
Components standing in a Room the User has no permission for are left out of the reply.
Accepts the following message:
Empty message
{}
Get Data Log for a particular Component Property
(Version 0.2.84)
A Component standing in a Room the User has no permission for is refused with error 117.
Accepts the following message:
Payload: Get Data Log for a particular Component Property
{
"cid": "C10",
"property": "state"
}
{
"cid": "C10",
"property": "state",
"aggregation": "daily",
"from": 1469431719634
}
{
"cid": "C10",
"property": "state",
"aggregation": "monthly",
"from": "Mon Jul 25 2016 09:28:39 GMT+0200 (CEST)"
}
{
"cid": "C10",
"property": "state",
"from": "Mon Jul 25 2015 00:00:00 GMT+0200 (CEST)",
"to": "Mon Jul 25 2016 23:59:59 GMT+0200 (CEST)",
"limit": 10000
}
Get Logging enabled Component Settings
(Version 0.2.47)
A Component standing in a Room the User has no permission for is refused with error 117.
Accepts the following message:
Payload: Get Logging enabled Component Settings
{
"cid": "C10"
}
Completely delete/reset Data Log for a particular Component Property
(Version 0.2.5 | admin User Permission needed)
Accepts the following message:
Payload: Completely delete/reset Data Log for a particular Component Property
{
"cid": "C10",
"property": "state"
}
Download a Lutron Project
(Version 0.2.38 | admin User Permission needed)
Accepts the following message:
Payload: Download a Lutron Project
{
"name": "123456789012345678901234567890"
}
Get Lutron Projects List and Meta Information
(Version 0.2.39 | admin User Permission needed)
Accepts the following message:
Payload: Get Lutron Projects List and Meta Information
{
"sortBy": [
"name",
"created"
]
}
SocketIOFileUpload Import Lutron Project File with the help of SocketIOFileUpload Library (see SocketIOFileUpload for more information)
(Version 0.2.38 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Payload: Import Lutron Project File with the help of SocketIOFileUpload Library (see SocketIOFileUpload for more information)
var uploader = new SocketIOFileUpload(socket);
uploader.listenOnInput(document.getElementById("lutronImportInput"));
uploader.addEventListener('error', function(data) {
if(data.code === 1) {
console.log("File size error");
}
});
uploader.addEventListener('progress', function(event) {
console.log(parseInt(event.bytesLoaded / event.file.size * 100) + '%');
});
uploader.addEventListener('complete', function(event) {
if(event.detail.error === false) {
// Success
window.location.reload();
} else {
// Error
}
});
uploader.addEventListener('start', function(event) {
event.file.meta.type = 'lutron';
event.file.meta.host = '192.168.1.200';
event.file.meta.username = 'lutron';
event.file.meta.password = 'integration';
});
Import a Lutron Project File via Base64 Content. Alternative to the SocketIOFileUpload based Import-Lutron-File that does not require the library.
(Version 0.3.30 | admin User Permission needed)
Accepts the following message:
Payload: Import a Lutron Project File via Base64 Content
{
"content": "PD94bWwgdmVyc2lvbj0...",
"fileName": "DbXmlInfo.xml",
"host": "192.168.1.100"
}
Import a remote Lutron Project from IP/Host
(Version 0.2.39 | admin User Permission needed)
Accepts the following message:
Payload: Import a remote Lutron Project from IP/Host
{
"host": "192.168.1.200",
"username": "lutron",
"password": "integration"
}
Event Update when Error occurs on Lutron File Import
(Version 0.2.38 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event Update when Error occurs on Lutron File Import
{
"errorText": "Unable to detect or wrong Lutron file format!"
}
Event Update when Lutron File Import finished
(Version 0.2.38 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event Update when Lutron File Import finished
Result Object
{
"devices": [
{
"name": "Lamp 1",
"type": "BUTTON",
"category": "device"
}
]
}
Event update when the progress of Lutron import file parsing changes
(Version 0.2.38 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event update when the progress of Lutron import file parsing changes
{
"percent": 75
}
Remove a Lutron Project
(Version 0.2.38 | admin User Permission needed)
Accepts the following message:
Payload: Remove a Lutron Project
{
"name": "123456789012345678901234567890"
}
Set/Update Lutron Project IP/Host and Credentials
(Version 0.2.39 | admin User Permission needed)
Accepts the following message:
Payload: Set/Update Lutron Project IP/Host and Credentials
{
"name": "123456789012345678901234567890",
"host": "192.168.1.201",
"username": "test",
"password": "test"
}
Set/Update Lutron Project Credentials
(Version 0.2.39 | admin User Permission needed)
Accepts the following message:
Payload: Set/Update Lutron Project Credentials
{
"name": "123456789012345678901234567890",
"username": "test",
"password": "test"
}
Set/Update Lutron Project IP/Host
(Version 0.2.38 | admin User Permission needed)
Accepts the following message:
Payload: Set/Update Lutron Project IP/Host
{
"name": "123456789012345678901234567890",
"host": "192.168.1.201"
}
Confirm Management Master Pairing
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Payload: Confirm Management Master Pairing
{
"sid": "NS123456789"
}
Disable Management Master Pairing
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Enable Management Master Pairing
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Get all paired Management Masters
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Payload: Get all paired Management Masters
{
"sortBy": [
"name",
"created"
]
}
Get Management Master Pairing Enabled State
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Event on Management Master Pairing
(Version 0.2.71 | admin User Permission needed)
Available only on servers:
Accepts the following message:
Event Update on Management Master Pairing
{
"name": "Master System",
"sid": "NS123456789"
}
Pair a Management Master
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Payload: Pair a Management Master
{
"sid": "NS123456789",
"name": "Master System",
"id": "12345678901234567890",
"ipAddress": "172.16.17.1",
"serverIP": "192.168.1.50",
"serverPort": 51123,
"serverPublicKey": "serverpublickey"
}
Unpair a Management Master
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Payload: Unpair a Management Master
{
"id": "12345678901234567890"
}
Download Management Client Reset Document
(Version 0.2.75 | admin User Permission needed)
Accepts the following message:
Payload: Download Management Client Reset Document
{
"id": "12345678901234567890"
}
E-Mail Management Client Reset Document
(Version 0.2.75 | admin User Permission needed)
Accepts the following message:
Payload: E-Mail Management Client Reset Document
{
"id": "12345678901234567890",
"receiver": "test@nomos-system.com"
}
Emit a Management Client API
(Version 0.2.74 | admin User Permission needed)
Accepts the following message:
Payload: Emit a Management Client API
{
"id": "12345678901234567890",
"api": "getVersion",
"params": {}
}
Get all available Management Clients
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Get paired Management Clients
(Version 0.2.74 | admin User Permission needed)
Accepts the following message:
Payload: Get paired Management Clients
{
"sortBy": [
"name",
"created"
]
}
Get Management Master Settings
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Pair a Management Client
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Payload: Pair a Management Client
{
"host": "192.168.1.50",
"username": "admin",
"password": "admin"
}
Set Management Master Settings
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Payload: Set Management Master Settings
{
"serverIP": "192.168.1.50",
"cidr": "172.16.17.1/24"
}
Soft Reset Management Client System
(Version 0.2.75 | admin User Permission needed)
Accepts the following message:
Payload: Soft Reset Management Client System
{
"id": "12345678901234567890",
"adminPassword": "newPassword",
"numberOfUsers": 3,
"numberOfAdmins": 1
}
Unpair a Management Client
(Version 0.2.71 | admin User Permission needed)
Accepts the following message:
Payload: Unpair a Management Client
{
"id": "12345678901234567890"
}
Reset Matter
(Version 0.3.25 | admin User Permission needed)
Accepts the following message:
Payload: Open Matter Commissioning Window
{
"state": true,
"time": 900
}
Add a Matter Device/Component
(Version 0.3.21 | admin User Permission needed)
Accepts the following message:
Payload: Add a Matter Device/Component
{
"name": "Switch",
"id": "12345678901234567890",
"number": 0,
"lid": "matter.switch",
"profile": "matter_switch",
"capabilities": [
"matter_onoff_lighting"
]
}
Dump Matter Diagnostics into Log
(Version 0.3.26 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Get Matter Debug Log
(Version 0.3.26 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Get Matter Devices
(Version 0.3.21 | admin User Permission needed)
Accepts the following message:
Payload: Get Matter Devices
{
"sortBy": [
"name",
"created"
]
}
Get Matter Last Error Message
(Version 0.3.21 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Get Matter Settings
(Version 0.3.21 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Identify Matter Device
(Version 0.3.21 | admin User Permission needed)
Accepts the following message:
Payload: Identify Matter Device
{
"id": "12345678901234567890",
"number": 1
}
Pair a Matter Device
(Version 0.3.21 | admin User Permission needed)
Accepts the following message:
Payload: Pair a Matter Device
{
"code": "123-4567-890"
}
{
"qrcode": "MT:Q9EA0MNY16KQ3.41Rxx"
}
Reset Matter
(Version 0.3.21 | admin User Permission needed)
Accepts the following message:
Payload: Reset Matter
{
"type": "bridge"
}
Reset/Clear Matter Debug Log
(Version 0.3.26 | admin User Permission needed)
Accepts the following message:
Empty message
{}
Unpair a Matter Device
(Version 0.3.21 | admin User Permission needed)
Accepts the following message:
Payload: Unpair a Matter Device
{
"id": "12345678901234567890"
}
Add a MCP Token
(Version 0.3.30 | admin User Permission needed)
Accepts the following message:
Payload: Add a MCP Token
{
"name": "My MCP Token"
}
Get MCP Token List
(Version 0.3.30 | admin User Permission needed)
Accepts the following message:
Payload: Get MCP Token List
{
"sortBy": [
"name"
]
}
Remove a MCP Token
(Version 0.3.30 | admin User Permission needed)
Accepts the following message:
Payload: Remove a MCP Token
{
"token": "a1b2c3d4e5f6..."
}
Set/Update a MCP Token
(Version 0.3.30 | admin User Permission needed)
Accepts the following message:
Payload: Set/Update a MCP Token
{
"token": "a1b2c3d4e5f6...",
"name": "Updated Token Name",
"enabled": true
}