While Bixby Home Studio (BHS) includes a Try it out feature that lets you test your action flow on a device, it also enables you to do on-device testing of metadata on compatible mobile devices.
On-device testing lets you say user utterances to a Bixby-enabled device to test the metadata of your devices. For example, you can load the metadata to your mobile phone for your lightbulb, and then say "Hi Bixby, turn on my light" to check if your lightbulb turns on. Currently, you can only test utterances through mobile devices. The device used in this guide is a simulated light bulb.
To perform on-device testing, you'll need to set up the following:
To enable on-device testing, you must first register your device with SmartThings. If you haven't completed this step, create a Samsung Account first. This is the same account you'll use to log into BHS. For more information about registering your device with SmartThings, see the Start Developing guide on the SmartThings Developers website.
Then you need to register the metadata through BHS. You can create new metadata or update existing metadata. Once you upload the new or updated metadata, the first metadata state should be Private.
For more information about registering metadata through BHS, see the Publishing the Bixby Device Graph (BHS Metadata Submission) guide.
You also need to confirm that the MNID and VID of the test device, the MNID and VID of the metadata, the MNID and VID of the Bixby app developer settings, and the MNID of your SmartThings Developers user account all match, as shown in the table below. In addition, the metadata version and metadata state of the Bixby app developer settings and of the metadata must match.
# | SmartThings User Account | Test Device | Metadata | Bixby App Developer Settings |
---|---|---|---|---|
MNID | must match the others | must match the others | must match the others | must match the others |
VID | N/A | must match the others | must match the others | must match the others |
Metadata Version | N/A | N/A | must match the others | must match the others |
Metadata State | N/A | N/A | must match the others | must match the others |
If the MNID of the test device is not visible in the BHS Device tab, as shown below, your account does not have permission to use the device's MNID. You need to request permission from the SmartThings device developer to use the MNID.
In order to perform on-device testing, you need to enable the Developer Options button in the Bixby app's settings. This is a hidden feature. To enable this button, first open the Bixby app and tap the More menu at the top right.
A menu with multiple options will appear. Tap the Settings option.
The Bixby settings page will appear. At the bottom, tap About Bixby.
At the top, under "Bixby," you will find the version number. Tap this 5-7 times.
If successfully activated, you will see a notification saying "Developer options activated."
Currently, on-device testing is limited to the mobile device you are using.
You can also import push notifications to BHS for on-device testing.
You will see a Disable Notifications and a Clear Notifications icon appear in the bottom right corner.
If using a Mac, use the Chrome or Firefox browser to enable and view push notifications.
You can load or copy execution results in the Notifications tab.
You can [pop the console out of the main editor window]($TOPICS/bhs-dev-guide/developers/bhs-basics#viewing-console-separately-with-pop-out-console window) into a separate window, to more easily read the console information while working on your metadata graphs.
Also, you can see a notifications indicator in the status bar.
Now that you've successfully enabled on-device testing, you can test your metadata. After activating developer options, go back to the Bixby settings screen and tap the now-visible Developer options.
On the Developer options screen, tap Bixby Home platform testing. The On-device testing option only applies to developers who are testing Bixby capsules.
The Bixby Home platform testing screen will appear. To enable testing, turn on "Test mode" with the toggle button.
At this point, you will have the option to select metadata (MNID, State, VID, Version) on your mobile device.
When you tap a metadata category, such as MNID or Version, a new screen appears with multiple radio button options. Select the desired option and then tap Select.
Once you've made your selections, you can start testing the metadata. To start your on-device testing, you can return to the Bixby home screen and test utterances for your metadata.
You can import push notifications to Bixby Home Studio (BHS) for on-device testing. With this feature, you can get notifications in BHS when testing Bixby voice commands on mobile devices. This enables you to view and load execution results in BHS for debugging, which includes additional information to help you narrow down any issues, such as the execution path taken during on-device testing, parameters, etc.
To debug execution errors, you can click Load test execution result to show the graph execution result in BHS, which includes information such as parameters, node values, and execution paths from the on-device test.
Click "Copy execution result to Log" to see more information about the error in the Log tab.
If you don't have an actual device to test on, you can create a virtual device. There are two kinds of virtual devices:
To create a virtual device within BHS, take the following steps:
To create a virtual device within SmartThings, see the SmartThings Community FAQ Creating Virtual Devices with the new architecture.
To go back to using Bixby regularly, you need to disable Bixby Home platform testing.
The following is a video tutorial on how to set up a simulated device for BHS.