1)SoulHub gets request from Application

    Discription: User request to SoulHub for set the device point

    Direction: Application ----> SoulHub

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

    Request Object:

        {
            "data":{
                "requestId":"TS_1590131864339",
                "userId":"admin@clouzer.com",
                "clientId":"v2admin_1658826872172",
                "connectionProtocol":"MQTT",
                "connectionId":"TS_1590131864339",
                "updateData":{
                    "CML_SETPOINT":10
                },
                "queryData":{
                    "CML_CONTROL_MODE":1,
                    "CML_SUB_TYPE":"LIGHT",
                    "TARGET":"/ID1657800689908705780517124/ID1657805052207362508128703/ID165786438343196932317753/ID1658818167570626229362775"
                },
                "CallerInfo":{
                    "source":[

                    ],
                    "caller":"soulHubAction",
                    "portalAction":false,
                    "tsEntry":1658826872630
                }
            },
            "type":"set_setpoint"
        }

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

    Discription: 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":"admin@clouzer.com"
                    }
                }
            },
            "communicationId":"1658826872634get_user10",
            "CallerInfo":{
                "source":[

                ],
                "caller":"soulHubAction",
                "portalAction":false,
                "tsEntry":1658826872630
            }
        }

    Direction: soulPy ----> soulHub

    Response Topic: "soulDb/Response"

    Response Object:

        {
            "data":[
                {
                    "userId":"",
                    "username":"admin@clouzer.com",
                    "RECOVERY_MAIL":"admin@clouzersoul.com",
                    "LKEY_VAL":"admin@clouzer.com",
                    "ACTION":"REGISTER_HUB_USER",
                    "hubId":"",
                    "RegisterWith":"clouzer",
                    "firstName":"admin",
                    "lastName":"admin",
                    "JWTTOKEN":"",
                    "ACTIVE_STATUS":1,
                    "KEY_VAL":"",
                    "logintype":"default",
                    "ROLE":1,
                    "USM_IMAGE_PATH":"",
                    "entity_type":"userlist",
                    "CML_HIDDEN":0
                },
                {
                    "userId":"ID1657804966667940453170",
                    "username":"admin@clouzer.com",
                    "RECOVERY_MAIL":"admin@cloudsmaintenance.clouzer.com",
                    "LKEY_VAL":"admin@cloudsmaintenance.clouzer.com",
                    "ACTION":"",
                    "hubId":"ClouzerSoulTest-51",
                    "RegisterWith":"cloudsmaintenance.clouzer",
                    "firstName":"clouzer",
                    "lastName":"user",
                    "JWTTOKEN":"",
                    "ACTIVE_STATUS":1,
                    "KEY_VAL":"tempKeyVal",
                    "logintype":"user",
                    "ROLE":1,
                    "USM_IMAGE_PATH":"",
                    "entity_type":"userlist",
                    "CML_HIDDEN":1
                }
            ],
            "type":"dbFetch",
            "communicationId":"1658826872634get_user10",
            "CallerInfo":{
                "portalAction":false,
                "caller":"soulHubAction",
                "source":[
                    "soulHub",
                    "soulPy"
                ]
            }
        }

