---
title: SRDataSensor
framework: sensorkit
role: symbol
role_heading: Protocol
path: sensorkit/srdatasensor
---

# SRDataSensor

SRDataSensor serves as the foundational protocol for all sensor types, providing type safety and consistency across the SensorKit ecosystem. Each conforming sensor type specifies the kind of data it produces, enabling compile-time verification and type-safe data access patterns.

## Declaration

```swift
protocol SRDataSensor : Hashable, Sendable
```

## Protocol Requirements

Protocol Requirements Usage Example // Using a specific sensor type let temperatureSensor: SRWristTemperatureSensor = .wristTemperature

// Creating a reader with type safety guard let reader = SRReader(sensor: temperatureSensor) else {     print("Failed to create reader")     return }

// The reader automatically knows the sample type for try await response in reader.fetch(request) {     if let sample: SRWristTemperatureSession = response.sample() {         // Type-safe access to temperature data         print("Temperature: \(sample.temperature)")     } }

## Topics

### Associated Types

- [Sample](sensorkit/srdatasensor/sample.md)

### Type Properties

- [accelerometer](sensorkit/srdatasensor/accelerometer.md)
- [acousticSettings](sensorkit/srdatasensor/acousticsettings.md)
- [ambientLight](sensorkit/srdatasensor/ambientlight.md)
- [ambientPressure](sensorkit/srdatasensor/ambientpressure.md)
- [deviceUsage](sensorkit/srdatasensor/deviceusage.md)
- [electrocardiogram](sensorkit/srdatasensor/electrocardiogram.md)
- [faceMetrics](sensorkit/srdatasensor/facemetrics.md)
- [headphoneMotion](sensorkit/srdatasensor/headphonemotion.md)
- [headphoneSettings](sensorkit/srdatasensor/headphonesettings.md)
- [heartRate](sensorkit/srdatasensor/heartrate.md)
- [keyboardMetrics](sensorkit/srdatasensor/keyboardmetrics.md)
- [mediaEvents](sensorkit/srdatasensor/mediaevents.md)
- [messagesUsage](sensorkit/srdatasensor/messagesusage.md)
- [odometer](sensorkit/srdatasensor/odometer.md)
- [onWristState](sensorkit/srdatasensor/onwriststate.md)
- [pedometerData](sensorkit/srdatasensor/pedometerdata.md)
- [phoneUsage](sensorkit/srdatasensor/phoneusage.md)
- [photoplethysmogram](sensorkit/srdatasensor/photoplethysmogram.md)
- [rotationRate](sensorkit/srdatasensor/rotationrate.md)
- [siriSpeechMetrics](sensorkit/srdatasensor/sirispeechmetrics.md)
- [sleepSessions](sensorkit/srdatasensor/sleepsessions.md)
- [telephonySpeechMetrics](sensorkit/srdatasensor/telephonyspeechmetrics.md)
- [visits](sensorkit/srdatasensor/visits.md)
- [wristTemperature](sensorkit/srdatasensor/wristtemperature.md)

## Relationships

### Inherits From

- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

### Conforming Types

- [SRAccelerometerSensor](sensorkit/sraccelerometersensor.md)
- [SRAcousticSettingsSensor](sensorkit/sracousticsettingssensor.md)
- [SRAmbientLightSensor](sensorkit/srambientlightsensor.md)
- [SRAmbientPressureSensor](sensorkit/srambientpressuresensor.md)
- [SRDeviceUsageSensor](sensorkit/srdeviceusagesensor.md)
- [SRElectrocardiogramSensor](sensorkit/srelectrocardiogramsensor.md)
- [SRFaceMetricsSensor](sensorkit/srfacemetricssensor.md)
- [SRHeadphoneMotionSensor](sensorkit/srheadphonemotionsensor.md)
- [SRHeadphoneSettingsSensor](sensorkit/srheadphonesettingssensor.md)
- [SRHeartRateSensor](sensorkit/srheartratesensor.md)
- [SRKeyboardMetricsSensor](sensorkit/srkeyboardmetricssensor.md)
- [SRMediaEventsSensor](sensorkit/srmediaeventssensor.md)
- [SRMessagesUsageSensor](sensorkit/srmessagesusagesensor.md)
- [SROdometerSensor](sensorkit/srodometersensor.md)
- [SROnWristStateSensor](sensorkit/sronwriststatesensor.md)
- [SRPedometerDataSensor](sensorkit/srpedometerdatasensor.md)
- [SRPhoneUsageSensor](sensorkit/srphoneusagesensor.md)
- [SRPhotoplethysmogramSensor](sensorkit/srphotoplethysmogramsensor.md)
- [SRRotationRateSensor](sensorkit/srrotationratesensor.md)
- [SRSiriSpeechMetricsSensor](sensorkit/srsirispeechmetricssensor.md)
- [SRSleepSessionsSensor](sensorkit/srsleepsessionssensor.md)
- [SRTelephonySpeechMetricsSensor](sensorkit/srtelephonyspeechmetricssensor.md)
- [SRVisitsSensor](sensorkit/srvisitssensor.md)
- [SRWristTemperatureSensor](sensorkit/srwristtemperaturesensor.md)
