Didactum Monitoring & OSI NetExpert Integration
Complete step-by-step guide for integrating Didactum Monitoring devices and sensors into OSI NetExpert via SNMP – including device definition in the NetExpert Object Model, MIB import into the NetExpert MIB Browser, Rule Engine configuration for threshold and trap-based alarms, complete OID reference for all sensor types (temperature, leakage, humidity, door contact, smoke) as well as notification and dashboard configuration.
Architecture Note: OSI NetExpert works with a rule-based approach (Rule Engine). The Didactum device is defined as a managed object in the NetExpert Object Model. NetExpert polls the Didactum device via SNMP-GET (UDP port 161) and receives SNMP Traps from the Didactum device (UDP port 162). The Rule Engine evaluates incoming SNMP data and Traps, generates alarms and triggers automatic actions.
- Software: OSI NetExpert (current version)
- Components: NetExpert Server, Rule Engine, MIB Browser, Object Model Editor
- Protocol: SNMP v1 / v2c / v3
- Devices: Didactum Monitoring System 100T / 300T / 500T / 550T
- Sensors: Temperature, Leakage, Humidity, Door Contact, Smoke
1. Prerequisites & System Overview
OSI NetExpert Server
| Component | Requirement / Details |
|---|---|
| OSI NetExpert Version | Current version recommended; Rule Engine and MIB Browser must be enabled |
| NetExpert Server | Reachable via network from the Didactum device (for trap sending) |
| SNMP Poller | Integrated in NetExpert; UDP port 161 outbound to the Didactum device open |
| SNMP Trap Receiver | UDP port 162 inbound open on the NetExpert server |
| Object Model Editor | For defining the Didactum device as a Managed Object |
| Rule Engine | For threshold rules and trap-based alerting |
| MIB Browser | For importing the Didactum MIB and OID resolution |
Didactum Device
| Requirement | Details |
|---|---|
| Model | Monitoring System 100T, 300T, 500T or 550T |
| SNMP | SNMP enabled (v2c recommended) |
| Community String | Individual Community String (do not use "public") |
| Trap Target | IP address of the OSI NetExpert server |
| MIB File | Downloadable under System Settings → SNMP |
Enterprise OIDs by Firmware Generation
| Device / Firmware | Enterprise OID (Base) |
|---|---|
| Older models / older firmware | .1.3.6.1.4.1.46501 |
| Newer models / current firmware | .1.3.6.1.4.1.39052 |
Note: Determine which Enterprise OID your device uses with:
snmpwalk -v 2c -c public 192.168.1.50 .1.3.6.1.2.1.1.2.0
2. Enable SNMP on the Didactum Device
Step 1 – Open Web Interface
192.168.1.50 (adjust IP of the Didactum device)
Step 2 – Access SNMP Settings
System Settings → SNMP
Step 3 – Enter the following values
| Field in Didactum Web Interface | Recommended Value |
|---|---|
| Enable SNMP | Enabled |
| SNMP Version | v2c (recommended) |
| Community String (Read) | didactum_netexpert (do not use "public"!) |
| SNMP Port | 161 |
| Trap Destination | IP address of the OSI NetExpert server |
| Trap Community | didactum_trap |
| Trap Port | 162 |
Step 4 – Download MIB File
System Settings → SNMP → "Download MIB File" File is saved as didactum.mib. This file is imported in Step 3 into NetExpert.
Save settings. The device will now send Traps to the NetExpert server.
3. Import MIB File into OSI NetExpert
The NetExpert MIB Browser is used to import the Didactum MIB and resolve OID numbers into readable symbolic names. This is a prerequisite for the later configuration of SNMP polling rules and trap definitions in the Rule Engine.
Step 1 – Determine MIB Directory
Default path on Windows: C:\Program Files\OSI\NetExpert\mibs\ Default path on Linux: /opt/osi/netexpert/mibs/ (Exact path depending on installation; check NetExpert installation documentation if necessary)
Step 2 – Copy MIB File to NetExpert MIB Directory
Copy didactum.mib to the NetExpert MIB directory: → <netexpert-install-path>\mibs\didactum.mib
Step 3 – Load MIB via NetExpert MIB Browser
OSI NetExpert → Tools → MIB Browser → Load MIB → Select file didactum.mib → Confirm import → In the MIB tree appears: iso → org → dod → internet → private → enterprises → didactum → Enterprise OID .1.3.6.1.4.1.46501 is resolved with symbolic names
Step 4 – Verify MIB Import
OSI NetExpert MIB Browser → OID Search: DIDACTUM-MIB::sensorValue → Result: .1.3.6.1.4.1.46501.5.1.1.7 (correct resolution confirmed) MIB Browser → OID Search: .1.3.6.1.4.1.46501.5.1.1.7.101001 → Result: DIDACTUM-MIB::sensorValue.101001 (symbolic name appears)
Completed MIB Import Configuration (DIDACTUM-MIB.txt)
If no MIB file is available from the device, save the following minimal MIB structure as DIDACTUM-MIB.txt, copy it to the NetExpert MIB directory and import as described above:
-- ================================================================
-- DIDACTUM-MIB – Minimal MIB for OSI NetExpert Import
-- File: DIDACTUM-MIB.txt
-- For older devices: enterprises.46501
-- For newer devices: enterprises.39052 (adjust OID)
-- ================================================================
DIDACTUM-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, Integer32, enterprises
FROM SNMPv2-SMI
NOTIFICATION-TYPE
FROM SNMPv2-SMI;
didactum MODULE-IDENTITY
LAST-UPDATED "202401010000Z"
ORGANIZATION "Didactum Security GmbH"
CONTACT-INFO "support@didactum-security.com"
DESCRIPTION "Didactum Monitoring System MIB"
::= { enterprises 46501 }
sensorTable OBJECT-TYPE
SYNTAX SEQUENCE OF SensorEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Table of all connected sensors"
::= { didactum 5 1 1 }
sensorEntry OBJECT-TYPE
SYNTAX SensorEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION "Single sensor entry"
INDEX { sensorIndex }
::= { sensorTable 1 }
SensorEntry ::= SEQUENCE {
sensorIndex Integer32,
sensorID Integer32,
sensorType Integer32,
sensorName OCTET STRING,
sensorStatus Integer32,
sensorValue Integer32
}
sensorIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current
DESCRIPTION "Index" ::= { sensorEntry 1 }
sensorID OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current
DESCRIPTION "Sensor ID" ::= { sensorEntry 2 }
sensorType OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current
DESCRIPTION "Sensor Type" ::= { sensorEntry 3 }
sensorName OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current
DESCRIPTION "Sensor Name" ::= { sensorEntry 5 }
sensorStatus OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current
DESCRIPTION "0=OK 1=Alarm 2=No Signal" ::= { sensorEntry 6 }
sensorValue OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current
DESCRIPTION "Measured value (Temperature: x10)" ::= { sensorEntry 7 }
didactumAlarmTrap NOTIFICATION-TYPE
OBJECTS { sensorName, sensorStatus, sensorValue }
STATUS current
DESCRIPTION "Alarm Trap on sensor status change"
::= { didactum 1 1 }
END
4. Add Didactum Device in NetExpert Object Model
OSI NetExpert manages all monitored devices in the Object Model. The Didactum device is created there as a Managed Object and receives a device class definition that describes all SNMP attributes (OIDs) as well as their polling intervals and thresholds.
Step 1 – Open Object Model Editor
OSI NetExpert → Administration → Object Model Editor → Alternatively: NetExpert Console → Tools → Object Model
Step 2 – Create New Device Class
Object Model Editor → Device Classes → New Class Class Name: DidactumMonitoringSystem Description: Didactum Environmental Monitoring Device SNMP Version: v2c Base OID: .1.3.6.1.4.1.46501 MIB: DIDACTUM-MIB Icon: Environmental Monitor (select from NetExpert icon library)
Step 3 – Add SNMP Attributes to Device Class
Object Model Editor → DidactumMonitoringSystem → Attributes → Add Attribute -- Attribute 1: Temperature Sensor Measured Value -- Attribute Name: temperature_value_01 OID: .1.3.6.1.4.1.46501.5.1.1.7.101001 Data Type: Integer Description: Temperature Sensor 01 – raw value x10 (235 = 23.5 °C) Poll Interval: 60 -- Attribute 2: Temperature Sensor Status -- Attribute Name: temperature_status_01 OID: .1.3.6.1.4.1.46501.5.1.1.6.101001 Data Type: Integer Description: 0=OK, 1=Alarm, 2=No Signal Poll Interval: 60 -- Attribute 3: Leakage Measured Value -- Attribute Name: leakage_value_01 OID: .1.3.6.1.4.1.46501.5.1.1.7.107001 Data Type: Integer Description: 0=dry/OK, 1=Water detected/CRITICAL Poll Interval: 30 -- Attribute 4: Humidity Measured Value -- Attribute Name: humidity_value_01 OID: .1.3.6.1.4.1.46501.5.1.1.7.102001 Data Type: Integer Description: Humidity in % Poll Interval: 60 -- Attribute 5: Door Contact Measured Value -- Attribute Name: door_contact_01 OID: .1.3.6.1.4.1.46501.5.1.1.7.104001 Data Type: Integer Description: 0=closed/OK, 1=open/Warning Poll Interval: 30 -- Attribute 6: Smoke Detector Measured Value -- Attribute Name: smoke_detector_01 OID: .1.3.6.1.4.1.46501.5.1.1.7.106001 Data Type: Integer Description: 0=no smoke/OK, 1=Alarm/CRITICAL Poll Interval: 30
Step 4 – Save and Publish Device Class
Object Model Editor → DidactumMonitoringSystem → File → Save → Click "Publish to NetExpert Server" → Device class is now available for device instance creation
Step 5 – Create Device Instance
OSI NetExpert → Network Map → Add Device (or: Topology → New Managed Object) Device Name: Didactum-Monitor-01 IP Address: 192.168.1.50 Device Class: DidactumMonitoringSystem SNMP Community: didactum_netexpert SNMP Version: v2c SNMP Port: 161 Location: Server Room Description: Didactum Monitoring System 300T – Server Room → Save → Device appears in the Network Map
5. Rule Engine – Configure Threshold Rules
The NetExpert Rule Engine is the heart of alarm processing. A rule is defined for each Didactum sensor that generates an alarm when a threshold is exceeded and triggers actions (email, SNMP Trap forward, script).
Important – Temperature Thresholds: The Didactum device delivers temperature values as raw value × 10. 25.5 °C = OID value 255. All temperature thresholds in the Rule Engine must also be specified × 10.
Open Rule Engine
OSI NetExpert → Administration → Rule Engine Editor → Alternatively: NetExpert Console → Tools → Rules
Rule 1 – Temperature Warning
Rule Engine Editor → New Rule
Rule Name: Didactum_Temperature_Warning
Trigger: SNMP Poll Result
Device Class: DidactumMonitoringSystem
Attribute: temperature_value_01
Condition: value >= 280 AND value < 350
(raw value: 280 = 28.0 °C / 350 = 35.0 °C)
Severity: Warning
Alarm Message: Didactum Temperature Warning: Raw value ${value} corresponds to ${value/10} °C
Action: Create Alarm + Send Email
Auto-Clear: Yes (Alarm is cleared when value < 270)
→ SaveRule 2 – Temperature Critical
Rule Name: Didactum_Temperature_Critical
Trigger: SNMP Poll Result
Attribute: temperature_value_01
Condition: value >= 350
Severity: Critical
Alarm Message: CRITICAL: Didactum Temperature Alarm: Raw value ${value} corresponds to ${value/10} °C
Action: Create Alarm + Send Email + Execute Script
Auto-Clear: Yes (Alarm is cleared when value < 340)
→ SaveRule 3 – Temperature Sensor No Signal
Rule Name: Didactum_Temperature_NoSignal Trigger: SNMP Poll Result Attribute: temperature_status_01 Condition: value == 2 Severity: Warning Alarm Message: Didactum: Temperature sensor 01 delivers no signal (Status = 2) → Save
Rule 4 – Leakage / Water Sensor Critical
Rule Name: Didactum_Leakage_Critical
Trigger: SNMP Poll Result
Attribute: leakage_value_01
Condition: value >= 1
Severity: Critical
Alarm Message: CRITICAL: Didactum Leakage Alarm – Water detected! Device: ${device.name}
Action: Create Alarm + Send Email (immediate, no delay)
Auto-Clear: Yes (Alarm is cleared when value == 0)
→ SaveRule 5 – Humidity Warning
Rule Name: Didactum_Humidity_Warning
Attribute: humidity_value_01
Condition: value >= 80 AND value < 90
Severity: Warning
Alarm Message: Didactum Humidity Warning: ${value} %
Auto-Clear: Yes (value < 75)
→ SaveRule 6 – Humidity Critical
Rule Name: Didactum_Humidity_Critical
Attribute: humidity_value_01
Condition: value >= 90
Severity: Critical
Alarm Message: CRITICAL: Didactum Humidity Alarm: ${value} %
Auto-Clear: Yes (value < 85)
→ SaveRule 7 – Door Contact Open
Rule Name: Didactum_DoorContact_Warning
Attribute: door_contact_01
Condition: value == 1
Severity: Warning
Alarm Message: Didactum Door Contact: Door opened – Device: ${device.name}
Auto-Clear: Yes (value == 0)
→ SaveRule 8 – Smoke Detector Critical
Rule Name: Didactum_Smoke_Critical
Attribute: smoke_detector_01
Condition: value == 1
Severity: Critical
Alarm Message: CRITICAL: Didactum Smoke Detector Alarm! Device: ${device.name}
Action: Create Alarm + Send Email + Execute Script
Auto-Clear: Yes (value == 0)
→ SaveActivate All Rules
Rule Engine Editor → File → Save All Rules
→ Click "Deploy Rules to NetExpert Server"
→ Restart Rule Engine if necessary:
Administration → Services → Rule Engine → Restart6. SNMP Trap Reception and Trap Rules Configuration
In addition to SNMP polling, OSI NetExpert receives SNMP Traps from the Didactum device. A separate trap rule is defined in the Rule Engine for each Trap OID.
Step 1 – Activate SNMP Trap Receiver
OSI NetExpert → Administration → SNMP Settings → Trap Receiver Listen Port: 162 Community: didactum_trap SNMP Version: v2c MIB: DIDACTUM-MIB (previously imported) → Activate "Enable Trap Receiver" → Save
Step 2 – Authorize Trap Source
OSI NetExpert → Administration → SNMP Settings → Allowed Trap Sources → "Add Source" → IP Address: 192.168.1.50 → Community: didactum_trap → Save
Step 3 – Create Trap Rules in the Rule Engine
Rule Engine Editor → New Rule → Trigger: SNMP Trap
-- Trap Rule 1: General Didactum Alarm Trap --
Rule Name: Didactum_Trap_Alarm
Trigger: SNMP Trap
Trap OID: .1.3.6.1.4.1.46501.1.1 (didactumAlarmTrap)
Source IP: 192.168.1.50
Community: didactum_trap
Severity: Critical
Alarm Message: Didactum Trap Alarm: ${trapVarBind[sensorName]} –
Status ${trapVarBind[sensorStatus]} –
Value ${trapVarBind[sensorValue]}
Action: Create Alarm + Send Email
→ Save
-- Trap Rule 2: Clear (optional) --
Rule Name: Didactum_Trap_Clear
Trigger: SNMP Trap
Trap OID: .1.3.6.1.4.1.46501.1.2
Severity: Clear / Informational
Alarm Message: Didactum: ${trapVarBind[sensorName]} – State back to normal
Action: Clear Alarm + Send Email
→ SaveStep 4 – Check Trap Forwarding in Didactum Web Interface
Didactum Web Interface → System Settings → SNMP → Trap Targets Trap Destination: 192.168.1.100 (IP of the OSI NetExpert server) Trap Community: didactum_trap Trap Version: v2c Trap Port: 162 → Save
7. Configure Notifications
Configure Email Action in Rule Engine
OSI NetExpert → Administration → Notification Manager → New Email Action
Action Name: Didactum_Email_Admin
SMTP Server: mail.yourdomain.com
From: netexpert@yourdomain.com
To: admin@yourdomain.com
Subject: [NetExpert] Didactum Alarm: ${alarm.device} – ${alarm.severity}
Body:
Timestamp: ${alarm.timestamp}
Device: ${alarm.device} (${alarm.ip})
Rule Name: ${alarm.rule}
Severity: ${alarm.severity}
Attribute: ${alarm.attribute}
Value: ${alarm.value}
Message: ${alarm.message}
Location: ${alarm.location}
→ SaveConfigure Escalation Policy
OSI NetExpert → Administration → Escalation Policies → New Policy
Policy Name: Didactum_Escalation
Applies to: Device Class DidactumMonitoringSystem
Level 1 – Immediate (0 minutes):
Action: Email to admin@yourdomain.com
Condition: Severity Warning OR Critical
Level 2 – After 5 minutes (alarm still active):
Action: Email to it-management@yourdomain.com
Condition: Severity Critical
Level 3 – After 15 minutes (alarm still active):
Action: SNMP Trap forward to SIEM or another NMS
Condition: Severity Critical
→ Save8. Configure Network Map and Dashboard
Step 1 – Position Didactum Device in Network Map
OSI NetExpert → Network Map → Server Room Topology → Drag Didactum-Monitor-01 into the map → Icon: Environmental Monitor → Color Coding: Green (OK), Yellow (Warning), Red (Critical) → Tooltip: Shows current status of all configured attributes
Step 2 – Create Dashboard View
OSI NetExpert → Dashboards → New Dashboard
Dashboard Name: Server Room Monitoring Didactum
Widget 1: Performance Chart – Temperature Trend
Device: Didactum-Monitor-01
Attribute: temperature_value_01
Time Range: Last 24 hours
Y-Axis: Raw value (÷10 = °C)
Lines: Warning at 280 / Critical at 350
Widget 2: Status Indicator – Leakage
Device: Didactum-Monitor-01
Attribute: leakage_value_01
OK: Green (0)
Critical: Red (1)
Widget 3: Gauge – Humidity
Device: Didactum-Monitor-01
Attribute: humidity_value_01
Min / Max: 0 / 100 %
Warning: 80 %
Critical: 90 %
Widget 4: Status Indicator – Door Contact
Attribute: door_contact_01
Widget 5: Status Indicator – Smoke Detector
Attribute: smoke_detector_01
Widget 6: Active Alarms List
Filter: Device Class = DidactumMonitoringSystem
Shows all active alarms and trap events in real timeStep 3 – Configure Alarm Console
OSI NetExpert → Alarm Console → Filter → New Filter Filter Name: Didactum Alarms Device Class: DidactumMonitoringSystem Severity: Warning, Critical → Save as default tab in the Alarm Console
9. SNMP OID Reference for Didactum Sensors
All Didactum OIDs start with .1.3.6.1.4.1.46501 (older firmware) or .1.3.6.1.4.1.39052 (newer models). The sensor ID is appended at the end.
OID Fields per Sensor
| Field | OID Suffix | Meaning | Example (Sensor 101001) |
|---|---|---|---|
| Sensor Index | .5.1.1.1.SENSOR_ID | Internal index | .1.3.6.1.4.1.46501.5.1.1.1.101001 |
| Sensor ID | .5.1.1.2.SENSOR_ID | Numeric sensor ID | .1.3.6.1.4.1.46501.5.1.1.2.101001 |
| Sensor Type | .5.1.1.3.SENSOR_ID | Type identifier | .1.3.6.1.4.1.46501.5.1.1.3.101001 |
| Sensor Name | .5.1.1.5.SENSOR_ID | Designation (String) | .1.3.6.1.4.1.46501.5.1.1.5.101001 |
| Sensor Status | .5.1.1.6.SENSOR_ID | 0=OK, 1=Alarm, 2=No Signal | .1.3.6.1.4.1.46501.5.1.1.6.101001 |
| Sensor Measured Value | .5.1.1.7.SENSOR_ID | Current measured value | .1.3.6.1.4.1.46501.5.1.1.7.101001 |
Sensor Types with Complete OIDs and NetExpert Rule Engine Thresholds
| Sensor Type | Sensor ID | OID Measured Value | OID Status | Rule Engine Threshold |
|---|---|---|---|---|
| Temperature Sensor (digital) | 101001 | .1.3.6.1.4.1.46501.5.1.1.7.101001 | .1.3.6.1.4.1.46501.5.1.1.6.101001 | Warning >= 280 / Critical >= 350 (raw value × 10) |
| Temperature Sensor (analog) | 201001 | .1.3.6.1.4.1.39052.5.2.1.7.201001 | .1.3.6.1.4.1.39052.5.2.1.6.201001 | Warning >= 280 / Critical >= 350 (× 10) |
| Water Sensor / Leakage | 107001 | .1.3.6.1.4.1.46501.5.1.1.7.107001 | .1.3.6.1.4.1.46501.5.1.1.6.107001 | Critical >= 1 (0 = dry / OK) |
| Humidity | 102001 | .1.3.6.1.4.1.46501.5.1.1.7.102001 | .1.3.6.1.4.1.46501.5.1.1.6.102001 | Warning >= 80 / Critical >= 90 (direct %) |
| Potential-free Contact | 101003 | .1.3.6.1.4.1.39052.5.1.1.7.101003 | .1.3.6.1.4.1.39052.5.1.1.6.101003 | Warning >= 1 (0 = open / inactive) |
| Door Contact | 104001 | .1.3.6.1.4.1.46501.5.1.1.7.104001 | .1.3.6.1.4.1.46501.5.1.1.6.104001 | Warning >= 1 (0 = closed / OK) |
| Smoke Detector | 106001 | .1.3.6.1.4.1.46501.5.1.1.7.106001 | .1.3.6.1.4.1.46501.5.1.1.6.106001 | Critical >= 1 (0 = no smoke / OK) |
Determine Sensor ID:
In the Didactum Web Interface under System Tree → Select Sensor → Details. The displayed Sensor ID is appended as the last element to the OID. For multiple identical sensors, the last digit increases: 101001, 101002, 101003 etc.
Temperature Thresholds in the Rule Engine:
Didactum delivers temperature as raw value × 10. 28.0 °C = OID value 280. Formulate Rule Engine conditions (value >= X) also as × 10 value. Indicate " ${value/10} °C" in alarm messages.
10. Test SNMP Connection
Test via Command Line (from NetExpert Server)
# snmpwalk – list all sensor values
snmpwalk -v 2c -c didactum_netexpert 192.168.1.50 \
.1.3.6.1.4.1.46501.5.1.1
# snmpget – query temperature value (raw value ÷ 10 = °C)
snmpget -v 2c -c didactum_netexpert 192.168.1.50 \
.1.3.6.1.4.1.46501.5.1.1.7.101001
# Expected output: INTEGER: 235 (= 23.5 °C)
# snmpget – query leakage status
snmpget -v 2c -c didactum_netexpert 192.168.1.50 \
.1.3.6.1.4.1.46501.5.1.1.7.107001
# Expected output (dry): INTEGER: 0
# snmpget – query sensor status
snmpget -v 2c -c didactum_netexpert 192.168.1.50 \
.1.3.6.1.4.1.46501.5.1.1.6.101001
# Expected output (OK): INTEGER: 0
# Test with MIB names (after MIB import)
snmpwalk -v 2c -c didactum_netexpert -m ALL 192.168.1.50 \
DIDACTUM-MIB::sensorValue
Test via NetExpert MIB Browser
OSI NetExpert → Tools → MIB Browser Host: 192.168.1.50 Community: didactum_netexpert Version: v2c OID: .1.3.6.1.4.1.46501.5.1.1.7.101001 → Click "Get" → Value appears (e.g. 235 = 23.5 °C) MIB Browser → Walk → OID: .1.3.6.1.4.1.46501.5.1.1 → All sensor OIDs and raw values are listed
Check Polling Result in Object Model
OSI NetExpert → Managed Objects → Didactum-Monitor-01 → Attribute View → temperature_value_01 → Last polling timestamp and raw value appear → Status: OK / Warning / Critical according to configured Rule
Test Trap Reception
Trigger a test trap in the Didactum Web Interface: System Settings → SNMP → "Send Test Trap" Check in OSI NetExpert: → Alarm Console → Filter: Didactum Alarms → New alarm with Source 192.168.1.50 appears → Severity: Critical → Message: Didactum Trap Alarm: …
11. Troubleshooting
| Problem | Cause & Solution |
|---|---|
| MIB Browser does not resolve OID | DIDACTUM-MIB not or incorrectly imported; dependent MIBs (SNMPv2-SMI, RFC1213-MIB) missing → import base MIBs first; alternatively use DIDACTUM-MIB.txt from Section 3 |
| SNMP connection test fails | SNMP not enabled on Didactum device; Community String wrong; UDP port 161 blocked by firewall between NetExpert server and device → test snmpwalk directly from server |
| OID returns "No Such Object" | Wrong Enterprise OID (46501 vs. 39052) → check sysObjectID with snmpwalk: snmpwalk -v 2c -c COMMUNITY IP .1.3.6.1.2.1.1.2.0 |
| Temperature value appears 10× too high | Not an error – Didactum delivers raw value × 10. Formulate Rule Engine conditions as × 10 value (28 °C = value >= 280). Indicate ÷10 in alarm message. |
| Rule is not triggered | Rule not deployed (only saved, not published) → Rule Engine Editor → Deploy Rules; restart Rule Engine service; device class correctly assigned in Managed Object? |
| SNMP Traps do not arrive | Trap target IP wrong in Didactum Web Interface; UDP port 162 blocked by firewall on NetExpert server; Trap Community does not match → check NetExpert Trap Receiver log |
| Trap rule does not generate alarm | Trap OID in rule does not match exactly; Didactum IP not in Allowed Trap Sources; Trap Community wrong → verify Trap OID with MIB Browser |
| No email on alarm | SMTP configuration missing or wrong in NetExpert; email action not referenced in rule; escalation policy not activated → check Administration → Notification Manager |
| Sensor value always remains 0 (Leakage / Door Contact) | Normal in uncritical state (0 = OK). Test sensor by briefly triggering it; verify OID directly with snmpget from NetExpert server. |
| Polling attribute does not appear in Object Model | Device class not saved and deployed; attribute OID entered incorrectly → Object Model Editor → DidactumMonitoringSystem → check Attributes; republish class |
12. Final Checklist
Didactum Device
- SNMP enabled (v2c)
- Community String set (not "public"): didactum_netexpert
- Trap target set to IP of OSI NetExpert server
- Trap Community set: didactum_trap
- MIB file downloaded (didactum.mib)
- snmpwalk from NetExpert server successful
OSI NetExpert Server
- DIDACTUM-MIB copied to MIB directory and imported via MIB Browser
- MIB resolution verified in MIB Browser (sensorValue = .5.1.1.7)
- Device class DidactumMonitoringSystem created in Object Model
- All 6 SNMP attributes defined in device class (temperature, leakage, humidity, door, smoke)
- Device class deployed (published)
- Device instance Didactum-Monitor-01 created (IP, Community, device class)
- All 8 Rule Engine rules created and deployed
- Temperature thresholds formulated as raw value × 10 (Warning >= 280 / Critical >= 350)
- SNMP Trap Receiver enabled (Port 162)
- Didactum IP entered in Allowed Trap Sources
- Trap rules for Didactum alarm traps created in Rule Engine
- Email action and escalation policy configured
Tests & Verification
- MIB Browser Get on .1.3.6.1.4.1.46501.5.1.1.7.101001 returns raw value
- Attribute View in Managed Object shows polling results after first interval
- Network Map: Didactum-Monitor-01 appears green (normal operation)
- Dashboard "Server Room Monitoring Didactum" configured with all widgets
- Test trap triggered via Didactum Web Interface → Alarm appears in Alarm Console
- Email received on test alarm
- Rule Engine test: manually exceed/undercut threshold → alarm generated and cleared