ESTBeaconConnection
Deprecated
Deprecated since 4.31.0.
@interface ESTBeaconConnection : NSObject
The ESTBeaconConnection
class defines the interface for interacting with a single Estimote beacon. It enables you to connect to the device, retrieve properties and change its configuration settings.
The ESTBeaconConnection instance can be initialized using CLBeacon object or mac address being unique identifier of particular device. Fetch required beacon details you can use:
startRangingBeaconsInRegion:
- which is a CoreLocation based scan and deliversCLBeacon
objects.startEstimoteBeaconsDiscovery
- which is a CoreBluetooth based scan and deliversESTBluetoothBeacon
object containing mac address.
Properties become editable once connected to the beacon. See connect for more details about connecting to the beacon. You will also need to assign a delegate to be notified about connection and disconnection events. The delegate needs to conform to the <ESTBeaconConnectionDelegate>
protocol.
-
Delegate object receiving callbacks.
Declaration
Objective-C
@property (nonatomic, weak, readwrite) id<ESTBeaconConnectionDelegate> _Nullable delegate;
Swift
weak var delegate: ESTBeaconConnectionDelegate? { get set }
-
Identifier of the device that you aim to connect. Based on the method you used to initialize it may contain:
- Device Mac address
- Device iBeacon properties formatted as follows: ProximityUUUID:Major:Minor
Declaration
Objective-C
@property (nonatomic, strong, readonly) NSString *_Nonnull identifier;
Swift
var identifier: String { get }
-
The connection status between the user device and the beacon.
Declaration
Objective-C
@property (nonatomic, readonly) ESTConnectionStatus connectionStatus;
Swift
var connectionStatus: ESTConnectionStatus { get }
-
Static method initializing connection object with Estimote beacon
Declaration
Objective-C
+ (nonnull instancetype) connectionWithProximityUUID:(nonnull NSUUID *)proximityUUID major:(CLBeaconMajorValue)major minor:(CLBeaconMinorValue)minor delegate: (id<ESTBeaconConnectionDelegate> _Nullable)delegate;
Swift
convenience init(proximityUUID: UUID, major: CLBeaconMajorValue, minor: CLBeaconMinorValue, delegate: ESTBeaconConnectionDelegate?)
Parameters
proximityUUID
discovered beacons Proximity UUID
major
discovered beacons Major
minor
discovered beacons Minor
delegate
delegate reference
Return Value
beacon connection object
-
Static method initializing connection object with Estimote beacon
Declaration
Objective-C
+ (nonnull instancetype) connectionWithBeacon:(nonnull CLBeacon *)beacon delegate:(id<ESTBeaconConnectionDelegate> _Nullable)delegate;
Swift
convenience init(beacon: CLBeacon, delegate: ESTBeaconConnectionDelegate?)
Parameters
beacon
discovered beacon
delegate
delegate reference
Return Value
beacon connection object
-
Deprecated
Starting from SDK 4.0.0-beta1 macAddress is deprecated. Use initWithIdentifier constructor
Static method initializing connection object with Estimote beacon
Declaration
Objective-C
+ (nonnull instancetype) connectionWithMacAddress:(nonnull NSString *)macAddress delegate: (id<ESTBeaconConnectionDelegate> _Nullable)delegate;
Swift
convenience init(macAddress: String, delegate: ESTBeaconConnectionDelegate?)
Parameters
macAddress
discovered beacon object MAC address
delegate
delegate reference
Return Value
beacon connection object
-
Static method initializing connection object with Estimote beacon
Declaration
Objective-C
+ (nonnull instancetype) connectionWithIdentifier:(nonnull NSString *)identifier delegate: (id<ESTBeaconConnectionDelegate> _Nullable)delegate;
Swift
convenience init(identifier: String, delegate: ESTBeaconConnectionDelegate?)
Parameters
identifier
discovered beacon object identifier
delegate
delegate reference
Return Value
beacon connection object
-
Method initializing connection object with Estimote beacon with delegate object support
Declaration
Objective-C
- (nonnull instancetype) initWithProximityUUID:(nonnull NSUUID *)proximityUUID major:(CLBeaconMajorValue)major minor:(CLBeaconMinorValue)minor delegate:(id<ESTBeaconConnectionDelegate> _Nullable)delegate startImmediately:(BOOL)startImmediately;
Swift
init(proximityUUID: UUID, major: CLBeaconMajorValue, minor: CLBeaconMinorValue, delegate: ESTBeaconConnectionDelegate?, startImmediately: Bool)
Parameters
proximityUUID
discovered beacons Proximity UUID
major
discovered beacons Major
minor
discovered beacons Minor
delegate
delegate to handle callbacks
startImmediately
indicates if created object should start connection immediately
Return Value
beacon connection object
-
Method initializing connection object with Estimote beacon with delegate object support
Declaration
Objective-C
- (nonnull instancetype) initWithBeacon:(nonnull CLBeacon *)beacon delegate:(id<ESTBeaconConnectionDelegate> _Nullable)delegate startImmediately:(BOOL)startImmediately;
Swift
init(beacon: CLBeacon, delegate: ESTBeaconConnectionDelegate?, startImmediately: Bool)
Parameters
beacon
discovered beacon
delegate
delegate to handle callbacks
startImmediately
indicates if created object should start connection immediately
Return Value
beacon connection object
-
Deprecated
Starting from SDK 3.7.0 macAddress is deprecated. Use initWithIdentifier constructor
Method initializing connection object with beacon with delegate object support
Declaration
Objective-C
- (nonnull instancetype) initWithMacAddress:(nonnull NSString *)macAddress delegate:(id<ESTBeaconConnectionDelegate> _Nullable)delegate startImmediately:(BOOL)startImmediately;
Swift
init(macAddress: String, delegate: ESTBeaconConnectionDelegate?, startImmediately: Bool)
Parameters
macAddress
discovered beacon object MAC address
delegate
delegate to handle callbacks
startImmediately
indicates if created object should start connection immediately
Return Value
beacon connection object
-
Method initializing connection object with beacon with delegate object support
Declaration
Objective-C
- (nonnull instancetype) initWithIdentifier:(nonnull NSString *)identifier delegate:(id<ESTBeaconConnectionDelegate> _Nullable)delegate startImmediately:(BOOL)startImmediately;
Swift
init(identifier: String, delegate: ESTBeaconConnectionDelegate?, startImmediately: Bool)
Parameters
identifier
discovered beacon object identifier
delegate
delegate to handle callbacks
startImmediately
indicates if created object should start connection immediately
Return Value
beacon connection object
-
Initiates connection procedure
Declaration
Objective-C
- (void)startConnection;
Swift
func start()
-
Initiates connection procedure with additional params
Declaration
Objective-C
- (void)startConnectionWithAttempts:(NSInteger)attempts connectionTimeout:(NSInteger)timeout;
Swift
func start(withAttempts attempts: Int, connectionTimeout timeout: Int)
Parameters
attempts
number of connection attempts
timeout
timeout of single connection
-
Cancels connection procedure
Declaration
Objective-C
- (void)cancelConnection;
Swift
func cancel()
-
Performs disconnect procedure for connected device.
Declaration
Objective-C
- (void)disconnect;
Swift
func disconnect()
-
The MAC address of the beacon.
Declaration
Objective-C
@property (nonatomic, readonly) NSString *_Nullable macAddress;
Swift
var macAddress: String? { get }
-
The name of the beacon.
This value is stored and retrieved from the Estimote Cloud.
Declaration
Objective-C
@property (nonatomic, readonly) NSString *_Nullable name;
Swift
var name: String? { get }
-
The dictionary containing geocoding data for beacon’s GPS location.
This value is stored and retrieved from the Estimote Cloud.
Declaration
Objective-C
@property (nonatomic, readonly) NSDictionary *_Nullable location;
Swift
var location: [AnyHashable : Any]? { get }
-
The latitude of beacon’s GPS location.
This value is stored and retrieved from the Estimote Cloud.
Declaration
Objective-C
@property (nonatomic, readonly) NSNumber *_Nullable latitude;
Swift
var latitude: NSNumber? { get }
-
The longitude of beacon’s GPS location.
This value is stored and retrieved from the Estimote Cloud.
Declaration
Objective-C
@property (nonatomic, readonly) NSNumber *_Nullable longitude;
Swift
var longitude: NSNumber? { get }
-
The identifier of indoor location beacon belongs to.
This value is stored and retrieved from the Estimote Cloud.
Declaration
Objective-C
@property (nonatomic, readonly) NSString *_Nullable indoorLocationIdentifier;
Swift
var indoorLocationIdentifier: String? { get }
-
The name of indoor location beacon belongs to.
This value is stored and retrieved from the Estimote Cloud.
Declaration
Objective-C
@property (nonatomic, readonly) NSString *_Nullable indoorLocationName;
Swift
var indoorLocationName: String? { get }
-
The color of the beacon.
This value is stored and retrieved from the Estimote Cloud, which means it might be unavailable under certain circumstances - e.g. no Internet connectivity.
Declaration
Objective-C
@property (nonatomic, readonly) ESTColor color;
Swift
var color: ESTColor { get }
-
Deprecated
CBPeripheral peripheral property is deprecated since 3.7.0 version
The underlying Bluetooth peripheral device.
Declaration
Objective-C
@property (nonatomic, readonly) CBPeripheral *_Nullable peripheral;
Swift
var peripheral: CBPeripheral? { get }
-
Broadcasting scheme of device.
Declaration
Objective-C
@property (nonatomic, readonly) ESTBroadcastingScheme broadcastingScheme;
Swift
var broadcastingScheme: ESTBroadcastingScheme { get }
-
The proximity ID of the beacon.
See
writeProximityUUID:completion:Declaration
Objective-C
@property (nonatomic, readonly) NSUUID *_Nullable proximityUUID;
Swift
var proximityUUID: UUID? { get }
-
The proximity ID of the beacon when it’s in motion.
This default to the same value as the
<proximityUUID>
. Setting it to a different value enables you to detect whether a beacon is in motion or not without a need to connect to the beacon. This can be achieved in two ways:When ranging beacons - if the beacon is in motion, the
proximityUUID
property will be equal to themotionProximityUUID
. Note that themotionProximityUUID
property is not available unless connected to the beacon, so you need to know its value in advance.When monitoring regions - you can have two separate regions, one with the regular
proximityUUID
and one with themotionProximityUUID
. Enter and exit notifications will then correspond to the beacon starting and stopping to move.
Warning
This feature is disabled by default. The option to enable it will be made available in an upcoming update to the SDK.@since Estimote OS 2.0
Declaration
Objective-C
@property (nonatomic, readonly) NSUUID *_Nullable motionProximityUUID;
Swift
var motionProximityUUID: UUID? { get }
-
The most significant value in the beacon.
See
writeMajor:completion:Declaration
Objective-C
@property (nonatomic, readonly) NSNumber *_Nullable major;
Swift
var major: NSNumber? { get }
-
The least significant value in the beacon.
See
writeMinor:completion:Declaration
Objective-C
@property (nonatomic, readonly) NSNumber *_Nullable minor;
Swift
var minor: NSNumber? { get }
-
The power of the beacon’s radio signal in dBm.
This is a
char
value, so the proper way to retrieve it is[beacon.power charValue]
.See
writePower:completion:Declaration
Objective-C
@property (nonatomic, readonly) NSNumber *_Nullable power;
Swift
var power: NSNumber? { get }
-
The advertising interval of the beacon in ms.
See
writeAdvInterval:completion:Declaration
Objective-C
@property (nonatomic, readonly) NSNumber *_Nullable advInterval;
Swift
var advInterval: NSNumber? { get }
-
Namespace ID of Google Eddystone - part of device identification.
Declaration
Objective-C
@property (nonatomic, readonly) NSString *_Nullable eddystoneNamespace;
Swift
var eddystoneNamespace: String? { get }
-
Instance ID of Google Eddystone - part of device identification.
Declaration
Objective-C
@property (nonatomic, readonly) NSString *_Nullable eddystoneInstance;
Swift
var eddystoneInstance: String? { get }
-
URL advertised by Google Eddystone device in URL mode.
Declaration
Objective-C
@property (nonatomic, readonly) NSString *_Nullable eddystoneURL;
Swift
var eddystoneURL: String? { get }
-
The hardware version of the beacon.
Declaration
Objective-C
@property (nonatomic, readonly) NSString *_Nullable hardwareVersion;
Swift
var hardwareVersion: String? { get }
-
The firmware version of the beacon.
See
checkFirmwareUpdateWithCompletion:See
updateFirmwareWithProgress:completion:Declaration
Objective-C
@property (nonatomic, readonly) NSString *_Nullable firmwareVersion;
Swift
var firmwareVersion: String? { get }
-
The received signal strength of the beacon, measured in decibels.
Declaration
Objective-C
@property (nonatomic, readonly) NSNumber *_Nullable rssi;
Swift
var rssi: NSNumber? { get }
-
The battery charge level for the beacon.
Battery level ranges from 0 (fully discharged) to 100 (fully charged).
Declaration
Objective-C
@property (nonatomic, readonly) NSNumber *_Nullable batteryLevel;
Swift
var batteryLevel: NSNumber? { get }
-
The battery model.
See
ESTBeaconBatteryTypeDeclaration
Objective-C
@property (nonatomic, readonly) ESTBeaconBatteryType batteryType;
Swift
var batteryType: ESTBeaconBatteryType { get }
-
Remaining lifetime in days, based on current battery level, advertising interval and broadcasting power values
Declaration
Objective-C
@property (nonatomic, readonly) NSNumber *_Nullable remainingLifetime;
Swift
var remainingLifetime: NSNumber? { get }
-
A flag indicating availability and status of the Basic Power Mode.
@since Estimote OS A2.1
See
ESTBeaconPowerSavingModeDeclaration
Objective-C
@property (nonatomic, readonly) ESTBeaconPowerSavingMode basicPowerMode;
Swift
var basicPowerMode: ESTBeaconPowerSavingMode { get }
-
A flag indicating availability and status of the Smart Power Mode.
@since Estimote OS A2.1
See
ESTBeaconPowerSavingModeDeclaration
Objective-C
@property (nonatomic, readonly) ESTBeaconPowerSavingMode smartPowerMode;
Swift
var smartPowerMode: ESTBeaconPowerSavingMode { get }
-
A flag indicating status of Estimote Secure UUID.
@since Estimote OS 2.2
See
ESTBeaconEstimoteSecureUUIDDeclaration
Objective-C
@property (nonatomic, readonly) ESTBeaconEstimoteSecureUUID estimoteSecureUUIDState;
Swift
var estimoteSecureUUIDState: ESTBeaconEstimoteSecureUUID { get }
-
A flag indicating if motion UUID is enabled.
@since Estimote OS A2.1
See
writeMotionUUIDEnabled:completion:Declaration
Objective-C
@property (nonatomic, readonly) ESTBeaconMotionUUID motionUUIDState;
Swift
var motionUUIDState: ESTBeaconMotionUUID { get }
-
A flag indicating if the beacon is in motion or not.
This value changes:
from NO to YES immediately after a still beacon starts moving,
from YES to NO after a beacon stops moving and remains still for 2 seconds.
Declaration
Objective-C
@property (nonatomic, readonly) ESTBeaconMotionState motionState;
Swift
var motionState: ESTBeaconMotionState { get }
-
State of temperature sensor.
Declaration
Objective-C
@property (nonatomic, readonly) ESTBeaconTemperatureState temperatureState;
Swift
var temperatureState: ESTBeaconTemperatureState { get }
-
A flag indicating which type of broadcasting is enabled
@since Estimote OS A3.0.0
See
writeConditionalBroadcastingType:completion:Declaration
Objective-C
@property (nonatomic, readonly) ESTBeaconConditionalBroadcasting conditionalBroadcastingState;
Swift
var conditionalBroadcastingState: ESTBeaconConditionalBroadcasting { get }
-
A flag indicating if accelerometer is enabled.
@since Estimote OS A2.1
See
writeMotionDetectionEnabled:completion:Declaration
Objective-C
@property (nonatomic, readonly) ESTBeaconMotionDetection motionDetectionState;
Swift
var motionDetectionState: ESTBeaconMotionDetection { get }
-
Retrieves the temperature of surrounding environment reported by the beacon.
The completion block receives the following parameters:
NSNumber *value
- The temperature in Celsius degrees.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.See
writeCalibratedTemperature:completion:
Declaration
Objective-C
- (void)readTemperatureWithCompletion: (nonnull ESTNumberCompletionBlock)completion;
Swift
func readTemperature(completion: @escaping ESTNumberCompletionBlock)
Parameters
completion
A block that is called when the temperature has been retrieved from the beacon.
-
Retrieves the number of times the beacon has been in motion since the last
<resetAccelerometerCountWithCompletion:>
.The completion block receives the following parameters:
NSNumber *value
- The value of the counter.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declaration
Objective-C
- (void)readAccelerometerCountWithCompletion: (nonnull ESTNumberCompletionBlock)completion;
Swift
func readAccelerometerCount(completion: @escaping ESTNumberCompletionBlock)
Parameters
completion
A block that is called when the counter has been retrieved.
-
Resets the counter - number of times the beacon has been in motion since the last reset.
The completion block receives the following parameters:
NSNumber *value
- The new value of the counter.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declaration
Objective-C
- (void)resetAccelerometerCountWithCompletion: (nonnull ESTUnsignedShortCompletionBlock)completion;
Swift
func resetAccelerometerCount(completion: @escaping ESTUnsignedShortCompletionBlock)
Parameters
completion
A block that is called when the counter has been reset.
-
Changes broadcasting scheme for device. Broadcasting scheme describes set settings defining what kind of data and how often is broadcasting.
Possible options are:
- ESTBroadcastingSchemeEstimote - broadcasts iBeacon packets with customizable Advertising interval. Default advertising interval (950ms) value is set after method invocation.
- ESTBroadcastingSchemeIBeacon - broadcasts iBeacon packets with iBeacon Advertising interval.
- ESTBroadcastingSchemeEddystoneURL - broadcasts Eddystone-URL packets with customizable interval. Default advertising interval (500ms) value is set after method invocation.
- ESTBroadcastingSchemeEddystoneUID - broadcasts Eddystone-UID packets with customizable interval. Default advertising interval (500ms) value is set after method invocation.
Declaration
Objective-C
- (void)writeBroadcastingScheme:(ESTBroadcastingScheme)broadcastingScheme completion: (nonnull ESTUnsignedShortCompletionBlock)completion;
Swift
func writeBroadcastingScheme(_ broadcastingScheme: ESTBroadcastingScheme, completion: @escaping ESTUnsignedShortCompletionBlock)
-
Changes the conditional broadcasting type. Note that the accelerometer must be enabled for this feature to work i.e. you must set Motion Detection Flag in order to use this feature. Possible options are:
- ESTBeaconConditionalBroadcastingOff - the default mode, beacon is broadcasting all the time
- ESTBeaconConditionalBroadcastingMotionOnly – beacon only advertises when it’s in motion. Note that UUID used in advertising packet depends on Motion UUID Flag state.
- ESTBeaconConditionalBroadcastingFlipToStop – beacon does not advertise when it’s stationary and facing gecko pad up. If the beacon is moving or oriented differently it acts normally.
@since Estimote OS A3.0.0
Declaration
Objective-C
- (void)writeConditionalBroadcastingType: (ESTBeaconConditionalBroadcasting)conditionalBroadcasting completion: (nonnull ESTBoolCompletionBlock)completion;
Swift
func writeConditionalBroadcastingType(_ conditionalBroadcasting: ESTBeaconConditionalBroadcasting, completion: @escaping ESTBoolCompletionBlock)
Parameters
conditionalBroadcasting
Conditional broadcasting mode to be set in the beacon.
completion
A block that is called when the belly mode has been enabled or disabled.
-
Sets the
<name>
of the beacon.The completion block receives the following parameters:
NSString *value
- The new name of the beacon.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declaration
Objective-C
- (void)writeName:(nonnull NSString *)name completion:(nonnull ESTStringCompletionBlock)completion;
Swift
func writeName(_ name: String, completion: @escaping ESTStringCompletionBlock)
Parameters
name
The new name of the beacon.
completion
A block that is called when the new name has been set.
-
Sets the
<proximityUUID>
.The completion block receives the following parameters:
NSString *value
- The newproximityUUID
.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.Warning
If you change the
proximityUUID
, you might want to consider changing the<motionProximityUUID>
as well. If you don’t, the beacon will broadcast two differentproximityUUIDs
depending on whether its in motion or not!@Declaration
Objective-C
- (void)writeProximityUUID:(nonnull NSString *)pUUID completion:(nonnull ESTStringCompletionBlock)completion;
Swift
func writeProximityUUID(_ pUUID: String, completion: @escaping ESTStringCompletionBlock)
Parameters
pUUID
The new
proximityUUID
.completion
A block that is called when the new
proximityUUID
has been set. -
Sets the
<major>
value.The completion block receives the following parameters:
unsigned short value
- The newmajor
value.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declaration
Objective-C
- (void)writeMajor:(unsigned short)major completion:(nonnull ESTUnsignedShortCompletionBlock)completion;
Swift
func writeMajor(_ major: UInt16, completion: @escaping ESTUnsignedShortCompletionBlock)
-
Sets the
<minor>
value.The completion block receives the following parameters:
unsigned short value
- The newminor
value.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declaration
Objective-C
- (void)writeMinor:(unsigned short)minor completion:(nonnull ESTUnsignedShortCompletionBlock)completion;
Swift
func writeMinor(_ minor: UInt16, completion: @escaping ESTUnsignedShortCompletionBlock)
-
Sets the advertising interval, i.e.
<advInterval>
.The completion block receives the following parameters:
unsigned short value
- The newadvInterval
.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declaration
Objective-C
- (void)writeAdvInterval:(unsigned short)interval completion:(nonnull ESTUnsignedShortCompletionBlock)completion;
Swift
func writeAdvInterval(_ interval: UInt16, completion: @escaping ESTUnsignedShortCompletionBlock)
Parameters
interval
The new
advInterval
in milliseconds. The value must be in range from 100 to 2000.completion
A block that is called when the new
advInterval
has been set. -
Sets the broadcasting
<power>
.The completion block receives the following parameters:
ESTBeaconPower value
- The new broadcastingpower
.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declaration
Objective-C
- (void)writePower:(ESTBeaconPower)power completion:(nonnull ESTPowerCompletionBlock)completion;
Swift
func writePower(_ power: ESTBeaconPower, completion: @escaping ESTPowerCompletionBlock)
Parameters
power
The new broadcasting
power
. Must be one of thevalues. completion
A block that is called when the new broadcasting power has been set.
-
Sets Google beacon Namespace ID. Value should be provided as a domain formatted string (FQDN) according to Google beacon best practices. Method automatically produce SHA-1 hash. First 10 bytes of produced hash are used as Namespace ID.
Declaration
Objective-C
- (void)writeEddystoneDomainNamespace:(nonnull NSString *)eddystoneNamespace completion: (nonnull ESTStringCompletionBlock)completion;
Swift
func writeEddystoneDomainNamespace(_ eddystoneNamespace: String, completion: @escaping ESTStringCompletionBlock)
Parameters
eddystoneNamespace
Google beacon Namespace ID
completion
A block that is called when the Namespace has been changed or error occurred.
-
Sets Google beacon Instance ID. Value should be provided as a Hexadecimal string representing 6 bytes (12 character string - 2 chars for 1 byte).
Declaration
Objective-C
- (void)writeEddystoneHexNamespace:(nonnull NSString *)eddystoneNamespace completion:(nonnull ESTStringCompletionBlock)completion;
Swift
func writeEddystoneHexNamespace(_ eddystoneNamespace: String, completion: @escaping ESTStringCompletionBlock)
Parameters
eddystoneNamespace
Google beacon Instance ID
completion
A block that is called when the Instance ID has been changed or error occurred.
-
Sets Google beacon Instance ID. Value should be provided as a Hexadecimal string representing 6 bytes (12 character string - 2 chars for 1 byte).
Declaration
Objective-C
- (void)writeEddystoneInstance:(nonnull NSString *)eddystoneInstance completion:(nonnull ESTStringCompletionBlock)completion;
Swift
func writeEddystoneInstance(_ eddystoneInstance: String, completion: @escaping ESTStringCompletionBlock)
Parameters
eddystoneInstance
Google beacon Instance ID
completion
A block that is called when the Instance ID has been changed or error occurred.
-
Sets Eddystone URL. Defined URL is provided in advertising packet when ESTBeaconPacketTypeEddystoneURL is selected as a packet type.
Declaration
Objective-C
- (void)writeEddystoneURL:(nonnull NSString *)eddystoneURL completion:(nonnull ESTStringCompletionBlock)completion;
Swift
func writeEddystoneURL(_ eddystoneURL: String, completion: @escaping ESTStringCompletionBlock)
Parameters
eddystoneURL
Eddystone URL
completion
A block that is called when the URL has been changed or error occurred.
-
Enables or disables the
<basicPowerMode>
.The completion block receives the following parameters:
BOOL value
- YES if the Basic Power Mode has been enabled, NO if the Basic Power Mode has been disabled.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declaration
Objective-C
- (void)writeBasicPowerModeEnabled:(BOOL)enable completion:(nonnull ESTBoolCompletionBlock)completion;
Swift
func writeBasicPowerModeEnabled(_ enable: Bool, completion: @escaping ESTBoolCompletionBlock)
Parameters
enable
YES to enable, NO to disable the Basic Power Mode.
completion
A block that is called when the Basic Power Mode has been enabled or disabled.
-
Enables or disables the
<smartPowerMode>
.The completion block receives the following parameters:
BOOL value
- YES if the Smart Power Mode has been enabled, NO if the Smart Power Mode has been disabled.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declaration
Objective-C
- (void)writeSmartPowerModeEnabled:(BOOL)enable completion:(nonnull ESTBoolCompletionBlock)completion;
Swift
func writeSmartPowerModeEnabled(_ enable: Bool, completion: @escaping ESTBoolCompletionBlock)
Parameters
enable
YES to enable, NO to disable the Smart Power Mode.
completion
A block that is called when the Smart Power Mode has been enabled or disabled.
-
Enables Estimote Secure UUID.
Declaration
Objective-C
- (void)writeEstimoteSecureUUIDEnabled:(BOOL)enable completion: (nonnull ESTBoolCompletionBlock)completion;
Swift
func writeEstimoteSecureUUIDEnabled(_ enable: Bool, completion: @escaping ESTBoolCompletionBlock)
Parameters
enable
Yes to enable, No to disable Estimote Secure UUID.
completion
Block with operation result.
-
Enables or disables the accelerometer allowing to detect if beacon is in motion.
The completion block receives the following parameters:
BOOL value
- YES if the accelerometer has been enabled, NO if the accelerometer has been disabled.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
@since Estimote OS A2.1
Declaration
Objective-C
- (void)writeMotionDetectionEnabled:(BOOL)enable completion:(nonnull ESTBoolCompletionBlock)completion;
Swift
func writeMotionDetectionEnabled(_ enable: Bool, completion: @escaping ESTBoolCompletionBlock)
Parameters
enable
YES to enable, NO to disable the accelerometer.
completion
A block that is called when the accelerometer has been enabled or disabled.
-
Enables or disables the motion UUID.
The completion block receives the following parameters:
BOOL value
- YES if the motion UUID has been enabled, NO if the motion UUID has been disabled.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
@since Estimote OS A2.1
Declaration
Objective-C
- (void)writeMotionUUIDEnabled:(BOOL)enable completion:(nonnull ESTBoolCompletionBlock)completion;
Swift
func writeMotionUUIDEnabled(_ enable: Bool, completion: @escaping ESTBoolCompletionBlock)
Parameters
enable
YES to enable, NO to disable the motion UUID.
completion
A block that is called when the motion UUID has been enabled or disabled.
-
Calibrates the beacon’s thermometer sensor.
Beacons are basically calibrated out of the box, but additional manual calibration is recommended in order to minimize measurement error. When the sensor is not calibrated, measurement error is ±4 ℃. After calibration it’s ±2 ℃.
To perform calibration you need to keep the beacon at room temperature for a couple of minutes. Use a separate thermometer to read the actual value (in Celsius degrees) and pass it to this method.
The completion block receives the following parameters:
NSNumber *value
- The current temperature in Celsius degrees, after the calibration.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declaration
Objective-C
- (void)writeCalibratedTemperature:(nonnull NSNumber *)temperature completion:(nonnull ESTNumberCompletionBlock)completion;
Swift
func writeCalibratedTemperature(_ temperature: NSNumber, completion: @escaping ESTNumberCompletionBlock)
Parameters
temperature
The reference temperature in Celsius degrees.
completion
A block that is called when the calibration has been completed.
-
Saves GPS latitude and longitude in Estimote Cloud. After successful save lat and log is set in beacon connection object.
Declaration
Objective-C
- (void)writeLatitude:(nonnull NSNumber *)latitude longitude:(nonnull NSNumber *)longitude completion:(nonnull ESTCompletionBlock)completion;
Swift
func writeLatitude(_ latitude: NSNumber, longitude: NSNumber, completion: @escaping ESTCompletionBlock)
Parameters
latitude
GPS latitude
longitude
GPS longitude
completion
completion block fired on operation completion
-
Saves Cloud Tags setting for the device in Estimote Cloud.
Declaration
Objective-C
- (void)writeTags:(nonnull NSSet<NSString *> *)tags completion:(nonnull ESTCompletionBlock)completion;
Swift
func writeTags(_ tags: Set<String>, completion: @escaping ESTCompletionBlock)
Parameters
tags
Cloud Tags
completion
completion block fired on operation completion
-
Resets the beacon’s
<major>
,<minor>
,<proximityUUID>
, broadcasting<power>
and<advInterval>
to factory settings.The completion block receives the following parameters:
NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.Warning
This method does not reset the
<motionProximityUUID>
. You can reset it yourself to the default value ofESTIMOTE_PROXIMITY_UUID
using the<writeMotionProximityUUID:completion:>
method.Declaration
Objective-C
- (void)resetToFactorySettingsWithCompletion: (nonnull ESTCompletionBlock)completion;
Swift
func resetToFactorySettings(completion: @escaping ESTCompletionBlock)
Parameters
completion
A block that is called when the settings have been reset.
-
Allows to get MAC address.
Declaration
Objective-C
- (void)getMacAddressWithCompletion: (nonnull ESTStringCompletionBlock)completion;
Swift
func getMacAddress(completion: @escaping ESTStringCompletionBlock)
Parameters
completion
completion block returning reference to ESTBeaconConnection object performing operation.
-
Allows to find CBPeripheral device using CBCentralManager scan.
Declaration
Objective-C
- (void)findPeripheralForBeaconWithTimeout:(NSUInteger)timeout completion:(nonnull ESTObjectCompletionBlock) completion;
Swift
func findPeripheralForBeacon(withTimeout timeout: UInt, completion: @escaping ESTObjectCompletionBlock)
Parameters
timeout
timeout of scan operation
completion
completion block returning reference to ESTBeaconConnection object performing operation.
-
Checks if an updated firmware is available.
The result of the check is available as a
ESTFirmwareInfoVO
class in the completion block and has the following properties:BOOL isUpdateAvailable
- YES if an update is available, NO if there’s no update available. In the latter case, all the other properties of this structure will benil
.NSString *hardwareVersion
- The version of hardware this firmware update is dedicated for.NSString *firmwareVersion
- The version of the firmware available for update.NSString *changelog
- Changes introduced in the new version.
The completion block receives the following parameters:
ESTFirmwareInfoVO value
- Indicates whether an update is available. If so, it also holds additional information about the update.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declaration
Objective-C
- (void)checkFirmwareUpdateWithCompletion: (nonnull ESTObjectCompletionBlock)completion;
Swift
func checkFirmwareUpdate(completion: @escaping ESTObjectCompletionBlock)
Parameters
completion
A block that is called when the check has been completed.
-
Updates the beacon’s firmware.
The progress block receives the following parameters:
NSInteger value
- A percentage value (0-100) indicating the update progress.NSString *description
- A description of the current stage of the update.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
The completion block receives the following parameters:
NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declaration
Objective-C
- (void)updateFirmwareWithProgress:(nonnull ESTProgressBlock)progress completion:(nonnull ESTCompletionBlock)completion;
Swift
func updateFirmware(progress: @escaping ESTProgressBlock, completion: @escaping ESTCompletionBlock)
Parameters
progress
A block that is called throughout the update process to report on the progress.
completion
A block that is called when the update has been completed.
-
Returns value object for current
ESTBeaconConnection
object.Declaration
Objective-C
- (nonnull ESTBeaconVO *)valueObject;
Swift
func valueObject() -> ESTBeaconVO