Indicators and modules: water(water_flow, water_temp, tds,orp), energy(pc), circularity(weight_of_bin), air(pm2p5, tvoc, co2, rh, temperature) Create Monitor Message: 1. Schema keys: { message_type, message_id, data: { label, connection_id, module, meta:{ monitor_detail, included_parameters, }, channels:[ { channel_id, channel_label } ], (if device module is air, no 'channels' here) } } 2. Sample: { "message_type": "create", "message_id": "monitor-123456", "data": { "label": "monitor-for-test-100", "connection_id": "test-100", "module": "water", "meta": { "monitor_detail": { "monitor_brand": "Dst", "monitor_sku": "ZonePlus", "monitor_serial_id": "00-04-a3-0b-00-04-3d-b0", "last_monitor_calibration_date": "2017-03-15T16:00:00.000+08:00" }, "included_parameters": { "water_flow": { "unit": "L" }, "water_temp": { "unit": "C" }, "tds": null, "orp": null } }, "channels": [ { "channel_id": "id_this_is_channel1", "channel_label": "label_this_is_channel1" }, { "channel_id": "id_this_is_channel2", "channel_label": "label_this_is_channel3" } ] } } Reading Message: 1. Schema keys: For: water(water_flow, water_temp, tds,orp), energy(pc), circularity(weight_of_bin), the module has data channel { message_id, data: { connection_id, readings: [ { connection_id: reading_time: water_flow: [ { channel_id, reading, } ], water_temp: [ { channel_id, reading, } ], } ] } } For: air, the module without data channel { message_id, data: { connection_id, readings: [ { connection_id: reading_time: pm2p5, co2, tvoc, } ] } } 2. Sample: For water: { "message_id": "", "data": { "connection_id": "test-100", "readings": [{ "connection_id": "test-100", "reading_time":"2022-03-15T15:00:00.000+08:00", "water_flow": [ {"channel_id": "id_this_is_channel1", "reading": 120}, {"channel_id": "id_this_is_channel2", "reading": 120} ], "water_temp": [ {"channel_id": "id_this_is_channel1", "reading": 120}, {"channel_id": "id_this_is_channel2", "reading": 120} ] }] } } For air: { "message_id": "", "data": { "connection_id": "test-200", "readings": [{ "connection_id": "test-200", "reading_time":"2022-05-10T15:00:00.000+08:00", "pm2p5": 10, "tvoc": 0.4, "co2": 500 }] } }