Didactum Monitoring & SolarWinds NPM Integration
Complete step-by-step guide for integrating Didactum monitoring devices and sensors into SolarWinds Network Performance Monitor (NPM) / Orion Platform via SNMP – including node creation, MIB import, Universal Device Poller (UnDP) for all sensor types, alert configuration, SNMP trap integration, and email notification.
Core Concept – Universal Device Poller (UnDP): SolarWinds Universal Device Poller (UnDP) is a customization feature of NPM. With UnDP, custom monitors can be created for almost any SNMP statistic based on the device's MIB and Object Identifier (OID). UnDPs are the primary way to make Didactum sensor data visible in SolarWinds and set alarms on them.
- Software: SolarWinds NPM / Orion Platform (2023.x / 2024.x)
- Feature: Universal Device Poller (UnDP), Alert Manager, MIB Browser, SNMP Trap Viewer
- Protocol: SNMP v1 / v2c / v3
- Devices: Didactum Monitoring System 100T / 300T / 500T / 550T
- Sensors: Temperature, leakage, humidity, door contact, smoke
1. Prerequisites & System Overview
SolarWinds Orion Server
- SolarWinds NPM (Network Performance Monitor) installed
- Orion Web Console reachable: <Orion-Server>
- Universal Device Poller (UnDP) app installed (part of NPM)
- UDP port 161 outgoing for SNMP polling
- UDP port 162 incoming for SNMP traps
- Network access to the Didactum device
Didactum Device
- Monitoring System 100T, 300T, 500T or 550T
- SNMP enabled (v2c recommended)
- Device reachable via ICMP (ping) from the Orion polling engine
- MIB file available in the web interface
SolarWinds Architecture for Didactum
[Orion Web Console]
|
v
[Orion Polling Engine] --SNMP Polling UDP 161--> [Didactum 192.168.1.50]
^ <--SNMP Traps UDP 162---
|
[Universal Device Pollers (UnDP)]:
- Didactum_Temperature_Sensor_01
- Didactum_Leakage_Sensor_01
- Didactum_Humidity_Sensor_01
- Didactum_DoorContact_01
- Didactum_SmokeDetector_01
[Alert Manager] → E-Mail, Syslog, SNMP Trap forwarding
2. Enable SNMP on the Didactum Device
Step 1 – Open web interface
Access via browser: 192.168.1.50 (adjust to Didactum device IP)
Step 2 – Open SNMP settings
System Settings → SNMP
Step 3 – Enter the following values
| Field in Didactum Web Interface | Value |
|---|---|
| Enable SNMP | Enabled |
| SNMP Version | v2c (recommended) |
| Community String | didactum_sw (do not use "public"!) |
| SNMP Port | 161 |
| Trap Receiver IP | 192.168.1.10 (IP of the Orion server) |
| Trap Port | 162 |
| Trap Version | v2c |
SNMPv3 settings (optional)
| Field | Value |
|---|---|
| Security Name | sw_user |
| Auth Protocol | SHA |
| Auth Password | min. 8 characters |
| Priv Protocol | AES |
| Priv Password | min. 8 characters |
| Security Level | authPriv |
3. Import MIB file into SolarWinds
For monitoring custom SNMP statistics, a MIB file containing all device OIDs is required. This is provided by the device manufacturer.
Step 1 – Download MIB from Didactum web interface
System Settings → SNMP → "Download MIB file" → didactum.mib
Step 2 – Import MIB into the SolarWinds MIB database
SolarWinds Orion → Start → All Programs → SolarWinds Orion → Launch Universal Device Poller (UnDP) → Menu: File → Import MIB... → Select file didactum.mib → Open → MIB is imported and compiled → Success message: "MIB imported successfully"
Step 3 – Alternatively: Import MIB in Orion MIB Browser
SolarWinds Orion → Node Management → [Select Node] → "MIB Browser" from the toolbox menu → File → Load MIB → didactum.mib
Step 4 – Check MIB content
Universal Device Poller → Navigation Tree (left):
→ MIBs → enterprises → 46501 → (Didactum OID tree)
→ 5 (Sensor table)
→ 1 → 1
→ .5 (sensorName)
→ .6 (sensorStatus)
→ .7 (sensorValue)
4. Add Didactum node in SolarWinds
Step 1 – Add node via Orion Web Console
Orion Web Console → Settings → Network Discovery → Click "Add Node" (or: My Dashboards → Network → Network Summary → "Add Node")
| Field | Value |
|---|---|
| IP Address / Hostname | 192.168.1.50 |
| Polling Method | SNMP |
| SNMP Version | SNMPv2c |
| Community String | didactum_sw |
| SNMP Port | 161 |
| Polling Engine | Main Polling Engine (or select specific one) |
Click Test → SolarWinds immediately tests the SNMP connection.
Step 2 – Configure node details
Node Properties: Node Name: Didactum-Monitor-01 Caption: Didactum Monitoring System 01 – Server Room Location: Server Room (optional) Device Type: Environmental Monitoring → "Next" → Skip interface discovery options (Didactum has no standard interfaces) → Complete "Add Node"
Step 3 – Create node group
Settings → Manage Groups → Create Group Group Name: Didactum Monitoring Systems Members: IP: 192.168.1.50 (didactum-monitor-01) → Save
5. Universal Device Poller (UnDP) for Didactum sensors
When creating an UnDP, select the SNMP Get type and determine whether to poll nodes or interfaces. The polling interval is specified in minutes (1–600). For transformations, all pollers must have the same interval.
Navigation – Open Universal Device Poller
Windows Start → SolarWinds Orion → Universal Device Poller
UnDP: Temperature sensor (raw value)
UnDP → Click "New Poller"
| Field | Value |
|---|---|
| Poller Name | Didactum_Temperature_Sensor_01 |
| Description | Didactum Temperature Sensor 01 – Raw value (÷10=deg C) |
| MIB Object | Navigate MIB tree: enterprises → 46501 → 5 → 1 → 1 → 7 → 101001 Or enter OID directly: .1.3.6.1.4.1.46501.5.1.1.7.101001 |
| SNMP Get Type | Node (no interface) |
| Raw Value Type | Numeric |
| Polling Interval (min) | 5 |
| Enable Graphing | Yes (check box) |
| Enable Min/Max Reporting | Yes |
Click Test → Select node 192.168.1.50 → Raw value appears (e.g., 235 = 23.5 °C).
Click Save.
UnDP: Leakage sensor
| Field | Value |
|---|---|
| Poller Name | Didactum_Leakage_Sensor_01 |
| OID | .1.3.6.1.4.1.46501.5.1.1.7.107001 |
| Raw Value Type | Numeric |
| Map Values (Enumerated) | 0 = Dry (OK) / 1 = WATER DETECTED! |
| Polling Interval | 2 |
| Enable Graphing | Yes |
For enumerated values, click "Map Values" to define strings for the returned numerical values.
UnDP: Temperature sensor status
| Field | Value |
|---|---|
| Poller Name | Didactum_Temp_Status_01 |
| OID | .1.3.6.1.4.1.46501.5.1.1.6.101001 |
| Map Values | 0 = OK / 1 = Alarm / 2 = No Signal |
| Polling Interval | 5 |
UnDP: Humidity
| Field | Value |
|---|---|
| Poller Name | Didactum_Humidity_01 |
| OID | .1.3.6.1.4.1.46501.5.1.1.7.102001 |
| Raw Value Type | Numeric |
| Polling Interval | 5 |
| Enable Graphing | Yes |
UnDP: Door contact
| Field | Value |
|---|---|
| Poller Name | Didactum_DoorContact_01 |
| OID | .1.3.6.1.4.1.46501.5.1.1.7.104001 |
| Map Values | 0 = Closed (OK) / 1 = OPEN |
| Polling Interval | 1 |
UnDP: Smoke detector
| Field | Value |
|---|---|
| Poller Name | Didactum_SmokeDetector_01 |
| OID | .1.3.6.1.4.1.46501.5.1.1.7.106001 |
| Map Values | 0 = No Smoke (OK) / 1 = SMOKE ALARM! |
| Polling Interval | 1 |
6. Assign UnDP to Didactum node
UnDPs are bound to the polling engine where they were created. If a monitored node is moved from one polling engine to another, the UnDP must also be moved.
Step 1 – Assign UnDP to the node in Universal Device Poller
Universal Device Poller: → Left panel: Select poller "Didactum_Temperature_Sensor_01" → Right click → "Assign Poller to Nodes..." → Select node "Didactum-Monitor-01" (192.168.1.50) → Check box → Click "Assign"
Repeat for all Didactum pollers.
Step 2 – Assignment via Orion Web Console (alternative)
Orion Web Console → Node details of "Didactum-Monitor-01" → Tab "Node Details" → Section "Custom Pollers" → Click "Manage Pollers" → Enable all Didactum pollers → Save
Step 3 – Check first poll run
Universal Device Poller → Select poller → Tab "Polling Results" → Current values appear after the first poll interval (1–5 minutes) → Temperature raw value e.g.: 235 Or in Orion Web Console: → Node details "Didactum-Monitor-01" → Custom Pollers section → Current value of each poller is displayed
7. Configure alert on UnDP value
In Alert Manager, an alert condition can be based on the Unique Name of an UnDP. The Unique Name of the UnDP is selected as the trigger condition and compared with a threshold.
Navigation
Orion Web Console → Alerts & Activity → Manage Alerts → Click "Add New Alert"
Alert: Temperature warning
Tab "Alert Properties":
| Field | Value |
|---|---|
| Alert Name | Didactum Temperature Warning |
| Description | Temperature exceeds 28.0 degrees C |
| Severity | Warning |
| Enabled | Yes |
Tab "Trigger Condition":
| Field | Value |
|---|---|
| I want to alert on | Custom Node Poller Statistics |
| Unique Name | Didactum_Temperature_Sensor_01 |
| Condition | Current Value is greater than |
| Value | 280 (= 28.0 °C – Raw value × 10) |
Important – Temperature thresholds: Didactum provides temperatures as raw value × 10. 28.0 °C = OID value 280. Base all alert thresholds on the raw value × 10 (28 °C = 280; 35 °C = 350).
Alert: Leakage ALARM
| Field | Value |
|---|---|
| Alert Name | Didactum LEAKAGE ALARM |
| Severity | Critical |
| Unique Name | Didactum_Leakage_Sensor_01 |
| Condition | Current Value is greater than |
| Value | 0 (from value 1 = Water detected) |
Alert: Humidity
| Field | Value |
|---|---|
| Alert Name | Didactum Humidity high |
| Severity | Warning |
| Unique Name | Didactum_Humidity_01 |
| Condition | Current Value is greater than |
| Value | 80 |
Alert: Door contact opened
| Field | Value |
|---|---|
| Alert Name | Didactum DoorContact opened |
| Severity | Warning |
| Unique Name | Didactum_DoorContact_01 |
| Condition | Current Value is greater than |
| Value | 0 |
Alert: Smoke detector
| Field | Value |
|---|---|
| Alert Name | Didactum SMOKE DETECTOR ALARM |
| Severity | Critical |
| Unique Name | Didactum_SmokeDetector_01 |
| Condition | Current Value is greater than |
| Value | 0 |
8. Transformation: Convert raw value to Celsius
SolarWinds UnDP supports transformations to convert raw values before display. This allows the Didactum temperature value to be displayed directly in Celsius.
Step 1 – Create transformation in Universal Device Poller
Universal Device Poller → Click "New Transformation" Transformation Name: Didactum_Temperature_Celsius Description: Raw value ÷ 10 = Degrees Celsius
Step 2 – Configure formula
| Field | Value |
|---|---|
| Input Poller 1 | Didactum_Temperature_Sensor_01 |
| Formula | Poller1 / 10 |
| Polling Interval | 5 (must be identical to input poller) |
| Enable Graphing | Yes |
| Unit Label | Deg C |
Click Save. The transformation Didactum_Temperature_Celsius can now be displayed as a °C value in the dashboard.
Alert directly on Celsius transformation (optional)
If you want an alert in real Celsius values (not raw value × 10), you can set the alert on the transformation instead of the raw value poller:
| Field | Value |
|---|---|
| Unique Name | Didactum_Temperature_Celsius |
| Condition | Current Value is greater than |
| Value | 28 (real Celsius, no × 10!) |
9. SNMP Trap integration (Trap Viewer)
If the device supports SNMP traps, it is recommended to route traps to the SolarWinds server and create an alert based on syslog/traps. The advantage is that the event is generated in real-time and immediately triggers an alert in SolarWinds.
Step 1 – Check trap reception in SolarWinds
Orion Web Console → Settings → All Settings → SNMP Trap Settings → "SNMP Trap Service" must be running → Port: 162 (Standard) → Accepted Versions: v1, v2c, v3 → Community: didactum_sw (enter into Accepted Communities)
Step 2 – Create SNMP Trap Alert
Orion Web Console → Alerts & Activity → Manage Alerts → Add New Alert Alert Name: Didactum SNMP Trap Alarm I want to alert on: SNMP Traps
| Field | Value |
|---|---|
| Alert on traps from | Specific Node: 192.168.1.50 |
| Enterprise OID | 1.3.6.1.4.1.46501 |
| Severity | Critical |
| Alert Message | Didactum SNMP Trap received: ${OID} – ${Value} |
Step 3 – Observe incoming traps in Trap Viewer
Orion Web Console → Events → SNMP Traps → Filter: Source = 192.168.1.50 → Incoming traps appear in real-time after reception
10. Create custom dashboard / resource
Step 1 – Add custom resource to Node Details page
Orion Web Console → Node Details "Didactum-Monitor-01" → Click "Customize Page" (gear icon) → "Add Resource" → Select "Custom Node Pollers" → Add poller "Didactum_Temperature_Celsius" and others → Click "Save Layout"
Step 2 – Gauge widget for dashboard
My Dashboards → [Open or create dashboard] → "Add Widget" → "Custom Chart" → Chart Type: Gauge → Poller: Didactum_Temperature_Celsius → Min: 0 / Max: 50 / Warning: 28 / Critical: 35 → Label: Server room temperature → Save
Step 3 – All Didactum sensors in one dashboard
My Dashboards → "Add Dashboard" → Name: Didactum Monitoring → Add widgets: ✅ Temperature Gauge (Didactum_Temperature_Celsius) ✅ Leakage Status (Didactum_Leakage_Sensor_01) ✅ Humidity Chart (Didactum_Humidity_01) ✅ Door Contact Status (Didactum_DoorContact_01) ✅ Smoke Detector Status (Didactum_SmokeDetector_01) ✅ Active Alerts for Didactum node → Pin dashboard as home page (optional)
11. Configure email notification
Step 1 – Configure SMTP settings
Orion Web Console → Settings → All Settings → Alert & Report Settings → Click "Configure Email Settings" From Address: solarwinds@yourdomain.de SMTP Server: mail.yourdomain.de SMTP Port: 587 Use SSL/TLS: Yes Username: solarwinds@yourdomain.de Password: YourPassword → "Send Test Email" → Check inbox → Save
Step 2 – Add email action to alert
Alert Manager → Open alert "Didactum LEAKAGE ALARM"
→ Tab "Trigger Actions"
→ "Add Action" → "Send an Email / Page"
To: admin@yourdomain.de
Subject: [SolarWinds DIDACTUM ALARM] ${NodeName}: ${AlertName}
Message: Time: ${DateTime}
Device: ${NodeName} (${IP})
Alert: ${AlertName}
Severity: ${Severity}
Value: ${CustomPollerCurrentValue}
Details: ${AlertMessage}
→ Save
Repeat for all Didactum alerts. Configure the Reset Action tab as well for recovery notifications.
12. SNMP OID reference
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 to the end.
OID fields per sensor
| Field | Meaning | Example |
|---|---|---|
| .1.x.SENSOR_ID | Sensor ID | .1.3.6.1.4.1.46501.5.1.1.1.101001 |
| .5.x.SENSOR_ID | Sensor Name | .1.3.6.1.4.1.46501.5.1.1.5.101001 |
| .6.x.SENSOR_ID | Status (0=OK, 1=Alarm, 2=No signal) | .1.3.6.1.4.1.46501.5.1.1.6.101001 |
| .7.x.SENSOR_ID | Measurement (current) | .1.3.6.1.4.1.46501.5.1.1.7.101001 |
Sensor types with OIDs and SolarWinds UnDP thresholds
| Sensor Type | Sensor ID | OID Measurement | UnDP Poller Name | Alert Threshold |
|---|---|---|---|---|
| Temperature sensor (digital) | 101001 | .1.3.6.1.4.1.46501.5.1.1.7.101001 | Didactum_Temperature_Sensor_01 | > 280 (Warn) / > 350 (Crit) – Raw value × 10 |
| Temperature sensor (analog) | 201001 | .1.3.6.1.4.1.39052.5.2.1.7.201001 | Didactum_Temp_Analog_01 | > 280 / > 350 (× 10) |
| Water sensor / Leakage | 107001 | .1.3.6.1.4.1.46501.5.1.1.7.107001 | Didactum_Leakage_Sensor_01 | > 0 (Crit – 1=Water) |
| Humidity | 102001 | .1.3.6.1.4.1.46501.5.1.1.7.102001 | Didactum_Humidity_01 | > 80 (Warn) / > 90 (Crit) |
| Potential-free contact | 101003 | .1.3.6.1.4.1.39052.5.1.1.7.101003 | Didactum_Contact_01 | > 0 (Warn – 1=active) |
| Door contact | 104001 | .1.3.6.1.4.1.46501.5.1.1.7.104001 | Didactum_DoorContact_01 | > 0 (Warn – 1=open) |
| Smoke detector | 106001 | .1.3.6.1.4.1.46501.5.1.1.7.106001 | Didactum_SmokeDetector_01 | > 0 (Crit – 1=Alarm) |
Find sensor ID: In the Didactum web interface under System Tree → Select sensor → Details. This ID is appended to the end of the OID.
Temperature thresholds in SolarWinds: Didactum provides temperatures as raw value × 10. 28.0 °C = OID value 280. Enter alert thresholds × 10 – or alternatively, create an UnDP transformation (÷ 10) and set the alert directly to Celsius values (28 / 35).
MIB prefix per model: Older devices use .1.3.6.1.4.1.46501, newer models might use .1.3.6.1.4.1.39052. Refer to the MIB file of your device for exact OIDs.
13. Test & troubleshooting
Test UnDP directly
To check if UnDP pollers are configured correctly, launch Orion Diagnostics, right-click an UnDP, and select "Run Tests". If the test fails, ensure that the community string, OID support, and device accessibility are correct.
Universal Device Poller → Right-click poller "Didactum_Temperature_Sensor_01" → "Run Tests" → Select node 192.168.1.50 → Run test → Expected result: Raw value appears (e.g., 235)
Orion SNMP test via Web Console
Orion Web Console → Node details "Didactum-Monitor-01" → "Test SNMP" button → Community string, version, and reachable OIDs are displayed
Error messages and solutions
| Problem | Cause & Solution |
|---|---|
| Node addition fails: "SNMP not responding" | Community string incorrect; UDP 161 blocked; SNMP not active on Didactum → check |
| UnDP test fails | OID not supported; Community string incorrect on node → Edit Node Properties → Community String |
| Poller shows "No Data" | UnDP not yet assigned to node; Polling engine restart might be necessary |
| Temperature value 10× too high in dashboard | Transformation missing → Create transformation "÷ 10" or set alert threshold × 10 |
| Alert on UnDP does not work | Unique name incorrect → must exactly match the UnDP name; Severity to Warning/Critical |
| No SNMP trap in Trap Viewer | Trap receiver IP on Didactum incorrect; UDP 162 blocked; SNMP Trap service not active |
| No email on alarm | Check SMTP settings; Alert action not configured; Send test email |
| UnDP gone after node migration | UnDPs are polling engine bound → move UnDP when migrating |
View Orion log
Orion Web Console → Settings → All Settings → System Logs → Filter: Component = SNMP → Polling errors are logged here Windows Event Log on Orion server: Event Viewer → Applications → SolarWinds Orion
14. Final checklist
Didactum device
- SNMP enabled (v2c or v3)
- Community string set (not "public"): didactum_sw
- Device reachable via ping from Orion polling engine
- Trap receiver IP set to Orion server
- MIB file downloaded
SolarWinds configuration
- MIB file imported into UnDP (File → Import MIB)
- Node Didactum-Monitor-01 added (SNMP test successful)
- UDP 161 outgoing, UDP 162 incoming opened
Universal Device Poller (UnDP)
- UnDP for temperature sensor created and tested (raw value appears)
- UnDP for leakage sensor created (Map Values: 0=OK, 1=Water)
- UnDP for humidity created
- UnDP for door contact created
- UnDP for smoke detector created
- All UnDPs assigned to node Didactum-Monitor-01
- Transformation Didactum_Temperature_Celsius created (÷ 10)
- Polling values appear in Node Details → Custom Pollers
Alerts
- Alert Temperature Warning (Threshold 280 or 28 on transformation) created
- Alert Temperature Critical (350 / 35) created
- Alert Leakage Critical (> 0) created
- Alert Humidity (> 80) created
- Alert Door contact (> 0) created
- Alert Smoke detector (> 0) created
- SNMP Trap alert for Enterprise OID .1.3.6.1.4.1.46501 created
Dashboard & notification
- Custom dashboard "Didactum Monitoring" with gauge widgets created
- SMTP settings configured, test email received
- Email action assigned to all Didactum alerts
- Recovery notification configured
- Test alarm triggered and email received