Send a fixed command

I find a new error about metadata:


For a right button_values settings, I have to remove the metadata, and have a error device icon.

I have tried three times, the second MP21Z is always paired with the Groovy DTH(Min Smart Plug), but the first MP21Z is paired with the edge driver.

Maybe I should test with other product for the problem.

Please, share the configuration of the button_values just to have a reference.

If you have the Min Smart Plug DTH saved and published in your IDE, it will take preference over the Edge driver. I suggest you comment the line of the fingerprint (using //) or delete the DTH.
If it is paired to the stock DTH, it means it is not finding a match in the Edge driver, so check your fingerprints configured. Also, there are some manufacturers that send extra blank spaces in the fingerprint values, Eg. "manufacturer name ", you could verify if that is the case for the device.

I write the button_values in configuration.lua:

and get it by the function:

The call route:

The Groovy DTH(Min Smart Plug) has been publish in SmartThings Public GitHub Repo.And I delete it from the IDE before the test:

For the product MP21ZP, even if I keep the DTH driver in the IDE(Z-Wave Metering Switch), it is still paired with my new Edge driver.

For the product MP21Z, only the second device is paired with the old DTH driver(Min Smart Plug). The first is correctly paired with my new Edge driver.

Ok, thanks for the information. I’ll check this issue.

ok, so this one has two fingerprints, one works but not the other.

  • Did you add both at the same time? If not, it could be that the device fingerprint config isn’t updated. Remember that you need to package, publish and install the driver again. This command can help you with these three steps:
smartthings edge:drivers:package driver-path --channel channelId --hub hubId
  • Double check the fingerprint you configured.
  • Other possible solutions are deleting the driver completely and start a fresh install (uninstall > unpublish > delete)

Mostly, when a device is not paired to the driver it’s because no matching fingerprint is found, we have seen some devices sent extra blank spaces on their manufacturer and/or model values.

Yes, you are right!
 There are two different fingerprints for MP21Z in the DTH driver(Min Smart Plug):

 When I write new Edge driver, I ingore the first fingerprint...

  I check the device info in the IDE then find it.

 A low-level mistake...

 The second device is recycled because it was not mass-produced at all, and I do not need to set it up.

Ok, this is because the generic-4-button vid doesn’t have the pushed_3x option enabled, only the four options shown when we query the presentation configuration:


And we see only three of those options because they are included in the supportedButtonValues: "pushed", "held", "double"

Also, remember that for multi-component devices:

  • The configuration of the profile must match the presentation. I mean, the component’s name and which capabilities it has. For this VID, this is the profile:
name: multi-button
components:
- id: main
  capabilities:
  - id: battery
    version: 1
  label: Main
  categories:
  - name: RemoteController
- id: button1
  capabilities:
  - id: button
    version: 1
  label: buttonOne
  categories:
  - name: RemoteController
- id: button2
  capabilities:
  - id: button
    version: 1
  label: buttonTwo
  categories:
  - name: RemoteController
- id: button3
  capabilities:
  - id: button
    version: 1
  label: buttonThree
  categories:
  - name: RemoteController
- id: button4
  capabilities:
  - id: button
    version: 1
  label: buttonFour
  categories:
  - name: RemoteController  
metadata:
  vid: generic-4-button
  mnmn: SmartThings
  deviceType: RemoteController
  ocfDeviceType: x.com.st.d.remotecontroller
  deviceTypeId: RemoteController
  • The syntax of the event sent to capabilities of certain components is:
device.profile.components["button1"]:emit_event(capabilities.button.supportedButtonValues({"pushed", "held", "double", "pushed_3x"}))

Oh, My remote control and door-window-sensor can not work normally. As below:

I’m not sure the normal status for the remote control after it’s connected.

But the door-window-sensor’s normal status should be “Open” or “Closed” after it’s connected.

Now their status keep as “Connected” after they are connected.

And in the device interface, all the information cannot be displayed and refreshed (the controls are displayed in the default state), even if the device is operated, there will be no changes.

I bet that when I first told you that the remote control icon was not normal, everything else was normal (I also showed the effect to my colleague).

I tried many times for door-window-sensor, and even added my fingerprint directly on the official basis of SmartThingsEdgeDrivers, but it didn’t work.

Have there been any changes to them recently? Can you confirm this problem for me?

For the device icon not displaying correctly:

  • This depends on which values you’re using in the metadata (ocf properties, vid and mnmn, etc.) and the device category.
  • Therefore, it is important to check if they are not in conflict (eg, the vid includes an icon and the set of properties use another)

For the capabilities not being displayed:

  • You need to check that the device profile configuration and the VID used (if you’re using a “stock” VID) are using the same configuration (same capabilities in each component, same component name)
  • You need to check if the device onboarding was correct or there’s an error in the Hub Logs:
smartthings edge:drivers:logcat

If you think you need help understanding particular things of your integration (source code, logs, etc.) please, send an email to build@smartthings.com for security reasons.