Skip to content
DataMiner Dojo

More results...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Search in posts
Search in pages
Log in
Menu
  • Updates & Insights
  • Questions
  • Learning
    • E-learning Courses
    • Tutorials
    • Open Classroom Training
    • Certification
      • DataMiner Fundamentals
      • DataMiner Configurator
      • DataMiner Automation
      • Scripts & Connectors Developer: HTTP Basics
      • Scripts & Connectors Developer: SNMP Basics
      • Visual Overview – Level 1
      • Verify a certificate
    • YouTube Videos
    • Solutions & Use Cases
      • Solutions
      • Use Case Library
    • Agility
      • Learn more about Agile
        • Agile Webspace
        • Everything Agile
          • The Agile Manifesto
          • Best Practices
          • Retro Recipes
        • Methodologies
          • The Scrum Framework
          • Kanban
          • Extreme Programming
        • Roles
          • The Product Owner
          • The Agile Coach
          • The Quality & UX Coach (QX)
      • Book your Agile Fundamentals training
      • Book you Kanban workshop
    • >> Go to DataMiner Docs
  • DevOps
    • About the DevOps Program
    • Sign up for the DevOps Program
    • DataMiner DevOps Support
    • Feature Suggestions
  • Downloads
  • Swag Shop
  • PARTNERS
    • Business Partners
    • Technology Partners
  • Contact
    • Sales, Training & Certification
    • DataMiner Support
    • Global Feedback Survey
  • >> Go to dataminer.services

How can I mask a specific table row alarm in DataMiner?

97 views19 hours ago
2
Deema Mahmud [DevOps Advocate]227 4 days ago 0 Comments

I’m trying to automatically mask only one specific table row alarm during a fixed time window and would appreciate guidance on the correct implementation.

Scenario:

  • I have an element with a table where each row represents a source/channel.
  • One table column, for example Administrative Status, generates an alarm when it goes Down.
  • I only want to mask the alarm for one specific row, identified by its table index/display key.
  • I do not want to mask the full element, table, or parameter.
  • The masking should only apply during a fixed window, for example 1:00 PM to 2:00 PM.

How should I configure the Correlation rule so that it triggers an Automation script, and how do I link the script to the rule?

Inside the Automation script, how can I retrieve the triggering alarm’s table index / display key?

Once the correct table row/value is identified, what is the correct method to mask only that specific alarm instance, without masking the full element, table, or parameter?

Deema Mahmud [DevOps Advocate] Answered question 19 hours ago

2 Answers

  • Active
  • Voted
  • Newest
  • Oldest
0
Deema Mahmud [DevOps Advocate]227 Posted 19 hours ago 0 Comments

I keep getting this error. I am not sure what I am doing wrong.

The following was returned from the script:
EXIT: "Something went wrong: (Code: 0x80131500) Skyline.DataMiner.Automation.ScriptAbortException: Script parameter 65006 exists, but no value was passed from Correlation.
at Skyline.DataMiner.Automation.Engine.ExitFail(String reason)
at MaskSpecificRowAlarm.Script.RunSafe(IEngine engine)
at MaskSpecificRowAlarm.Script.Run(IEngine engine)"

script below:
namespace MaskSpecificRowAlarm
{
using System;
using Skyline.DataMiner.Automation;
using Skyline.DataMiner.Net;
using Skyline.DataMiner.Net.Enums;
using Skyline.DataMiner.Net.Messages;

public class Script
{
public void Run(IEngine engine)
{
try
{
RunSafe(engine);
}
catch (Exception e)
{
engine.ExitFail("Something went wrong: " + e);
}
}

private void RunSafe(IEngine engine)
{
ScriptParam correlationInfoParam = engine.GetScriptParam(65006);

if (correlationInfoParam == null)
{
engine.ExitFail("Script parameter 65006 does not exist in the Automation script. Please add it as a string parameter.");
return;
}

if (string.IsNullOrWhiteSpace(correlationInfoParam.Value))
{
engine.ExitFail("Script parameter 65006 exists, but no value was passed from Correlation.");
return;
}

string alarmInfo = correlationInfoParam.Value;
string[] parts = alarmInfo.Split('|');

if (parts.Length < 21)
{
engine.ExitFail("Invalid Correlation Alarm Info format: " + alarmInfo);
return;
}

int dmaID = Convert.ToInt32(parts[1]);
int elementID = Convert.ToInt32(parts[2]);
int parameterID = Convert.ToInt32(parts[3]);
string parameterIdx = parts[4];
int rootAlarmID = Convert.ToInt32(parts[5]);
string alarmValue = parts[10];

int targetParameterID = 9003;
string targetRowIndex = "0";

engine.GenerateInformation($"Received alarm - DMA: {dmaID}, Element: {elementID}, Parameter: {parameterID}, IDX: {parameterIdx}, Value: {alarmValue}, RootAlarmID: {rootAlarmID}");

if (parameterID != targetParameterID || parameterIdx != targetRowIndex)
{
engine.ExitSuccess($"Skipped: ParameterID={parameterID}, IDX={parameterIdx}");
return;
}

var connection = engine.GetUserConnection();

AlarmTreeID treeId = new AlarmTreeID(dmaID, elementID, rootAlarmID);

var maskRequest = new SetAlarmStateMessage(
treeId,
AlarmUserStatus.Mask,
"Automatically masked by Correlation Automation script.");

connection.HandleMessage(maskRequest);

engine.ExitSuccess($"Successfully masked alarm for ParameterID={parameterID}, IDX={parameterIdx}, Value={alarmValue}");
}
}
}

Deema Mahmud [DevOps Advocate] Answered question 19 hours ago
You are viewing 1 out of 2 answers, click here to view all answers.
Please login to be able to comment or post an answer.

My DevOps rank

DevOps Members get more insights on their profile page.

My user earnings

0 Dojo credits

Spend your credits in our swag shop.

0 Reputation points

Boost your reputation, climb the leaderboard.

Promo banner DataMiner DevOps Professiona Program
DataMiner Integration Studio (DIS)
Empower Katas
Privacy Policy • Terms & Conditions • Contact

© 2026 Skyline Communications. All rights reserved.

DOJO Q&A widget

Can't find what you need?

? Explore the Q&A DataMiner Docs

[ Placeholder content for popup link ] WordPress Download Manager - Best Download Management Plugin