4)SoulHub request to database for role map

    Discription: 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":1
                    }
                }
            },
            "communicationId":"1658826872904role_map44",
            "CallerInfo":{
                "portalAction":false,
                "caller":"soulHubAction",
                "source":[
                    "soulHub",
                    "soulPy"
                ]
            }
        }

    Direction: soulPy ----> soulHub

    Response Topic: "soulDb/Response"

    Response Object:

        {
            "data":[
                {
                    "ID":"ID1657804939149286176019566",
                    "ROLE":1,
                    "RULE_ID":1,
                    "KEY_VAL":"",
                    "entity_type":"role_map"
                },
                {
                    "ID":"ID165780493971797945719749",
                    "ROLE":1,
                    "RULE_ID":21,
                    "KEY_VAL":"",
                    "entity_type":"role_map"
                },
                {
                    "ID":"ID1657804939110212934482361",
                    "ROLE":1,
                    "RULE_ID":23,
                    "KEY_VAL":"",
                    "entity_type":"role_map"
                },
                {
                    "ID":"ID1657804939169828374230985",
                    "ROLE":1,
                    "RULE_ID":54,
                    "KEY_VAL":"",
                    "entity_type":"role_map"
                },
                {
                    "ID":"ID1657804939528693387514626",
                    "ROLE":1,
                    "RULE_ID":22,
                    "KEY_VAL":"",
                    "entity_type":"role_map"
                },
                {
                    "ID":"ID1657804939570917227761302",
                    "ROLE":1,
                    "RULE_ID":31,
                    "KEY_VAL":"",
                    "entity_type":"role_map"
                },
                {
                    "ID":"ID165780493992649211128092",
                    "ROLE":1,
                    "RULE_ID":32,
                    "KEY_VAL":"",
                    "entity_type":"role_map"
                },
                {
                    "ID":"ID1657804939291574658040093",
                    "ROLE":1,
                    "RULE_ID":33,
                    "KEY_VAL":"",
                    "entity_type":"role_map"
                },
                {
                    "ID":"ID1657804939248706673048143",
                    "ROLE":1,
                    "RULE_ID":41,
                    "KEY_VAL":"",
                    "entity_type":"role_map"
                },
                {
                    "ID":"ID16578049393374858610603",
                    "ROLE":1,
                    "RULE_ID":42,
                    "KEY_VAL":"",
                    "entity_type":"role_map"
                },
                {
                    "ID":"ID1657804939884208612488340",
                    "ROLE":1,
                    "RULE_ID":43,
                    "KEY_VAL":"",
                    "entity_type":"role_map"
                },
                {
                    "ID":"ID165780493955464856151590",
                    "ROLE":1,
                    "RULE_ID":11,
                    "KEY_VAL":"",
                    "entity_type":"role_map"
                },
                {
                    "ID":"ID1657804939891182192696343",
                    "ROLE":1,
                    "RULE_ID":51,
                    "KEY_VAL":"",
                    "entity_type":"role_map"
                },
                {
                    "ID":"ID1657804939408133139661798",
                    "ROLE":1,
                    "RULE_ID":52,
                    "KEY_VAL":"",
                    "entity_type":"role_map"
                },
                {
                    "ID":"ID165780493948145682751619",
                    "ROLE":1,
                    "RULE_ID":53,
                    "KEY_VAL":"",
                    "entity_type":"role_map"
                }
            ],
            "type":"dbFetch",
            "communicationId":"1658826872904role_map44",
            "CallerInfo":{
                "portalAction":false,
                "caller":"soulHubAction",
                "source":[
                    "soulHub",
                    "soulPy",
                    "soulHub",
                    "soulPy"
                ]
            }
        }

