/
deviceParser.js
37 lines (34 loc) · 1.12 KB
/
deviceParser.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
class DeviceParser {
capabilities () {
return [
'measure_temperature',
'measure_luminance',
'flora_measure_fertility',
'flora_measure_moisture',
]
}
getDeviceData (floraDevice) {
moment.locale('nl')
const settings = floraDevice.settings
const deviceData = {
'name': floraDevice.name,
'id': floraDevice.id,
'lastUpdated': moment(
new Date(Date.parse(settings['last_updated']))).fromNow(),
}
deviceData['capabilities'] = {}
for (const capabilityName of this.capabilities()) {
const capability = floraDevice.capabilitiesObj[capabilityName]
const min = settings[capabilityName + '_min']
const max = settings[capabilityName + '_max']
deviceData['capabilities'][capabilityName] = {
'sensor': capability.title,
'min': min,
'value': capability.value,
'max': max,
'suffix': ' ' + capability.units,
}
}
return deviceData
}
}