Stove Use Monitors (SUMs) are sensors that track cooking events to verify actual stove usage and prevent stove stacking. A cooking event is recorded when the stove temperature exceeds a defined threshold, providing continuous, objective data about usage patterns.

Key Features

Complete Coverage

Installation required on all active cookstoves unless deviation is justified

Continuous Monitoring

Ongoing measurements with no interruption preferred

Stacking Detection

Track concurrent usage across multiple stoves to prevent double-counting

Data Reliability

Regular collection to prevent data loss when digital transmission isn’t possible

Quick Start

curl -X POST https://api.emerging.eco/v1/devices \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "type": "StoveUseMonitor",
    "householdId": "did:ixo:household/123",
    "stoveId": "did:ixo:stove/456",
    "configuration": {
      "samplingRate": 300,
      "temperatureThreshold": 60,
      "transmissionMode": "realtime"
    }
  }'

Implementation Requirements

Device Configuration

samplingRate
integer
required

Seconds between temperature readings (recommended: 1-5 minutes)

temperatureThreshold
integer
required

Temperature (°C) threshold for cooking event detection

transmissionMode
string
required

“realtime” | “batch” | “manual”

Data Model

{
  "deviceId": "did:ixo:device/sum789",
  "stoveId": "did:ixo:stove/456",
  "readings": [{
    "timestamp": "2024-02-20T08:15:00Z",
    "temperature": 85.4,
    "cookingEvent": true,
    "duration": 1800
  }],
  "status": {
    "battery": 92,
    "signal": "strong",
    "lastSync": "2024-02-20T08:20:00Z"
  }
}

Handling Stove Stacking

from emerging import HouseholdAnalytics

# Analyze stove usage patterns
analytics = HouseholdAnalytics("did:ixo:household/123")

stacking_report = analytics.detect_stacking(
    period_start="2024-02-01",
    period_end="2024-02-28",
    stove_types=["traditional", "improved"]
)

# Get detailed cooking events
events = analytics.get_cooking_events(
    min_duration=1800,  # 30 minutes
    min_temperature=60
)

Integration with Household Monitoring

from emerging import Household, Device

# Get household digital twin
household = Household.get("did:ixo:household/123")

# Register SUMs for all stoves
for stove in household.stoves:
    sum_device = Device.create(
        type="StoveUseMonitor",
        stove_id=stove.id,
        household_id=household.id
    )
    
    # Link to household digital twin
    household.add_device(sum_device)

# Monitor stove usage compliance
compliance = household.check_monitoring_compliance()

Error Handling

400
error

Invalid device configuration

404
error

Device or stove not found

503
error

Data transmission failure

Best Practices

Installation

  • Mount sensors securely
  • Calibrate temperature thresholds
  • Verify signal strength
  • Test data transmission
  • Document any coverage exceptions

Monitoring

  • Check battery levels regularly
  • Validate sensor readings
  • Monitor data completeness
  • Track transmission status
  • Verify continuous operation

Data Collection

  • Implement backup procedures
  • Regular quality checks
  • Document collection frequency
  • Maintain collection records
  • Prevent data loss

Stove Stacking Prevention

  • Monitor all household stoves
  • Track concurrent usage
  • Validate cooking patterns
  • Cross-reference data sources
  • Document usage anomalies

Next Steps

Installation Guide

Sensor placement and setup

Data Collection

Managing SUM data

Analytics Guide

Usage pattern analysis

Household Integration

Digital twin setup