App SDK update history

What’s Updated in Version 2.17

  1. Change the Android SDK download server address to JitPack server

What’s Updated in Version 2.15

  1. iOS SDK supports AFNetworking version 4.0+
  2. Minimum iOS Target iOS 9
BLLetBase AFNetworking Version Minimum iOS Target
2.15.2 4.0+ iOS 9
2.14.2 3.2+ iOS 8

What’s Updated in Version 2.14

  1. Support setting the domain name of the server to which the SDK is connected
  2. Support setting the domain name of the server to which the device is connected
  3. Add group control interface
  4. Add third-party protocol support interface
  5. Add multiple parameters to IR code parsing LUA library
  6. BUG repair and code optimization

What’s Updated in Version 2.11

  1. Support the existence of multiple same dids at the same time (the original did was changed to deviceId, the relevant interfaces have been changed), specific reference
  2. “Local control failed, try remote control once” is disabled by default
  3. Update mac when saved devices was probed
  4. Support setting server certificate interface
  5. Support remote firmware upgrade
  6. Modify the sub-device backup restore interface, name field to session field
  7. Add interface to get the list of devices added to the sdk (queryDeviceAddedList)
  8. Modify the underlying JSON library of Android Base to FastJson
  9. mModified the underlying HTTP request library of iOS Base to AFNetworking

// 2019-06-21

  1. Add IR code library V3 interface

What’s Updated in Version 2.10

  1. Add the interface of setting query firmware connection server
  2. Add sub-device information backup and restore interface
  3. Add waveform code conversion unit code interface to the IR code library
  4. Fix gbk Chinese name crash related problems in IR code library
  5. Add new architecture of rm mini 3 sub-device to IR code library

Changes for iOS version

  1. Modify BLLetBase generic network request header, add userId , loginSession, familyId, lid and other parameters
  2. Adjust the interface for setting familyId, the new interface is: [BLConfigParam sharedConfigParam].familyId, the previous setting interfaces have been deleted, please note!

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.Add new APPService designated domain name interface.

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.