App SDK update history

What’s Updated in Version 2.9

Main updates in this version:

1.Support automatic Lock feature in general electrical firmware and canceled automatic addDevice and Pair functions.
2.Support FastCon related network configuration commands.
3.Automatically switch to remote control if local control is timeout.
4.Automatically switch to remote control if local control is timeout.

Deleted the following interfaces:

//Android:
	public boolean shouldAdd(BLDNADevice device)
//iOS:
 	/**
 Filter device when find new device.

 @param device      Filter device info
 @return            YES / NO.  Default is NO.
 */
- (Boolean)filterDevice:(BLDNADevice * _Nonnull)device;

/**
 Add device to sdk when find new device.

 @param device      Add device info
 @return            YES / NO.  Default is NO.
 */
- (Boolean)shouldAdd:(BLDNADevice * _Nonnull)device;

Because auto-Pair function has been canceled in SDK, all information you get from SDK are basic device information without ID and key which are necessary for device control. You need to call the following interface to get these values and set them to device information before adding device to SDK and controlling:

//Android:
	public static BLPairResult pair(BLDNADevice device)

Support APPService specified domain interface. You need to write them during initialization:

	// 10. Use APPService
    blConfigParam.put(BLConfigParam.APP_SERVICE_ENABLE, "1");
	blConfigParam.put(BLConfigParam.APP_SERVICE_HOST, "xxxxxx");
	// 10. Use APPService
	self.let.configParam.appServiceEnable = 1;
	self.let.configParam.appServiceHost = @"xxxxxx";	//Specified domain interface

Changes for iOS version:

Beside the above mentioned updates, we also re-structured and optimized most of codes in the following aspects:

  1. When you initialize libraries of BLLetAccount / BLLetFamily / BLLetIRCode / BLPicker, you will not need to pass in information like lid but just get the object in singleton.
    //BLLetAccount
    self.account = [BLAccount sharedAccount];
    
    //BLLetFamily
    self.familyController = [BLFamilyController sharedManager];
    
    //BLLetIRCode
    self.ircode = [BLIRCode sharedIrdaCode];
    
    //BLLetPlugins
    BLPicker *blPicker = [BLPicker sharedPicker];
  1. Re-set License interface to BLLet class:
	/**
	 Reset APPSDK License

	 @param license License from BroadLink Co., Ltd.
	 */
	- (void)resetSdkLicense:(NSString *)license;

Call interface:

	[self.let resetSdkLicense:@"SDKLicense"];

What’s Updated in Version 2.8

This version unified server domains inherited for SDK as: lid+appservice.ibroadlink.com and HTTPS will be used for device remote control.

During device initialization, you can set APP_SERVICE_ENABLE to be 1 for new cluster or 0 for legacy cluster.

Android
 	// 10. Use APPService
    blConfigParam.put(BLConfigParam.APP_SERVICE_ENABLE, "1");
iOS
 	self.let.configParam.appServiceEnable = 1;

What’s Updated in Version 2.7

We splitted BLLetCore library to BLLetCore and BLLetIRCode.

BLLetCore contains core functions and device control module. BLLetIRCode contains previous IR code module.

Updated contents:

  1. The BLLetIRCode library is extracted from BLLetCore but this does not affect external interfaces.
  2. Fixed the bug that the SDK will be locked when sendCount >1 during remote control.
  3. Added determination of null in returned result to avoid crash.
  4. Fixed multiple bugs previously avoided by using H5.

What’s Updated in Version 2.6

We splitted BLLetCore library to BLLetCore, BLAccount and BLFamily.

BLLetCore contains core functions including:

  1. device management and IR code service modules.
  2. BLAccount is the account system module.
  3. BLFamily is the home management module.

Note:
As remote control is only available for logged in accounts, BLLetCore and BLAccount are required if remote control is needed. You must call BLAccount.addLoginListener(BLLet.Controller.getLoginListener()).

What’s Updated in Version 2.5

  1. Modified 3rd generation of network configuration method.
  2. Optimized device control with repeating commands
  3. Added common timer types (cycled timer and random timer)
  4. Added new interface for common timer
  5. Fixed bugs for debugging

What’s Updated in Version 2.3

Added BLLetAsync library mainly for encapsulation of BLLetCore to enable complete compatibility of data with BroadLink ihc. Prepared for future cloud functions like AI speakers.

What’s Updated in Version 2.0

Please note there are major changes in this version

With growth of APPSDK features, we splitted APPSDK to multiple modules: BLLetCore, BLAccount, BLFamily and BLLetPlugins.

BLLetCore contains core functions including: device management and IR code service modules. BLAccount is the account system module. BLFamily is the home management module. BLLetPlugins contains auxiliary functions mainly including: data collection, A1/S1 data analysis and OAuth authentication.