syntax = "proto3";

import 'pw_protobuf_protos/common.proto';

package chip.rpc;

enum AttributeType {
    ZCL_NO_DATA_ATTRIBUTE_TYPE           = 0x00; // No data
    ZCL_BOOLEAN_ATTRIBUTE_TYPE           = 0x10; // Boolean
    ZCL_BITMAP8_ATTRIBUTE_TYPE           = 0x18; // 8-bit bitmap
    ZCL_BITMAP16_ATTRIBUTE_TYPE          = 0x19; // 16-bit bitmap
    ZCL_BITMAP32_ATTRIBUTE_TYPE          = 0x1B; // 32-bit bitmap
    ZCL_BITMAP64_ATTRIBUTE_TYPE          = 0x1F; // 64-bit bitmap
    ZCL_INT8U_ATTRIBUTE_TYPE             = 0x20; // Unsigned 8-bit integer
    ZCL_INT16U_ATTRIBUTE_TYPE            = 0x21; // Unsigned 16-bit integer
    ZCL_INT24U_ATTRIBUTE_TYPE            = 0x22; // Unsigned 24-bit integer
    ZCL_INT32U_ATTRIBUTE_TYPE            = 0x23; // Unsigned 32-bit integer
    ZCL_INT40U_ATTRIBUTE_TYPE            = 0x24; // Unsigned 40-bit integer
    ZCL_INT48U_ATTRIBUTE_TYPE            = 0x25; // Unsigned 48-bit integer
    ZCL_INT56U_ATTRIBUTE_TYPE            = 0x26; // Unsigned 56-bit integer
    ZCL_INT64U_ATTRIBUTE_TYPE            = 0x27; // Unsigned 64-bit integer
    ZCL_INT8S_ATTRIBUTE_TYPE             = 0x28; // Signed 8-bit integer
    ZCL_INT16S_ATTRIBUTE_TYPE            = 0x29; // Signed 16-bit integer
    ZCL_INT24S_ATTRIBUTE_TYPE            = 0x2A; // Signed 24-bit integer
    ZCL_INT32S_ATTRIBUTE_TYPE            = 0x2B; // Signed 32-bit integer
    ZCL_INT40S_ATTRIBUTE_TYPE            = 0x2C; // Signed 40-bit integer
    ZCL_INT48S_ATTRIBUTE_TYPE            = 0x2D; // Signed 48-bit integer
    ZCL_INT56S_ATTRIBUTE_TYPE            = 0x2E; // Signed 56-bit integer
    ZCL_INT64S_ATTRIBUTE_TYPE            = 0x2F; // Signed 64-bit integer
    ZCL_ENUM8_ATTRIBUTE_TYPE             = 0x30; // 8-bit enumeration
    ZCL_ENUM16_ATTRIBUTE_TYPE            = 0x31; // 16-bit enumeration
    ZCL_SINGLE_ATTRIBUTE_TYPE            = 0x39; // Single precision
    ZCL_DOUBLE_ATTRIBUTE_TYPE            = 0x3A; // Double precision
    ZCL_OCTET_STRING_ATTRIBUTE_TYPE      = 0x41; // Octet String
    ZCL_CHAR_STRING_ATTRIBUTE_TYPE       = 0x42; // Character String
    ZCL_LONG_OCTET_STRING_ATTRIBUTE_TYPE = 0x43; // Long Octet String
    ZCL_LONG_CHAR_STRING_ATTRIBUTE_TYPE  = 0x44; // Long Character String
    ZCL_ARRAY_ATTRIBUTE_TYPE             = 0x48; // List
    ZCL_STRUCT_ATTRIBUTE_TYPE            = 0x4C; // Structure
    ZCL_TOD_ATTRIBUTE_TYPE               = 0xE0; // Time of day
    ZCL_DATE_ATTRIBUTE_TYPE              = 0xE1; // Date
    ZCL_UTC_ATTRIBUTE_TYPE               = 0xE2; // UTC Time
    ZCL_EPOCH_US_ATTRIBUTE_TYPE          = 0xE3; // Epoch Microseconds
    ZCL_EPOCH_S_ATTRIBUTE_TYPE           = 0xE4; // Epoch Seconds
    ZCL_SYSTIME_US_ATTRIBUTE_TYPE        = 0xE5; // System Time Microseconds
    ZCL_PERCENT_ATTRIBUTE_TYPE           = 0xE6; // Percentage units 1%
    ZCL_PERCENT100THS_ATTRIBUTE_TYPE     = 0xE7; // Percentage units 0.01%
    ZCL_CLUSTER_ID_ATTRIBUTE_TYPE        = 0xE8; // Cluster ID
    ZCL_ATTRIB_ID_ATTRIBUTE_TYPE         = 0xE9; // Attribute ID
    ZCL_FIELD_ID_ATTRIBUTE_TYPE          = 0xEA; // Field ID
    ZCL_EVENT_ID_ATTRIBUTE_TYPE          = 0xEB; // Event ID
    ZCL_COMMAND_ID_ATTRIBUTE_TYPE        = 0xEC; // Command ID
    ZCL_ACTION_ID_ATTRIBUTE_TYPE         = 0xED; // Action ID
    ZCL_TRANS_ID_ATTRIBUTE_TYPE          = 0xEF; // Transaction ID
    ZCL_NODE_ID_ATTRIBUTE_TYPE           = 0xF0; // Node ID
    ZCL_VENDOR_ID_ATTRIBUTE_TYPE         = 0xF1; // Vendor ID
    ZCL_DEVTYPE_ID_ATTRIBUTE_TYPE        = 0xF2; // Device Type ID
    ZCL_FABRIC_ID_ATTRIBUTE_TYPE         = 0xF3; // Fabric ID
    ZCL_GROUP_ID_ATTRIBUTE_TYPE          = 0xF4; // Group ID
    ZCL_STATUS_ATTRIBUTE_TYPE            = 0xF5; // Status Code
    ZCL_DATA_VER_ATTRIBUTE_TYPE          = 0xF6; // Data Version
    ZCL_EVENT_NO_ATTRIBUTE_TYPE          = 0xF7; // Event Number
    ZCL_ENDPOINT_NO_ATTRIBUTE_TYPE       = 0xF8; // Endpoint Number
    ZCL_FABRIC_IDX_ATTRIBUTE_TYPE        = 0xF9; // Fabric Index
    ZCL_IPADR_ATTRIBUTE_TYPE             = 0xFA; // IP Address
    ZCL_IPV4ADR_ATTRIBUTE_TYPE           = 0xFB; // IPv4 Address
    ZCL_IPV6ADR_ATTRIBUTE_TYPE           = 0xFC; // IPv6 Address
    ZCL_IPV6PRE_ATTRIBUTE_TYPE           = 0xFD; // IPv6 Prefix
    ZCL_HWADR_ATTRIBUTE_TYPE             = 0xFE; // Hardware Address
    ZCL_UNKNOWN_ATTRIBUTE_TYPE           = 0xFF; // Unknown
}

