Welcome IP local API concepts

Welcome IP local API model

The welcome IP API provides endpoints to request the current configuration or data model. Additional endpoints allow to get and set datapoints which represent the current state of the devices in your smart access point.
Just make sure that the third part you want to use the local API of the smart AP is on the same network as the smart AP. We use MQTT's pub/sub model to control and monitor.

Data model

A simplified response from the configuration endpoint looks like this:

{ 
"devices": [{
"deviceTypeId": 1,
"nameId": "FFCA",
"iconId": "e7e4",
"progress": "100",
"copyId": "3",
"commissioningState": "ready",
"isBatteryPowered": "false",
"deviceFlavor": "00",
"maxAPDULength": "37",
"profile": "0E00",
"individualAddress": "01CE",
"softwareId": "0A6E",
"buildNumber": "0000026E",
"compilerVersion": "006BE131",
"sysAp": "false",
"domainAddress": "33E7",
"deviceId": 1,
"functionId": 65279,
"deletedisable": 1,
"channels": [{
"nameId": "0571",
"mask": "00000002",
"cid": "10000121",
"bubbleId": "10000",
"i": 0,
"combinedNameId": "",
"combined": true,
"combinedDisplayName": "",
"master": 2,
"submodule": "ac",
"inputs": [{
"i": 0,
"value": "0",
"pairingId": "1000"
}],
"outputs": [{
"i": 0,
"value": "0",
"pairingId": "1000"
}],
"building": 0,
"displayName": "",
"floor": 0,
"functionId": 100,
"offsetX": 0,
"offsetY": 0,
"showinui": false,
"room": 0
}]
}]
}

In this shortened example you see:

  • There is a single SmartAP sending its data model.

  • That model consists of devices (here only one). A device in the data model matches a real hardware device that is connected to the SmartAP, for example an outdoor station device.

  • The device consists of channels. A channel represents some kind of function of the device, such as “door opener, that can be controlled separately. Some devices have multiple channels which may be mutually exclusive, depending on the device.

  • Each channel is made of input and output datapoints. A datapoint represents some kind of data that can be sent to the device (input datapoint), such as “door opener”, or that can be read from the device (output datapoint), such as “door is currently on/off.