Sensors Resource (Legacy)
Access legacy v1 sensor endpoints for temperature, humidity, door status, and cargo monitoring.
Note: This resource uses the legacy v1 API endpoints.
Basic Usage
use Samsara\Facades\Samsara;
// List all sensors
$sensors = Samsara::sensors()->list([
'groupId' => 'group-123',
]);
Sensor Data Methods
Temperature
$temperatures = Samsara::sensors()->temperature([
'groupId' => 'group-123',
'sensors' => [
['id' => 'sensor-1'],
['id' => 'sensor-2'],
],
]);
Humidity
$humidity = Samsara::sensors()->humidity([
'groupId' => 'group-123',
'sensors' => [
['id' => 'sensor-1'],
],
]);
Door Status
$doorStatus = Samsara::sensors()->door([
'groupId' => 'group-123',
'sensors' => [
['id' => 'sensor-1'],
],
]);
Cargo Status
$cargoStatus = Samsara::sensors()->cargo([
'groupId' => 'group-123',
'sensors' => [
['id' => 'sensor-1'],
],
]);
Sensor History
$history = Samsara::sensors()->history([
'groupId' => 'group-123',
'sensors' => [
[
'id' => 'sensor-1',
'series' => ['temperature', 'humidity'],
],
],
'startMs' => 1609459200000,
'endMs' => 1609545600000,
'stepMs' => 3600000,
]);
Common Use Cases
Monitor Refrigerated Trailer Temperature
// Get current temperature readings
$temperatures = Samsara::sensors()->temperature([
'groupId' => $groupId,
'sensors' => [
['id' => $temperatureSensorId],
],
]);
foreach ($temperatures['sensors'] as $sensor) {
$tempF = $sensor['ambientTemperature'];
if ($tempF > 40) {
// Alert: Temperature too high for cold storage
Log::warning("Sensor {$sensor['id']} temperature alert: {$tempF}F");
}
}
Track Door Open/Close Events
$doorStatus = Samsara::sensors()->door([
'groupId' => $groupId,
'sensors' => array_map(fn ($id) => ['id' => $id], $doorSensorIds),
]);
foreach ($doorStatus['sensors'] as $sensor) {
if ($sensor['doorClosed'] === false) {
Log::info("Door sensor {$sensor['id']} reports door is OPEN");
}
}