1)User Request to SoulHub

    Description: User request to SoulHub for set State

    Direction: Application ----> SoulHub

    Request Topic: "NameSpaceId + "/CONTROLLER/" + modelNumber + "/" + SERIAL + "/HUB_REQ"
                    e.g. "TEST_123/CONTROLLER/GENfvb5fdgfgfg4/ClouzerSoulTest-51/HUB_REQ"


    Request Object:

            {
                "type":"set_state",
                "data": 
                    {
                        "userId":"ashwini.tote@bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com",
                        "CallerInfo":
                            {
                                "caller":"light_view_toggle_click",
                                "source":["iOS_ClouzerEdge"],
                                "portalAction":false,
                                "tsEntry":1658585441979
                            },
                        "queryData":{"TARGET":"/ID1657800689908705780517124",
                        "CML_CONTROL_MODE":12,
                        "CML_SUB_TYPE":"LIGHT"
                    },
                "connectionProtocol":"MQTT",
                "clientId":"IOSCocoaMQTT345",
                "essentialList":
                    {
                        "ID_ARRAY":["ID1657800689908705780517124"]
                    },
                "updateData":{"CML_STATE":1},
                "token":"IOSCocoaMQTT345_1658585383661",
                "connectionId":"TS_1658585441887",
                "requestId":"TS_1658585441887"
            }

2)checking soulPy process

    Description: 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)SoulHub request to database for userlist

    Description: if soulPy is running then SoulHub needs to fetch the userlist from database.

    Direction: SoulHub ----> soulPy

    Request Topic: "soulDb/fetch"

    Request Object:

        {
            "data":
                {
                    "entity_type":"userlist",
                    "and":
                        {
                            "eq":
                                {
                                    "username":"ashwini.tote@bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com"
                                }
                        }
                },
            "communicationId":"1658585441984get_user100",
            "CallerInfo":
                {
                    "caller":"light_view_toggle_click",
                    "source":["iOS_ClouzerEdge"],
                    "portalAction":false,
                    "tsEntry":1658585441979
                }
        }

    Direction: soulPy ----> soulHub

    Response Topic: "soulDb/Response"

    Response Object:

        {
            "data": 
                [
                    {
                        "userId": "ID1657804967919016366261454", 
                        "username": "ashwini.tote@bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com", 
                        "RECOVERY_MAIL": "ashwini.tote@clouzer.com", 
                        "LKEY_VAL": "ashwini.tote@clouzer.com", 
                        "ACTION": "", 
                        "hubId": "ClouzerSoulTest-51", 
                        "RegisterWith": "clouzer", 
                        "firstName": "Ashwini", 
                        "lastName": "Tote", 
                        "JWTTOKEN": "", 
                        "ACTIVE_STATUS": 1, 
                        "KEY_VAL": "bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_DEPT_ORG_1231231231231_1234#SEC_WIZ_ROLE_0001#TSK_ROL_LST_0002", 
                        "logintype": "user", 
                        "ROLE": 165780494067592, 
                        "USM_IMAGE_PATH": "", 
                        "entity_type": "userlist", 
                        "CML_HIDDEN": 0
                    }
                ], 
            "type": "dbFetch", 
            "communicationId": "1658585441984get_user100", 
            "CallerInfo": 
                {
                    "portalAction": false, 
                    "caller": "light_view_toggle_click", 
                    "source": ["iOS_ClouzerEdge", "soulHub", "soulPy"]
                }
        }

