{
_id: ObjectId,
battery: Boolean,
customer: ObjectId,
groups: Array<ObjectId>,
deviceType: String<'ANDROID_TABLET', 'ANDROID_BOX'>,
mdm: String<'FLEXCARE', 'AIRWATCH', 'MOBILE_IRON', 'SCALEFUSION'>,
mdmConfig?: ObjectId | null,
mqttBrokerId?: ObjectId | null,
name: String,
powerButton: Boolean,
lock: {
activation: String<'OFF', 'ALWAYS', 'MANUAL'>,
x: Number,
y: Number
},
logo: {
enabled: Boolean,
height: Number,
width: Number,
image: ObjectId | null,
useDefault: Boolean,
margin: {
top: Number,
left: Number
}
},
version?: {
color: String,
fontSize: Number,
x: Number,
y: Number
},
volumeBoost: {
enabled: Boolean,
level: Number<0, 1000, 2000, 3000>
},
apps: [
{
_id: String,
install: Boolean,
locked: Boolean,
version: String | null
}
],
pages: [
{
useDefaultBackground: Boolean,
background?: ObjectId | null,
clockColor: String,
name: String,
clock: {
enabled: Boolean,
fontSize: Number,
x: Number,
y: Number
},
power: {
height: Number,
width: Number,
x: Number,
y: Number,
image?: ObjectId | null
},
buttons: [
{
_id?: ObjectId,
buttonId: String,
clearAppData: Boolean,
enabled: Boolean,
fontSize: Number,
includeDeviceId: Boolean,
includeTechnicalRoomNumber: Boolean,
includeToken: Boolean,
label: String,
labelColor: String,
showBottomMenu: Boolean,
showNavigationBar: Boolean,
type: String<'APP', 'WEBVIEW', 'MQTT', 'WIDGET', 'PAGE', 'INFOPAGE', 'VIDEOLIST', 'INFOCOLLECTION', 'LINKCOLLECTION', 'WAVECARE', 'VIDEO', 'TV', 'RADIO', 'NAMED_PAGE'>,
useStats: Boolean,
value: String,
x: Number,
y: Number,
icon: {
image?: ObjectId | null,
height: Number,
width: Number
},
mqtt?: {
cardBackgroundColor: String,
cardCornerRadius: Number,
conciergeImageHeight: Number,
conciergeImageWidth: Number,
decrementIcon?: ObjectId | null,
decrementIconWIdth: Number,
function: String<'concierge', 'slider', 'toggle', 'controller', 'info'>,
incrementIcon?: ObjectId | null,
incrementIconWidth: Number,
infoTextFontColor: String,
infoTextFontSize: Number,
jsonPublishOffValue: String,
jsonPublishOnValue: String,
jsonSubscribeOffValue: String,
jsonSubscribeOnValue: String,
jsonSubscribeValueField: String,
maxValue: Number,
minValue: Number,
publishDevice: String,
publishTemplate: String,
publishTopic: String,
publishValueType: String<'json', 'raw', 'concierge'>,
rawPublishOffValue: String,
rawPublishOnValue: String,
rawSubscribeOffValue: String,
rawSubscribeOnValue: String,
serviceId?: ObjectId | null,
sliderAngle: Number<-90, 0, 90, 180>,
sliderBackgroundColor: String,
sliderColor: String,
sliderCornerRadius: Number,
sliderIcon?: ObjectId | null,
sliderIconHeight: Number,
sliderIconWidth: Number,
sliderWidth: Number,
stateIconHeight: Number,
stateIconWidth: Number,
stateIconOff?: ObjectId | null,
stateIconOn?: ObjectId | null,
steps: Number,
subscribeDevice: String,
subscribeTopic: String,
subscribeValueType: String<'json', 'raw', 'concierge'>,
valuePostfix: String,
valuePrefix: String
}
}
]
}
]
}