Is there another way for execute alarm pipeline?
This is a way from user manual
Because I want to execute the alarm pipeline to send SMS but I don't want it show on alarm banner
Is there another way for execute alarm pipeline?
This is a way from user manual
Because I want to execute the alarm pipeline to send SMS but I don't want it show on alarm banner
Hello @celo_Tu,
Here is a Python script that allows you to trigger an Alarm Notification Pipeline.
The alarm does not need to actually exist.
The script only works in the gateway scope.
I recommend placing it in a Project Library script and calling it from a gateway event, an asynchronous tag event, or from a Perspective client.
# GATEWAY SCOPE
def triggerAlarmPipeline(project, pipelineName, provider, tagPath, alarmName):
from com.inductiveautomation.ignition.gateway import IgnitionGateway
from com.inductiveautomation.ignition.common.alarming import BasicAlarmEvent, AlarmPriority
from com.inductiveautomation.ignition.common import QualifiedPath
from java.util import UUID
# AlarmPipelineManager
context = IgnitionGateway.get()
moduleManager = context.getModuleManager()
AlarmNotificationGatewayHook = moduleManager.getModule("com.inductiveautomation.alarm-notification").getHook()
AlarmPipelineManager = AlarmNotificationGatewayHook.getAlarmPipelineManager()
# Alarm Event
pipelineQualifiedPath = QualifiedPath.parseSafe("prov:" + provider + ":/tag:" + tagPath + ":/alm:" + alarmName + ":/almevt:" + str(UUID.randomUUID()))
AlarmEvent = BasicAlarmEvent(pipelineQualifiedPath, alarmName, AlarmPriority.highest())
# Pipeline
pipelineQualifiedPath = QualifiedPath.parseSafe("project:" + project + ":/pipeline:" + pipelineName)
# Pipeline Evaluation
# Loggers PipelineManager & Pipeline
AlarmPipelineManager.evaluate(pipelineQualifiedPath, AlarmEvent)
triggerAlarmPipeline("Ticket4030", "Test", "MyProviderName", "MyTagPath", "MyAlarmName")