4)SoulHub request to database for role map

    Description: after fetching userlist SoulHub request to fetch role_map.

    Direction: SoulHub ----> soulPy

    Request Topic: "soulDb/fetch"

    Request Object:

        {
            "data":
                {
                    "entity_type":"role_map",
                        "and":
                            {
                                "eq":
                                    {
                                        "ROLE":165780494067592
                                    }
                            }
                },
            "communicationId":"1658585442259role_map243",
            "CallerInfo":
                {
                    "portalAction":false,
                    "caller":"light_view_toggle_click",
                    "source":["iOS_ClouzerEdge","soulHub","soulPy"]
                }
        }

    Direction: soulPy ----> soulHub

    Response Topic: "soulDb/Response"

    Response Object:

        {
            "data": 
                [
                    {
                        "ID": "ID165780494477926", 
                        "ROLE": 165780494067592, 
                        "RULE_ID": 54, 
                        "KEY_VAL": "bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_DEPT_ORG_1231231231231_1234#SEC_WIZ_ROLE_0001#TSK_ROL_LST_0002", 
                        "entity_type": "role_map"
                    }, 
                    {
                        "ID": "ID165780494450909", 
                        "ROLE": 165780494067592, 
                        "RULE_ID": 22, 
                        "KEY_VAL": "bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_DEPT_ORG_1231231231231_1234#SEC_WIZ_ROLE_0001#TSK_ROL_LST_0002", 
                        "entity_type": "role_map"
                    }, 
                    {
                        "ID": "ID165780494519648", 
                        "ROLE": 165780494067592, 
                        "RULE_ID": 32, 
                        "KEY_VAL": "bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_DEPT_ORG_1231231231231_1234#SEC_WIZ_ROLE_0001#TSK_ROL_LST_0002", 
                        "entity_type": "role_map"
                    }, 
                    {
                        "ID": "ID165780494663324", 
                        "ROLE": 165780494067592, 
                        "RULE_ID": 21, "KEY_VAL": "bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_DEPT_ORG_1231231231231_1234#SEC_WIZ_ROLE_0001#TSK_ROL_LST_0002", 
                        "entity_type": "role_map"
                    }, 
                    {
                        "ID": "ID165780494726996", 
                        "ROLE": 165780494067592, 
                        "RULE_ID": 1, 
                        "KEY_VAL": "bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_DEPT_ORG_1231231231231_1234#SEC_WIZ_ROLE_0001#TSK_ROL_LST_0002", 
                        "entity_type": "role_map"
                    }, 
                    {
                        "ID": "ID165780494827473", 
                        "ROLE": 165780494067592, 
                        "RULE_ID": 100, 
                        "KEY_VAL": "bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_DEPT_ORG_1231231231231_1234#SEC_WIZ_ROLE_0001#TSK_ROL_LST_0002", 
                        "entity_type": "role_map"
                    }, 
                    {
                        "ID": "ID165780494821534", 
                        "ROLE": 165780494067592, 
                        "RULE_ID": 23, 
                        "KEY_VAL": "bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_DEPT_ORG_1231231231231_1234#SEC_WIZ_ROLE_0001#TSK_ROL_LST_0002", 
                        "entity_type": "role_map"
                    }, 
                    {
                        "ID": "ID165780494998496", 
                        "ROLE": 165780494067592, 
                        "RULE_ID": 33, 
                        "KEY_VAL": "bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_DEPT_ORG_1231231231231_1234#SEC_WIZ_ROLE_0001#TSK_ROL_LST_0002", 
                        "entity_type": "role_map"
                    }, 
                    {
                        "ID": "ID165780495085440", 
                        "ROLE": 165780494067592, 
                        "RULE_ID": 11, 
                        "KEY_VAL": "bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_DEPT_ORG_1231231231231_1234#SEC_WIZ_ROLE_0001#TSK_ROL_LST_0002", 
                        "entity_type": "role_map"
                    }, 
                    {
                        "ID": "ID165780495163810", 
                        "ROLE": 165780494067592, 
                        "RULE_ID": 41, 
                        "KEY_VAL": "bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_DEPT_ORG_1231231231231_1234#SEC_WIZ_ROLE_0001#TSK_ROL_LST_0002", 
                        "entity_type": "role_map"
                    }, 
                    {
                        "ID": "ID165780495131434", 
                        "ROLE": 165780494067592, 
                        "RULE_ID": 31, 
                        "KEY_VAL": "bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_DEPT_ORG_1231231231231_1234#SEC_WIZ_ROLE_0001#TSK_ROL_LST_0002", 
                        "entity_type": "role_map"
                    }, 
                    {
                        "ID": "ID165780495256535", 
                        "ROLE": 165780494067592, 
                        "RULE_ID": 52, 
                        "KEY_VAL": "bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_DEPT_ORG_1231231231231_1234#SEC_WIZ_ROLE_0001#TSK_ROL_LST_0002", 
                        "entity_type": "role_map"
                    }, 
                    {
                        "ID": "ID165780495312008", 
                        "ROLE": 165780494067592, 
                        "RULE_ID": 53, 
                        "KEY_VAL": 
                        "bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_DEPT_ORG_1231231231231_1234#SEC_WIZ_ROLE_0001#TSK_ROL_LST_0002", 
                        "entity_type": "role_map"
                    }, 
                    {
                        "ID": "ID165780495483303", 
                        "ROLE": 165780494067592, 
                        "RULE_ID": 51, 
                        "KEY_VAL": "bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_DEPT_ORG_1231231231231_1234#SEC_WIZ_ROLE_0001#TSK_ROL_LST_0002", 
                        "entity_type": "role_map"
                    }, 
                    {
                        "ID": "ID165780495524338", 
                        "ROLE": 165780494067592, 
                        "RULE_ID": 43, 
                        "KEY_VAL": "bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_DEPT_ORG_1231231231231_1234#SEC_WIZ_ROLE_0001#TSK_ROL_LST_0002", 
                        "entity_type": "role_map"
                    }, 
                    {
                        "ID": "ID165780495598081", 
                        "ROLE": 165780494067592, 
                        "RULE_ID": 42, 
                        "KEY_VAL": "bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_DEPT_ORG_1231231231231_1234#SEC_WIZ_ROLE_0001#TSK_ROL_LST_0002", 
                        "entity_type": "role_map"
                    }
                ], 
            "type": "dbFetch", 
            "communicationId": "1658585442259role_map243", 
            "CallerInfo": 
                {
                    "portalAction": false, 
                    "caller": "light_view_toggle_click", 
                    "source": ["iOS_ClouzerEdge", "soulHub", "soulPy", "soulHub", "soulPy"]
                }
        }

