text: /*
   *
   *    Copyright (c) 2021 Project CHIP Authors
   *
   *    Licensed under the Apache License, Version 2.0 (the "License");
   *    you may not use this file except in compliance with the License.
   *    You may obtain a copy of the License at
   *
   *        http://www.apache.org/licenses/LICENSE-2.0
   *
   *    Unless required by applicable law or agreed to in writing, software
   *    distributed under the License is distributed on an "AS IS" BASIS,
   *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   *    See the License for the specific language governing permissions and
   *    limitations under the License.
   */
  
  // THIS FILE IS GENERATED BY ZAP
  
  #ifndef CHIP_CLUSTERS_H
  #define CHIP_CLUSTERS_H
  
  #import <Foundation/Foundation.h>
  
  #include "CHIPCluster.h"
  
  typedef void (^ResponseHandler)(NSError * _Nullable error, NSDictionary * _Nullable values);
  
  NS_ASSUME_NONNULL_BEGIN
  
  /**
   * Cluster Account Login
   *
   */
  @interface CHIPAccountLogin : CHIPCluster
  
  - (void)getSetupPIN:(NSString *)tempAccountIdentifier responseHandler:(ResponseHandler)responseHandler;
  - (void)login:(NSString *)tempAccountIdentifier setupPIN:(NSString *)setupPIN responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster AdministratorCommissioning
   *
   */
  @interface CHIPAdministratorCommissioning : CHIPCluster
  
  - (void)openBasicCommissioningWindow:(uint16_t)commissioningTimeout responseHandler:(ResponseHandler)responseHandler;
  - (void)openCommissioningWindow:(uint16_t)commissioningTimeout
                     pAKEVerifier:(NSData *)pAKEVerifier
                    discriminator:(uint16_t)discriminator
                       iterations:(uint32_t)iterations
                             salt:(NSData *)salt
                       passcodeID:(uint16_t)passcodeID
                  responseHandler:(ResponseHandler)responseHandler;
  - (void)revokeCommissioning:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Application Basic
   *
   */
  @interface CHIPApplicationBasic : CHIPCluster
  
  - (void)changeStatus:(uint8_t)status responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeVendorNameWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeVendorIdWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeApplicationNameWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeProductIdWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeApplicationIdWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCatalogVendorIdWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeApplicationStatusWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Application Launcher
   *
   */
  @interface CHIPApplicationLauncher : CHIPCluster
  
  - (void)launchApp:(NSString *)data
      catalogVendorId:(uint16_t)catalogVendorId
        applicationId:(NSString *)applicationId
      responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeApplicationLauncherListWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCatalogVendorIdWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeApplicationIdWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Audio Output
   *
   */
  @interface CHIPAudioOutput : CHIPCluster
  
  - (void)renameOutput:(uint8_t)index name:(NSString *)name responseHandler:(ResponseHandler)responseHandler;
  - (void)selectOutput:(uint8_t)index responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeAudioOutputListWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCurrentAudioOutputWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Barrier Control
   *
   */
  @interface CHIPBarrierControl : CHIPCluster
  
  - (void)barrierControlGoToPercent:(uint8_t)percentOpen responseHandler:(ResponseHandler)responseHandler;
  - (void)barrierControlStop:(ResponseHandler)responseHandler;
  
  - (void)readAttributeBarrierMovingStateWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeBarrierSafetyStatusWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeBarrierCapabilitiesWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeBarrierPositionWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Basic
   *
   */
  @interface CHIPBasic : CHIPCluster
  
  - (void)mfgSpecificPing:(ResponseHandler)responseHandler;
  
  - (void)readAttributeInteractionModelVersionWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeVendorNameWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeVendorIDWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeProductNameWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeProductIDWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeUserLabelWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeUserLabelWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeLocationWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeLocationWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeHardwareVersionWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeHardwareVersionStringWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeSoftwareVersionWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeSoftwareVersionStringWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeManufacturingDateWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePartNumberWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeProductURLWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeProductLabelWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeSerialNumberWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeLocalConfigDisabledWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeLocalConfigDisabledWithValue:(bool)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeReachableWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Binary Input (Basic)
   *
   */
  @interface CHIPBinaryInputBasic : CHIPCluster
  
  - (void)readAttributeOutOfServiceWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeOutOfServiceWithValue:(bool)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePresentValueWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributePresentValueWithValue:(bool)value responseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributePresentValueWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                        responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributePresentValueWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeStatusFlagsWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeStatusFlagsWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                                       responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeStatusFlagsWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Binding
   *
   */
  @interface CHIPBinding : CHIPCluster
  
  - (void)bind:(uint64_t)nodeId
              groupId:(uint16_t)groupId
           endpointId:(uint16_t)endpointId
            clusterId:(uint32_t)clusterId
      responseHandler:(ResponseHandler)responseHandler;
  - (void)unbind:(uint64_t)nodeId
              groupId:(uint16_t)groupId
           endpointId:(uint16_t)endpointId
            clusterId:(uint32_t)clusterId
      responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Bridged Device Basic
   *
   */
  @interface CHIPBridgedDeviceBasic : CHIPCluster
  
  - (void)readAttributeVendorNameWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeVendorIDWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeProductNameWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeUserLabelWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeUserLabelWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeHardwareVersionWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeHardwareVersionStringWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeSoftwareVersionWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeSoftwareVersionStringWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeManufacturingDateWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePartNumberWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeProductURLWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeProductLabelWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeSerialNumberWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeReachableWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Color Control
   *
   */
  @interface CHIPColorControl : CHIPCluster
  
  - (void)colorLoopSet:(uint8_t)updateFlags
                action:(uint8_t)action
             direction:(uint8_t)direction
                  time:(uint16_t)time
              startHue:(uint16_t)startHue
           optionsMask:(uint8_t)optionsMask
       optionsOverride:(uint8_t)optionsOverride
       responseHandler:(ResponseHandler)responseHandler;
  - (void)enhancedMoveHue:(uint8_t)moveMode
                     rate:(uint16_t)rate
              optionsMask:(uint8_t)optionsMask
          optionsOverride:(uint8_t)optionsOverride
          responseHandler:(ResponseHandler)responseHandler;
  - (void)enhancedMoveToHue:(uint16_t)enhancedHue
                  direction:(uint8_t)direction
             transitionTime:(uint16_t)transitionTime
                optionsMask:(uint8_t)optionsMask
            optionsOverride:(uint8_t)optionsOverride
            responseHandler:(ResponseHandler)responseHandler;
  - (void)enhancedMoveToHueAndSaturation:(uint16_t)enhancedHue
                              saturation:(uint8_t)saturation
                          transitionTime:(uint16_t)transitionTime
                             optionsMask:(uint8_t)optionsMask
                         optionsOverride:(uint8_t)optionsOverride
                         responseHandler:(ResponseHandler)responseHandler;
  - (void)enhancedStepHue:(uint8_t)stepMode
                 stepSize:(uint16_t)stepSize
           transitionTime:(uint16_t)transitionTime
              optionsMask:(uint8_t)optionsMask
          optionsOverride:(uint8_t)optionsOverride
          responseHandler:(ResponseHandler)responseHandler;
  - (void)moveColor:(int16_t)rateX
                rateY:(int16_t)rateY
          optionsMask:(uint8_t)optionsMask
      optionsOverride:(uint8_t)optionsOverride
      responseHandler:(ResponseHandler)responseHandler;
  - (void)moveColorTemperature:(uint8_t)moveMode
                          rate:(uint16_t)rate
       colorTemperatureMinimum:(uint16_t)colorTemperatureMinimum
       colorTemperatureMaximum:(uint16_t)colorTemperatureMaximum
                   optionsMask:(uint8_t)optionsMask
               optionsOverride:(uint8_t)optionsOverride
               responseHandler:(ResponseHandler)responseHandler;
  - (void)moveHue:(uint8_t)moveMode
                 rate:(uint8_t)rate
          optionsMask:(uint8_t)optionsMask
      optionsOverride:(uint8_t)optionsOverride
      responseHandler:(ResponseHandler)responseHandler;
  - (void)moveSaturation:(uint8_t)moveMode
                    rate:(uint8_t)rate
             optionsMask:(uint8_t)optionsMask
         optionsOverride:(uint8_t)optionsOverride
         responseHandler:(ResponseHandler)responseHandler;
  - (void)moveToColor:(uint16_t)colorX
               colorY:(uint16_t)colorY
       transitionTime:(uint16_t)transitionTime
          optionsMask:(uint8_t)optionsMask
      optionsOverride:(uint8_t)optionsOverride
      responseHandler:(ResponseHandler)responseHandler;
  - (void)moveToColorTemperature:(uint16_t)colorTemperature
                  transitionTime:(uint16_t)transitionTime
                     optionsMask:(uint8_t)optionsMask
                 optionsOverride:(uint8_t)optionsOverride
                 responseHandler:(ResponseHandler)responseHandler;
  - (void)moveToHue:(uint8_t)hue
            direction:(uint8_t)direction
       transitionTime:(uint16_t)transitionTime
          optionsMask:(uint8_t)optionsMask
      optionsOverride:(uint8_t)optionsOverride
      responseHandler:(ResponseHandler)responseHandler;
  - (void)moveToHueAndSaturation:(uint8_t)hue
                      saturation:(uint8_t)saturation
                  transitionTime:(uint16_t)transitionTime
                     optionsMask:(uint8_t)optionsMask
                 optionsOverride:(uint8_t)optionsOverride
                 responseHandler:(ResponseHandler)responseHandler;
  - (void)moveToSaturation:(uint8_t)saturation
            transitionTime:(uint16_t)transitionTime
               optionsMask:(uint8_t)optionsMask
           optionsOverride:(uint8_t)optionsOverride
           responseHandler:(ResponseHandler)responseHandler;
  - (void)stepColor:(int16_t)stepX
                stepY:(int16_t)stepY
       transitionTime:(uint16_t)transitionTime
          optionsMask:(uint8_t)optionsMask
      optionsOverride:(uint8_t)optionsOverride
      responseHandler:(ResponseHandler)responseHandler;
  - (void)stepColorTemperature:(uint8_t)stepMode
                      stepSize:(uint16_t)stepSize
                transitionTime:(uint16_t)transitionTime
       colorTemperatureMinimum:(uint16_t)colorTemperatureMinimum
       colorTemperatureMaximum:(uint16_t)colorTemperatureMaximum
                   optionsMask:(uint8_t)optionsMask
               optionsOverride:(uint8_t)optionsOverride
               responseHandler:(ResponseHandler)responseHandler;
  - (void)stepHue:(uint8_t)stepMode
             stepSize:(uint8_t)stepSize
       transitionTime:(uint8_t)transitionTime
          optionsMask:(uint8_t)optionsMask
      optionsOverride:(uint8_t)optionsOverride
      responseHandler:(ResponseHandler)responseHandler;
  - (void)stepSaturation:(uint8_t)stepMode
                stepSize:(uint8_t)stepSize
          transitionTime:(uint8_t)transitionTime
             optionsMask:(uint8_t)optionsMask
         optionsOverride:(uint8_t)optionsOverride
         responseHandler:(ResponseHandler)responseHandler;
  - (void)stopMoveStep:(uint8_t)optionsMask optionsOverride:(uint8_t)optionsOverride responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCurrentHueWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeCurrentHueWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                                      responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeCurrentHueWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCurrentSaturationWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeCurrentSaturationWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                             responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeCurrentSaturationWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRemainingTimeWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCurrentXWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeCurrentXWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                                    responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeCurrentXWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCurrentYWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeCurrentYWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                                    responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeCurrentYWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeDriftCompensationWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCompensationTextWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeColorTemperatureWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeColorTemperatureWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                            responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeColorTemperatureWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeColorModeWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeColorControlOptionsWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeColorControlOptionsWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeNumberOfPrimariesWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePrimary1XWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePrimary1YWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePrimary1IntensityWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePrimary2XWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePrimary2YWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePrimary2IntensityWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePrimary3XWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePrimary3YWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePrimary3IntensityWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePrimary4XWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePrimary4YWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePrimary4IntensityWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePrimary5XWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePrimary5YWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePrimary5IntensityWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePrimary6XWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePrimary6YWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePrimary6IntensityWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeWhitePointXWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeWhitePointXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeWhitePointYWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeWhitePointYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeColorPointRXWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeColorPointRXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeColorPointRYWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeColorPointRYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeColorPointRIntensityWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeColorPointRIntensityWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeColorPointGXWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeColorPointGXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeColorPointGYWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeColorPointGYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeColorPointGIntensityWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeColorPointGIntensityWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeColorPointBXWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeColorPointBXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeColorPointBYWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeColorPointBYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeColorPointBIntensityWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeColorPointBIntensityWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeEnhancedCurrentHueWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeEnhancedColorModeWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeColorLoopActiveWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeColorLoopDirectionWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeColorLoopTimeWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeColorLoopStartEnhancedHueWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeColorLoopStoredEnhancedHueWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeColorCapabilitiesWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeColorTempPhysicalMinWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeColorTempPhysicalMaxWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCoupleColorTempToLevelMinMiredsWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeStartUpColorTemperatureMiredsWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeStartUpColorTemperatureMiredsWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Content Launcher
   *
   */
  @interface CHIPContentLauncher : CHIPCluster
  
  - (void)launchContent:(bool)autoPlay data:(NSString *)data responseHandler:(ResponseHandler)responseHandler;
  - (void)launchURL:(NSString *)contentURL displayString:(NSString *)displayString responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeAcceptsHeaderListWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeSupportedStreamingTypesWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Descriptor
   *
   */
  @interface CHIPDescriptor : CHIPCluster
  
  - (void)readAttributeDeviceListWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeServerListWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClientListWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePartsListWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Diagnostic Logs
   *
   */
  @interface CHIPDiagnosticLogs : CHIPCluster
  
  - (void)retrieveLogsRequest:(uint8_t)intent
            requestedProtocol:(uint8_t)requestedProtocol
       transferFileDesignator:(NSData *)transferFileDesignator
              responseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Door Lock
   *
   */
  @interface CHIPDoorLock : CHIPCluster
  
  - (void)clearAllPins:(ResponseHandler)responseHandler;
  - (void)clearAllRfids:(ResponseHandler)responseHandler;
  - (void)clearHolidaySchedule:(uint8_t)scheduleId responseHandler:(ResponseHandler)responseHandler;
  - (void)clearPin:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler;
  - (void)clearRfid:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler;
  - (void)clearWeekdaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler;
  - (void)clearYeardaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler;
  - (void)getHolidaySchedule:(uint8_t)scheduleId responseHandler:(ResponseHandler)responseHandler;
  - (void)getLogRecord:(uint16_t)logIndex responseHandler:(ResponseHandler)responseHandler;
  - (void)getPin:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler;
  - (void)getRfid:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler;
  - (void)getUserType:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler;
  - (void)getWeekdaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler;
  - (void)getYeardaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler;
  - (void)lockDoor:(NSString *)pin responseHandler:(ResponseHandler)responseHandler;
  - (void)setHolidaySchedule:(uint8_t)scheduleId
                  localStartTime:(uint32_t)localStartTime
                    localEndTime:(uint32_t)localEndTime
      operatingModeDuringHoliday:(uint8_t)operatingModeDuringHoliday
                 responseHandler:(ResponseHandler)responseHandler;
  - (void)setPin:(uint16_t)userId
           userStatus:(uint8_t)userStatus
             userType:(uint8_t)userType
                  pin:(NSString *)pin
      responseHandler:(ResponseHandler)responseHandler;
  - (void)setRfid:(uint16_t)userId
           userStatus:(uint8_t)userStatus
             userType:(uint8_t)userType
                   id:(NSString *)id
      responseHandler:(ResponseHandler)responseHandler;
  - (void)setUserType:(uint16_t)userId userType:(uint8_t)userType responseHandler:(ResponseHandler)responseHandler;
  - (void)setWeekdaySchedule:(uint8_t)scheduleId
                      userId:(uint16_t)userId
                    daysMask:(uint8_t)daysMask
                   startHour:(uint8_t)startHour
                 startMinute:(uint8_t)startMinute
                     endHour:(uint8_t)endHour
                   endMinute:(uint8_t)endMinute
             responseHandler:(ResponseHandler)responseHandler;
  - (void)setYeardaySchedule:(uint8_t)scheduleId
                      userId:(uint16_t)userId
              localStartTime:(uint32_t)localStartTime
                localEndTime:(uint32_t)localEndTime
             responseHandler:(ResponseHandler)responseHandler;
  - (void)unlockDoor:(NSString *)pin responseHandler:(ResponseHandler)responseHandler;
  - (void)unlockWithTimeout:(uint16_t)timeoutInSeconds pin:(NSString *)pin responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeLockStateWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeLockStateWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                                     responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeLockStateWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeLockTypeWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeActuatorEnabledWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Electrical Measurement
   *
   */
  @interface CHIPElectricalMeasurement : CHIPCluster
  
  - (void)readAttributeMeasurementTypeWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTotalActivePowerWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRmsVoltageWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRmsVoltageMinWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRmsVoltageMaxWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRmsCurrentWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRmsCurrentMinWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRmsCurrentMaxWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeActivePowerWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeActivePowerMinWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeActivePowerMaxWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Ethernet Network Diagnostics
   *
   */
  @interface CHIPEthernetNetworkDiagnostics : CHIPCluster
  
  - (void)resetCounts:(ResponseHandler)responseHandler;
  
  - (void)readAttributePacketRxCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePacketTxCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTxErrCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCollisionCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeOverrunCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Fixed Label
   *
   */
  @interface CHIPFixedLabel : CHIPCluster
  
  - (void)readAttributeLabelListWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Flow Measurement
   *
   */
  @interface CHIPFlowMeasurement : CHIPCluster
  
  - (void)readAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeMinMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeMaxMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster General Commissioning
   *
   */
  @interface CHIPGeneralCommissioning : CHIPCluster
  
  - (void)armFailSafe:(uint16_t)expiryLengthSeconds
           breadcrumb:(uint64_t)breadcrumb
            timeoutMs:(uint32_t)timeoutMs
      responseHandler:(ResponseHandler)responseHandler;
  - (void)commissioningComplete:(ResponseHandler)responseHandler;
  - (void)setRegulatoryConfig:(uint8_t)location
                  countryCode:(NSString *)countryCode
                   breadcrumb:(uint64_t)breadcrumb
                    timeoutMs:(uint32_t)timeoutMs
              responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeBreadcrumbWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeBreadcrumbWithValue:(uint64_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeBasicCommissioningInfoListWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster General Diagnostics
   *
   */
  @interface CHIPGeneralDiagnostics : CHIPCluster
  
  - (void)readAttributeNetworkInterfacesWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRebootCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeUpTimeWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTotalOperationalHoursWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeBootReasonsWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Group Key Management
   *
   */
  @interface CHIPGroupKeyManagement : CHIPCluster
  
  - (void)readAttributeGroupsWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeGroupKeysWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Groups
   *
   */
  @interface CHIPGroups : CHIPCluster
  
  - (void)addGroup:(uint16_t)groupId groupName:(NSString *)groupName responseHandler:(ResponseHandler)responseHandler;
  - (void)addGroupIfIdentifying:(uint16_t)groupId groupName:(NSString *)groupName responseHandler:(ResponseHandler)responseHandler;
  - (void)getGroupMembership:(uint8_t)groupCount groupList:(uint16_t)groupList responseHandler:(ResponseHandler)responseHandler;
  - (void)removeAllGroups:(ResponseHandler)responseHandler;
  - (void)removeGroup:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler;
  - (void)viewGroup:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeNameSupportWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Identify
   *
   */
  @interface CHIPIdentify : CHIPCluster
  
  - (void)identify:(uint16_t)identifyTime responseHandler:(ResponseHandler)responseHandler;
  - (void)identifyQuery:(ResponseHandler)responseHandler;
  
  - (void)readAttributeIdentifyTimeWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeIdentifyTimeWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Keypad Input
   *
   */
  @interface CHIPKeypadInput : CHIPCluster
  
  - (void)sendKey:(uint8_t)keyCode responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Level Control
   *
   */
  @interface CHIPLevelControl : CHIPCluster
  
  - (void)move:(uint8_t)moveMode
                 rate:(uint8_t)rate
           optionMask:(uint8_t)optionMask
       optionOverride:(uint8_t)optionOverride
      responseHandler:(ResponseHandler)responseHandler;
  - (void)moveToLevel:(uint8_t)level
       transitionTime:(uint16_t)transitionTime
           optionMask:(uint8_t)optionMask
       optionOverride:(uint8_t)optionOverride
      responseHandler:(ResponseHandler)responseHandler;
  - (void)moveToLevelWithOnOff:(uint8_t)level
                transitionTime:(uint16_t)transitionTime
               responseHandler:(ResponseHandler)responseHandler;
  - (void)moveWithOnOff:(uint8_t)moveMode rate:(uint8_t)rate responseHandler:(ResponseHandler)responseHandler;
  - (void)step:(uint8_t)stepMode
             stepSize:(uint8_t)stepSize
       transitionTime:(uint16_t)transitionTime
           optionMask:(uint8_t)optionMask
       optionOverride:(uint8_t)optionOverride
      responseHandler:(ResponseHandler)responseHandler;
  - (void)stepWithOnOff:(uint8_t)stepMode
               stepSize:(uint8_t)stepSize
         transitionTime:(uint16_t)transitionTime
        responseHandler:(ResponseHandler)responseHandler;
  - (void)stop:(uint8_t)optionMask optionOverride:(uint8_t)optionOverride responseHandler:(ResponseHandler)responseHandler;
  - (void)stopWithOnOff:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCurrentLevelWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeCurrentLevelWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                        responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeCurrentLevelWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Low Power
   *
   */
  @interface CHIPLowPower : CHIPCluster
  
  - (void)sleep:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Media Input
   *
   */
  @interface CHIPMediaInput : CHIPCluster
  
  - (void)hideInputStatus:(ResponseHandler)responseHandler;
  - (void)renameInput:(uint8_t)index name:(NSString *)name responseHandler:(ResponseHandler)responseHandler;
  - (void)selectInput:(uint8_t)index responseHandler:(ResponseHandler)responseHandler;
  - (void)showInputStatus:(ResponseHandler)responseHandler;
  
  - (void)readAttributeMediaInputListWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCurrentMediaInputWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Media Playback
   *
   */
  @interface CHIPMediaPlayback : CHIPCluster
  
  - (void)mediaFastForward:(ResponseHandler)responseHandler;
  - (void)mediaNext:(ResponseHandler)responseHandler;
  - (void)mediaPause:(ResponseHandler)responseHandler;
  - (void)mediaPlay:(ResponseHandler)responseHandler;
  - (void)mediaPrevious:(ResponseHandler)responseHandler;
  - (void)mediaRewind:(ResponseHandler)responseHandler;
  - (void)mediaSeek:(uint64_t)position responseHandler:(ResponseHandler)responseHandler;
  - (void)mediaSkipBackward:(uint64_t)deltaPositionMilliseconds responseHandler:(ResponseHandler)responseHandler;
  - (void)mediaSkipForward:(uint64_t)deltaPositionMilliseconds responseHandler:(ResponseHandler)responseHandler;
  - (void)mediaStartOver:(ResponseHandler)responseHandler;
  - (void)mediaStop:(ResponseHandler)responseHandler;
  
  - (void)readAttributePlaybackStateWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeStartTimeWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeDurationWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePositionUpdatedAtWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePositionWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePlaybackSpeedWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeSeekRangeEndWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeSeekRangeStartWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Network Commissioning
   *
   */
  @interface CHIPNetworkCommissioning : CHIPCluster
  
  - (void)addThreadNetwork:(NSData *)operationalDataset
                breadcrumb:(uint64_t)breadcrumb
                 timeoutMs:(uint32_t)timeoutMs
           responseHandler:(ResponseHandler)responseHandler;
  - (void)addWiFiNetwork:(NSData *)ssid
             credentials:(NSData *)credentials
              breadcrumb:(uint64_t)breadcrumb
               timeoutMs:(uint32_t)timeoutMs
         responseHandler:(ResponseHandler)responseHandler;
  - (void)disableNetwork:(NSData *)networkID
              breadcrumb:(uint64_t)breadcrumb
               timeoutMs:(uint32_t)timeoutMs
         responseHandler:(ResponseHandler)responseHandler;
  - (void)enableNetwork:(NSData *)networkID
             breadcrumb:(uint64_t)breadcrumb
              timeoutMs:(uint32_t)timeoutMs
        responseHandler:(ResponseHandler)responseHandler;
  - (void)getLastNetworkCommissioningResult:(uint32_t)timeoutMs responseHandler:(ResponseHandler)responseHandler;
  - (void)removeNetwork:(NSData *)networkID
             breadcrumb:(uint64_t)breadcrumb
              timeoutMs:(uint32_t)timeoutMs
        responseHandler:(ResponseHandler)responseHandler;
  - (void)scanNetworks:(NSData *)ssid
            breadcrumb:(uint64_t)breadcrumb
             timeoutMs:(uint32_t)timeoutMs
       responseHandler:(ResponseHandler)responseHandler;
  - (void)updateThreadNetwork:(NSData *)operationalDataset
                   breadcrumb:(uint64_t)breadcrumb
                    timeoutMs:(uint32_t)timeoutMs
              responseHandler:(ResponseHandler)responseHandler;
  - (void)updateWiFiNetwork:(NSData *)ssid
                credentials:(NSData *)credentials
                 breadcrumb:(uint64_t)breadcrumb
                  timeoutMs:(uint32_t)timeoutMs
            responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeFeatureMapWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster OTA Software Update Provider
   *
   */
  @interface CHIPOtaSoftwareUpdateProvider : CHIPCluster
  
  - (void)applyUpdateRequest:(NSData *)updateToken newVersion:(uint32_t)newVersion responseHandler:(ResponseHandler)responseHandler;
  - (void)notifyUpdateApplied:(NSData *)updateToken
              softwareVersion:(uint32_t)softwareVersion
              responseHandler:(ResponseHandler)responseHandler;
  - (void)queryImage:(uint16_t)vendorId
                productId:(uint16_t)productId
          hardwareVersion:(uint16_t)hardwareVersion
          softwareVersion:(uint32_t)softwareVersion
       protocolsSupported:(uint8_t)protocolsSupported
                 location:(NSString *)location
      requestorCanConsent:(bool)requestorCanConsent
      metadataForProvider:(NSData *)metadataForProvider
          responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster OTA Software Update Requestor
   *
   */
  @interface CHIPOtaSoftwareUpdateRequestor : CHIPCluster
  
  - (void)announceOtaProvider:(NSData *)providerLocation
                     vendorId:(uint16_t)vendorId
           announcementReason:(uint8_t)announcementReason
              metadataForNode:(NSData *)metadataForNode
              responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeDefaultOtaProviderWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeDefaultOtaProviderWithValue:(NSData *)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeUpdatePossibleWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Occupancy Sensing
   *
   */
  @interface CHIPOccupancySensing : CHIPCluster
  
  - (void)readAttributeOccupancyWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeOccupancyWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                                     responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeOccupancyWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeOccupancySensorTypeWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeOccupancySensorTypeBitmapWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster On/Off
   *
   */
  @interface CHIPOnOff : CHIPCluster
  
  - (void)off:(ResponseHandler)responseHandler;
  - (void)offWithEffect:(uint8_t)effectId effectVariant:(uint8_t)effectVariant responseHandler:(ResponseHandler)responseHandler;
  - (void)on:(ResponseHandler)responseHandler;
  - (void)onWithRecallGlobalScene:(ResponseHandler)responseHandler;
  - (void)onWithTimedOff:(uint8_t)onOffControl
                  onTime:(uint16_t)onTime
             offWaitTime:(uint16_t)offWaitTime
         responseHandler:(ResponseHandler)responseHandler;
  - (void)toggle:(ResponseHandler)responseHandler;
  
  - (void)readAttributeOnOffWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeOnOffWithMinInterval:(uint16_t)minInterval
                                     maxInterval:(uint16_t)maxInterval
                                 responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeOnOffWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeGlobalSceneControlWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeOnTimeWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeOnTimeWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeOffWaitTimeWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeOffWaitTimeWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeStartUpOnOffWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeStartUpOnOffWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeFeatureMapWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster On/off Switch Configuration
   *
   */
  @interface CHIPOnOffSwitchConfiguration : CHIPCluster
  
  - (void)readAttributeSwitchTypeWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeSwitchActionsWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeSwitchActionsWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Operational Credentials
   *
   */
  @interface CHIPOperationalCredentials : CHIPCluster
  
  - (void)addNOC:(NSData *)nOCValue
            iCACValue:(NSData *)iCACValue
             iPKValue:(NSData *)iPKValue
        caseAdminNode:(uint64_t)caseAdminNode
        adminVendorId:(uint16_t)adminVendorId
      responseHandler:(ResponseHandler)responseHandler;
  - (void)addTrustedRootCertificate:(NSData *)rootCertificate responseHandler:(ResponseHandler)responseHandler;
  - (void)attestationRequest:(NSData *)attestationNonce responseHandler:(ResponseHandler)responseHandler;
  - (void)certificateChainRequest:(uint8_t)certificateType responseHandler:(ResponseHandler)responseHandler;
  - (void)opCSRRequest:(NSData *)cSRNonce responseHandler:(ResponseHandler)responseHandler;
  - (void)removeFabric:(uint8_t)fabricIndex responseHandler:(ResponseHandler)responseHandler;
  - (void)removeTrustedRootCertificate:(NSData *)trustedRootIdentifier responseHandler:(ResponseHandler)responseHandler;
  - (void)updateFabricLabel:(NSString *)label responseHandler:(ResponseHandler)responseHandler;
  - (void)updateNOC:(NSData *)nOCValue iCACValue:(NSData *)iCACValue responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeFabricsListWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeSupportedFabricsWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCommissionedFabricsWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Power Source
   *
   */
  @interface CHIPPowerSource : CHIPCluster
  
  - (void)readAttributeStatusWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeOrderWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeDescriptionWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeBatteryVoltageWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeBatteryPercentRemainingWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeBatteryTimeRemainingWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeBatteryChargeLevelWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeActiveBatteryFaultsWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeBatteryChargeStateWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeFeatureMapWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Pressure Measurement
   *
   */
  @interface CHIPPressureMeasurement : CHIPCluster
  
  - (void)readAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeMeasuredValueWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                         responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeMinMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeMaxMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Pump Configuration and Control
   *
   */
  @interface CHIPPumpConfigurationAndControl : CHIPCluster
  
  - (void)readAttributeMaxPressureWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeMaxSpeedWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeMaxFlowWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeEffectiveOperationModeWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeEffectiveControlModeWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCapacityWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeCapacityWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                                    responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeCapacityWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeOperationModeWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeOperationModeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Relative Humidity Measurement
   *
   */
  @interface CHIPRelativeHumidityMeasurement : CHIPCluster
  
  - (void)readAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeMeasuredValueWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                         responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeMinMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeMaxMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Scenes
   *
   */
  @interface CHIPScenes : CHIPCluster
  
  - (void)addScene:(uint16_t)groupId
              sceneId:(uint8_t)sceneId
       transitionTime:(uint16_t)transitionTime
            sceneName:(NSString *)sceneName
            clusterId:(uint32_t)clusterId
               length:(uint8_t)length
                value:(uint8_t)value
      responseHandler:(ResponseHandler)responseHandler;
  - (void)getSceneMembership:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler;
  - (void)recallScene:(uint16_t)groupId
              sceneId:(uint8_t)sceneId
       transitionTime:(uint16_t)transitionTime
      responseHandler:(ResponseHandler)responseHandler;
  - (void)removeAllScenes:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler;
  - (void)removeScene:(uint16_t)groupId sceneId:(uint8_t)sceneId responseHandler:(ResponseHandler)responseHandler;
  - (void)storeScene:(uint16_t)groupId sceneId:(uint8_t)sceneId responseHandler:(ResponseHandler)responseHandler;
  - (void)viewScene:(uint16_t)groupId sceneId:(uint8_t)sceneId responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeSceneCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCurrentSceneWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCurrentGroupWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeSceneValidWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeNameSupportWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Software Diagnostics
   *
   */
  @interface CHIPSoftwareDiagnostics : CHIPCluster
  
  - (void)resetWatermarks:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCurrentHeapFreeWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCurrentHeapUsedWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCurrentHeapHighWatermarkWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Switch
   *
   */
  @interface CHIPSwitch : CHIPCluster
  
  - (void)readAttributeNumberOfPositionsWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCurrentPositionWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeCurrentPositionWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                           responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeCurrentPositionWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster TV Channel
   *
   */
  @interface CHIPTvChannel : CHIPCluster
  
  - (void)changeChannel:(NSString *)match responseHandler:(ResponseHandler)responseHandler;
  - (void)changeChannelByNumber:(uint16_t)majorNumber
                    minorNumber:(uint16_t)minorNumber
                responseHandler:(ResponseHandler)responseHandler;
  - (void)skipChannel:(uint16_t)count responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTvChannelListWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTvChannelLineupWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCurrentTvChannelWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Target Navigator
   *
   */
  @interface CHIPTargetNavigator : CHIPCluster
  
  - (void)navigateTarget:(uint8_t)target data:(NSString *)data responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTargetNavigatorListWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Temperature Measurement
   *
   */
  @interface CHIPTemperatureMeasurement : CHIPCluster
  
  - (void)readAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeMeasuredValueWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                         responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeMinMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeMaxMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Test Cluster
   *
   */
  @interface CHIPTestCluster : CHIPCluster
  
  - (void)test:(ResponseHandler)responseHandler;
  - (void)testAddArguments:(uint8_t)arg1 arg2:(uint8_t)arg2 responseHandler:(ResponseHandler)responseHandler;
  - (void)testNotHandled:(ResponseHandler)responseHandler;
  - (void)testSpecific:(ResponseHandler)responseHandler;
  - (void)testUnknownCommand:(ResponseHandler)responseHandler;
  
  - (void)readAttributeBooleanWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeBooleanWithValue:(bool)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeBitmap8WithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeBitmap8WithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeBitmap16WithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeBitmap16WithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeBitmap32WithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeBitmap32WithValue:(uint32_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeBitmap64WithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeBitmap64WithValue:(uint64_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeInt8uWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeInt8uWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeInt16uWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeInt16uWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeInt32uWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeInt32uWithValue:(uint32_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeInt64uWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeInt64uWithValue:(uint64_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeInt8sWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeInt8sWithValue:(int8_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeInt16sWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeInt16sWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeInt32sWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeInt32sWithValue:(int32_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeInt64sWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeInt64sWithValue:(int64_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeEnum8WithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeEnum8WithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeEnum16WithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeEnum16WithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeOctetStringWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeOctetStringWithValue:(NSData *)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeListInt8uWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeListOctetStringWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeListStructOctetStringWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeLongOctetStringWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeLongOctetStringWithValue:(NSData *)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCharStringWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeCharStringWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeLongCharStringWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeLongCharStringWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeEpochUsWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeEpochUsWithValue:(uint64_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeEpochSWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeEpochSWithValue:(uint32_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeUnsupportedWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeUnsupportedWithValue:(bool)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Thermostat
   *
   */
  @interface CHIPThermostat : CHIPCluster
  
  - (void)clearWeeklySchedule:(ResponseHandler)responseHandler;
  - (void)getRelayStatusLog:(ResponseHandler)responseHandler;
  - (void)getWeeklySchedule:(uint8_t)daysToReturn modeToReturn:(uint8_t)modeToReturn responseHandler:(ResponseHandler)responseHandler;
  - (void)setWeeklySchedule:(uint8_t)numberOfTransitionsForSequence
       dayOfWeekForSequence:(uint8_t)dayOfWeekForSequence
            modeForSequence:(uint8_t)modeForSequence
                    payload:(uint8_t)payload
            responseHandler:(ResponseHandler)responseHandler;
  - (void)setpointRaiseLower:(uint8_t)mode amount:(int8_t)amount responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeLocalTemperatureWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeLocalTemperatureWithMinInterval:(uint16_t)minInterval
                                                maxInterval:(uint16_t)maxInterval
                                            responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeLocalTemperatureWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeAbsMinHeatSetpointLimitWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeAbsMaxHeatSetpointLimitWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeAbsMinCoolSetpointLimitWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeAbsMaxCoolSetpointLimitWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeOccupiedCoolingSetpointWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeOccupiedCoolingSetpointWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeOccupiedHeatingSetpointWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeOccupiedHeatingSetpointWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeMinHeatSetpointLimitWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeMinHeatSetpointLimitWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeMaxHeatSetpointLimitWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeMaxHeatSetpointLimitWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeMinCoolSetpointLimitWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeMinCoolSetpointLimitWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeMaxCoolSetpointLimitWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeMaxCoolSetpointLimitWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeControlSequenceOfOperationWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeControlSequenceOfOperationWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeSystemModeWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeSystemModeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeStartOfWeekWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeNumberOfWeeklyTransitionsWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeNumberOfDailyTransitionsWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeFeatureMapWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Thermostat User Interface Configuration
   *
   */
  @interface CHIPThermostatUserInterfaceConfiguration : CHIPCluster
  
  - (void)readAttributeTemperatureDisplayModeWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeTemperatureDisplayModeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeKeypadLockoutWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeKeypadLockoutWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeScheduleProgrammingVisibilityWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeScheduleProgrammingVisibilityWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Thread Network Diagnostics
   *
   */
  @interface CHIPThreadNetworkDiagnostics : CHIPCluster
  
  - (void)resetCounts:(ResponseHandler)responseHandler;
  
  - (void)readAttributeChannelWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRoutingRoleWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeNetworkNameWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePanIdWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeExtendedPanIdWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeMeshLocalPrefixWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeOverrunCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeNeighborTableListWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRouteTableListWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePartitionIdWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeWeightingWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeDataVersionWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeStableDataVersionWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeLeaderRouterIdWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeDetachedRoleCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeChildRoleCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRouterRoleCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeLeaderRoleCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeAttachAttemptCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePartitionIdChangeCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeBetterPartitionAttachAttemptCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeParentChangeCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTxTotalCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTxUnicastCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTxBroadcastCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTxAckRequestedCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTxAckedCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTxNoAckRequestedCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTxDataCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTxDataPollCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTxBeaconCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTxBeaconRequestCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTxOtherCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTxRetryCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTxDirectMaxRetryExpiryCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTxIndirectMaxRetryExpiryCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTxErrCcaCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTxErrAbortCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTxErrBusyChannelCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRxTotalCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRxUnicastCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRxBroadcastCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRxDataCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRxDataPollCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRxBeaconCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRxBeaconRequestCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRxOtherCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRxAddressFilteredCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRxDestAddrFilteredCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRxDuplicatedCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRxErrNoFrameCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRxErrUnknownNeighborCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRxErrInvalidSrcAddrCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRxErrSecCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRxErrFcsCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRxErrOtherCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeActiveTimestampWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePendingTimestampWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeDelayWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeSecurityPolicyWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeChannelMaskWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeOperationalDatasetComponentsWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeActiveNetworkFaultsListWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Wake on LAN
   *
   */
  @interface CHIPWakeOnLan : CHIPCluster
  
  - (void)readAttributeWakeOnLanMacAddressWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster WiFi Network Diagnostics
   *
   */
  @interface CHIPWiFiNetworkDiagnostics : CHIPCluster
  
  - (void)resetCounts:(ResponseHandler)responseHandler;
  
  - (void)readAttributeBssidWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeSecurityTypeWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeWiFiVersionWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeChannelNumberWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeRssiWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeBeaconLostCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeBeaconRxCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePacketMulticastRxCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePacketMulticastTxCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePacketUnicastRxCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributePacketUnicastTxCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCurrentMaxRateWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeOverrunCountWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  /**
   * Cluster Window Covering
   *
   */
  @interface CHIPWindowCovering : CHIPCluster
  
  - (void)downOrClose:(ResponseHandler)responseHandler;
  - (void)goToLiftPercentage:(uint8_t)liftPercentageValue
      liftPercent100thsValue:(uint16_t)liftPercent100thsValue
             responseHandler:(ResponseHandler)responseHandler;
  - (void)goToLiftValue:(uint16_t)liftValue responseHandler:(ResponseHandler)responseHandler;
  - (void)goToTiltPercentage:(uint8_t)tiltPercentageValue
      tiltPercent100thsValue:(uint16_t)tiltPercent100thsValue
             responseHandler:(ResponseHandler)responseHandler;
  - (void)goToTiltValue:(uint16_t)tiltValue responseHandler:(ResponseHandler)responseHandler;
  - (void)stopMotion:(ResponseHandler)responseHandler;
  - (void)upOrOpen:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTypeWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCurrentPositionLiftWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCurrentPositionTiltWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeConfigStatusWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCurrentPositionLiftPercentageWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeCurrentPositionLiftPercentageWithMinInterval:(uint16_t)minInterval
                                                             maxInterval:(uint16_t)maxInterval
                                                         responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeCurrentPositionLiftPercentageWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCurrentPositionTiltPercentageWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeCurrentPositionTiltPercentageWithMinInterval:(uint16_t)minInterval
                                                             maxInterval:(uint16_t)maxInterval
                                                         responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeCurrentPositionTiltPercentageWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeOperationalStatusWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeOperationalStatusWithMinInterval:(uint16_t)minInterval
                                                 maxInterval:(uint16_t)maxInterval
                                             responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeOperationalStatusWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTargetPositionLiftPercent100thsWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeTargetPositionLiftPercent100thsWithMinInterval:(uint16_t)minInterval
                                                               maxInterval:(uint16_t)maxInterval
                                                           responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeTargetPositionLiftPercent100thsWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeTargetPositionTiltPercent100thsWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeTargetPositionTiltPercent100thsWithMinInterval:(uint16_t)minInterval
                                                               maxInterval:(uint16_t)maxInterval
                                                           responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeTargetPositionTiltPercent100thsWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeEndProductTypeWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCurrentPositionLiftPercent100thsWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeCurrentPositionLiftPercent100thsWithMinInterval:(uint16_t)minInterval
                                                                maxInterval:(uint16_t)maxInterval
                                                            responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeCurrentPositionLiftPercent100thsWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeCurrentPositionTiltPercent100thsWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeCurrentPositionTiltPercent100thsWithMinInterval:(uint16_t)minInterval
                                                                maxInterval:(uint16_t)maxInterval
                                                            responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeCurrentPositionTiltPercent100thsWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeInstalledOpenLimitLiftWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeInstalledClosedLimitLiftWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeInstalledOpenLimitTiltWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeInstalledClosedLimitTiltWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeModeWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)writeAttributeModeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeSafetyStatusWithResponseHandler:(ResponseHandler)responseHandler;
  - (void)subscribeAttributeSafetyStatusWithMinInterval:(uint16_t)minInterval
                                            maxInterval:(uint16_t)maxInterval
                                        responseHandler:(ResponseHandler)responseHandler;
  - (void)reportAttributeSafetyStatusWithResponseHandler:(ResponseHandler)responseHandler;
  
  - (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
  
  @end
  
  NS_ASSUME_NONNULL_END
  
  #endif /* CHIP_CLUSTERS_H */
  