UpdateDriverPackage
1)Application request to SoulHub
Discription: User requests to SoulHub for updating drivers by using below object
Direction: Application ----> soulHub
Request Topic:
Request Object:
{
"data": {
"requestId": "abcd",
"clientId": "v2admin",
"userId": "admin@clouzer.com",
"dataObj": {
"drivers": [
{
"CML_TITLE": "Clouds Simulator Lights",
"driverName": "driver-1640849342912_760",
"version": "0.0.1",
"type": 1,
"manufacturer": "simulationlights",
"orgId": "cloudssimulators.clouzer.com#PRJ_ORG_WKS_1617872077293_8105",
"KEY_VAL": "cloudsmaintenance.clouzer.com#PRJ_HUB_1639634991170_93#DEVICE_DRIVERS_SECTION#TSK_INST_DRV_1642580485915_22",
"KEY_TYPE": "TSK",
"SUB_KEY_TYPE": "TSK_INST_DRV",
"CML_HUB_SUBSCRIPTION": 1,
"CML_MANUFACTURER": "simulationlights"
},
{
"CML_TITLE": "Clouds Lutron caseta ",
"driverName": "driver-1640849342912_280",
"version": "0.0.1",
"type": 1,
"manufacturer": "lutroncaseta",
"orgId": "cloudssimulators.clouzer.com#PRJ_ORG_WKS_1617872077293_8105",
"KEY_VAL": "cloudsmaintenance.clouzer.com#PRJ_HUB_1639634991170_93#DEVICE_DRIVERS_SECTION#TSK_INST_DRV_1642580485915_22",
"KEY_TYPE": "TSK",
"SUB_KEY_TYPE": "TSK_INST_DRV",
"CML_HUB_SUBSCRIPTION": 1,
"CML_MANUFACTURER": "lutroncaseta"
}
],
"packageDetails": [
{
"package": {
"CML_TITLE": "SECOND-PACKAGE",
"CML_IMAGE_PATH": [
"/hdfs/bella.moris@rinsedistributors.clouzer.com/Cloud Vault/Media/Upload/2022/Feb/1644217686796_8285_rins.png"
],
"CML_PACKAGE_BY": "bella.moris@rinsedistributors.clouzer.com",
"KEY_VAL": "bgeejjbejhfeeifjg.imperiumbuilders.clouzer.com#PRJ_ORG_WKS_1644991498197_8613#SEC_PRP_PKG_001#TSK_PRPS_PKG_1644991564327_7"
},
"products": [
{
"CML_MANUFACTURER_NAME": "simulationlights",
"CML_MANUFACTURER_KEY_VAL": "bgeejjbejhfeeifjg.imperiumbuilders.clouzer.com#PRJ_ORG_WKS_1644991498197_8613#SEC_PRP_PKG_001#TSK_PRPS_PKG_1644991564327_7#TSK_PRD_SUM_1644991564619_65",
"PRODUCT_ALLOWED_COUNT": 2,
"PRODUCT_TYPE": "Smart Lights",
"CML_SHORT_NAME": "smartLight"
},
{
"CML_MANUFACTURER_NAME": "lutron",
"CML_MANUFACTURER_KEY_VAL": "bgeejjbejhfeeifjg.imperiumbuilders.clouzer.com#PRJ_ORG_WKS_1644991498197_8613#SEC_PRP_PKG_001#TSK_PRPS_PKG_1644991564327_7#TSK_PRD_SUM_1644991564619_66",
"PRODUCT_ALLOWED_COUNT": 2,
"PRODUCT_TYPE": "Smart Switches",
"CML_SHORT_NAME": "keypad"
},
{
"CML_MANUFACTURER_NAME": "lutron",
"CML_MANUFACTURER_KEY_VAL": "bgeejjbejhfeeifjg.imperiumbuilders.clouzer.com#PRJ_ORG_WKS_1644991498197_8613#SEC_PRP_PKG_001#TSK_PRPS_PKG_1644991564327_7#TSK_PRD_SUM_1644991564619_65",
"PRODUCT_ALLOWED_COUNT": 2,
"PRODUCT_TYPE": "Smart Lights",
"CML_SHORT_NAME": "switch"
},
{
"CML_MANUFACTURER_NAME": "kaiterra",
"CML_MANUFACTURER_KEY_VAL": "bgeejjbejhfeeifjg.imperiumbuilders.clouzer.com#PRJ_ORG_WKS_1644991498197_8613#SEC_PRP_PKG_001#TSK_PRPS_PKG_1644991564327_7#TSK_PRD_SUM_1644991564619_65",
"PRODUCT_ALLOWED_COUNT": 2,
"PRODUCT_TYPE": "Smart Lights",
"CML_SHORT_NAME": "sensor_aq"
},
{
"CML_MANUFACTURER_NAME": "lutron",
"CML_MANUFACTURER_KEY_VAL": "bgeejjbejhfeeifjg.imperiumbuilders.clouzer.com#PRJ_ORG_WKS_1644991498197_8613#SEC_PRP_PKG_001#TSK_PRPS_PKG_1644991564327_7#TSK_PRD_SUM_1644991564619_65",
"PRODUCT_ALLOWED_COUNT": 3,
"PRODUCT_TYPE": "Smart Dimmer",
"CML_SHORT_NAME": "dimmer"
},
{
"CML_MANUFACTURER_NAME": "sonos",
"CML_MANUFACTURER_KEY_VAL": "bgeejjbejhfeeifjg.imperiumbuilders.clouzer.com#PRJ_ORG_WKS_1644991498197_8613#SEC_PRP_PKG_001#TSK_PRPS_PKG_1644991564327_7#TSK_PRD_SUM_1644991564619_65",
"PRODUCT_ALLOWED_COUNT": 7,
"PRODUCT_TYPE": "Smart Lights",
"CML_SHORT_NAME": "music"
},
{
"CML_MANUFACTURER_NAME": "ketra",
"CML_MANUFACTURER_KEY_VAL": "bgeejjbejhfeeifjg.imperiumbuilders.clouzer.com#PRJ_ORG_WKS_1644991498197_8613#SEC_PRP_PKG_001#TSK_PRPS_PKG_1644991564327_7#TSK_PRD_SUM_1644991564619_65",
"PRODUCT_ALLOWED_COUNT": 6,
"PRODUCT_TYPE": "Smart Lights",
"CML_SHORT_NAME": "smartLight"
}
]
}
]
}
},
"type": "update_driver_packages"
}
2)checking soulPy process
Discription: SoulHub checks python process is running or not.
Direction: SoulHub ----> ProcessMonitor
process: "soulPy"
Request Topic: "process/status/get"
Response Topic: "process/status/get_res"
3)if process is running
Discription: if process is running and staus is "working" then SoulHub needs to change its mode.
Direction:SoulHub ----> ProcessMonitor
process: "soulPy"
Topic: "process/status/get"
Response Topic: "process/status/get_res"
4)change mode of process
Discription: SoulHub needs to change its mode using below object.
Direction: soulHub ----> soulPy
Request Object:
{
"type": "change_mode",
"data": {
"systemData": [
{
"hubMode": "CONFIG_START"
}
],
"requestId": "changeMode.test_1594133543012r152r23",
"userId": "system.scripts@clouzer.com",
"token": "demo_1616571777115",
"clientId": "testing",
"CallerInfo": {
"source": [
"UI"
],
"caller": "onclick_event"
}
}
}
6)SoulHub needs hubInfo data
Discription: SoulHub needs data of hubInfo therefore send request to database
Direction: SoulHub ----> soulPy
Table: "hubInfo"
Direction: soulPy ----> soulHub
Request Topic: "soulDb/fetch"
Response Topic: "soulDb/Response"
7)SoulHub needs to change mode of process
Discription: SoulHub needs to change mode of process, hence sends request to process monitior
Direction: SoulHub ----> processMonitor
Mode: "CONFIG_START"
Request Topic: "soulHub/mode"
Response Topic: "soulHub/ack/mode"
8)SoulHub updates mode in database
Discription: after setting process mode as "CONFIG_START" SoulHub updates mode in database
Direction: SoulHub ----> soulPy
Table: "hubInfo"
Direction: soulPy ----> soulHub
Request Topic: "soulDb/update"
Response Topic: "soulDb/Response"
9)SoulHub send request to updatePackageDetails
Direction: SoulHub ----> python/DB
Request Topic: "python/updatePkgDetails"
Direction: soulPy ----> soulHub
Response Topic: "node/updatePkgDetails"
10)Response to clouzer from SoulHub after updating driver package
Direction: soulPy ----> soulHub
Response Topic:
Response Object:
{
"type": "update_driver_packages_hub",
"dataArray": [
{
"package": {
"CML_TITLE": "SECOND-PACKAGE",
"CML_IMAGE_PATH": [
"/hdfs/bella.moris@rinsedistributors.clouzer.com/Cloud Vault/Media/Upload/2022/Feb/1644217686796_8285_rins.png"
],
"CML_PACKAGE_BY": "bella.moris@rinsedistributors.clouzer.com",
"KEY_VAL": "bgeejjbejhfeeifjg.imperiumbuilders.clouzer.com#PRJ_ORG_WKS_1644991498197_8613#SEC_PRP_PKG_001#TSK_PRPS_PKG_1644991564327_7",
"PACKAGE_ID": "ID1657185218328053238420123",
"CML_TYPE": "",
"CML_SUB_TYPE": "",
"PACKAGE_ACTIVATED_FLAG": 1,
"ACTIVATED_TIME": 1657185218000
},
"products": [
{
"CML_MANUFACTURER_NAME": "simulationlights",
"CML_MANUFACTURER_KEY_VAL": "bgeejjbejhfeeifjg.imperiumbuilders.clouzer.com#PRJ_ORG_WKS_1644991498197_8613#SEC_PRP_PKG_001#TSK_PRPS_PKG_1644991564327_7#TSK_PRD_SUM_1644991564619_65",
"PRODUCT_ALLOWED_COUNT": 2,
"PRODUCT_TYPE": "Smart Lights",
"CML_SHORT_NAME": "smartLight",
"CML_MANUFACTURER_ID": "ID1657185218126781931392521",
"CML_TYPE": "",
"CML_SUB_TYPE": "",
"PACKAGE_ACTIVATED_FLAG": 1,
"PACKAGE_ID": "ID1657185218328053238420123",
"PACKAGE_RELATION": "ID1657185218945842382488174"
},
{
"CML_MANUFACTURER_NAME": "lutron",
"CML_MANUFACTURER_KEY_VAL": "bgeejjbejhfeeifjg.imperiumbuilders.clouzer.com#PRJ_ORG_WKS_1644991498197_8613#SEC_PRP_PKG_001#TSK_PRPS_PKG_1644991564327_7#TSK_PRD_SUM_1644991564619_66",
"PRODUCT_ALLOWED_COUNT": 2,
"PRODUCT_TYPE": "Smart Switches",
"CML_SHORT_NAME": "keypad",
"CML_MANUFACTURER_ID": "ID165718521831068212353696",
"CML_TYPE": "",
"CML_SUB_TYPE": "",
"PACKAGE_ACTIVATED_FLAG": 1,
"PACKAGE_ID": "ID1657185218328053238420123",
"PACKAGE_RELATION": "ID165718521825021259647166"
},
{
"CML_MANUFACTURER_NAME": "lutron",
"CML_MANUFACTURER_KEY_VAL": "bgeejjbejhfeeifjg.imperiumbuilders.clouzer.com#PRJ_ORG_WKS_1644991498197_8613#SEC_PRP_PKG_001#TSK_PRPS_PKG_1644991564327_7#TSK_PRD_SUM_1644991564619_65",
"PRODUCT_ALLOWED_COUNT": 2,
"PRODUCT_TYPE": "Smart Lights",
"CML_SHORT_NAME": "switch",
"CML_MANUFACTURER_ID": "ID1657185218723124557687952",
"CML_TYPE": "",
"CML_SUB_TYPE": "",
"PACKAGE_ACTIVATED_FLAG": 1,
"PACKAGE_ID": "ID1657185218328053238420123",
"PACKAGE_RELATION": "ID1657185218128661308197959"
},
{
"CML_MANUFACTURER_NAME": "kaiterra",
"CML_MANUFACTURER_KEY_VAL": "bgeejjbejhfeeifjg.imperiumbuilders.clouzer.com#PRJ_ORG_WKS_1644991498197_8613#SEC_PRP_PKG_001#TSK_PRPS_PKG_1644991564327_7#TSK_PRD_SUM_1644991564619_65",
"PRODUCT_ALLOWED_COUNT": 2,
"PRODUCT_TYPE": "Smart Lights",
"CML_SHORT_NAME": "sensor_aq",
"CML_MANUFACTURER_ID": "ID1657185218728338115523706",
"CML_TYPE": "",
"CML_SUB_TYPE": "",
"PACKAGE_ACTIVATED_FLAG": 1,
"PACKAGE_ID": "ID1657185218328053238420123",
"PACKAGE_RELATION": "ID1657185218701285384531116"
},
{
"CML_MANUFACTURER_NAME": "lutron",
"CML_MANUFACTURER_KEY_VAL": "bgeejjbejhfeeifjg.imperiumbuilders.clouzer.com#PRJ_ORG_WKS_1644991498197_8613#SEC_PRP_PKG_001#TSK_PRPS_PKG_1644991564327_7#TSK_PRD_SUM_1644991564619_65",
"PRODUCT_ALLOWED_COUNT": 3,
"PRODUCT_TYPE": "Smart Dimmer",
"CML_SHORT_NAME": "dimmer",
"CML_MANUFACTURER_ID": "ID165718521845132248928892",
"CML_TYPE": "",
"CML_SUB_TYPE": "",
"PACKAGE_ACTIVATED_FLAG": 1,
"PACKAGE_ID": "ID1657185218328053238420123",
"PACKAGE_RELATION": "ID1657185218371594649569018"
},
{
"CML_MANUFACTURER_NAME": "sonos",
"CML_MANUFACTURER_KEY_VAL": "bgeejjbejhfeeifjg.imperiumbuilders.clouzer.com#PRJ_ORG_WKS_1644991498197_8613#SEC_PRP_PKG_001#TSK_PRPS_PKG_1644991564327_7#TSK_PRD_SUM_1644991564619_65",
"PRODUCT_ALLOWED_COUNT": 7,
"PRODUCT_TYPE": "Smart Lights",
"CML_SHORT_NAME": "music",
"CML_MANUFACTURER_ID": "ID1657185218771861720749573",
"CML_TYPE": "",
"CML_SUB_TYPE": "",
"PACKAGE_ACTIVATED_FLAG": 1,
"PACKAGE_ID": "ID1657185218328053238420123",
"PACKAGE_RELATION": "ID165718521831946742972154"
},
{
"CML_MANUFACTURER_NAME": "ketra",
"CML_MANUFACTURER_KEY_VAL": "bgeejjbejhfeeifjg.imperiumbuilders.clouzer.com#PRJ_ORG_WKS_1644991498197_8613#SEC_PRP_PKG_001#TSK_PRPS_PKG_1644991564327_7#TSK_PRD_SUM_1644991564619_65",
"PRODUCT_ALLOWED_COUNT": 6,
"PRODUCT_TYPE": "Smart Lights",
"CML_SHORT_NAME": "smartLight",
"CML_MANUFACTURER_ID": "ID1657185218895224326781882",
"CML_TYPE": "",
"CML_SUB_TYPE": "",
"PACKAGE_ACTIVATED_FLAG": 1,
"PACKAGE_ID": "ID1657185218328053238420123",
"PACKAGE_RELATION": "ID165718521816307786420988"
}
]
}
],
"requestId": "abcd",
"userId": "admin@clouzer.com",
"clientId": "v2admin"
}
11)SoulHub sends request to soulSystem to update
Direction: SoulHub ----> soulSystem
Request Topic: Request Topic: "soulSystem/Req"
Direction: soulSystem ----> soulHub
Response Topic: "soulSystem response"
Sequence Diagram