5)SoulHub request to python for check device action.

    Description: SoulHub sends request to python for check device action.

    Direction:SoulHub ----> soulPy

    Request Topic: "python/deviceActon"

    Request Object:

        {
            "type":"set_state",
            "data":
                {
                    "userId":"ashwini.tote@bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com",
                    "CallerInfo":
                        {
                            "caller":"light_view_toggle_click",
                            "source":["iOS_ClouzerEdge","soulHub"],
                            "portalAction":false,
                            "tsEntry":1658585441979
                        },
                    "queryData":
                        {
                            "TARGET":"/ID1657800689908705780517124",
                            "CML_CONTROL_MODE":12,
                            "CML_SUB_TYPE":"LIGHT"
                        },
                    "connectionProtocol":"MQTT",
                    "clientId":"IOSCocoaMQTT345",
                    "essentialList":
                        {
                            "ID_ARRAY":["ID1657800689908705780517124"]
                        },
                    "updateData":{"CML_STATE":1},
                    "token":"IOSCocoaMQTT345_1658585383661",
                    "connectionId":"TS_1658585441887",
                    "requestId":"TS_1658585441887",
                    "communicationId":"1658585442542setState19"
                }
        }

    Direction: soulPy ----> soulHub

    Response Topic: "node/deviceState"

    Response Object:

        {
            "type": "set_state_hub", 
            "data": 
                {
                    "userId": "ashwini.tote@bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com", 
                    "CallerInfo": 
                        {
                            "caller": "light_view_toggle_click", 
                            "source": ["iOS_ClouzerEdge", "soulHub", "soulPy"], 
                            "portalAction": false, 
                            "tsEntry": 1658585441979
                        }, 
                    "queryData": 
                        {
                            "TARGET": "/ID1657800689908705780517124", 
                            "CML_CONTROL_MODE": 12, 
                            "CML_SUB_TYPE": "LIGHT"
                        }, 
                    "connectionProtocol": "MQTT", 
                    "clientId": "IOSCocoaMQTT345", 
                    "essentialList": 
                        {
                            "ID_ARRAY": ["ID1657800689908705780517124"]
                        }, 
                    "updateData": 
                        {
                            "CML_STATE": 1, 
                            "CML_SETPOINT": 100
                        }, 
                    "token": "IOSCocoaMQTT345_1658585383661", 
                    "connectionId": "TS_1658585441887", 
                    "requestId": "TS_1658585441887", 
                    "communicationId": "1658585442542setState19", 
                    "dataArray": 
                        [
                            {
                                "CML_SCENE_ID": -1, 
                                "override": "", 
                                "CML_STATE": 1, 
                                "CML_SETPOINT": 100, 
                                "CML_TEMPERATURE": 2699, 
                                "CML_STATUS": 1, 
                                "CML_HUE": 0, 
                                "CML_SATURATION": 0, 
                                "CML_LIGHTNESS": 0, 
                                "COLOR_SUPPORTED": 0, 
                                "DEVICE_ID": "ID1658491406986159298727409", 
                                "LKEY_VAL": "ID1658491406986159298727409", 
                                "STRUCTURE_ID": "ID165786438343196932317753", 
                                "TARGET": "/ID1657800689908705780517124/ID1657805052207362508128703/ID165786438343196932317753/ID1658491406986159298727409", 
                                "KEY_TYPE": "TSK", 
                                "SUB_KEY_TYPE": "TSK_PRO_DEV_ORG", 
                                "CML_TYPE": "DEVICE", 
                                "CML_SUB_TYPE": "LIGHT", 
                                "CML_TITLE": "Mirabella Light ecfabc0cd3f8", 
                                "KEY_VAL": "bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_HUB_1657804924595_18#SEC_PRO_DEV_ORG_001#TSK_PRO_DEV_ORG_1658576287990_16", "SYNC_PENDING_STATUS": -1, 
                                "CREATED_BY_ON_CLOUZER_SOUL": "", 
                                "CREATED_ON_ON_CLOUZER_SOUL": 1658491404863, 
                                "LAST_MODIFIED_BY_ON_CLOUZER_SOUL": "", 
                                "LAST_MODIFIED_ON_ON_CLOUZER_SOUL": 1658491404863, 
                                "CREATED_BY": "", 
                                "CREATED_ON": "", 
                                "LAST_MODIFIED_BY": "", 
                                "LAST_MODIFIED_ON": "", 
                                "ACTIVE_STATUS": 1, 
                                "CML_MANUFACTURER_NAME": "mirabella", 
                                "CML_MANUFACTURER_ID": "", 
                                "CML_SERIAL_ID": "ecfabc0cd3f8", 
                                "CML_NAME": "Mirabella Light ecfabc0cd3f8", 
                                "CML_TESTABLE": "true", 
                                "CML_MAC_ID": "", 
                                "CML_INSTALLATION_DATE": "", 
                                "CML_CONTROLLER_ID": "NA", 
                                "CML_CONTROL_MODE": 1, 
                                "CML_EXPIRY_DATE": "", 
                                "IO_MODE": -1, 
                                "INPUT_PROTOCOL": "", 
                                "OUTPUT_PROTOCOL": "", 
                                "CML_SUPPORTING_ZONE": "NA", 
                                "CML_SUPPORTED_TYPE": "LIGHT", 
                                "CML_DEVICE_FIRMWARE": "NA", 
                                "MODEL_NUMBER": "1819043170", 
                                "OWNER_ID": "NA", 
                                "concept": "LIGHT", 
                                "CML_DEVICE_REF": "", 
                                "CML_GROUP_REF": "", 
                                "CREDENTIAL_ID": "NA", 
                                "INTERFACE_ID": "ID16584906349775561509344", 
                                "entity_type": "devices", 
                                "CML_SWITCH_CNTR_ID": "NA", 
                                "CML_SHORT_NAME": "smartLight", 
                                "DEVICE_TYPE_ID": ""
                            }
                        ]
                }
        }

    Direction: soulPy ----> soulHub

    Response Topic: "node/deviceState"

    Response Object:

        {
            "type": "set_state_hub", 
            "data": 
                {
                    "userId": "ashwini.tote@bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com", 
                    "CallerInfo": 
                        {
                            "caller": "light_view_toggle_click", 
                            "source": ["iOS_ClouzerEdge", "soulHub", "soulPy"], 
                            "portalAction": false, 
                            "tsEntry": 1658585441979
                        }, 
                    "queryData": 
                        {
                            "TARGET": "/ID1657800689908705780517124", 
                            "CML_CONTROL_MODE": 12, 
                            "CML_SUB_TYPE": "LIGHT"
                        }, 
                    "connectionProtocol": "MQTT", 
                    "clientId": "IOSCocoaMQTT345", 
                    "essentialList": 
                        {
                            "ID_ARRAY": ["ID1657800689908705780517124"]
                        }, 
                    "updateData": {"CML_STATE": 1, "CML_SETPOINT": 100}, 
                    "token": "IOSCocoaMQTT345_1658585383661", 
                    "connectionId": "TS_1658585441887", 
                    "requestId": "TS_1658585441887", 
                    "communicationId": "1658585442542setState19", 
                    "dataArray": 
                        [
                            {
                                "CML_SCENE_ID": -1, 
                                "override": "", 
                                "CML_STATE": 1, 
                                "CML_SETPOINT": 100, 
                                "CML_TEMPERATURE": 2265, 
                                "CML_STATUS": 1, 
                                "CML_HUE": -1, 
                                "CML_SATURATION": -1, 
                                "CML_LIGHTNESS": 0, 
                                "COLOR_SUPPORTED": 0, 
                                "DEVICE_ID": "ID1657864275651781863437644", 
                                "LKEY_VAL": "ID1657864275651781863437644", 
                                "STRUCTURE_ID": "ID1657864393206365922858142", 
                                "TARGET": "/ID1657800689908705780517124/ID1657805052207362508128703/ID1657864393206365922858142/ID1657864275651781863437644", 
                                "KEY_TYPE": "TSK", 
                                "SUB_KEY_TYPE": "TSK_PRO_DEV_ORG", 
                                "CML_TYPE": "DEVICE", 
                                "CML_SUB_TYPE": "LIGHT", 
                                "CML_TITLE": "simulationlights Light 165786286412011002640", 
                                "KEY_VAL": "bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_HUB_1657804924595_18#SEC_PRO_DEV_ORG_001#TSK_PRO_DEV_ORG_1657866101189_89", "SYNC_PENDING_STATUS": -1, 
                                "CREATED_BY_ON_CLOUZER_SOUL": "", 
                                "CREATED_ON_ON_CLOUZER_SOUL": 1657864270651, 
                                "LAST_MODIFIED_BY_ON_CLOUZER_SOUL": "", 
                                "LAST_MODIFIED_ON_ON_CLOUZER_SOUL": 1657864270651, 
                                "CREATED_BY": "", 
                                "CREATED_ON": "", 
                                "LAST_MODIFIED_BY": "", 
                                "LAST_MODIFIED_ON": "", 
                                "ACTIVE_STATUS": 1, 
                                "CML_MANUFACTURER_NAME": "simulationlights", 
                                "CML_MANUFACTURER_ID": "", 
                                "CML_SERIAL_ID": "165786286412011002640", 
                                "CML_NAME": "simulationlights Light 165786286412011002640", 
                                "CML_TESTABLE": "true", 
                                "CML_MAC_ID": "", 
                                "CML_INSTALLATION_DATE": "", 
                                "CML_CONTROLLER_ID": "NA", 
                                "CML_CONTROL_MODE": 1, 
                                "CML_EXPIRY_DATE": "", 
                                "IO_MODE": -1, 
                                "INPUT_PROTOCOL": "", 
                                "OUTPUT_PROTOCOL": "", 
                                "CML_SUPPORTING_ZONE": "NA", 
                                "CML_SUPPORTED_TYPE": "", 
                                "CML_DEVICE_FIRMWARE": "NA", 
                                "MODEL_NUMBER": "simulationlights ", 
                                "OWNER_ID": "NA", 
                                "concept": "LIGHT", 
                                "CML_DEVICE_REF": "", 
                                "CML_GROUP_REF": "", 
                                "CREDENTIAL_ID": "NA", 
                                "INTERFACE_ID": "ID1657862416994121950772710", 
                                "entity_type": "devices", 
                                "CML_SWITCH_CNTR_ID": "NA", 
                                "CML_SHORT_NAME": "smartLight", 
                                "DEVICE_TYPE_ID": ""
                            }
                    ]
            }
        }

    Direction: soulPy ----> soulHub

    Response Topic: "node/roomState"

    Response Object:

        {
            "type":"set_state_hub",
            "data":{
                "userId":"ashwini.tote@bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com",
                "CallerInfo":{
                    "caller":"light_view_toggle_click",
                    "source":[
                        "iOS_ClouzerEdge",
                        "soulHub",
                        "soulPy"
                    ],
                    "portalAction":false,
                    "tsEntry":1658585441979
                },
                "queryData":{
                    "TARGET":"/ID1657800689908705780517124",
                    "CML_CONTROL_MODE":12,
                    "CML_SUB_TYPE":"LIGHT"
                },
                "connectionProtocol":"MQTT",
                "clientId":"IOSCocoaMQTT345",
                "essentialList":{
                    "ID_ARRAY":[
                        "ID1657800689908705780517124"
                    ]
                },
                "updateData":{
                    "CML_STATE":1,
                    "CML_SETPOINT":100
                },
                "token":"IOSCocoaMQTT345_1658585383661",
                "connectionId":"TS_1658585441887",
                "requestId":"TS_1658585441887",
                "communicationId":"1658585442542setState19",
                "dataArray":[
                    {
                        "CML_SCENE_ID":-1,
                        "override":0,
                        "CML_STATE":1,
                        "CML_SETPOINT":100,
                        "CML_TEMPERATURE":2699,
                        "CML_STATUS":1,
                        "CML_HUE":0,
                        "CML_SATURATION":0,
                        "CML_LIGHTNESS":0,
                        "COLOR_SUPPORTED":0,
                        "STRUCTURE_ID":"ID165786438343196932317753",
                        "LKEY_VAL":"ID165786438343196932317753",
                        "TARGET":"/ID1657800689908705780517124/ID1657805052207362508128703/ID165786438343196932317753",
                        "PROPERTY_ID":"ID1657800689908705780517124",
                        "FLOOR_ID":"ID1657805052131155289",
                        "ROOM_ID":"ID1657864382923170261",
                        "GROUP_ID":"-1",
                        "CML_TYPE":"room",
                        "CML_SUB_TYPE":"Kitchen",
                        "CML_TITLE":"r2",
                        "KEY_VAL":"bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_ORG_WKS_1657801024796_1670#SEC_FLR_1657805053043_18#TSK_PRO_ROM_ORG_1657864383757_79",
                        "SYNC_PENDING_STATUS":-1,
                        "KEY_TYPE":"TSK",
                        "SUB_KEY_TYPE":"TSK_PRO_ROM_ORG",
                        "CREATED_BY_ON_CLOUZER_SOUL":"ashwini.tote@clouzer.com",
                        "CREATED_ON_ON_CLOUZER_SOUL":1657844583256,
                        "LAST_MODIFIED_BY_ON_CLOUZER_SOUL":"ashwini.tote@clouzer.com",
                        "LAST_MODIFIED_ON_ON_CLOUZER_SOUL":1657844583257,
                        "CREATED_BY":"",
                        "CREATED_ON":"",
                        "LAST_MODIFIED_BY":"",
                        "LAST_MODIFIED_ON":"",
                        "ACTIVE_STATUS":1,
                        "entity_type":"structure",
                        "PROJECT_ID":"",
                        "CREDENTIAL_ID":"",
                        "INTERFACE_ID":"",
                        "ELEM_TYPE":"LIGHT",
                        "device_count":[

                        ]
                    }
                ]
            }
        }

    Direction: soulPy ----> soulHub

    Response Topic: "node/roomState"

    Response Object:

        {
            "type":"set_state_hub",
            "data":{
                "userId":"ashwini.tote@bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com",
                "CallerInfo":{
                    "caller":"light_view_toggle_click",
                    "source":[
                        "iOS_ClouzerEdge",
                        "soulHub",
                        "soulPy"
                    ],
                    "portalAction":false,
                    "tsEntry":1658585441979
                },
                "queryData":{
                    "TARGET":"/ID1657800689908705780517124",
                    "CML_CONTROL_MODE":12,
                    "CML_SUB_TYPE":"LIGHT"
                },
                "connectionProtocol":"MQTT",
                "clientId":"IOSCocoaMQTT345",
                "essentialList":{
                    "ID_ARRAY":[
                        "ID1657800689908705780517124"
                    ]
                },
                "updateData":{
                    "CML_STATE":1,
                    "CML_SETPOINT":100
                },
                "token":"IOSCocoaMQTT345_1658585383661",
                "connectionId":"TS_1658585441887",
                "requestId":"TS_1658585441887",
                "communicationId":"1658585442542setState19",
                "dataArray":[
                    {
                        "CML_SCENE_ID":-1,
                        "override":0,
                        "CML_STATE":1,
                        "CML_SETPOINT":100,
                        "CML_TEMPERATURE":2265,
                        "CML_STATUS":1,
                        "CML_HUE":-1,
                        "CML_SATURATION":-1,
                        "CML_LIGHTNESS":0,
                        "COLOR_SUPPORTED":0,
                        "STRUCTURE_ID":"ID1657864393206365922858142",
                        "LKEY_VAL":"ID1657864393206365922858142",
                        "TARGET":"/ID1657800689908705780517124/ID1657805052207362508128703/ID1657864393206365922858142",
                        "PROPERTY_ID":"ID1657800689908705780517124",
                        "FLOOR_ID":"ID1657805052131155289",
                        "ROOM_ID":"ID1657864393682152256",
                        "GROUP_ID":"-1",
                        "CML_TYPE":"room",
                        "CML_SUB_TYPE":"Living Room",
                        "CML_TITLE":"r3",
                        "KEY_VAL":"bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_ORG_WKS_1657801024796_1670#SEC_FLR_1657805053043_18#TSK_PRO_ROM_ORG_1657864394652_90",
                        "SYNC_PENDING_STATUS":-1,
                        "KEY_TYPE":"TSK",
                        "SUB_KEY_TYPE":"TSK_PRO_ROM_ORG",
                        "CREATED_BY_ON_CLOUZER_SOUL":"ashwini.tote@clouzer.com",
                        "CREATED_ON_ON_CLOUZER_SOUL":1657844594034,
                        "LAST_MODIFIED_BY_ON_CLOUZER_SOUL":"ashwini.tote@clouzer.com",
                        "LAST_MODIFIED_ON_ON_CLOUZER_SOUL":1657844594035,
                        "CREATED_BY":"",
                        "CREATED_ON":"",
                        "LAST_MODIFIED_BY":"",
                        "LAST_MODIFIED_ON":"",
                        "ACTIVE_STATUS":1,
                        "entity_type":"structure",
                        "PROJECT_ID":"",
                        "CREDENTIAL_ID":"",
                        "INTERFACE_ID":"",
                        "ELEM_TYPE":"LIGHT",
                        "device_count":[

                        ]
                    }
                ]
            }
        }

    Direction: soulPy ----> soulHub

    Response Topic: "node/floorState"

    Response Object:

        {
            "type":"set_state_hub",
            "data":{
                "userId":"ashwini.tote@bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com",
                "CallerInfo":{
                    "caller":"light_view_toggle_click",
                    "source":[
                        "iOS_ClouzerEdge",
                        "soulHub",
                        "soulPy"
                    ],
                    "portalAction":false,
                    "tsEntry":1658585441979
                },
                "queryData":{
                    "TARGET":"/ID1657800689908705780517124",
                    "CML_CONTROL_MODE":12,
                    "CML_SUB_TYPE":"LIGHT"
                },
                "connectionProtocol":"MQTT",
                "clientId":"IOSCocoaMQTT345",
                "essentialList":{
                    "ID_ARRAY":[
                        "ID1657800689908705780517124"
                    ]
                },
                "updateData":{
                    "CML_STATE":1,
                    "CML_SETPOINT":100
                },
                "token":"IOSCocoaMQTT345_1658585383661",
                "connectionId":"TS_1658585441887",
                "requestId":"TS_1658585441887",
                "communicationId":"1658585442542setState19",
                "dataArray":[
                    {
                        "CML_SCENE_ID":-1,
                        "override":0,
                        "CML_STATE":1,
                        "CML_SETPOINT":100,
                        "CML_TEMPERATURE":2699,
                        "CML_STATUS":1,
                        "CML_HUE":0,
                        "CML_SATURATION":0,
                        "CML_LIGHTNESS":0,
                        "COLOR_SUPPORTED":0,
                        "STRUCTURE_ID":"ID1657805052207362508128703",
                        "LKEY_VAL":"ID1657805052207362508128703",
                        "TARGET":"/ID1657800689908705780517124/ID1657805052207362508128703",
                        "PROPERTY_ID":"ID1657800689908705780517124",
                        "FLOOR_ID":"ID1657805052131155289",
                        "ROOM_ID":"0",
                        "GROUP_ID":"-1",
                        "CML_TYPE":"floor",
                        "CML_SUB_TYPE":"",
                        "CML_TITLE":"floor1",
                        "KEY_VAL":"bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_ORG_WKS_1657801024796_1670#SEC_WIZ_LYT_0057#TSK_LST_FLR_1657805053041_9",
                        "SYNC_PENDING_STATUS":0,
                        "KEY_TYPE":"SEC",
                        "SUB_KEY_TYPE":"SEC_FLR",
                        "CREATED_BY_ON_CLOUZER_SOUL":"ashwini.tote@bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com",
                        "CREATED_ON_ON_CLOUZER_SOUL":1657785251917,
                        "LAST_MODIFIED_BY_ON_CLOUZER_SOUL":"ashwini.tote@bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com",
                        "LAST_MODIFIED_ON_ON_CLOUZER_SOUL":1657785251918,
                        "CREATED_BY":"",
                        "CREATED_ON":"",
                        "LAST_MODIFIED_BY":"",
                        "LAST_MODIFIED_ON":"",
                        "ACTIVE_STATUS":1,
                        "entity_type":"structure",
                        "PROJECT_ID":"",
                        "CREDENTIAL_ID":"",
                        "INTERFACE_ID":"",
                        "ELEM_TYPE":"LIGHT",
                        "device_count":[

                        ]
                    }
                ]
            }
        }

    Direction: soulPy ----> soulHub

    Response Topic: "node/propertyState"

    Response Object:

        {
            "type":"set_state_hub",
            "data":{
                "userId":"ashwini.tote@bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com",
                "CallerInfo":{
                    "caller":"light_view_toggle_click",
                    "source":[
                        "iOS_ClouzerEdge",
                        "soulHub",
                        "soulPy"
                    ],
                    "portalAction":false,
                    "tsEntry":1658585441979
                },
                "queryData":{
                    "TARGET":"/ID1657800689908705780517124",
                    "CML_CONTROL_MODE":12,
                    "CML_SUB_TYPE":"LIGHT"
                },
                "connectionProtocol":"MQTT",
                "clientId":"IOSCocoaMQTT345",
                "essentialList":{
                    "ID_ARRAY":[
                        "ID1657800689908705780517124"
                    ]
                },
                "updateData":{
                    "CML_STATE":1,
                    "CML_SETPOINT":100
                },
                "token":"IOSCocoaMQTT345_1658585383661",
                "connectionId":"TS_1658585441887",
                "requestId":"TS_1658585441887",
                "communicationId":"1658585442542setState19",
                "dataArray":[
                    {
                        "CML_SCENE_ID":-1,
                        "override":0,
                        "CML_STATE":1,
                        "CML_SETPOINT":100,
                        "CML_TEMPERATURE":2699,
                        "CML_STATUS":1,
                        "CML_HUE":0,
                        "CML_SATURATION":0,
                        "CML_LIGHTNESS":0,
                        "COLOR_SUPPORTED":0,
                        "PROPERTY_ID":"ID1657800689908705780517124",
                        "LKEY_VAL":"",
                        "KEY_VAL":"bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_ORG_WKS_1657801024796_1670",
                        "CML_TYPE":"property",
                        "TARGET":"/ID1657800689908705780517124",
                        "SYNC_PENDING_STATUS":0,
                        "CML_TITLE":"cst51",
                        "KEY_TYPE":"PRJ",
                        "SUB_KEY_TYPE":"PRJ_PRO",
                        "CREATED_BY_ON_CLOUZER_SOUL":"",
                        "CREATED_ON_ON_CLOUZER_SOUL":1657800689,
                        "LAST_MODIFIED_BY_ON_CLOUZER_SOUL":"ashwini.tote@bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com",
                        "LAST_MODIFIED_ON_ON_CLOUZER_SOUL":1657804933759,
                        "CREATED_BY":"",
                        "CREATED_ON":"",
                        "LAST_MODIFIED_BY":"",
                        "LAST_MODIFIED_ON":"",
                        "ACTIVE_STATUS":1,
                        "CML_RETROFIT":"",
                        "LOCATION_ID":"ID1657800689861221959162181",
                        "entity_type":"property",
                        "PROPERTY_TYPE":"",
                        "CML_IMAGE_PATH":"['/hdfs/ashwini.tote@clouzer.com/Cloud%20Vault/Media/Upload/2022/Jul/1657800978966_9568_cropped1.png']",
                        "ELEM_TYPE":"LIGHT",
                        "device_count":[

                        ]
                    }
                ]
            }
        }