5)SoulHub request to python for check device action.

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

    Direction: SoulHub ----> soulPy

    Request Topic: "python/deviceActon"

    Request Object:

        {
            "type":"set_setpoint",
            "data":{
                "userId":"ashwini.tote@bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com",
                "token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjbGllbnRJZCI6IklPU0NvY29hTVFUVDg1NiJ9.IeWbR1eOGLDz1lBqHBIfBdq6sfdtJTTO3pA7QDCaYM",
                "CallerInfo":{
                    "caller":"light_view_slider_touch",
                    "source":[
                        "iOS_ClouzerEdge",
                        "soulHub"
                    ],
                    "portalAction":false,
                    "tsEntry":1658497582127
                },
                "connectionProtocol":"MQTT",
                "clientId":"IOSCocoaMQTT856",
                "updateData":{
                    "CML_SETPOINT":19
                },
                "requestId":"TS_1658497581747",
                "connectionId":"TS_1658497581747",
                "queryData":{
                    "TARGET":"/ID1657800689908705780517124",
                    "CML_CONTROL_MODE":12,
                    "CML_SUB_TYPE":"LIGHT"
                },
                "communicationId":"1658497582691setSetpoint168"
            }
        }

    Direction: soulPy ----> soulHub

    Response Topic: "node/deviceState"

    Response Object:

        {
            "data":{
                "requestId":"TS_1590131864339",
                "userId":"admin@clouzer.com",
                "clientId":"v2admin_1658826872172",
                "connectionProtocol":"MQTT",
                "connectionId":"TS_1590131864339",
                "updateData":{
                    "CML_SETPOINT":10,
                    "CML_STATE":1
                },
                "queryData":{
                    "CML_CONTROL_MODE":1,
                    "CML_SUB_TYPE":"LIGHT",
                    "TARGET":"/ID1657800689908705780517124/ID1657805052207362508128703/ID165786438343196932317753/ID1658818167570626229362775"
                },
                "CallerInfo":{
                    "source":[
                        "soulHub",
                        "soulPy"
                    ],
                    "caller":"soulHubAction",
                    "portalAction":false,
                    "tsEntry":1658826872630
                },
                "communicationId":"1658826873179setSetpoint84",
                "dataArray":[
                    {
                        "CML_SCENE_ID":-1,
                        "override":"",
                        "CML_STATE":1,
                        "CML_SETPOINT":10,
                        "CML_TEMPERATURE":2699,
                        "CML_STATUS":1,
                        "CML_HUE":0,
                        "CML_SATURATION":0,
                        "CML_LIGHTNESS":0,
                        "COLOR_SUPPORTED":0,
                        "DEVICE_ID":"ID1658818167570626229362775",
                        "LKEY_VAL":"ID1658818167570626229362775",
                        "STRUCTURE_ID":"ID165786438343196932317753",
                        "TARGET":"/ID1657800689908705780517124/ID1657805052207362508128703/ID165786438343196932317753/ID1658818167570626229362775",
                        "KEY_TYPE":"TSK",
                        "SUB_KEY_TYPE":"TSK_PRO_DEV_ORG",
                        "CML_TYPE":"DEVICE",
                        "CML_SUB_TYPE":"LIGHT",
                        "CML_TITLE":"Mirabella Light ecfabc0cd490",
                        "KEY_VAL":"bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_ORG_WKS_1657801024796_1670#SEC_PRO_DEV_ORG_1657801029058_79#TSK_PRO_DEV_ORG_1658818168416_87",
                        "SYNC_PENDING_STATUS":-1,
                        "CREATED_BY_ON_CLOUZER_SOUL":"",
                        "CREATED_ON_ON_CLOUZER_SOUL":1658818160211,
                        "LAST_MODIFIED_BY_ON_CLOUZER_SOUL":"",
                        "LAST_MODIFIED_ON_ON_CLOUZER_SOUL":1658818160211,
                        "CREATED_BY":"",
                        "CREATED_ON":"",
                        "LAST_MODIFIED_BY":"",
                        "LAST_MODIFIED_ON":"",
                        "ACTIVE_STATUS":1,
                        "CML_MANUFACTURER_NAME":"mirabella",
                        "CML_MANUFACTURER_ID":"",
                        "CML_SERIAL_ID":"ecfabc0cd490",
                        "CML_NAME":"Mirabella Light ecfabc0cd490",
                        "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":"ID165881786173836769960612",
                        "entity_type":"devices",
                        "CML_SWITCH_CNTR_ID":"NA",
                        "CML_SHORT_NAME":"smartLight",
                        "DEVICE_TYPE_ID":""
                    }
                ]
            },
            "type":"set_setpoint_hub"
        }

    Direction: soulPy ----> soulHub

    Response Topic: "node/roomState"

    Response Object:

        {
            "data":{
                "requestId":"TS_1590131864339",
                "userId":"admin@clouzer.com",
                "clientId":"v2admin_1658826872172",
                "connectionProtocol":"MQTT",
                "connectionId":"TS_1590131864339",
                "updateData":{
                    "CML_SETPOINT":10,
                    "CML_STATE":1
                },
                "queryData":{
                    "CML_CONTROL_MODE":1,
                    "CML_SUB_TYPE":"LIGHT",
                    "TARGET":"/ID1657800689908705780517124/ID1657805052207362508128703/ID165786438343196932317753/ID1658818167570626229362775"
                },
                "CallerInfo":{
                    "source":[
                        "soulHub",
                        "soulPy"
                    ],
                    "caller":"soulHubAction",
                    "portalAction":false,
                    "tsEntry":1658826872630
                },
                "communicationId":"1658826873179setSetpoint84",
                "dataArray":[
                    {
                        "CML_SCENE_ID":-1,
                        "override":0,
                        "CML_STATE":1,
                        "CML_SETPOINT":10,
                        "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":[

                        ]
                    }
                ]
            },
            "type":"set_setpoint_hub"
        }

    Direction: soulPy ----> soulHub

    Response Topic: "node/floorState"

    Response Object:

        {
            "data":{
                "requestId":"TS_1590131864339",
                "userId":"admin@clouzer.com",
                "clientId":"v2admin_1658826872172",
                "connectionProtocol":"MQTT",
                "connectionId":"TS_1590131864339",
                "updateData":{
                    "CML_SETPOINT":10,
                    "CML_STATE":1
                },
                "queryData":{
                    "CML_CONTROL_MODE":1,
                    "CML_SUB_TYPE":"LIGHT",
                    "TARGET":"/ID1657800689908705780517124/ID1657805052207362508128703/ID165786438343196932317753/ID1658818167570626229362775"
                },
                "CallerInfo":{
                    "source":[
                        "soulHub",
                        "soulPy"
                    ],
                    "caller":"soulHubAction",
                    "portalAction":false,
                    "tsEntry":1658826872630
                },
                "communicationId":"1658826873179setSetpoint84",
                "dataArray":[
                    {
                        "CML_SCENE_ID":-1,
                        "override":0,
                        "CML_STATE":1,
                        "CML_SETPOINT":88,
                        "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":[

                        ]
                    }
                ]
            },
            "type":"set_setpoint_hub"
        }

    Direction: soulPy ----> soulHub

    Response Topic: "node/propertyState"

    Response Object:

        {
            "data":{
                "requestId":"TS_1590131864339",
                "userId":"admin@clouzer.com",
                "clientId":"v2admin_1658826872172",
                "connectionProtocol":"MQTT",
                "connectionId":"TS_1590131864339",
                "updateData":{
                    "CML_SETPOINT":10,
                    "CML_STATE":1
                },
                "queryData":{
                    "CML_CONTROL_MODE":1,
                    "CML_SUB_TYPE":"LIGHT",
                    "TARGET":"/ID1657800689908705780517124/ID1657805052207362508128703/ID165786438343196932317753/ID1658818167570626229362775"
                },
                "CallerInfo":{
                    "source":[
                        "soulHub",
                        "soulPy"
                    ],
                    "caller":"soulHubAction",
                    "portalAction":false,
                    "tsEntry":1658826872630
                },
                "communicationId":"1658826873179setSetpoint84",
                "dataArray":[
                    {
                        "CML_SCENE_ID":-1,
                        "override":0,
                        "CML_STATE":1,
                        "CML_SETPOINT":88,
                        "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":[

                        ]
                    }
                ]
            },
            "type":"set_setpoint_hub"
        }

