Supported broadcasting power values

We bought over 30 new Location Estimote Beacons.
Other beacons was bought 2016.
Now I’ve noticed, that the newer beacons doesn’t support broadcasting power -30 dBm ( Eddystone-UID).
How can I determine programmatically, which broadcasting power values are supported on device I connected to via DeviceConnectionProvider?

Here an exception, if I try to set broadcasting power to -30 on newer device:

onFailure (Update not successful): 
com.estimote.sdk.connection.exceptions.DeviceConfigurationException:
    {
        "errors":[{"identifier":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        ,"errors":[{"message":"Estimote Beacons based on nRF52 don\u0027t support -30 dBm Broadcasting Power, use -40 dBm instead."
        ,"source":{"path":"settings.advertisers.eddystone_uid.0.power"}
        ,"type":"device.supportedBroadcastingPowerValues"}]}]
        }
 at com.estimote.sdk.connection.internal.DeviceCloudSyncEngine$11.failure(DeviceCloudSyncEngine.java:438)
 at com.estimote.sdk.cloud.internal.InternalEstimoteCloud$7.failure(InternalEstimoteCloud.java:495)
 at com.estimote.sdk.repackaged.retrofit_v1_9_0.retrofit.CallbackRunnable$2.run(CallbackRunnable.java:53)
 at android.os.Handler.handleCallback(Handler.java:739)
 at android.os.Handler.dispatchMessage(Handler.java:95)
 at android.os.Looper.loop(Looper.java:158)
 at android.app.ActivityThread.main(ActivityThread.java:7229)
 at java.lang.reflect.Method.invoke(Native Method)
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

The easiest way would be to check the hardware revision. If it starts with D or F1. or F2., it’s -30, otherwise it’s -40.

ok, thank you for the answer