6)SoulHub request to dapi for set state

    Description: SoulHub respond with updated device status and then after request for dapi to set state

    Direction: SoulHub ----> dapi

    Request Topic: "mirabella/light/set_state_hub"

    Request Object:

        {
            "deviceArr":[
                {
                    "id":"ecfabc0cd3f8",
                    "controllerId":"NA"
                }
            ],
            "CallerInfo":{
                "caller":"light_view_toggle_click",
                "source":[
                    "iOS_ClouzerEdge"
                ],
                "portalAction":false,
                "tsEntry":1658585441979
            },
            "requestId":"TS_1658585441887",
            "userId":"ashwini.tote@bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com",
            "CML_SCENE_ID":-1,
            "override":"",
            "state":1,
            "setpoint":100,
            "kelvin":2699,
            "status":1,
            "hue":0,
            "saturation":0,
            "lightness":0,
            "COLOR_SUPPORTED":0,
            "device_id":"ID1658491406986159298727409",
            "LKEY_VAL":"ID1658491406986159298727409",
            "STRUCTURE_ID":"ID165786438343196932317753",
            "TARGET":"/ID1657800689908705780517124/ID1657805052207362508128703/ID165786438343196932317753/ID1658491406986159298727409",
            "KEY_TYPE":"TSK",
            "SUB_KEY_TYPE":"TSK_PRO_DEV_ORG",
            "cml_type":"DEVICE",
            "deviceType":"LIGHT",
            "title":"Mirabella Light ecfabc0cd3f8",
            "key_val":"bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_HUB_1657804924595_18#SEC_PRO_DEV_ORG_001#TSK_PRO_DEV_ORG_1658576287990_16",
            "SYNC_PENDING_STATUS":-1,
            "CREATED_BY_ON_CLOUZER_SOUL":"",
            "CREATED_ON_ON_CLOUZER_SOUL":1658491404863,
            "LAST_MODIFIED_BY_ON_CLOUZER_SOUL":"",
            "LAST_MODIFIED_ON_ON_CLOUZER_SOUL":1658491404863,
            "CREATED_BY":"",
            "CREATED_ON":"",
            "LAST_MODIFIED_BY":"",
            "LAST_MODIFIED_ON":"",
            "ACTIVE_STATUS":1,
            "manufacturer":"mirabella",
            "CML_MANUFACTURER_ID":"",
            "id":"ecfabc0cd3f8",
            "device_name":"Mirabella Light ecfabc0cd3f8",
            "CML_TESTABLE":"true",
            "CML_MAC_ID":"",
            "CML_INSTALLATION_DATE":"",
            "controllerId":"NA",
            "CML_CONTROL_MODE":1,
            "CML_EXPIRY_DATE":"",
            "IO_MODE":-1,
            "INPUT_PROTOCOL":"",
            "OUTPUT_PROTOCOL":"",
            "supporting_zone":"NA",
            "supported_type":"LIGHT",
            "CML_DEVICE_FIRMWARE":"NA",
            "product_id":"1819043170",
            "OWNER_ID":"NA",
            "concept":"LIGHT",
            "CML_DEVICE_REF":"",
            "CML_GROUP_REF":"",
            "CREDENTIAL_ID":"NA",
            "INTERFACE_ID":"ID16584906349775561509344",
            "entity_type":"devices",
            "switchcontrollerId":"NA",
            "CML_SHORT_NAME":"smartLight",
            "DEVICE_TYPE_ID":"",
            "actions":{
                "CML_STATE":1,
                "CML_SETPOINT":100
            }
        }

Sequence Diagram

    (for 2 devices and 2 rooms)

test