[ST Edge] Change Driver Tool in the ST App

Ok, I think I figured it out.

I updated the previous Gist so you can take a reference:

The change is similar, but:

  • It is done in a subdriver.
  • I added the device:configure() instruction which configures the other capabilities with the defaults (thank you for that)
  • I removed the temperatureMeasurement from the supported capabilities list as this is sent to register the defaults.
  • I added a handler for the temperatureMeasurement cluster (measuredValue attribute) and call the parsing method in the defaults

These are my results:

  • The updates are sent when there’s a change in the temperature of 200 or above
    • This can happen at any interval of time
    • The values are shown correctly in the device history (in the corresponding timestamp)
    • This is a comparison table of the values:
Timestamp Reported Value Parsed Value
13:10 3238 32.38 > 32.4
13:12 3498 34.98 > 35
13:16 3711 37.11 > 37.1
13:22 3365 33.65 > 33.7
13:24 3143 31.43 > 31.4
13:29 2927 29.27 > 29.3
13:37 27.13 27.13 > 27.1


There will be differences between DTH and Driver behavior. What must not change is the configuration set up for the device. If you want less often reports, change the 200 for a greater value or the minimum interval allowed for reports.

2 Likes

Great!! :wave: :wave:
I’ll try it tomorrow, now I’m a bit busy and tell you something.

Thank you so much!!

@nayelyz,
I set it to 30, 3600, 100, which is how I had this sensor with the custom DTH and it worked fine all night.
I have seen that it does not send temperature event in the configuration response, showing 0.0ºC until it sends it in the next configured interval.

If you think it is necessary and you want to move these posts to another new thread about Configuration of custom reports.
Thanks

Hi @nayelyz,

As an update of the comparison of the battery consumption of the st multipurpose sensor with the default configuration values of Temperature reports (30, 300, 0x10) and the custom one with the code that you sent me with the subdriver (30, 3600, 100):

Default setting (30 sec, 300 sec, 0.1º):

  • In 4 days it consumed 15% of battery.

Custom configuration (30 sec, 3600 sec, 1°):

  • In 5 days 0% battery consumption

I still have it installed in case you want updating the consumption data.
In case it is taken into account for the final version of driver of st multipurpose sensor.

Thanks

Thank you for your feedback. I already reported the concerns about the default values, the engineering team will analyze the next steps regarding this matter.

1 Like

https://community.smartthings.com/t/preview-smartthings-managed-edge-device-drivers/229847/187?u=mariano_colmenarejo

I can’t replicate the error, the list of my drivers is showing correctly, have you reported this to the Customer Support team? There might be a global issue that is causing the Automation deletion and this behavior.
I agree it’s weird, I’ll be monitoring it and checking if someone else reports it.

I have not been updated either, but I have noticed since today that when you change the driver with the app tool, all the drivers that are in the hub no longer appear:

  • If there is no drive compatible with your device, the list appears empty, but if you click in search magnifying glass,all the hub drivers appear.

  • If there is any, the device label that device has in the fringerprint.yml, appears as many times as drivers find with that label in fingerprints.yml.

  • If you click on one of them, the compatible driver is loaded different from the one you have installed so that you accept it or not.

It doesn’t seem like a mistake to me.
It seems like an improvement to me, but it is unclear.
A text could come out saying: there are these compatible drivers for this device.

Now it shows the device label, matching in the Hub drivers.

In this case, exist other driver compatible for “Lidl Bulb’”.

By clicking on the label app choose the compatible driver to install.

In this example Two drivers compatibles found for “Lidl Bulb”

It should show the names of the compatible drivers instead of the device label

If you click on the magnifying glass, it shows you all the ones in the hub, as before.

Hi @Mariano_Colmenarejo , @nayelyz

Could you share how to execute integration tests? I’ve searched everywhere but docs (Driver Tests — SmartThings Edge Device Drivers documentation) only describe the codding itself.

Best regards!

I have always tested with real devices
I can’t help you in this

Saludos

Do you mean to what is described in this document?

https://developer.smartthings.com/edge-device-drivers/integration_tests.html
I suggest you check the /test directory of the drivers released by SmartThings. Eg:

Thanks @nayelyz . The question is how to execute the tests.

@nayelyz,

When the access to the channels and drivers came to work, I have seen that they have also fixed this problem.
Now when you are going to change a driver for another, the names of the device compatible drivers appear and not the device Labels as before.

Better this way

@nayelyz
Please help… Change driver is not working. I’m getting a blank screen
Changing to ZigBee Thing MC .
Please advise…

This is a know Android problem since the last app update
.

I found a walkaround . You can use CLI to do the change using the following command:

smartthings edge:drivers:switch [DEVICEID]

Worked for me…

4 Likes

@dotan_shai Great! That’s what I was looking for. I had searched for this command in smartthings-cli but I didn’t find it because it was added about month ago. After updating the cli it works fine.

1 Like

Really now every user who needs to change a edge driver needs to learn CLI because smartthings broke the app?

2 Likes

This used to work well and will be fixed , probably , in next the Android App release