enum ClusterType {
    ZCL_INVALID_CLUSTER_ID = 0x0000;
    ZCL_POWER_CONFIG_CLUSTER_ID = 0x0001;
    ZCL_DEVICE_TEMP_CLUSTER_ID = 0x0002;
    ZCL_IDENTIFY_CLUSTER_ID = 0x0003;
    ZCL_GROUPS_CLUSTER_ID = 0x0004;
    ZCL_SCENES_CLUSTER_ID = 0x0005;
    ZCL_ON_OFF_CLUSTER_ID = 0x0006;
    ZCL_ON_OFF_SWITCH_CONFIGURATION_CLUSTER_ID = 0x0007;
    ZCL_LEVEL_CONTROL_CLUSTER_ID = 0x0008;
    ZCL_ALARM_CLUSTER_ID = 0x0009;
    ZCL_TIME_CLUSTER_ID = 0x000A;
    ZCL_BINARY_INPUT_BASIC_CLUSTER_ID = 0x000F;
    ZCL_POWER_PROFILE_CLUSTER_ID = 0x001A;
    ZCL_APPLIANCE_CONTROL_CLUSTER_ID = 0x001B;
    ZCL_DESCRIPTOR_CLUSTER_ID = 0x001D;
    ZCL_POLL_CONTROL_CLUSTER_ID = 0x0020;
    ZCL_ACTIONS_CLUSTER_ID = 0x0025;
    ZCL_BASIC_CLUSTER_ID = 0x0028;
    ZCL_OTA_SOFTWARE_UPDATE_PROVIDER_CLUSTER_ID = 0x0029;
    ZCL_OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER_ID = 0x002A;
    ZCL_UNIT_LOCALIZATION_CLUSTER_ID = 0x002D;
    ZCL_POWER_SOURCE_CLUSTER_ID = 0x002F;
    ZCL_GENERAL_COMMISSIONING_CLUSTER_ID = 0x0030;
    ZCL_NETWORK_COMMISSIONING_CLUSTER_ID = 0x0031;
    ZCL_DIAGNOSTIC_LOGS_CLUSTER_ID = 0x0032;
    ZCL_GENERAL_DIAGNOSTICS_CLUSTER_ID = 0x0033;
    ZCL_SOFTWARE_DIAGNOSTICS_CLUSTER_ID = 0x0034;
    ZCL_THREAD_NETWORK_DIAGNOSTICS_CLUSTER_ID = 0x0035;
    ZCL_WIFI_NETWORK_DIAGNOSTICS_CLUSTER_ID = 0x0036;
    ZCL_ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER_ID = 0x0037;
    ZCL_BRIDGED_DEVICE_BASIC_INFORMATION_CLUSTER_ID = 0x0039;
    ZCL_SWITCH_CLUSTER_ID = 0x003B;
    ZCL_ADMINISTRATOR_COMMISSIONING_CLUSTER_ID = 0x003C;
    ZCL_OPERATIONAL_CREDENTIALS_CLUSTER_ID = 0x003E;
    ZCL_FIXED_LABEL_CLUSTER_ID = 0x0040;
    ZCL_BOOLEAN_STATE_CLUSTER_ID = 0x0045;
    ZCL_MODE_SELECT_CLUSTER_ID = 0x0050;
    ZCL_LAUNDRY_WASHER_MODE_CLUSTER_ID = 0x0051;
    ZCL_REFRIGERATOR_AND_TEMPERATURE_CONTROLLED_CABINET_MODE_CLUSTER_ID = 0x0052;
    ZCL_LAUNDRY_WASHER_CONTROLS_CLUSTER_ID = 0x0053;
    ZCL_RVC_RUN_MODE_CLUSTER_ID = 0x0054;
    ZCL_RVC_CLEAN_MODE_CLUSTER_ID = 0x0055;
    ZCL_TEMPERATURE_CONTROL_CLUSTER_ID = 0x0056;
    ZCL_REFRIGERATOR_ALARM_CLUSTER_ID = 0x0057;
    ZCL_DISHWASHER_MODE_CLUSTER_ID = 0x0059;
    ZCL_AIR_QUALITY_CLUSTER_ID = 0x005B;
    ZCL_DISHWASHER_ALARM_CLUSTER_ID = 0x005D;
    ZCL_SMOKE_CO_ALARM_ID = 0x005C;
    ZCL_OPERATIONAL_STATE_CLUSTER_ID = 0x0060;
    ZCL_RVC_OPERATIONAL_STATE_CLUSTER_ID = 0x0061;
    ZCL_HEPA_FILTER_MONITORING_CLUSTER_ID = 0x0071;
    ZCL_ACTIVATED_CARBON_FILTER_MONITORING_CLUSTER_ID = 0x0072;
    ZCL_SHADE_CONFIG_CLUSTER_ID = 0x0100;
    ZCL_DOOR_LOCK_CLUSTER_ID = 0x0101;
    ZCL_WINDOW_COVERING_CLUSTER_ID = 0x0102;
    ZCL_BARRIER_CONTROL_CLUSTER_ID = 0x0103;
    ZCL_PUMP_CONFIGURATION_AND_CONTROL_CLUSTER_ID = 0x0200;
    ZCL_THERMOSTAT_CLUSTER_ID = 0x0201;
    ZCL_FAN_CONTROL_CLUSTER_ID = 0x0202;
    ZCL_DEHUMID_CONTROL_CLUSTER_ID = 0x0203;
    ZCL_THERMOSTAT_USER_INTERFACE_CONFIGURATION_CLUSTER_ID = 0x0204;
    ZCL_COLOR_CONTROL_CLUSTER_ID = 0x0300;
    ZCL_BALLAST_CONFIGURATION_CLUSTER_ID = 0x0301;
    ZCL_ILLUMINANCE_MEASUREMENT_CLUSTER_ID = 0x0400;
    ZCL_TEMPERATURE_MEASUREMENT_CLUSTER_ID = 0x0402;
    ZCL_PRESSURE_MEASUREMENT_CLUSTER_ID = 0x0403;
    ZCL_FLOW_MEASUREMENT_CLUSTER_ID = 0x0404;
    ZCL_RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER_ID = 0x0405;
    ZCL_OCCUPANCY_SENSING_CLUSTER_ID = 0x0406;
    ZCL_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x040C;
    ZCL_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x040D;
    ZCL_ETHYLENE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x040E;
    ZCL_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x040F;
    ZCL_HYDROGEN_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0410;
    ZCL_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0411;
    ZCL_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0412;
    ZCL_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0413;
    ZCL_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0414;
    ZCL_OZONE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0415;
    ZCL_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0416;
    ZCL_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0417;
    ZCL_BROMATE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0418;
    ZCL_CHLORAMINES_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0419;
    ZCL_CHLORINE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x041A;
    ZCL_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x041B;
    ZCL_FLUORIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x041C;
    ZCL_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x041D;
    ZCL_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x041E;
    ZCL_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x041F;
    ZCL_TURBIDITY_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0420;
    ZCL_COPPER_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0421;
    ZCL_LEAD_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0422;
    ZCL_MANGANESE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0423;
    ZCL_SULFATE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0424;
    ZCL_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0425;
    ZCL_BROMOFORM_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0426;
    ZCL_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0427;
    ZCL_CHLOROFORM_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0428;
    ZCL_SODIUM_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x0429;
    ZCL_PM2_5_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x042A;
    ZCL_FORMALDEHYDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x042B;
    ZCL_PM1_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x042C;
    ZCL_PM10_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x042D;
    ZCL_TOTAL_VOLATILE_ORGANIC_COMPOUNDS_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x042E;
    ZCL_RADON_CONCENTRATION_MEASUREMENT_CLUSTER_ID = 0x042F;
    ZCL_IAS_ACE_CLUSTER_ID = 0x0501;
    ZCL_IAS_WD_CLUSTER_ID = 0x0502;
    ZCL_WAKE_ON_LAN_CLUSTER_ID = 0x0503;
    ZCL_CHANNEL_CLUSTER_ID = 0x0504;
    ZCL_TARGET_NAVIGATOR_CLUSTER_ID = 0x0505;
    ZCL_MEDIA_PLAYBACK_CLUSTER_ID = 0x0506;
    ZCL_MEDIA_INPUT_CLUSTER_ID = 0x0507;
    ZCL_LOW_POWER_CLUSTER_ID = 0x0508;
    ZCL_KEYPAD_INPUT_CLUSTER_ID = 0x0509;
    ZCL_CONTENT_LAUNCHER_CLUSTER_ID = 0x050A;
    ZCL_AUDIO_OUTPUT_CLUSTER_ID = 0x050B;
    ZCL_APPLICATION_LAUNCHER_CLUSTER_ID = 0x050C;
    ZCL_APPLICATION_BASIC_CLUSTER_ID = 0x050D;
    ZCL_ACCOUNT_LOGIN_CLUSTER_ID = 0x050E;
    ZCL_CONTENT_CONTROL_CLUSTER_ID = 0x050F;
    ZCL_MESSAGING_CLUSTER_ID = 0x0703;
    ZCL_MESSAGES_CLUSTER_ID = 0x0097;
    ZCL_APPLIANCE_IDENTIFICATION_CLUSTER_ID = 0x0B00;
    ZCL_METER_IDENTIFICATION_CLUSTER_ID = 0x0B01;
    ZCL_APPLIANCE_EVENTS_AND_ALERT_CLUSTER_ID = 0x0B02;
    ZCL_APPLIANCE_STATISTICS_CLUSTER_ID = 0x0B03;
    ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID = 0x0B04;
    ZCL_BINDING_CLUSTER_ID = 0xF000;
    ZCL_GROUP_KEY_MANAGEMENT_CLUSTER_ID = 0xF004;
    ZCL_SAMPLE_MFG_SPECIFIC_CLUSTER_ID = 0xFC00;

    // NOTE: This is a large number that becomes negative as a 32-bit integer.
    //
    // Protobuf documentation states:
    //   Enumerator constants must be in the range of a 32-bit integer. Since enum values
    //   use varint encoding on the wire, negative values are inefficient and thus not recommended.
    ZCL_TEST_CLUSTER_ID = -918523; // 0xFFF1FC05;
}


message AttributeMetadata {
  uint32 endpoint = 1;
  ClusterType cluster = 2;
  uint32 attribute_id = 3;
  AttributeType type = 4;
}

message AttributeData {
  oneof data {
    bool data_bool = 1;
    uint32 data_uint8 = 2;
    uint32 data_uint16 = 3;
    uint32 data_uint32 = 4;
    bytes data_bytes = 5;
    int32 data_int8 = 6;
    int32 data_int16 = 7;
    int32 data_int32 = 8;
  };
  optional bytes tlv_data = 9;
}

message AttributeWrite {
  AttributeMetadata metadata = 1;
  AttributeData data = 2;
}

service Attributes {
  rpc Write(AttributeWrite) returns (pw.protobuf.Empty){}
  rpc Read(AttributeMetadata) returns (AttributeData){}
}
