IoT Monitoring
Overview
Internet of Things (IoT) monitoring solutions connect physical devices to digital infrastructure, enabling real-time data collection, analysis, and automation. The De. platform provides comprehensive tools for device management, telemetry processing, and rule-based automation across logistics, supply chain, and asset tracking applications.
Key Capabilities
Device Management
Register, configure, and monitor IoT devices at scale:
// Register a new device
const device = await de.iotb.devices.register({
name: 'Trailer GPS Tracker',
type: 'gps_tracker',
model: 'AssetTracker Pro',
uniqueId: 'IMEI:356938035643809',
metadata: {
installDate: '2026-01-15',
firmware: '2.1.5',
batteryType: 'lithium',
location: 'rear-left'
}
})
// Provision device with credentials
const credentials = await de.iotb.devices.provision({
deviceId: device.id,
authType: 'certificate',
expiresIn: '365d'
})
console.log('Device provisioned:', device.id)
console.log('Certificate:', credentials.certificate)
console.log('Private key:', credentials.privateKey)
// Get device status and health
const status = await de.iotb.devices.getStatus({
deviceId: device.id,
includeMetrics: true,
includeConnectivity: true
})
console.log('Online status:', status.online)
console.log('Last seen:', status.lastSeen)
console.log('Battery level:', status.metrics.batteryLevel)
console.log('Signal strength:', status.connectivity.signalStrength)Real-Time Telemetry
Process, store, and analyze device data streams:
// Configure telemetry schema
await de.iotb.telemetry.configureSchema({
deviceType: 'environmental_sensor',
schema: {
temperature: { type: 'number', unit: 'celsius' },
humidity: { type: 'number', unit: 'percent' },
pressure: { type: 'number', unit: 'hPa' },
batteryLevel: { type: 'number', unit: 'percent' },
tamperDetected: { type: 'boolean' }
},
validationEnabled: true
})
// Subscribe to telemetry stream
de.iotb.telemetry.subscribe('device/+/temperature', (message, topic) => {
const deviceId = topic.split('/')[1]
console.log(`Temperature from ${deviceId}:`, message.value, message.unit)
})
// Query historical telemetry
const history = await de.iotb.telemetry.query({
deviceId: 'dev_123',
metrics: ['temperature', 'humidity'],
timeRange: {
start: '2026-01-01T00:00:00Z',
end: '2026-01-15T23:59:59Z'
},
aggregation: {
function: 'avg',
interval: '1h'
},
limit: 1000
})
// Process telemetry with stream analytics
await de.iotb.analytics.createPipeline({
name: 'Temperature Anomaly Detection',
source: {
type: 'mqtt',
topic: 'device/+/temperature'
},
processors: [
{
type: 'filter',
condition: 'value > 30 OR value < -10'
},
{
type: 'enrich',
fields: ['deviceMetadata', 'locationName']
}
],
sink: {
type: 'alert',
channel: 'high_priority'
}
})Rules & Automation
Create rule-based automations for device events:
// Create a rule to detect temperature anomalies
const rule = await de.iotb.rules.create({
name: 'High Temperature Alert',
description: 'Alert when temperature exceeds threshold',
condition: {
type: 'comparison',
field: 'temperature',
operator: 'greater_than',
value: 25
},
actions: [
{
type: 'notification',
channel: 'email',
recipients: ['[email protected]'],
template: 'temperature_alert'
},
{
type: 'webhook',
url: 'https://example.com/api/alerts',
headers: { 'Content-Type': 'application/json' },
includeDeviceDetails: true
}
],
scope: {
deviceTypes: ['environmental_sensor'],
tags: ['cold_chain', 'perishable']
},
severity: 'high',
throttle: { period: '5m', maxExecutions: 3 }
})
// Create a geofence rule
await de.iotb.rules.createGeofenceRule({
name: 'Warehouse Arrival',
description: 'Detect device arrival at warehouse',
geofence: {
name: 'Warehouse Zone',
type: 'circle',
center: {
latitude: 37.7749,
longitude: -122.4194
},
radius: 200 // meters
},
events: ['enter', 'exit'],
actions: [
{
type: 'webhook',
url: 'https://example.com/api/arrivals',
method: 'POST',
payload: {
event: '{{event}}',
deviceId: '{{deviceId}}',
timestamp: '{{timestamp}}'
}
},
{
type: 'mqtt',
topic: 'warehouse/device/{{deviceId}}/{{event}}',
payload: { timestamp: '{{timestamp}}' }
}
],
scope: {
deviceTypes: ['gps_tracker'],
tags: ['asset', 'vehicle']
}
})
// Test rule against sample data
const testResult = await de.iotb.rules.test({
ruleId: rule.id,
sampleData: {
temperature: 28,
humidity: 45,
deviceId: 'dev_456'
}
})
console.log('Rule would trigger:', testResult.wouldTrigger)
console.log('Actions to execute:', testResult.actionsToExecute)Asset Tracking
Monitor and manage assets with IoT devices:
// Link device to asset
await de.iotb.assets.linkDevice({
assetId: 'ast_789',
deviceId: 'dev_456',
relationship: 'primary_tracker'
})
// Get asset location history
const locations = await de.iotb.assets.getLocationHistory({
assetId: 'ast_789',
startTime: '2026-01-14T00:00:00Z',
endTime: '2026-01-15T23:59:59Z',
resolution: 'medium', // or 'high', 'low'
includeStops: true,
includePath: true
})
// Create a shared tracking link
const trackingLink = await de.iotb.tracking.createLink({
assetId: 'ast_789',
expiresIn: '24h',
shareMode: 'location_only',
refreshInterval: 60, // seconds
notifyAsset: false
})
console.log('Tracking URL:', trackingLink.url)
console.log('Expires at:', trackingLink.expiresAt)Remote Control
Remotely control and configure devices:
// Send command to device
await de.iotb.devices.sendCommand({
deviceId: 'dev_456',
command: 'set_reporting_interval',
parameters: { intervalSeconds: 300 },
priority: 'normal',
timeout: 30, // seconds
waitForResponse: true
})
// Update device firmware
const firmwareUpdate = await de.iotb.devices.updateFirmware({
deviceId: 'dev_456',
firmwareVersion: '2.2.0',
firmwareUrl: 'https://firmware.example.com/v2.2.0/tracker-pro.bin',
scheduledTime: '2026-01-16T02:00:00Z', // off-peak hours
rollbackOnFailure: true,
validateChecksum: true
})
// Monitor firmware update status
de.iotb.devices.getFirmwareUpdateStatus({
updateId: firmwareUpdate.id,
includeStats: true
}).then(status => {
console.log('Update status:', status.state)
console.log('Progress:', status.progress)
console.log('Estimated completion:', status.estimatedCompletion)
})Integration Points
Sensor Integration
Connect and integrate with various sensor types:
Environmental Monitoring
- Temperature and humidity sensors
- Air quality and gas detection
- Pressure and vibration sensors
Asset Tracking
- GPS and cellular trackers
- BLE beacons and RFID systems
- Motion and accelerometer sensors
Power Management
- Battery monitoring
- Solar charging systems
- Power optimization strategies
Cloud Integration
Connect IoT data with cloud services:
Data Storage
- Time-series database integration
- Data lake connection
- Archive and retention policies
Analytics Integration
- Stream processing
- Machine learning pipelines
- Business intelligence tools
Multi-cloud Support
- AWS IoT Core integration
- Azure IoT Hub connection
- Google Cloud IoT compatibility
Enterprise Systems
Integrate IoT data with business systems:
ERP Integration
- Asset management systems
- Inventory and warehouse management
- Maintenance planning
Supply Chain Visibility
- Order tracking and monitoring
- Chain-of-custody verification
- Condition monitoring
Compliance & Reporting
- Environmental monitoring
- Temperature record compliance
- Audit trail and reporting
Benefits
- Real-time Visibility - Monitor assets and conditions in real-time
- Predictive Maintenance - Anticipate failures before they occur
- Operational Efficiency - Automate processes and reduce manual checks
- Enhanced Security - Monitor asset location and detect tampering
- Compliance Support - Maintain records for regulatory requirements
API Reference
For detailed API documentation including endpoints, schemas, and examples:

