Appium over Selenium grid

If 2 devices (device A and device B) of same configurations are connected to grid, and we try to run tests on device A, then Grid is switching the tests to device B.
If we stop the node of device B then the grid is running fine on device A. Any suggestions, how to fix this.

I’ve set this up by having two appium server instances running, each one pointing at the specific device

node scripts/node_modules/appium/build/lib/main.js --nodeconfig android_phone/ce0117115d52a73f04/selenium-conf.json --session-override --default-capabilities {"udid":"ce0117115d52a73f04","deviceName":"ce0117115d52a73f04","systemPort":7843,"wdaLocalPort":7843} --chromedriver-executable android_phone/ce0117115d52a73f04/chromedriver --log-no-colors --port 4843 --callback-port 4844 --log-timestamp --debug-log-spacing

The selenium-conf.json looks something like this. You’ll see some fields in there (like phoneBrand and phoneModel and others) that I wrote a custom matcher for to force specific brands and models.

                "version": "8.0",
                "maxInstances": 1,
                "platform": "Android",
                "platformType": "Phone",
                "phoneBrand": "samsung",
                "phoneModel": "SMG935F",
                "chromeVersion": "69.0.3497.100",
                "pc": "",
                "hostname": "bedouglas-mac",
                "port": "4843",
                "deviceName": "ce0117115d52a73f04",
                "maxInstances": 1,
                "udid": "ce0117115d52a73f04",
                "start": "2018-10-25T09:57:57-0400",
                "appiumVersion": "1.9.1"
            "proxy": "TARemoteProxy",
            "host": "",
            "port": 4843,
            "maxSessions": 1,
            "register": true,
            "registerCycle": 5000,
            "hubPort": 4444,
            "hubHost": ""