scanDevices

1)Request to SoulHub from Application

    Description: User sends request to SoulHub for scan Devices.

    Direction: Application ----> SoulHub

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

    Request Object:

        {
            "type":"scan_devices",
            "data":{
                "userId":"kavita.pansare@bgfjfjagcfdgbhigj.cloudsbuilder.clouzer.com",
                "requestId":"TS_1659603784571",
                "clientId":"IOSCocoaMQTT7972",
                "essentialList":{
                    "CML_TYPE":[
                        "ALL"
                    ]
                },
                "token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjbGllbnRJZCI6IklPU0NvY29hTVFUVDc5NzIifQ.XTCIk2tuKXuDSDU9LAycWskhVsvvcEtNqY7vCDAcqQs",
                "updateData":{

                },
                "CallerInfo":{
                    "caller":"DeviceViewController_scanBtn_press",
                    "source":[
                        "iOS_ClouzerEdgeInstaller"
                    ],
                    "portalAction":true,
                    "tsEntry":1659603784706
                },
                "queryData":{

                }
            }
        }

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 Drivers for devices

    Description: if process is running then SoulHub sends request to drivers for devices.

    Direction: SoulHub ----> DAPI

    Request Topic: "discovery"

    Request Object:

            {
                "userId":"kavita.pansare@bgfjfjagcfdgbhigj.cloudsbuilder.clouzer.com",
                "requestId":"TS_1659603784571",
                "clientId":"IOSCocoaMQTT7972",
                "essentialList":{
                    "CML_TYPE":[
                        "ALL"
                    ]
                },
                "token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjbGllbnRJZCI6IklPU0NvY29hTVFUVDc5NzIifQ.XTCIk2tuKXuDSDU9LAycWskhVsvvcEtNqY7vCDAcqQs",
                "updateData":{

                },
                "CallerInfo":{
                    "caller":"DeviceViewController_scanBtn_press",
                    "source":[
                        "iOS_ClouzerEdgeInstaller"
                    ],
                    "portalAction":true,
                    "tsEntry":1659603784706
                },
                "queryData":{

                }
            }

    Direction: DAPI ----> soulHub

    Response Topic: "discovery_response"

    Response Object:

        {
            "manufacturer":"mirabella",
            "deviceType":"LIGHT",
            "data":[
                {
                    "controller":{
                        "id":"ebfhg",
                        "name":"Smart Bridge 2",
                        "type":"controller",
                        "manufacturer":"mirabella",
                        "shortNameOfDevice":"controller",
                        "credential_id":"ID1659603749870439702314868",
                        "interface_id":"ID165959365088284727055039"
                    },
                    "devices":[

                    ]
                }
            ],
            "requestId":"TS_1659603784571",
            "userId":"kavita.pansare@bgfjfjagcfdgbhigj.cloudsbuilder.clouzer.com"
        }

4)SoulHub request to db for devices

    Description: soulHub request to soulPy for Devices.

    Direction: SoulHub ----> soulPy

    Request Topic: "soulDb/fetch"

    Request Object:

        {
            "data":{
                "entity_type":"devices",
                "and":{
                    "eq":{
                        "CML_SERIAL_ID":"ebfhg",
                        "CML_TYPE":"DEVICE"
                    }
                }
            },
            "communicationId":"1659603788628addDiscoveredDevices122",
            "CallerInfo":{
                "source":[
                    "soulHub"
                ],
                "caller":"soulHubAction",
                "portalAction":true
            }
        }

    Direction: soulPy ----> soulHub

    Response Topic: "soulDb/dbResponse"

    Response Object:

        {
            "data":[

            ],
            "type":"dbFetch",
            "communicationId":"1659603788628addDiscoveredDevices122",
            "CallerInfo":{
                "portalAction":true,
                "caller":"soulHubAction",
                "source":[
                    "soulHub",
                    "soulPy"
                ]
            }
        }

