Operation Guide
Overview
Thingsee PRESENCE supports three distinct operating modes configured via cloud API. Each mode has different reporting behavior, network traffic characteristics, and optimal use cases.
Data Latency: There’s always a delay from measurement to alerts. Measurement results are sent in predefined intervals (e.g., 1 minute) and time is needed for data to travel through the network and be processed in the cloud service. This sensor is not suitable for real-time applications requiring instant alerts.
Operating Modes
Mode 0: Movement Count Reporting (Default)
Purpose: Reports indicative count of detected movements for traffic analysis
Characteristics:
- Measurement type - Movement detection count
- Active reporting - Every 1 minute when movement observed (configurable)
- Idle reporting - Every 1 hour if no movement detected (configurable)
- Maximum count - 34 events per minute
- Use cases - Doorways, corridors, entrances, visitor counting
Message Flow:
Interval starts (e.g., 60 seconds)
↓
PIR detects movements → counter increments
↓
At interval end → sends message 13100 with moveCount
↓
Counter resets to 0
↓
Next interval begins
Typical Configuration:
{
"mode": 0,
"threshold": 150
}
Combined with system configuration:
{
"tsmId": 1500,
"measurementInterval": 60,
"reportInterval": 60
}
Network Traffic: Moderate (reports every interval regardless of activity)
Accuracy Considerations:
- People walking side-by-side may count as single detection
- Very slow movement may not trigger detection
- Multiple people in close proximity may undercount
- Best for general traffic trends, not exact counts
Mode 1: Occupancy Reporting
Purpose: Reports workspace or area occupancy status using event-based messaging
Characteristics:
- Measurement type - Occupancy status (occupied/vacant)
- Event reporting - Only when status changes (occupied ↔ vacant)
- Idle reporting - Every 1 hour if no status change (configurable)
- Network efficiency - Reduces Wirepas traffic significantly
- Use cases - Desk occupancy, meeting rooms, individual spaces
Message Flow:
PIR detects movement → state = occupied
↓
Sends message 2100 with state = 1 (occupied)
↓
No movement for threshold period → state = vacant
↓
Sends message 2100 with state = 0 (vacant)
↓
If no state change for passiveReportInterval → periodic update
Typical Configuration:
{
"mode": 1,
"threshold": 150,
"passiveReportInterval": 3600
}
Network Traffic: Low (only on state changes + periodic updates)
Advantages:
- Lower network traffic (only on state changes)
- Reduced power consumption
- Clear binary status (occupied/vacant)
- Suitable for workspace management systems
- Longer battery life
Mode 2: Event-Based Movement Count Reporting
Purpose: Balances detailed movement counting with battery conservation
Characteristics:
- Measurement type - Movement detection count
- Active reporting - Uses reportInterval when movement detected
- Idle reporting - Uses passiveReportInterval when no movement
- Efficiency - Reduces reporting during idle periods
- Use cases - Variable traffic areas, battery conservation priority
Message Flow:
With movement:
Interval starts (reportInterval)
↓
PIR detects movements
↓
At reportInterval → sends message 13100
↓
Continues using reportInterval while movement detected
Without movement:
No movement detected
↓
Uses passiveReportInterval instead
↓
At passiveReportInterval → sends message 13100 with moveCount=0
↓
Returns to reportInterval if movement resumes
Typical Configuration:
{
"mode": 2,
"threshold": 150,
"passiveReportInterval": 3600
}
Combined with system configuration:
{
"tsmId": 1500,
"measurementInterval": 60,
"reportInterval": 60
}
Network Traffic: Variable (low during idle, moderate during activity)
Use Cases:
- Areas with intermittent activity
- Energy-efficient monitoring
- Battery conservation priority
- Reducing cloud data volume
Messages
Message 13100 - Movement Count Report
Profile: Presence and Occupancy Profile (13000-13999)
Used By: Mode 0 (Movement count) and Mode 2 (Event-based movement count)
Purpose: Reports detection count since last report
Triggering:
- Mode 0: Every reportInterval regardless of movement
- Mode 2: Every reportInterval when movement detected, or every passiveReportInterval when no movement
Message Structure:
{
"tsmId": 13100,
"tsmEv": 10,
"tsmTs": 1492603998,
"tsmTuid": "TSPR04123456",
"moveCount": 7
}
Fields
| Field | Type | Range | Description |
|---|---|---|---|
| tsmId | Integer | 13100 | Message ID (Movement count report) |
| tsmEv | Integer | 10 | Event ID (Timed event) |
| tsmTs | Integer | 0 to max | UTC timestamp when event occurred |
| tsmTuid | String | - | Device serial number |
| moveCount | Integer | 0 to unlimited | Count of detections since last report |
Example Interpretation
Message:
{
"tsmId": 13100,
"tsmEv": 10,
"tsmTs": 1492603998,
"tsmTuid": "TSPR04123456",
"moveCount": 7
}
Interpretation:
- Device TSPR04123456 detected 7 movements in the last measurement interval
- Timestamp 1492603998 (UTC) indicates when the interval completed
- Counter has reset to 0 for next interval
- Event type 10 (Timed event) indicates regular scheduled report
Use Cases:
- Traffic counting in doorways
- Visitor flow analysis
- Area popularity tracking
- Trend analysis over time
- Activity heatmaps
Message 13102 - Occupancy Status Report
Profile: Presence and Occupancy Profile (13000-13999)
Used By: Alternative occupancy reporting format (less common)
Purpose: Reports how many times area was occupied and total duration
Message Structure:
{
"tsmId": 13102,
"tsmEv": 7,
"tsmTs": 1492603998,
"tsmTuid": "TSPR04123456",
"count": 5,
"duration": 1800
}
Fields
| Field | Type | Range | Description |
|---|---|---|---|
| tsmId | Integer | 13102 | Message ID (Occupancy status) |
| tsmEv | Integer | 7 | Event ID (State change event) |
| tsmTs | Integer | 0 to max | UTC timestamp |
| tsmTuid | String | - | Device serial number |
| count | Integer | 0 to unlimited | Number of times area was occupied since last report |
| duration | Integer | 0 to unlimited | Accumulated occupied time in seconds |
Example Interpretation
Message:
{
"tsmId": 13102,
"tsmEv": 7,
"tsmTs": 1492603998,
"tsmTuid": "TSPR04123456",
"count": 5,
"duration": 1800
}
Interpretation:
- Area was occupied 5 separate times since last report
- Total occupied time = 1800 seconds (30 minutes)
- Average occupancy duration = 360 seconds (6 minutes) per occurrence
- Event type 7 (State change event) indicates occupancy status changed
Use Cases:
- Workspace utilization analysis
- Meeting room booking efficiency
- Time-based billing
- Occupancy rate calculations
- Historical trend analysis
Mode Selection Guide
When to Use Each Mode
| Use Case | Recommended Mode | Reason |
|---|---|---|
| Visitor counting in doorway | Mode 0 | Need actual count values for traffic analysis |
| Desk occupancy monitoring | Mode 1 | Binary status sufficient, low network traffic |
| Meeting room status | Mode 1 | State changes more relevant than counts |
| High-traffic corridor | Mode 2 | Balance detail with battery life |
| Rarely used area | Mode 2 | Minimal reporting when idle |
| Energy-critical deployment | Mode 1 | Lowest network traffic and power consumption |
| Detailed analytics required | Mode 0 | Consistent reporting for trend analysis |
| Variable traffic patterns | Mode 2 | Adapts reporting to activity level |
Comparison Table
| Feature | Mode 0 | Mode 1 | Mode 2 |
|---|---|---|---|
| Message Type | 13100 (count) | 2100 (state) | 13100 (count) |
| Reporting Frequency | Fixed | On change | Variable |
| Network Traffic | Moderate | Low | Variable |
| Battery Life | Standard | Extended | Extended |
| Data Detail | High | Low | Medium |
| Use Case | Counting | Occupancy | Hybrid |
| Idle Behavior | Still reports | Periodic only | Longer intervals |
Detection Behavior
PIR Sensor Characteristics
Detection Principle:
- Passive infrared (PIR) sensor detects heat source movement
- No emissions - completely passive monitoring
- Privacy-friendly - no cameras or identifying data
Temperature Dependency:
- Requires thermal contrast between person and environment
- Best performance: environment 15-25°C, person 36-37°C
- Reduced performance when ambient temperature approaches body temperature
- Small temperature differences significantly reduce reliability
Movement Requirements:
- Sensor detects movement, not static presence
- Slow-moving individuals may not trigger detection
- Stationary person will not be detected
- Best suited for normal walking speeds
Detection Limitations
Counting Accuracy:
- Multiple simultaneous passages - People walking side-by-side may count as one
- Slow movement - Very slow walkers may not trigger detection
- Dense crowds - Standing/slow-moving queues reduce accuracy
- Wide doorways - Accuracy decreases with doorway width (>1.5m)
Environmental Factors:
- Direct sunlight - Thermal variations reduce accuracy
- Heat sources - Radiators, HVAC vents cause false triggers
- Temperature changes - Rapid ambient changes reduce sensitivity
- Installation height - Too high creates excessively large detection area
Maximum Detection Rate
- Limit: 34 movements per minute
- Behavior: If more than 34 movements occur, counter saturates at 34
- Impact: Very high traffic may be undercounted
- Mitigation: Use multiple sensors for wide or high-traffic areas
Configuration Impact on Operation
Sensitivity (threshold parameter)
| Threshold | Sensitivity | Typical Use Case |
|---|---|---|
| 60-100 | Very high | Large open areas, distant detection |
| 150 | Default | Standard doorways, general use |
| 200-400 | Medium | Medium-sized rooms |
| 500-800 | Low | Under-desk occupancy |
| 900-1100 | Very low | Small zones, reducing false triggers |
Effect on Operation:
- Lower threshold = more sensitive = more detections = potential false positives
- Higher threshold = less sensitive = fewer detections = potential missed movements
Report Intervals
reportInterval (Mode 0 & 2):
- How often sensor sends messages when active
- Shorter = more frequent data, higher battery drain
- Longer = less frequent data, extended battery life
- Typical: 60-300 seconds
passiveReportInterval (Mode 1 & 2):
- How often sensor sends messages when inactive
- Only used in modes 1 and 2
- Much longer than reportInterval (typically 3600+ seconds)
- Provides periodic “heartbeat” even when no activity
LED Indicator
When Enabled:
- Red flash on movement detection
- Useful for installation verification
- Minimal battery impact (<5%)
- Should be disabled for production
When Disabled:
- No visual feedback
- Standard production configuration
- Maximizes battery life
Message Flow Examples
Example 1: Doorway Counter (Mode 0)
Configuration:
- Mode: 0
- reportInterval: 60s
- threshold: 150
Timeline:
00:00 - Interval starts, counter = 0
00:15 - Person passes, counter = 1
00:30 - Person passes, counter = 2
00:45 - Person passes, counter = 3
01:00 - Interval ends, sends message: moveCount = 3, counter resets
01:00 - Next interval starts, counter = 0
01:30 - Person passes, counter = 1
02:00 - Interval ends, sends message: moveCount = 1, counter resets
Example 2: Desk Occupancy (Mode 1)
Configuration:
- Mode: 1
- passiveReportInterval: 3600s
- threshold: 800
Timeline:
08:00 - Person sits down, movement detected
08:01 - State changes to "occupied", sends message: state = 1
08:05 - Small movements (typing, mouse) keep state occupied
12:00 - Person leaves for lunch
12:02 - No movement for threshold period
12:03 - State changes to "vacant", sends message: state = 0
13:00 - Person returns
13:01 - Movement detected, state changes to "occupied", sends message: state = 1
Example 3: Corridor Monitoring (Mode 2)
Configuration:
- Mode: 2
- reportInterval: 120s (active)
- passiveReportInterval: 7200s (idle)
- threshold: 100
Timeline:
08:00 - High traffic period begins
08:02 - Sends message: moveCount = 15 (using 120s interval)
08:04 - Sends message: moveCount = 12 (using 120s interval)
...
17:00 - Traffic decreases, last movement
17:02 - Sends message: moveCount = 3 (using 120s interval)
17:04 - No movement, switches to passive interval
19:04 - Sends message: moveCount = 0 (using 7200s interval - 2 hours later)
Related Documentation
- Installation Guide - Installation procedures and verification
- Configuration Reference - Complete configuration parameters
- Troubleshooting - Operation issues and solutions
- Technical Specifications - Complete technical specs
- CBOR to JSON Conversion - Message decoding guide
- Presence and Occupancy Profile - Complete message profile