6)SoulHub request to dapi for set point

    Discription: SoulHub respond with updated device status and then after request for dapi to set point

    Direction: SoulHub ----> dapi

    Request Topic: "mirabella/light/set_setpoint_hub"

    Request Object:

            {
                "deviceArr":[
                    {
                        "id":"ecfabc0cd490",
                        "controllerId":"NA"
                    }
                ],
                "CallerInfo":{
                    "source":[
                        "soulHub"
                    ],
                    "caller":"soulHubAction",
                    "portalAction":false,
                    "tsEntry":1658826872630
                },
                "requestId":"TS_1590131864339",
                "userId":"admin@clouzer.com",
                "CML_SCENE_ID":-1,
                "override":"",
                "state":1,
                "setpoint":10,
                "kelvin":2699,
                "status":1,
                "hue":0,
                "saturation":0,
                "lightness":0,
                "COLOR_SUPPORTED":0,
                "device_id":"ID1658818167570626229362775",
                "LKEY_VAL":"ID1658818167570626229362775",
                "STRUCTURE_ID":"ID165786438343196932317753",
                "TARGET":"/ID1657800689908705780517124/ID1657805052207362508128703/ID165786438343196932317753/ID1658818167570626229362775",
                "KEY_TYPE":"TSK",
                "SUB_KEY_TYPE":"TSK_PRO_DEV_ORG",
                "cml_type":"DEVICE",
                "deviceType":"LIGHT",
                "title":"Mirabella Light ecfabc0cd490",
                "key_val":"bgfhiaajiafbiicfb.cloudsbuilder.clouzer.com#PRJ_ORG_WKS_1657801024796_1670#SEC_PRO_DEV_ORG_1657801029058_79#TSK_PRO_DEV_ORG_1658818168416_87",
                "SYNC_PENDING_STATUS":-1,
                "CREATED_BY_ON_CLOUZER_SOUL":"",
                "CREATED_ON_ON_CLOUZER_SOUL":1658818160211,
                "LAST_MODIFIED_BY_ON_CLOUZER_SOUL":"",
                "LAST_MODIFIED_ON_ON_CLOUZER_SOUL":1658818160211,
                "CREATED_BY":"",
                "CREATED_ON":"",
                "LAST_MODIFIED_BY":"",
                "LAST_MODIFIED_ON":"",
                "ACTIVE_STATUS":1,
                "manufacturer":"mirabella",
                "CML_MANUFACTURER_ID":"",
                "id":"ecfabc0cd490",
                "device_name":"Mirabella Light ecfabc0cd490",
                "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":"ID165881786173836769960612",
                "entity_type":"devices",
                "switchcontrollerId":"NA",
                "CML_SHORT_NAME":"smartLight",
                "DEVICE_TYPE_ID":"",
                "actions":{
                    "CML_SETPOINT":10,
                    "CML_STATE":1
                }
            }

Sequence Diagram

test