Operation Guide

Operating modes and message reference for Thingsee PRESENCE

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.

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

FieldTypeRangeDescription
tsmIdInteger13100Message ID (Movement count report)
tsmEvInteger10Event ID (Timed event)
tsmTsInteger0 to maxUTC timestamp when event occurred
tsmTuidString-Device serial number
moveCountInteger0 to unlimitedCount 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

FieldTypeRangeDescription
tsmIdInteger13102Message ID (Occupancy status)
tsmEvInteger7Event ID (State change event)
tsmTsInteger0 to maxUTC timestamp
tsmTuidString-Device serial number
countInteger0 to unlimitedNumber of times area was occupied since last report
durationInteger0 to unlimitedAccumulated 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 CaseRecommended ModeReason
Visitor counting in doorwayMode 0Need actual count values for traffic analysis
Desk occupancy monitoringMode 1Binary status sufficient, low network traffic
Meeting room statusMode 1State changes more relevant than counts
High-traffic corridorMode 2Balance detail with battery life
Rarely used areaMode 2Minimal reporting when idle
Energy-critical deploymentMode 1Lowest network traffic and power consumption
Detailed analytics requiredMode 0Consistent reporting for trend analysis
Variable traffic patternsMode 2Adapts reporting to activity level

Comparison Table

FeatureMode 0Mode 1Mode 2
Message Type13100 (count)2100 (state)13100 (count)
Reporting FrequencyFixedOn changeVariable
Network TrafficModerateLowVariable
Battery LifeStandardExtendedExtended
Data DetailHighLowMedium
Use CaseCountingOccupancyHybrid
Idle BehaviorStill reportsPeriodic onlyLonger 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)

ThresholdSensitivityTypical Use Case
60-100Very highLarge open areas, distant detection
150DefaultStandard doorways, general use
200-400MediumMedium-sized rooms
500-800LowUnder-desk occupancy
900-1100Very lowSmall 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)