[SmartThings Edge] Issue with the Z-Wave Switch driver

@nayelyz,
In the stock Beta Z-Wave Switch driver there are errors in the profile assignment in fingerprints.yml of the plugs fibaro productType: 0x0602 and preferences.lua module

This device has 2 differents fingerprints in fingerprints.yml:

  - id: 010F/0602/1001
    deviceLabel: Fibaro Outlet
    manufacturerId: 0x010F
    productType: 0x0602
    productId: 0x1001
    deviceProfileName: metering-switch
  - id: 010F/0602
    deviceLabel: Fibaro Outlet
    manufacturerId: 0x010F
    productType: 0x0602
    deviceProfileName: fibaro-metering-switch
  • The plug with productId: 0x1001 has assigning to metering-switch profile, that has no preferences in the profile
  • The plug that does not have productId has the fibaro-metering-switch profile assigned, which does have preferences in the profile

But the module preferences.lua that has the definitions of the preferences parameters only supports the productId: 0x1001

FIBARO_WALL_PLUG_EU = {
    MATCHING_MATRIX = {
      mfrs = 0x010F,
      product_types = 0x0602,
      product_ids = 0x1001
    },
    PARAMETERS = {
      alwaysActive = {parameter_number = 1, size = 1},
      restoreState = {parameter_number = 2, size = 1},
      overloadSafety = {parameter_number = 3, size = 2},
      standardPowerReports = {parameter_number = 11, size = 1},
      powerReportFrequency = {parameter_number = 12, size = 2},
      periodicReports = {parameter_number = 14, size = 2},
      ringColorOn = {parameter_number = 41, size = 1},
      ringColorOff = {parameter_number = 42, size = 1}
    }
  },

Therefore:

  • devices that have productId: 0x1001 are paired with the profile that has not preferences and are not seen in app.
  • Devices that have a productId: 0x1003, are matched with the profile that have preferences in the profile, but they don’t work because they don’t match the parameters filter, in the preferences.lua module, which only picks up the productId: 0x1001.

Solution:

  • Remove the fingerprint that has productId: 0x1001
    or

  • add productId: 0x1003 in the profile that does not have productId
    And

  • Add 0x1003 in the plug preferences.lua module

FIBARO_WALL_PLUG_EU = {
    MATCHING_MATRIX = {
      mfrs = 0x010F,
      product_types = 0x0602,
      product_ids = {0x1001, 0x1003}
    },
    PARAMETERS = {
      alwaysActive = {parameter_number = 1, size = 1},
      restoreState = {parameter_number = 2, size = 1},
      overloadSafety = {parameter_number = 3, size = 2},
      standardPowerReports = {parameter_number = 11, size = 1},
      powerReportFrequency = {parameter_number = 12, size = 2},
      periodicReports = {parameter_number = 14, size = 2},
      ringColorOn = {parameter_number = 41, size = 1},
      ringColorOff = {parameter_number = 42, size = 1}
    }
  },
2 Likes

Thanks for flagging @Mariano_Colmenarejo, we’ll take a look.

2 Likes