Package apple.matter

Class MTRDevice

    • Constructor Detail

      • MTRDevice

        protected MTRDevice​(org.moe.natj.general.Pointer peer)
    • Method Detail

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • allocWithZone

        public static MTRDevice allocWithZone​(org.moe.natj.general.ptr.VoidPtr zone)
      • automaticallyNotifiesObserversForKey

        public static boolean automaticallyNotifiesObserversForKey​(@NotNull
                                                                   @NotNull java.lang.String key)
      • cancelPreviousPerformRequestsWithTarget

        public static void cancelPreviousPerformRequestsWithTarget​(@NotNull
                                                                   @NotNull java.lang.Object aTarget)
      • cancelPreviousPerformRequestsWithTargetSelectorObject

        public static void cancelPreviousPerformRequestsWithTargetSelectorObject​(@NotNull
                                                                                 @NotNull java.lang.Object aTarget,
                                                                                 @NotNull
                                                                                 @NotNull org.moe.natj.objc.SEL aSelector,
                                                                                 @Nullable
                                                                                 @Nullable java.lang.Object anArgument)
      • classFallbacksForKeyedArchiver

        @NotNull
        public static @NotNull NSArray<java.lang.String> classFallbacksForKeyedArchiver()
      • classForKeyedUnarchiver

        @NotNull
        public static @NotNull org.moe.natj.objc.Class classForKeyedUnarchiver()
      • debugDescription_static

        public static java.lang.String debugDescription_static()
      • description_static

        public static java.lang.String description_static()
      • deviceWithNodeIDController

        @NotNull
        public static @NotNull MTRDevice deviceWithNodeIDController​(@NotNull
                                                                    @NotNull NSNumber nodeID,
                                                                    @NotNull
                                                                    @NotNull MTRDeviceController controller)
        TODO: Document usage better Directly instantiate a MTRDevice with a MTRDeviceController as a shim. All device-specific information would be stored on the device controller, and retrieved when performing actions using a combination of MTRBaseDevice and MTRAsyncCallbackQueue. API-Since: 16.4
      • deviceWithNodeIDDeviceController

        @Deprecated
        @NotNull
        public static @NotNull MTRDevice deviceWithNodeIDDeviceController​(long nodeID,
                                                                          @NotNull
                                                                          @NotNull MTRDeviceController deviceController)
        Deprecated.
        Deprecated MTRDevice APIs. API-Since: 16.1 Deprecated-Since: 16.4 Deprecated-Message: Please use deviceWithNodeID:controller:
      • estimatedStartTime

        @Nullable
        public @Nullable NSDate estimatedStartTime()
        The estimated device system start time. A device can report its events with either calendar time or time since system start time. When events are reported with time since system start time, this property will return an estimation of the device system start time. Because a device may report timestamps this way due to the lack of a wall clock, system start time can only be estimated based on event receive time and the timestamp value, and this estimation may change over time. Device reboots may also cause the estimated device start time to jump forward. If events are always reported with calendar time, then this property will return nil. API-Since: 16.5
      • hash_static

        public static long hash_static()
      • instanceMethodSignatureForSelector

        public static NSMethodSignature instanceMethodSignatureForSelector​(org.moe.natj.objc.SEL aSelector)
      • instancesRespondToSelector

        public static boolean instancesRespondToSelector​(org.moe.natj.objc.SEL aSelector)
      • invokeCommandWithEndpointIDClusterIDCommandIDCommandFieldsExpectedValuesExpectedValueIntervalTimedInvokeTimeoutQueueCompletion

        public void invokeCommandWithEndpointIDClusterIDCommandIDCommandFieldsExpectedValuesExpectedValueIntervalTimedInvokeTimeoutQueueCompletion​(@NotNull
                                                                                                                                                   @NotNull NSNumber endpointID,
                                                                                                                                                   @NotNull
                                                                                                                                                   @NotNull NSNumber clusterID,
                                                                                                                                                   @NotNull
                                                                                                                                                   @NotNull NSNumber commandID,
                                                                                                                                                   @NotNull
                                                                                                                                                   @NotNull java.lang.Object commandFields,
                                                                                                                                                   @Nullable
                                                                                                                                                   @Nullable NSArray<? extends NSDictionary<java.lang.String,​?>> expectedValues,
                                                                                                                                                   @Nullable
                                                                                                                                                   @Nullable NSNumber expectedValueInterval,
                                                                                                                                                   @Nullable
                                                                                                                                                   @Nullable NSNumber timeout,
                                                                                                                                                   @NotNull
                                                                                                                                                   @NotNull dispatch_queue_t queue,
                                                                                                                                                   @NotNull
                                                                                                                                                   @NotNull MTRDevice.Block_invokeCommandWithEndpointIDClusterIDCommandIDCommandFieldsExpectedValuesExpectedValueIntervalTimedInvokeTimeoutQueueCompletion completion)
        * Invoke a command with a designated command path * * @param commandFields command fields object. The object must be a data-value NSDictionary object * as described in the MTRDeviceResponseHandler. * The attribute must be a Structure, i.e., * the NSDictionary MTRTypeKey key must have the value MTRStructureValueType. * * @param expectedValues array of dictionaries containing the expected values in the same format as * attribute read completion handler. Requires MTRAttributePathKey values. * See MTRDeviceResponseHandler definition for dictionary details. * The expectedValues and expectedValueInterval arguments need to be both * nil or both non-nil, or both will be both ignored. * * TODO: document better the expectedValues is how this command is expected to change attributes when read, and that the next * readAttribute will get these values * * @param expectedValueInterval maximum interval in milliseconds during which reads of the attribute will return the value being * written. If the value is less than 1, both this value and expectedValues will be ignored. If this value is greater than UINT32_MAX, it will be clamped to UINT32_MAX. * * @param timeout timeout in milliseconds for timed invoke, or nil. This value must be within [1, UINT16_MAX], and will be clamped * to this range. * * @param completion response handler will receive either values or error. A * path-specific error status from the command invocation * will result in an error being passed to the completion, so * values will only be passed in when the command succeeds. API-Since: 16.4
      • isSubclassOfClass

        public static boolean isSubclassOfClass​(org.moe.natj.objc.Class aClass)
      • keyPathsForValuesAffectingValueForKey

        @NotNull
        public static @NotNull NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(@NotNull
                                                                                             @NotNull java.lang.String key)
      • new_objc

        public static MTRDevice new_objc()
      • openCommissioningWindowWithDiscriminatorDurationQueueCompletion

        public void openCommissioningWindowWithDiscriminatorDurationQueueCompletion​(@NotNull
                                                                                    @NotNull NSNumber discriminator,
                                                                                    @NotNull
                                                                                    @NotNull NSNumber duration,
                                                                                    @NotNull
                                                                                    @NotNull dispatch_queue_t queue,
                                                                                    @NotNull
                                                                                    @NotNull MTRDevice.Block_openCommissioningWindowWithDiscriminatorDurationQueueCompletion completion)
        Open a commissioning window on the device, using a random setup passcode. On success, completion will be called on queue with the MTRSetupPayload that can be used to commission the device.
        Parameters:
        discriminator - The discriminator to use for the commissionable advertisement.
        duration - Duration, in seconds, during which the commissioning window will be open. API-Since: 17.0
      • openCommissioningWindowWithSetupPasscodeDiscriminatorDurationQueueCompletion

        public void openCommissioningWindowWithSetupPasscodeDiscriminatorDurationQueueCompletion​(@NotNull
                                                                                                 @NotNull NSNumber setupPasscode,
                                                                                                 @NotNull
                                                                                                 @NotNull NSNumber discriminator,
                                                                                                 @NotNull
                                                                                                 @NotNull NSNumber duration,
                                                                                                 @NotNull
                                                                                                 @NotNull dispatch_queue_t queue,
                                                                                                 @NotNull
                                                                                                 @NotNull MTRDevice.Block_openCommissioningWindowWithSetupPasscodeDiscriminatorDurationQueueCompletion completion)
        Open a commissioning window on the device. On success, completion will be called on queue with the MTRSetupPayload that can be used to commission the device.
        Parameters:
        setupPasscode - The setup passcode to use for the commissioning window. See MTRSetupPayload's generateRandomSetupPasscode for generating a valid random passcode.
        discriminator - The discriminator to use for the commissionable advertisement.
        duration - Duration, in seconds, during which the commissioning window will be open. API-Since: 16.2
      • readAttributeWithEndpointIDClusterIDAttributeIDParams

        @Nullable
        public @Nullable NSDictionary<java.lang.String,​?> readAttributeWithEndpointIDClusterIDAttributeIDParams​(@NotNull
                                                                                                                      @NotNull NSNumber endpointID,
                                                                                                                      @NotNull
                                                                                                                      @NotNull NSNumber clusterID,
                                                                                                                      @NotNull
                                                                                                                      @NotNull NSNumber attributeID,
                                                                                                                      @Nullable
                                                                                                                      @Nullable MTRReadParams params)
        Read attribute in a designated attribute path TODO: Need to document that this returns "the system's best guess" of attribute values.
        Returns:
        a data-value dictionary of the attribute as described in MTRDeviceResponseHandler
      • resolveClassMethod

        public static boolean resolveClassMethod​(org.moe.natj.objc.SEL sel)
      • resolveInstanceMethod

        public static boolean resolveInstanceMethod​(org.moe.natj.objc.SEL sel)
      • setDelegateQueue

        public void setDelegateQueue​(@NotNull
                                     @NotNull MTRDeviceDelegate delegate,
                                     @NotNull
                                     @NotNull dispatch_queue_t queue)
        Set the delegate to receive asynchronous callbacks about the device. The delegate will be called on the provided queue, for attribute reports, event reports, and device state changes.
      • setVersion_static

        public static void setVersion_static​(long aVersion)
      • state

        public long state()
        The current state of the device. The three states: MTRDeviceStateUnknown Unable to determine the state of the device at the moment. MTRDeviceStateReachable Communication with the device is expected to succeed. MTRDeviceStateUnreachable The device is currently unreachable.
      • superclass_static

        public static org.moe.natj.objc.Class superclass_static()
      • useStoredAccessor

        @Deprecated
        public static boolean useStoredAccessor()
        Deprecated.
      • version_static

        public static long version_static()
      • writeAttributeWithEndpointIDClusterIDAttributeIDValueExpectedValueIntervalTimedWriteTimeout

        public void writeAttributeWithEndpointIDClusterIDAttributeIDValueExpectedValueIntervalTimedWriteTimeout​(@NotNull
                                                                                                                @NotNull NSNumber endpointID,
                                                                                                                @NotNull
                                                                                                                @NotNull NSNumber clusterID,
                                                                                                                @NotNull
                                                                                                                @NotNull NSNumber attributeID,
                                                                                                                @NotNull
                                                                                                                @NotNull java.lang.Object value,
                                                                                                                @NotNull
                                                                                                                @NotNull NSNumber expectedValueInterval,
                                                                                                                @Nullable
                                                                                                                @Nullable NSNumber timeout)
        Write to attribute in a designated attribute path
        Parameters:
        value - A data-value NSDictionary object as described in MTRDeviceResponseHandler.
        expectedValueInterval - maximum interval in milliseconds during which reads of the attribute will return the value being written. This value must be within [1, UINT32_MAX], and will be clamped to this range. TODO: document that -readAttribute... will return the expected value for the [endpoint,cluster,attribute] until one of the following: 1. Another write for the same attribute happens. 2. expectedValueIntervalMs (clamped) expires. Need to figure out phrasing here. 3. We succeed at writing the attribute. 4. We fail at writing the attribute and give up on the write
        timeout - timeout in milliseconds for timed write, or nil. This value must be within [1, UINT16_MAX], and will be clamped to this range. TODO: make timeout arguments uniform