ESTBeaconConnection

@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 delivers CLBeacon objects.

  • startEstimoteBeaconsDiscovery - which is a CoreBluetooth based scan and delivers ESTBluetoothBeacon 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 (readwrite, nonatomic)
        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 (readonly, strong, nonatomic) NSString *_Nonnull identifier;

    Swift

    var identifier: String { get }
  • The connection status between the user device and the beacon.

    Declaration

    Objective-C

    @property (readonly, nonatomic) 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

  • 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

  • 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 (readonly, nonatomic) 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 (readonly, nonatomic) 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 (readonly, nonatomic) 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 (readonly, nonatomic) 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 (readonly, nonatomic) 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 (readonly, nonatomic) 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 (readonly, nonatomic) 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 (readonly, nonatomic) ESTColor color;

    Swift

    var color: ESTColor { get }
  • The underlying Bluetooth peripheral device.

    Declaration

    Objective-C

    @property (readonly, nonatomic) CBPeripheral *_Nullable peripheral;

    Swift

    var peripheral: CBPeripheral? { get }
  • Broadcasting scheme of device.

    Declaration

    Objective-C

    @property (readonly, nonatomic) ESTBroadcastingScheme broadcastingScheme;

    Swift

    var broadcastingScheme: ESTBroadcastingScheme { get }
  • The proximity ID of the beacon.

    See

    writeProximityUUID:completion:

    Declaration

    Objective-C

    @property (readonly, nonatomic) 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:

    1. When ranging beacons - if the beacon is in motion, the proximityUUID property will be equal to the motionProximityUUID. Note that the motionProximityUUID property is not available unless connected to the beacon, so you need to know its value in advance.

    2. When monitoring regions - you can have two separate regions, one with the regular proximityUUID and one with the motionProximityUUID. 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 (readonly, nonatomic) NSUUID *_Nullable motionProximityUUID;

    Swift

    var motionProximityUUID: UUID? { get }
  • The most significant value in the beacon.

    See

    writeMajor:completion:

    Declaration

    Objective-C

    @property (readonly, nonatomic) NSNumber *_Nullable major;

    Swift

    var major: NSNumber? { get }
  • The least significant value in the beacon.

    See

    writeMinor:completion:

    Declaration

    Objective-C

    @property (readonly, nonatomic) 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 (readonly, nonatomic) NSNumber *_Nullable power;

    Swift

    var power: NSNumber? { get }
  • The advertising interval of the beacon in ms.

    See

    writeAdvInterval:completion:

    Declaration

    Objective-C

    @property (readonly, nonatomic) NSNumber *_Nullable advInterval;

    Swift

    var advInterval: NSNumber? { get }
  • Namespace ID of Google Eddystone - part of device identification.

    Declaration

    Objective-C

    @property (readonly, nonatomic) NSString *_Nullable eddystoneNamespace;

    Swift

    var eddystoneNamespace: String? { get }
  • Instance ID of Google Eddystone - part of device identification.

    Declaration

    Objective-C

    @property (readonly, nonatomic) NSString *_Nullable eddystoneInstance;

    Swift

    var eddystoneInstance: String? { get }
  • URL advertised by Google Eddystone device in URL mode.

    Declaration

    Objective-C

    @property (readonly, nonatomic) NSString *_Nullable eddystoneURL;

    Swift

    var eddystoneURL: String? { get }
  • The hardware version of the beacon.

    Declaration

    Objective-C

    @property (readonly, nonatomic) NSString *_Nullable hardwareVersion;

    Swift

    var hardwareVersion: String? { get }
  • The firmware version of the beacon.

    See

    checkFirmwareUpdateWithCompletion:

    See

    updateFirmwareWithProgress:completion:

    Declaration

    Objective-C

    @property (readonly, nonatomic) NSString *_Nullable firmwareVersion;

    Swift

    var firmwareVersion: String? { get }
  • The received signal strength of the beacon, measured in decibels.

    Declaration

    Objective-C

    @property (readonly, nonatomic) 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 (readonly, nonatomic) NSNumber *_Nullable batteryLevel;

    Swift

    var batteryLevel: NSNumber? { get }
  • The battery model.

    See

    ESTBeaconBatteryType

    Declaration

    Objective-C

    @property (readonly, nonatomic) 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 (readonly, nonatomic) 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

    ESTBeaconPowerSavingMode

    Declaration

    Objective-C

    @property (readonly, nonatomic) ESTBeaconPowerSavingMode basicPowerMode;

    Swift

    var basicPowerMode: ESTBeaconPowerSavingMode { get }
  • A flag indicating availability and status of the Smart Power Mode.

    @since Estimote OS A2.1

    See

    ESTBeaconPowerSavingMode

    Declaration

    Objective-C

    @property (readonly, nonatomic) ESTBeaconPowerSavingMode smartPowerMode;

    Swift

    var smartPowerMode: ESTBeaconPowerSavingMode { get }
  • A flag indicating status of Estimote Secure UUID.

    @since Estimote OS 2.2 - see: ESTBeaconEstimoteSecureUUID

    Declaration

    Objective-C

    @property (readonly, nonatomic)
        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 (readonly, nonatomic) 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 (readonly, nonatomic) ESTBeaconMotionState motionState;

    Swift

    var motionState: ESTBeaconMotionState { get }
  • State of temperature sensor.

    Declaration

    Objective-C

    @property (readonly, nonatomic) 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 (readonly, nonatomic)
        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 (readonly, nonatomic) 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 is nil.

  • 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 is nil.

    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 is nil.

    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 is nil.

    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 new proximityUUID.

  • NSError *error - If an error occurred, this error object describes the error. If the operation completed successfully, the value is nil.

  • 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 different proximityUUIDs 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 new major value.

    • NSError *error - If an error occurred, this error object describes the error. If the operation completed successfully, the value is nil.

    Declaration

    Objective-C

    - (void)writeMajor:(unsigned short)major
            completion:(nonnull ESTUnsignedShortCompletionBlock)completion;

    Swift

    func writeMajor(_ major: UInt16, completion: @escaping ESTUnsignedShortCompletionBlock)

    Parameters

    major

    The new major value.

    completion

    A block that is called when the new major value has been set.

  • Sets the <minor> value.

    The completion block receives the following parameters:

    • unsigned short value - The new minor value.

    • NSError *error - If an error occurred, this error object describes the error. If the operation completed successfully, the value is nil.

    Declaration

    Objective-C

    - (void)writeMinor:(unsigned short)minor
            completion:(nonnull ESTUnsignedShortCompletionBlock)completion;

    Swift

    func writeMinor(_ minor: UInt16, completion: @escaping ESTUnsignedShortCompletionBlock)

    Parameters

    minor

    The new minor value.

    completion

    A block that is called when the new minor value has been set.

  • Sets the advertising interval, i.e. <advInterval>.

    The completion block receives the following parameters:

    • unsigned short value - The new advInterval.

    • NSError *error - If an error occurred, this error object describes the error. If the operation completed successfully, the value is nil.

    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 broadcasting power.
    • NSError *error - If an error occurred, this error object describes the error. If the operation completed successfully, the value is nil.

    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 the <ESTBeaconPower

    values.

    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

    gInstance

    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

    gInstance

    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 is nil.

    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 is nil.

    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 is nil.

    @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 is nil.

    @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 is nil.

    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

    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 is nil.

  • Warning

    This method does not reset the <motionProximityUUID>. You can reset it yourself to the default value of ESTIMOTE_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 be nil.

    • 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 is nil.

    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 is nil.

    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 is nil.

    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