Under the error, the asset can store any error occurred. Errors can be stored also by backend processes based on any computation. Semantic error is 100% defined by your device firmware or by you application.
{
"deviceID": "db704563-a3e3-4c9e-b5ba-85d290655ec2",
"timestamp": "2018-01-01T00:00:00",
"code": 405,
"description": "description",
"reasonPhrase": "reason"
}