/
index.html
83 lines (74 loc) · 32.3 KB
/
index.html
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="assets/css/screen.css" media="all"/>
<script type="text/javascript" src=".env"></script>
<script type="text/javascript" src="node_modules/athom-api/dist/index.js"></script>
<script type="text/javascript" src="node_modules/moment/moment.js"></script>
<script type="text/javascript" src="homey.js"></script>
<script type="text/javascript" src="deviceParser.js"></script>
<script type="text/javascript" src="floraStatus.js"></script>
<script>
async function login () {
AthomCloudAPI.setConfig({
clientId: env.ATHOM_CLOUD_API_CLIENT_ID,
clientSecret: env.ATHOM_CLOUD_API_CLIENT_SECRET,
redirectUrl: env.ATHOM_CLOUD_API_REDIRECT_URL,
})
//Create a new AthomCloudAPI instance
const cloudAPI = new AthomCloudAPI({
store: new AthomStorageAdapter.LocalStorage('_athom_cloud_api'),
})
if (!await cloudAPI.isLoggedIn()) {
if (cloudAPI.hasAuthorizationCode()) {
await cloudAPI.authenticateWithAuthorizationCode()
} else {
//Redirect the user to the OAuth2 login page
window.location.href = cloudAPI.getLoginUrl([
'homey:manager:api',
'homey.device.readonly',
])
}
}
const user = await cloudAPI.getAuthenticatedUser()
const homey = user.getFirstHomey()
return await homey.authenticate()
}
const deviceParser = new DeviceParser()
const floraStatus = new FloraStatus()
document.addEventListener('DOMContentLoaded', function () {
if (false) {
const devicesJson = '[{"__athom_api_type":"HomeyAPI.ManagerDevices.Device","id":"8afa8c9d-234c-4ab7-8423-e7da2cb208df","name":"Philodendron erubescens","driverUri":"homey:app:com.mi.flora","driverId":"flora","zone":"5204dc44-8e9c-49e7-aed8-9d5c93330126","icon":null,"iconObj":{"id":"211824982c9f23bc08cd363d6f478c37","url":"/icon/211824982c9f23bc08cd363d6f478c37/icon.svg"},"settings":{"firmware_version":"3.1.9","last_updated":"2019-01-03T08:56:49.156Z","uuid":"c47c8d67563f","measure_temperature_min":8,"measure_temperature_max":32,"measure_luminance_min":600,"measure_luminance_max":5000,"flora_measure_fertility_min":350,"flora_measure_fertility_max":2000,"flora_measure_moisture_min":15,"flora_measure_moisture_max":60},"settingsObj":true,"class":"sensor","virtualClass":null,"capabilities":["measure_temperature","measure_luminance","flora_measure_fertility","flora_measure_moisture","measure_battery"],"capabilitiesObj":{"measure_temperature":{"value":15.6,"lastUpdated":"2019-01-03T08:56:49.003Z","type":"number","getable":true,"setable":false,"title":"Temperatuur","desc":null,"units":"°C","decimals":2,"chartType":"spline","id":"measure_temperature","options":{}},"measure_luminance":{"value":210,"lastUpdated":"2019-01-03T08:56:49.038Z","type":"number","getable":true,"setable":false,"title":"Helderheid","desc":"Helderheid in Lux (lx)","units":"lx","decimals":2,"chartType":"spline","id":"measure_luminance","options":{}},"flora_measure_fertility":{"value":87,"lastUpdated":"2019-01-03T08:56:49.079Z","type":"number","getable":true,"setable":false,"title":"Geleidingsvermogen","desc":null,"units":"µS/cm","min":0,"max":5000,"step":1,"iconObj":{"id":"b81a3480c9bd6c2ee1fc2f284bdbf472","url":"/icon/b81a3480c9bd6c2ee1fc2f284bdbf472/icon.svg"},"id":"flora_measure_fertility","options":{}},"flora_measure_moisture":{"value":14,"lastUpdated":"2019-01-03T08:56:49.107Z","type":"number","getable":true,"setable":false,"title":"Vochtigheid","desc":null,"units":"%","min":0,"max":100,"step":1,"iconObj":{"id":"941e853bf1c2308899f41f2de7aea433","url":"/icon/941e853bf1c2308899f41f2de7aea433/icon.svg"},"id":"flora_measure_moisture","options":{}},"measure_battery":{"value":99,"lastUpdated":"2018-12-23T14:21:46.165Z","type":"number","getable":true,"setable":false,"title":"Accuniveau","desc":"Accuniveau in procenten (%)","units":"%","decimals":2,"min":0,"max":100,"chartType":"spline","id":"measure_battery","options":{}}},"flags":[],"ui":{"components":[{"id":"sensor","capabilities":["measure_temperature","measure_luminance","flora_measure_fertility","flora_measure_moisture"]},{"id":"battery","capabilities":["measure_battery"]}],"componentsStartAt":0},"ready":true,"available":true,"repair":false,"unpair":false,"speechExamples":["Wat is de gemiddelde temperatuur thuis?"],"images":[],"insights":[{"uri":"homey:device:8afa8c9d-234c-4ab7-8423-e7da2cb208df","id":"measure_temperature","type":"number","title":"Temperatuur","titleTrue":null,"titleFalse":null,"units":"°C"},{"uri":"homey:device:8afa8c9d-234c-4ab7-8423-e7da2cb208df","id":"measure_luminance","type":"number","title":"Helderheid","titleTrue":null,"titleFalse":null,"units":"lx"},{"uri":"homey:device:8afa8c9d-234c-4ab7-8423-e7da2cb208df","id":"measure_battery","type":"number","title":"Accuniveau","titleTrue":null,"titleFalse":null,"units":"%"}],"color":"#df3120"},{"__athom_api_type":"HomeyAPI.ManagerDevices.Device","id":"deb37ac7-da8b-4d18-89bb-166e8ba32c0b","name":"Pilea","driverUri":"homey:app:com.mi.flora","driverId":"flora","zone":"5204dc44-8e9c-49e7-aed8-9d5c93330126","icon":null,"iconObj":{"id":"211824982c9f23bc08cd363d6f478c37","url":"/icon/211824982c9f23bc08cd363d6f478c37/icon.svg"},"settings":{"firmware_version":"3.1.9","last_updated":"2019-01-03T08:57:01.887Z","uuid":"c47c8d6607fd","measure_temperature_min":8,"measure_temperature_max":32,"measure_luminance_min":600,"measure_luminance_max":2000,"flora_measure_fertility_min":350,"flora_measure_fertility_max":1000,"flora_measure_moisture_min":15,"flora_measure_moisture_max":60},"settingsObj":true,"class":"sensor","virtualClass":null,"capabilities":["measure_temperature","measure_luminance","flora_measure_fertility","flora_measure_moisture","measure_battery"],"capabilitiesObj":{"measure_temperature":{"value":16,"lastUpdated":"2019-01-03T08:57:01.739Z","type":"number","getable":true,"setable":false,"title":"Temperatuur","desc":null,"units":"°C","decimals":2,"chartType":"spline","id":"measure_temperature","options":{}},"measure_luminance":{"value":1010,"lastUpdated":"2019-01-03T08:57:01.756Z","type":"number","getable":true,"setable":false,"title":"Helderheid","desc":"Helderheid in Lux (lx)","units":"lx","decimals":2,"chartType":"spline","id":"measure_luminance","options":{}},"flora_measure_fertility":{"value":20,"lastUpdated":"2019-01-03T08:57:01.785Z","type":"number","getable":true,"setable":false,"title":"Geleidingsvermogen","desc":null,"units":"µS/cm","min":0,"max":5000,"step":1,"iconObj":{"id":"b81a3480c9bd6c2ee1fc2f284bdbf472","url":"/icon/b81a3480c9bd6c2ee1fc2f284bdbf472/icon.svg"},"id":"flora_measure_fertility","options":{}},"flora_measure_moisture":{"value":6,"lastUpdated":"2019-01-03T08:57:01.812Z","type":"number","getable":true,"setable":false,"title":"Vochtigheid","desc":null,"units":"%","min":0,"max":100,"step":1,"iconObj":{"id":"941e853bf1c2308899f41f2de7aea433","url":"/icon/941e853bf1c2308899f41f2de7aea433/icon.svg"},"id":"flora_measure_moisture","options":{}},"measure_battery":{"value":98,"lastUpdated":"2018-12-31T12:56:34.266Z","type":"number","getable":true,"setable":false,"title":"Accuniveau","desc":"Accuniveau in procenten (%)","units":"%","decimals":2,"min":0,"max":100,"chartType":"spline","id":"measure_battery","options":{}}},"flags":[],"ui":{"components":[{"id":"sensor","capabilities":["measure_temperature","measure_luminance","flora_measure_fertility","flora_measure_moisture"]},{"id":"battery","capabilities":["measure_battery"]}],"componentsStartAt":0},"ready":true,"available":true,"repair":false,"unpair":false,"speechExamples":["Wat is de gemiddelde temperatuur thuis?"],"images":[],"insights":[{"uri":"homey:device:deb37ac7-da8b-4d18-89bb-166e8ba32c0b","id":"measure_temperature","type":"number","title":"Temperatuur","titleTrue":null,"titleFalse":null,"units":"°C"},{"uri":"homey:device:deb37ac7-da8b-4d18-89bb-166e8ba32c0b","id":"measure_luminance","type":"number","title":"Helderheid","titleTrue":null,"titleFalse":null,"units":"lx"},{"uri":"homey:device:deb37ac7-da8b-4d18-89bb-166e8ba32c0b","id":"measure_battery","type":"number","title":"Accuniveau","titleTrue":null,"titleFalse":null,"units":"%"}],"color":"#df3120"},{"__athom_api_type":"HomeyAPI.ManagerDevices.Device","id":"b3d4aa1c-0044-47d4-aa80-97ca816d9786","name":"Monstra","driverUri":"homey:app:com.mi.flora","driverId":"flora","zone":"5204dc44-8e9c-49e7-aed8-9d5c93330126","icon":null,"iconObj":{"id":"211824982c9f23bc08cd363d6f478c37","url":"/icon/211824982c9f23bc08cd363d6f478c37/icon.svg"},"settings":{"firmware_version":"3.1.9","last_updated":"2019-01-03T08:57:13.224Z","uuid":"c47c8d661988","measure_temperature_min":12,"measure_temperature_max":32,"measure_luminance_min":1000,"measure_luminance_max":3400,"flora_measure_fertility_min":350,"flora_measure_fertility_max":1000,"flora_measure_moisture_min":15,"flora_measure_moisture_max":30},"settingsObj":true,"class":"sensor","virtualClass":null,"capabilities":["measure_temperature","measure_luminance","flora_measure_fertility","flora_measure_moisture","measure_battery"],"capabilitiesObj":{"measure_temperature":{"value":15.2,"lastUpdated":"2019-01-03T08:57:13.124Z","type":"number","getable":true,"setable":false,"title":"Temperatuur","desc":null,"units":"°C","decimals":2,"chartType":"spline","id":"measure_temperature","options":{}},"measure_luminance":{"value":1146,"lastUpdated":"2019-01-03T08:57:13.137Z","type":"number","getable":true,"setable":false,"title":"Helderheid","desc":"Helderheid in Lux (lx)","units":"lx","decimals":2,"chartType":"spline","id":"measure_luminance","options":{}},"flora_measure_fertility":{"value":347,"lastUpdated":"2019-01-03T08:57:13.164Z","type":"number","getable":true,"setable":false,"title":"Geleidingsvermogen","desc":null,"units":"µS/cm","min":0,"max":5000,"step":1,"iconObj":{"id":"b81a3480c9bd6c2ee1fc2f284bdbf472","url":"/icon/b81a3480c9bd6c2ee1fc2f284bdbf472/icon.svg"},"id":"flora_measure_fertility","options":{}},"flora_measure_moisture":{"value":16,"lastUpdated":"2019-01-03T08:57:13.178Z","type":"number","getable":true,"setable":false,"title":"Vochtigheid","desc":null,"units":"%","min":0,"max":100,"step":1,"iconObj":{"id":"941e853bf1c2308899f41f2de7aea433","url":"/icon/941e853bf1c2308899f41f2de7aea433/icon.svg"},"id":"flora_measure_moisture","options":{}},"measure_battery":{"value":94,"lastUpdated":"2019-01-03T08:57:13.212Z","type":"number","getable":true,"setable":false,"title":"Accuniveau","desc":"Accuniveau in procenten (%)","units":"%","decimals":2,"min":0,"max":100,"chartType":"spline","id":"measure_battery","options":{}}},"flags":[],"ui":{"components":[{"id":"sensor","capabilities":["measure_temperature","measure_luminance","flora_measure_fertility","flora_measure_moisture"]},{"id":"battery","capabilities":["measure_battery"]}],"componentsStartAt":0},"ready":true,"available":true,"repair":false,"unpair":false,"speechExamples":["Wat is de gemiddelde temperatuur thuis?"],"images":[],"insights":[{"uri":"homey:device:b3d4aa1c-0044-47d4-aa80-97ca816d9786","id":"measure_temperature","type":"number","title":"Temperatuur","titleTrue":null,"titleFalse":null,"units":"°C"},{"uri":"homey:device:b3d4aa1c-0044-47d4-aa80-97ca816d9786","id":"measure_luminance","type":"number","title":"Helderheid","titleTrue":null,"titleFalse":null,"units":"lx"},{"uri":"homey:device:b3d4aa1c-0044-47d4-aa80-97ca816d9786","id":"measure_battery","type":"number","title":"Accuniveau","titleTrue":null,"titleFalse":null,"units":"%"}],"color":"#df3120"},{"__athom_api_type":"HomeyAPI.ManagerDevices.Device","id":"de314032-1491-4770-90fc-7db5a9c33a36","name":"Pilea glauca","driverUri":"homey:app:com.mi.flora","driverId":"flora","zone":"5204dc44-8e9c-49e7-aed8-9d5c93330126","icon":null,"iconObj":{"id":"211824982c9f23bc08cd363d6f478c37","url":"/icon/211824982c9f23bc08cd363d6f478c37/icon.svg"},"settings":{"firmware_version":"3.1.9","last_updated":"2019-01-03T08:57:24.852Z","uuid":"c47c8d660b51","measure_temperature_min":10,"measure_temperature_max":32,"measure_luminance_min":1000,"measure_luminance_max":3400,"flora_measure_fertility_min":350,"flora_measure_fertility_max":1000,"flora_measure_moisture_min":15,"flora_measure_moisture_max":30},"settingsObj":true,"class":"sensor","virtualClass":null,"capabilities":["measure_temperature","measure_luminance","flora_measure_fertility","flora_measure_moisture","measure_battery"],"capabilitiesObj":{"measure_temperature":{"value":15.6,"lastUpdated":"2019-01-03T08:57:24.748Z","type":"number","getable":true,"setable":false,"title":"Temperatuur","desc":null,"units":"°C","decimals":2,"chartType":"spline","id":"measure_temperature","options":{}},"measure_luminance":{"value":2060,"lastUpdated":"2019-01-03T08:57:24.766Z","type":"number","getable":true,"setable":false,"title":"Helderheid","desc":"Helderheid in Lux (lx)","units":"lx","decimals":2,"chartType":"spline","id":"measure_luminance","options":{}},"flora_measure_fertility":{"value":488,"lastUpdated":"2019-01-03T08:57:24.783Z","type":"number","getable":true,"setable":false,"title":"Geleidingsvermogen","desc":null,"units":"µS/cm","min":0,"max":5000,"step":1,"iconObj":{"id":"b81a3480c9bd6c2ee1fc2f284bdbf472","url":"/icon/b81a3480c9bd6c2ee1fc2f284bdbf472/icon.svg"},"id":"flora_measure_fertility","options":{}},"flora_measure_moisture":{"value":13,"lastUpdated":"2019-01-03T08:57:24.811Z","type":"number","getable":true,"setable":false,"title":"Vochtigheid","desc":null,"units":"%","min":0,"max":100,"step":1,"iconObj":{"id":"941e853bf1c2308899f41f2de7aea433","url":"/icon/941e853bf1c2308899f41f2de7aea433/icon.svg"},"id":"flora_measure_moisture","options":{}},"measure_battery":{"value":98,"lastUpdated":"2018-12-30T07:20:41.771Z","type":"number","getable":true,"setable":false,"title":"Accuniveau","desc":"Accuniveau in procenten (%)","units":"%","decimals":2,"min":0,"max":100,"chartType":"spline","id":"measure_battery","options":{}}},"flags":[],"ui":{"components":[{"id":"sensor","capabilities":["measure_temperature","measure_luminance","flora_measure_fertility","flora_measure_moisture"]},{"id":"battery","capabilities":["measure_battery"]}],"componentsStartAt":0},"ready":true,"available":true,"repair":false,"unpair":false,"speechExamples":["Wat is de gemiddelde temperatuur thuis?"],"images":[],"insights":[{"uri":"homey:device:de314032-1491-4770-90fc-7db5a9c33a36","id":"measure_temperature","type":"number","title":"Temperatuur","titleTrue":null,"titleFalse":null,"units":"°C"},{"uri":"homey:device:de314032-1491-4770-90fc-7db5a9c33a36","id":"measure_luminance","type":"number","title":"Helderheid","titleTrue":null,"titleFalse":null,"units":"lx"},{"uri":"homey:device:de314032-1491-4770-90fc-7db5a9c33a36","id":"measure_battery","type":"number","title":"Accuniveau","titleTrue":null,"titleFalse":null,"units":"%"}],"color":"#df3120"},{"__athom_api_type":"HomeyAPI.ManagerDevices.Device","id":"062a9dfa-d579-4dee-86e4-d883e7799f52","name":"Ceropegia","driverUri":"homey:app:com.mi.flora","driverId":"flora","zone":"5204dc44-8e9c-49e7-aed8-9d5c93330126","icon":null,"iconObj":{"id":"211824982c9f23bc08cd363d6f478c37","url":"/icon/211824982c9f23bc08cd363d6f478c37/icon.svg"},"settings":{"firmware_version":"3.1.9","last_updated":"2019-01-03T08:57:36.465Z","uuid":"c47c8d660ac9","measure_temperature_min":8,"measure_temperature_max":32,"measure_luminance_min":2500,"measure_luminance_max":35000,"flora_measure_fertility_min":350,"flora_measure_fertility_max":1000,"flora_measure_moisture_min":15,"flora_measure_moisture_max":40},"settingsObj":true,"class":"sensor","virtualClass":null,"capabilities":["measure_temperature","measure_luminance","flora_measure_fertility","flora_measure_moisture","measure_battery"],"capabilitiesObj":{"measure_temperature":{"value":15.5,"lastUpdated":"2019-01-03T08:57:36.330Z","type":"number","getable":true,"setable":false,"title":"Temperatuur","desc":null,"units":"°C","decimals":2,"chartType":"spline","id":"measure_temperature","options":{}},"measure_luminance":{"value":107,"lastUpdated":"2019-01-03T08:57:36.358Z","type":"number","getable":true,"setable":false,"title":"Helderheid","desc":"Helderheid in Lux (lx)","units":"lx","decimals":2,"chartType":"spline","id":"measure_luminance","options":{}},"flora_measure_fertility":{"value":464,"lastUpdated":"2019-01-03T08:57:36.377Z","type":"number","getable":true,"setable":false,"title":"Geleidingsvermogen","desc":null,"units":"µS/cm","min":0,"max":5000,"step":1,"iconObj":{"id":"b81a3480c9bd6c2ee1fc2f284bdbf472","url":"/icon/b81a3480c9bd6c2ee1fc2f284bdbf472/icon.svg"},"id":"flora_measure_fertility","options":{}},"flora_measure_moisture":{"value":27,"lastUpdated":"2019-01-03T08:57:36.394Z","type":"number","getable":true,"setable":false,"title":"Vochtigheid","desc":null,"units":"%","min":0,"max":100,"step":1,"iconObj":{"id":"941e853bf1c2308899f41f2de7aea433","url":"/icon/941e853bf1c2308899f41f2de7aea433/icon.svg"},"id":"flora_measure_moisture","options":{}},"measure_battery":{"value":79,"lastUpdated":"2019-01-03T08:57:36.449Z","type":"number","getable":true,"setable":false,"title":"Accuniveau","desc":"Accuniveau in procenten (%)","units":"%","decimals":2,"min":0,"max":100,"chartType":"spline","id":"measure_battery","options":{}}},"flags":[],"ui":{"components":[{"id":"sensor","capabilities":["measure_temperature","measure_luminance","flora_measure_fertility","flora_measure_moisture"]},{"id":"battery","capabilities":["measure_battery"]}],"componentsStartAt":0},"ready":true,"available":true,"repair":false,"unpair":false,"speechExamples":["Wat is de gemiddelde temperatuur thuis?"],"images":[],"insights":[{"uri":"homey:device:062a9dfa-d579-4dee-86e4-d883e7799f52","id":"measure_temperature","type":"number","title":"Temperatuur","titleTrue":null,"titleFalse":null,"units":"°C"},{"uri":"homey:device:062a9dfa-d579-4dee-86e4-d883e7799f52","id":"measure_luminance","type":"number","title":"Helderheid","titleTrue":null,"titleFalse":null,"units":"lx"},{"uri":"homey:device:062a9dfa-d579-4dee-86e4-d883e7799f52","id":"measure_battery","type":"number","title":"Accuniveau","titleTrue":null,"titleFalse":null,"units":"%"}],"color":"#df3120"},{"__athom_api_type":"HomeyAPI.ManagerDevices.Device","id":"b93e2a77-0cbe-400f-8492-e5f25d8e8d10","name":"Monstra XXL","driverUri":"homey:app:com.mi.flora","driverId":"flora","zone":"5204dc44-8e9c-49e7-aed8-9d5c93330126","icon":null,"iconObj":{"id":"211824982c9f23bc08cd363d6f478c37","url":"/icon/211824982c9f23bc08cd363d6f478c37/icon.svg"},"settings":{"firmware_version":"3.1.9","last_updated":"2019-01-03T08:58:06.780Z","uuid":"c47c8d675618","measure_temperature_min":15,"measure_temperature_max":60,"measure_luminance_min":600,"measure_luminance_max":1500,"flora_measure_fertility_min":300,"flora_measure_fertility_max":2000,"flora_measure_moisture_min":15,"flora_measure_moisture_max":60},"settingsObj":true,"class":"sensor","virtualClass":null,"capabilities":["measure_temperature","measure_luminance","flora_measure_fertility","flora_measure_moisture","measure_battery"],"capabilitiesObj":{"measure_temperature":{"value":13.4,"lastUpdated":"2019-01-03T08:58:06.637Z","type":"number","getable":true,"setable":false,"title":"Temperatuur","desc":null,"units":"°C","decimals":2,"chartType":"spline","id":"measure_temperature","options":{}},"measure_luminance":{"value":63,"lastUpdated":"2019-01-03T08:58:06.684Z","type":"number","getable":true,"setable":false,"title":"Helderheid","desc":"Helderheid in Lux (lx)","units":"lx","decimals":2,"chartType":"spline","id":"measure_luminance","options":{}},"flora_measure_fertility":{"value":60,"lastUpdated":"2019-01-03T08:58:06.716Z","type":"number","getable":true,"setable":false,"title":"Geleidingsvermogen","desc":null,"units":"µS/cm","min":0,"max":5000,"step":1,"iconObj":{"id":"b81a3480c9bd6c2ee1fc2f284bdbf472","url":"/icon/b81a3480c9bd6c2ee1fc2f284bdbf472/icon.svg"},"id":"flora_measure_fertility","options":{}},"flora_measure_moisture":{"value":16,"lastUpdated":"2019-01-03T08:58:06.735Z","type":"number","getable":true,"setable":false,"title":"Vochtigheid","desc":null,"units":"%","min":0,"max":100,"step":1,"iconObj":{"id":"941e853bf1c2308899f41f2de7aea433","url":"/icon/941e853bf1c2308899f41f2de7aea433/icon.svg"},"id":"flora_measure_moisture","options":{}},"measure_battery":{"value":99,"lastUpdated":"2018-12-23T14:23:00.557Z","type":"number","getable":true,"setable":false,"title":"Accuniveau","desc":"Accuniveau in procenten (%)","units":"%","decimals":2,"min":0,"max":100,"chartType":"spline","id":"measure_battery","options":{}}},"flags":[],"ui":{"components":[{"id":"sensor","capabilities":["measure_temperature","measure_luminance","flora_measure_fertility","flora_measure_moisture"]},{"id":"battery","capabilities":["measure_battery"]}],"componentsStartAt":0},"ready":true,"available":true,"repair":false,"unpair":false,"speechExamples":["Wat is de gemiddelde temperatuur thuis?"],"images":[],"insights":[{"uri":"homey:device:b93e2a77-0cbe-400f-8492-e5f25d8e8d10","id":"measure_temperature","type":"number","title":"Temperatuur","titleTrue":null,"titleFalse":null,"units":"°C"},{"uri":"homey:device:b93e2a77-0cbe-400f-8492-e5f25d8e8d10","id":"measure_luminance","type":"number","title":"Helderheid","titleTrue":null,"titleFalse":null,"units":"lx"},{"uri":"homey:device:b93e2a77-0cbe-400f-8492-e5f25d8e8d10","id":"measure_battery","type":"number","title":"Accuniveau","titleTrue":null,"titleFalse":null,"units":"%"}],"color":"#df3120"},{"__athom_api_type":"HomeyAPI.ManagerDevices.Device","id":"cf5be15c-8806-4d23-97bf-9b213134fb97","name":"Alocasia","driverUri":"homey:app:com.mi.flora","driverId":"flora","zone":"5204dc44-8e9c-49e7-aed8-9d5c93330126","icon":null,"iconObj":{"id":"211824982c9f23bc08cd363d6f478c37","url":"/icon/211824982c9f23bc08cd363d6f478c37/icon.svg"},"settings":{"firmware_version":"3.1.9","last_updated":"2019-01-03T08:58:17.946Z","uuid":"c47c8d66088c","measure_temperature_min":10,"measure_temperature_max":32,"measure_luminance_min":1000,"measure_luminance_max":3500,"flora_measure_fertility_min":350,"flora_measure_fertility_max":1000,"flora_measure_moisture_min":15,"flora_measure_moisture_max":30},"settingsObj":true,"class":"sensor","virtualClass":null,"capabilities":["measure_temperature","measure_luminance","flora_measure_fertility","flora_measure_moisture","measure_battery"],"capabilitiesObj":{"measure_temperature":{"value":14.8,"lastUpdated":"2019-01-03T08:58:17.780Z","type":"number","getable":true,"setable":false,"title":"Temperatuur","desc":null,"units":"°C","decimals":2,"chartType":"spline","id":"measure_temperature","options":{}},"measure_luminance":{"value":1665,"lastUpdated":"2019-01-03T08:58:17.804Z","type":"number","getable":true,"setable":false,"title":"Helderheid","desc":"Helderheid in Lux (lx)","units":"lx","decimals":2,"chartType":"spline","id":"measure_luminance","options":{}},"flora_measure_fertility":{"value":24,"lastUpdated":"2019-01-03T08:58:17.838Z","type":"number","getable":true,"setable":false,"title":"Geleidingsvermogen","desc":null,"units":"µS/cm","min":0,"max":5000,"step":1,"iconObj":{"id":"b81a3480c9bd6c2ee1fc2f284bdbf472","url":"/icon/b81a3480c9bd6c2ee1fc2f284bdbf472/icon.svg"},"id":"flora_measure_fertility","options":{}},"flora_measure_moisture":{"value":8,"lastUpdated":"2019-01-03T08:58:17.869Z","type":"number","getable":true,"setable":false,"title":"Vochtigheid","desc":null,"units":"%","min":0,"max":100,"step":1,"iconObj":{"id":"941e853bf1c2308899f41f2de7aea433","url":"/icon/941e853bf1c2308899f41f2de7aea433/icon.svg"},"id":"flora_measure_moisture","options":{}},"measure_battery":{"value":80,"lastUpdated":"2019-01-03T08:58:17.934Z","type":"number","getable":true,"setable":false,"title":"Accuniveau","desc":"Accuniveau in procenten (%)","units":"%","decimals":2,"min":0,"max":100,"chartType":"spline","id":"measure_battery","options":{}}},"flags":[],"ui":{"components":[{"id":"sensor","capabilities":["measure_temperature","measure_luminance","flora_measure_fertility","flora_measure_moisture"]},{"id":"battery","capabilities":["measure_battery"]}],"componentsStartAt":0},"ready":true,"available":true,"repair":false,"unpair":false,"speechExamples":["Wat is de gemiddelde temperatuur thuis?"],"images":[],"insights":[{"uri":"homey:device:cf5be15c-8806-4d23-97bf-9b213134fb97","id":"measure_temperature","type":"number","title":"Temperatuur","titleTrue":null,"titleFalse":null,"units":"°C"},{"uri":"homey:device:cf5be15c-8806-4d23-97bf-9b213134fb97","id":"measure_luminance","type":"number","title":"Helderheid","titleTrue":null,"titleFalse":null,"units":"lx"},{"uri":"homey:device:cf5be15c-8806-4d23-97bf-9b213134fb97","id":"measure_battery","type":"number","title":"Accuniveau","titleTrue":null,"titleFalse":null,"units":"%"}],"color":"#df3120"},{"__athom_api_type":"HomeyAPI.ManagerDevices.Device","id":"c92cdd23-e457-4164-926c-bf5acf84e21d","name":"Cactus","driverUri":"homey:app:com.mi.flora","driverId":"flora","zone":"5204dc44-8e9c-49e7-aed8-9d5c93330126","icon":null,"iconObj":{"id":"211824982c9f23bc08cd363d6f478c37","url":"/icon/211824982c9f23bc08cd363d6f478c37/icon.svg"},"settings":{"firmware_version":"3.1.9","last_updated":"2019-01-03T08:58:29.397Z","uuid":"c47c8d660875","measure_temperature_min":8,"measure_temperature_max":40,"measure_luminance_min":1000,"measure_luminance_max":5000,"flora_measure_fertility_min":350,"flora_measure_fertility_max":500,"flora_measure_moisture_min":10,"flora_measure_moisture_max":30},"settingsObj":true,"class":"sensor","virtualClass":null,"capabilities":["measure_temperature","measure_luminance","flora_measure_fertility","flora_measure_moisture","measure_battery"],"capabilitiesObj":{"measure_temperature":{"value":15.6,"lastUpdated":"2019-01-03T08:58:29.228Z","type":"number","getable":true,"setable":false,"title":"Temperatuur","desc":null,"units":"°C","decimals":2,"chartType":"spline","id":"measure_temperature","options":{}},"measure_luminance":{"value":1581,"lastUpdated":"2019-01-03T08:58:29.252Z","type":"number","getable":true,"setable":false,"title":"Helderheid","desc":"Helderheid in Lux (lx)","units":"lx","decimals":2,"chartType":"spline","id":"measure_luminance","options":{}},"flora_measure_fertility":{"value":33,"lastUpdated":"2019-01-03T08:58:29.253Z","type":"number","getable":true,"setable":false,"title":"Geleidingsvermogen","desc":null,"units":"µS/cm","min":0,"max":5000,"step":1,"iconObj":{"id":"b81a3480c9bd6c2ee1fc2f284bdbf472","url":"/icon/b81a3480c9bd6c2ee1fc2f284bdbf472/icon.svg"},"id":"flora_measure_fertility","options":{}},"flora_measure_moisture":{"value":14,"lastUpdated":"2019-01-03T08:58:29.254Z","type":"number","getable":true,"setable":false,"title":"Vochtigheid","desc":null,"units":"%","min":0,"max":100,"step":1,"iconObj":{"id":"941e853bf1c2308899f41f2de7aea433","url":"/icon/941e853bf1c2308899f41f2de7aea433/icon.svg"},"id":"flora_measure_moisture","options":{}},"measure_battery":{"value":95,"lastUpdated":"2019-01-03T08:58:29.385Z","type":"number","getable":true,"setable":false,"title":"Accuniveau","desc":"Accuniveau in procenten (%)","units":"%","decimals":2,"min":0,"max":100,"chartType":"spline","id":"measure_battery","options":{}}},"flags":[],"ui":{"components":[{"id":"sensor","capabilities":["measure_temperature","measure_luminance","flora_measure_fertility","flora_measure_moisture"]},{"id":"battery","capabilities":["measure_battery"]}],"componentsStartAt":0},"ready":true,"available":true,"repair":false,"unpair":false,"speechExamples":["Wat is de gemiddelde temperatuur thuis?"],"images":[],"insights":[{"uri":"homey:device:c92cdd23-e457-4164-926c-bf5acf84e21d","id":"measure_temperature","type":"number","title":"Temperatuur","titleTrue":null,"titleFalse":null,"units":"°C"},{"uri":"homey:device:c92cdd23-e457-4164-926c-bf5acf84e21d","id":"measure_luminance","type":"number","title":"Helderheid","titleTrue":null,"titleFalse":null,"units":"lx"},{"uri":"homey:device:c92cdd23-e457-4164-926c-bf5acf84e21d","id":"measure_battery","type":"number","title":"Accuniveau","titleTrue":null,"titleFalse":null,"units":"%"}],"color":"#df3120"},{"__athom_api_type":"HomeyAPI.ManagerDevices.Device","id":"b79f5290-8459-46c6-b408-a6e3a9f43163","name":"Bonsai","driverUri":"homey:app:com.mi.flora","driverId":"flora","zone":"5204dc44-8e9c-49e7-aed8-9d5c93330126","icon":null,"iconObj":{"id":"211824982c9f23bc08cd363d6f478c37","url":"/icon/211824982c9f23bc08cd363d6f478c37/icon.svg"},"settings":{"firmware_version":"3.1.9","last_updated":"2019-01-03T08:58:40.885Z","uuid":"c47c8d66087e","measure_temperature_min":8,"measure_temperature_max":35,"measure_luminance_min":2500,"measure_luminance_max":35000,"flora_measure_fertility_min":350,"flora_measure_fertility_max":2000,"flora_measure_moisture_min":20,"flora_measure_moisture_max":60},"settingsObj":true,"class":"sensor","virtualClass":null,"capabilities":["measure_temperature","measure_luminance","flora_measure_fertility","flora_measure_moisture","measure_battery"],"capabilitiesObj":{"measure_temperature":{"value":15.3,"lastUpdated":"2019-01-03T08:58:40.726Z","type":"number","getable":true,"setable":false,"title":"Temperatuur","desc":null,"units":"°C","decimals":2,"chartType":"spline","id":"measure_temperature","options":{}},"measure_luminance":{"value":1394,"lastUpdated":"2019-01-03T08:58:40.756Z","type":"number","getable":true,"setable":false,"title":"Helderheid","desc":"Helderheid in Lux (lx)","units":"lx","decimals":2,"chartType":"spline","id":"measure_luminance","options":{}},"flora_measure_fertility":{"value":115,"lastUpdated":"2019-01-03T08:58:40.788Z","type":"number","getable":true,"setable":false,"title":"Geleidingsvermogen","desc":null,"units":"µS/cm","min":0,"max":5000,"step":1,"iconObj":{"id":"b81a3480c9bd6c2ee1fc2f284bdbf472","url":"/icon/b81a3480c9bd6c2ee1fc2f284bdbf472/icon.svg"},"id":"flora_measure_fertility","options":{}},"flora_measure_moisture":{"value":6,"lastUpdated":"2019-01-03T08:58:40.817Z","type":"number","getable":true,"setable":false,"title":"Vochtigheid","desc":null,"units":"%","min":0,"max":100,"step":1,"iconObj":{"id":"941e853bf1c2308899f41f2de7aea433","url":"/icon/941e853bf1c2308899f41f2de7aea433/icon.svg"},"id":"flora_measure_moisture","options":{}},"measure_battery":{"value":66,"lastUpdated":"2019-01-03T08:58:40.874Z","type":"number","getable":true,"setable":false,"title":"Accuniveau","desc":"Accuniveau in procenten (%)","units":"%","decimals":2,"min":0,"max":100,"chartType":"spline","id":"measure_battery","options":{}}},"flags":[],"ui":{"components":[{"id":"sensor","capabilities":["measure_temperature","measure_luminance","flora_measure_fertility","flora_measure_moisture"]},{"id":"battery","capabilities":["measure_battery"]}],"componentsStartAt":0},"ready":true,"available":true,"repair":false,"unpair":false,"speechExamples":["Wat is de gemiddelde temperatuur thuis?"],"images":[],"insights":[{"uri":"homey:device:b79f5290-8459-46c6-b408-a6e3a9f43163","id":"measure_temperature","type":"number","title":"Temperatuur","titleTrue":null,"titleFalse":null,"units":"°C"},{"uri":"homey:device:b79f5290-8459-46c6-b408-a6e3a9f43163","id":"measure_luminance","type":"number","title":"Helderheid","titleTrue":null,"titleFalse":null,"units":"lx"},{"uri":"homey:device:b79f5290-8459-46c6-b408-a6e3a9f43163","id":"measure_battery","type":"number","title":"Accuniveau","titleTrue":null,"titleFalse":null,"units":"%"}],"color":"#df3120"}]'
let floraDevices = JSON.parse(devicesJson)
for (let floraDevice of floraDevices) {
const displayDevice = deviceParser.getDeviceData(floraDevice)
const svg = floraStatus.render(displayDevice)
document.getElementById('target').appendChild(svg)
}
}
else {
login().then((Homey) => {
Homey.devices.getDevices({online: true}).then((devices) => {
const floraDevices = Object.values(devices).filter(function (device) {
return device.driverId === 'flora'
})
for (let floraDevice of floraDevices) {
const target = document.getElementById('target');
const displayDevice = deviceParser.getDeviceData(floraDevice)
const svg = floraStatus.render(displayDevice)
target.appendChild(svg)
// setInterval(function(){
// floraStatus.update(svg, displayDevice)
// }, 2000);
}
})
})
}
})
</script>
</head>
<body>
<div id="target" class="container"></div>
</body>
</html>