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

test