RPC

bOS Offers a JSON RPC (Remote Procedure Call protocol) Service for integration of bOS Server with other systems. The RPC service can be enabled, configured and controlled under API node and RPC subnode The firewall exceptions must be set manually in Windows OS. RPC service on the new bOS offers HTTP basic authentication with username, and password.

Image 3800

bOS RPC commands:

To call an RPC Service an HTTP POST call must be performed with data content-type = "application/json";

Service offers the following commands:

https://RPC_username:RPC_password@server_ip_address/API/RPC/SetValue

POST data example (Turn ON a light): {"objectName":"Devices\KNX\Light 1","valueName":"Value","value":"true"}

https://RPC_username:RPC_password@server_ip_address/API/RPC/GetValue

POST data example (Get light status): {"objectName":"Devices\KNX\Light 1","valueName":"Value"}

https://RPC_username:RPC_password@server_ip_address/API/RPC/CallFunction

POST data example (Send alert to user):

{"objectName":"Building\General\Users\User","functionName":"SendAlert","value":["'Hello'"]}

POST data example for controlling multiple devices (Turning ON two lights):

{"parameters":[{"objectName":"Devices\KNX\Light 1","valueName":"Value","value": "true"}

{"objectName":"Devices\KNX\Light 2","valueName": "Value","value":"true"}]}

RPC also allows us to communicate between different bOS Servers. This feature can be very useful for a centralized overview of a building with multiple servers or multiple projects. Step by step tutorial: 

Youtube video