5)SoulHub request to db for devices

    Description: soulHub request to soulPy insert all discovered device into db.

    Direction: SoulHub ----> soulPy

    Request Topic: "soulDb/insert"

    Request Object:

        {
            "data":[
                {
                    "STRUCTURE_ID":-2,
                    "concept":"LIGHT",
                    "CML_TYPE":"DEVICE",
                    "CML_SUB_TYPE":"LIGHT",
                    "CML_TITLE":"mirabella ebfhg",
                    "ACTIVE_STATUS":1,
                    "CML_MANUFACTURER_NAME":"mirabella",
                    "CML_MANUFACTURER_ID":"",
                    "CML_SERIAL_ID":"ebfhg",
                    "CML_NAME":"mirabella ebfhg",
                    "CML_CONTROLLER_ID":"NA",
                    "CML_DEVICE_FIRMWARE":"NA",
                    "KEY_TYPE":"TSK",
                    "SUB_KEY_TYPE":"TSK_PRO_DEV_ORG",
                    "CML_CONTROL_MODE":1,
                    "entity_type":"devices",
                    "CREATED_ON_ON_CLOUZER_SOUL":1659603796158,
                    "LAST_MODIFIED_ON_ON_CLOUZER_SOUL":1659603796158,
                    "CML_SUPPORTING_ZONE":"NA",
                    "CML_SUPPORTED_TYPE":"LIGHT",
                    "MODEL_NUMBER":"B82CA0622761",
                    "OWNER_ID":"NA",
                    "COLOR_SUPPORTED":0,
                    "CREDENTIAL_ID":"ID1659603749870439702314868",
                    "INTERFACE_ID":"ID165959365088284727055039",
                    "CML_SWITCH_CNTR_ID":"NA",
                    "CML_SHORT_NAME":"smartLight",
                    "AUTO_PROVISION":0
                }
            ],
            "communicationId":"1659603796158addDiscoveredDevices181",
            "CallerInfo":{
                "source":[
                    "soulHub"
                ],
                "caller":"soulHubAction",
                "portalAction":true
            }
        }

    Direction: soulPy ----> soulHub

    Response Topic: "soulDb/dbResponse"

    Response Object:

        {
            "data":[
                {
                    "STRUCTURE_ID":-2,
                    "concept":"LIGHT",
                    "CML_TYPE":"DEVICE",
                    "CML_SUB_TYPE":"LIGHT",
                    "CML_TITLE":"mirabella ebfhg",
                    "ACTIVE_STATUS":1,
                    "CML_MANUFACTURER_NAME":"mirabella",
                    "CML_MANUFACTURER_ID":"",
                    "CML_SERIAL_ID":"ebfhg",
                    "CML_NAME":"mirabella ebfhg",
                    "CML_CONTROLLER_ID":"NA",
                    "CML_DEVICE_FIRMWARE":"NA",
                    "KEY_TYPE":"TSK",
                    "SUB_KEY_TYPE":"TSK_PRO_DEV_ORG",
                    "CML_CONTROL_MODE":1,
                    "entity_type":"devices",
                    "CREATED_ON_ON_CLOUZER_SOUL":1659603796158,
                    "LAST_MODIFIED_ON_ON_CLOUZER_SOUL":1659603796158,
                    "CML_SUPPORTING_ZONE":"NA",
                    "CML_SUPPORTED_TYPE":"LIGHT",
                    "MODEL_NUMBER":"B82CA0622761",
                    "OWNER_ID":"NA",
                    "COLOR_SUPPORTED":0,
                    "CREDENTIAL_ID":"ID1659603749870439702314868",
                    "INTERFACE_ID":"ID165959365088284727055039",
                    "CML_SWITCH_CNTR_ID":"NA",
                    "CML_SHORT_NAME":"smartLight",
                    "AUTO_PROVISION":0,
                    "DEVICE_ID":"ID1659603810857778873514955",
                    "LKEY_VAL":"ID1659603810857778873514955",
                    "TARGET":"/ID1659603810857778873514955",
                    "KEY_VAL":"",
                    "SYNC_PENDING_STATUS":-1,
                    "CREATED_BY_ON_CLOUZER_SOUL":"",
                    "LAST_MODIFIED_BY_ON_CLOUZER_SOUL":"",
                    "CREATED_BY":"",
                    "CREATED_ON":"",
                    "LAST_MODIFIED_BY":"",
                    "LAST_MODIFIED_ON":"",
                    "CML_TESTABLE":"",
                    "CML_MAC_ID":"",
                    "CML_INSTALLATION_DATE":"",
                    "CML_EXPIRY_DATE":"",
                    "IO_MODE":-1,
                    "INPUT_PROTOCOL":"",
                    "OUTPUT_PROTOCOL":"",
                    "override":"",
                    "CML_DEVICE_REF":"",
                    "CML_GROUP_REF":"",
                    "DEVICE_TYPE_ID":""
                }
            ],
            "type":"dbInsert",
            "communicationId":"1659603796158addDiscoveredDevices181",
            "CallerInfo":{
                "portalAction":true,
                "caller":"soulHubAction",
                "source":[
                    "soulHub",
                    "soulPy"
                ]
        }

6)SoulHub Sends Response to Application

    Description: SoulHub sends response to app with following object

    Direction: SoulHub ----> App

    Response Topic: "hubActionResponse/installer"

    Response Object:

    {
        "type":"scan_device_hub",
        "dataArray":[
            {
                "STRUCTURE_ID":-2,
                "concept":"NA",
                "CML_TYPE":"DEVICE",
                "CML_SUB_TYPE":"LIGHT",
                "CML_TITLE":"mirabella ebfhg",
                "ACTIVE_STATUS":1,
                "CML_MANUFACTURER_NAME":"mirabella",
                "CML_MANUFACTURER_ID":"",
                "CML_SERIAL_ID":"ebfhg",
                "CML_NAME":"mirabella ebfhg",
                "CML_CONTROLLER_ID":"NA",
                "CML_DEVICE_FIRMWARE":"NA",
                "KEY_TYPE":"TSK",
                "SUB_KEY_TYPE":"TSK_PRO_DEV_ORG",
                "CML_CONTROL_MODE":1,
                "entity_type":"devices",
                "CREATED_ON_ON_CLOUZER_SOUL":1659603796158,
                "LAST_MODIFIED_ON_ON_CLOUZER_SOUL":1659603796158,
                "CML_SUPPORTING_ZONE":"NA",
                "CML_SUPPORTED_TYPE":"LIGHT",
                "MODEL_NUMBER":"B82CA0622761",
                "OWNER_ID":"NA",
                "COLOR_SUPPORTED":0,
                "CREDENTIAL_ID":"ID1659603749870439702314868",
                "INTERFACE_ID":"ID165959365088284727055039",
                "CML_SWITCH_CNTR_ID":"NA",
                "CML_SHORT_NAME":"smartLight",
                "AUTO_PROVISION":0,
                "DEVICE_ID":"ID1659603810857778873514955",
                "LKEY_VAL":"ID1659603810857778873514955",
                "TARGET":"/ID1659603810857778873514955",
                "KEY_VAL":"",
                "SYNC_PENDING_STATUS":-1,
                "CREATED_BY_ON_CLOUZER_SOUL":"",
                "LAST_MODIFIED_BY_ON_CLOUZER_SOUL":"",
                "CREATED_BY":"",
                "CREATED_ON":"",
                "LAST_MODIFIED_BY":"",
                "LAST_MODIFIED_ON":"",
                "CML_TESTABLE":"",
                "CML_MAC_ID":"",
                "CML_INSTALLATION_DATE":"",
                "CML_EXPIRY_DATE":"",
                "IO_MODE":-1,
                "INPUT_PROTOCOL":"",
                "OUTPUT_PROTOCOL":"",
                "override":"",
                "CML_DEVICE_REF":"",
                "CML_GROUP_REF":"",
                "DEVICE_TYPE_ID":""
            }
        ],
        "requestId":"TS_1659603784571",
        "userId":"kavita.pansare@bgfjfjagcfdgbhigj.cloudsbuilder.clouzer.com",
        "CallerInfo":{
            "source":[
                "soulHub"
            ],
            "caller":"soulHubAction",
            "portalAction":true
        }
    }