I’m new to edge driver development so this might be a stupid question…
I created a simple driver for my device and uploaded it successfully to the hub.
I see that the device is using my driver in the mobile app.
I then made some changes to the driver profile (originally it had 3 section, and now just 2), but I can’t figure out how to make my device use the latest version of the driver.
But nothing helps. I keep seeing the old profile (3 sections).
BTW, when I call: smartthings edge:drivers:installed
I get an error: “TypeError: Cannot read properties of undefined (reading ‘flags’)”.
Is this expected?
After you execute the install command (in the logcat), you’ll see an infoChanged event, then, the driver will be restarted and the logs will show that the init lifecycle is received. After this, you should be able to see the changed functionality
Yes, this issue is already reported, it only happens in v14, so, if you want to check the results in the CLI, please, go back to the v12.
Otherwise, you can see the list of installed drivers in the app:
(also channels where it is enrolled)
Check which drivers are installed in your hub and share a screen capture.
To do so, follow these steps:
a. In the ST app, go to the Hub and enter its details
b. Click on the menu (three-dot symbol in the upper-right corner)
c. Select “driver”.
You’ll see the list of installed drivers and the channels in which your Hub is enrolled.
Thank you all for the quick response.
Indeed, after package, publish and install, I see the updated version in the mobile app.
However, the profile presentation still shows 3 sections.
My current profile is:
name: mimo2plus
components:
id: main
capabilities:
id: doorControl
version: 1
categories:
name: GarageDoor
id: door1
capabilities:
id: doorControl
version: 1
categories:
name: GarageDoor
But in the mobile app I see “main”, “door1” and “door2”.
“door2” was there when I first published the driver.
Is there a way to force it to use my latest profile?
ooh, no, to clear the cache on iOS, you need to reinstall the app.
I suggest you delete the device and reinstall it instead.
If that still doesn’t work, try deleting the driver’s package completely, then change it’s packageKey and name in the config.yml file and reinstall both driver and device.
This is mostly necessary for changes in the device presentation (UI) which can include, add/remove capabilities, change the metadata in the profile, preferences, etc.
Noob ZWave question. Is it possible to delete (and reinstall) the device, without removing it (and rediscovering) from the ZWave network?
The device is located in the garage, so not easy to unpair/pair it every time… (especially if I’m not at home)
BTW, uninstalling the mobile app, and reinstalling it, will I lose something, or is everything recovered when I sign in?
Create a new version of the driver you’re working on by changing packageKey (and name to make it easier to find, but not technically necessary) in the config.yml. Package, install, and swap your device to the new driver. The device will (hopefully) reflect the new profile.
Also, save yourself trouble in packaging by using smartthings edge:drivers:package -I, which will also run through the assign and install steps.