Documentation

SMS Octopush Module

Complete Module Documentation

Everything you need to install, configure, and use the SMS Octopush Module effectively.

Overview

The SMS Octopush Module integrates Ignition with the Octopush SMS service, enabling instant SMS notifications for critical alarms. This documentation covers installation, configuration, and best practices for using the module effectively.

Installation

System Requirements

Before installing the SMS Octopush Module, ensure your system meets the following requirements:

  • Ignition Version: 8.0 or higher
  • Java: Java 11 or higher (included with Ignition)
  • Network: Outbound HTTPS access to api.octopush.com
  • Octopush Account: Active account with API credentials

Installing the Module

Follow these steps to install the SMS Octopush Module:

  1. Download the module file (.modl) from your OperaMetrix account
  2. Log into your Ignition Gateway
  3. Navigate to Config > System > Modules
  4. Click Install or Upgrade a Module
  5. Select the downloaded .modl file
  6. Accept the license agreement
  7. The module will appear in the modules list once installed

Verifying Installation

After installation, verify the module is working correctly:

  1. Check the module status in Config > System > Modules
  2. The module should show a green status indicator
  3. Navigate to Config > Alarming > Notification to see the new Octopush profile type

Configuration

Configuring API Credentials

To connect to Octopush, you need to configure your API credentials:

  1. Log into your Octopush account at octopush.com
  2. Navigate to API > API Keys
  3. Copy your API Login and API Key
  4. In Ignition, go to Config > Alarming > Notification
  5. Create a new notification profile of type Octopush SMS
  6. Enter your API credentials in the configuration panel

Creating a Notification Profile

Create an Octopush notification profile in Ignition:

  1. Go to Config > Alarming > Notification
  2. Click Create new Alarm Notification Profile
  3. Select Octopush SMS as the profile type
  4. Configure the following settings:

Configuring Message Templates

Customize the SMS message content using Ignition expression language:

The default template includes alarm name, priority, and timestamp. You can customize it using the following variables:

  • {name} - Alarm display path
  • {priority} - Alarm priority level
  • {eventValue} - The value that triggered the alarm
  • {eventTime} - When the alarm occurred
  • {ackUser} - User who acknowledged (for ack events)
Example SMS Templatetext
ALERT: {name}
Priority: {priority}
Value: {eventValue}
Time: {eventTime|dateFormat("HH:mm:ss")}

Reply ACK to acknowledge.

Usage

Adding to Alarm Pipelines

To use the Octopush SMS profile in your alarm pipelines:

  1. Open your project in the Ignition Designer
  2. Navigate to the Alarm Notification Pipeline
  3. Add a Notification block
  4. Select your Octopush SMS profile
  5. Configure the contact info expression to return phone numbers
Contact Info Expressionpython
# Return phone numbers for on-call roster
def getContactInfo():
    # Get on-call users from schedule
    users = system.user.getScheduleAdjustments("OnCall")
    phones = []
    for user in users:
        phone = system.user.getUser("default", user).get("phone")
        if phone:
            phones.append(phone)
    return phones

Two-Way SMS Communication

The module supports receiving SMS replies for alarm acknowledgment:

  1. When an operator receives an SMS alert, they can reply with "ACK" or "OK"
  2. The module processes incoming messages via Octopush webhook
  3. Matching alarms are automatically acknowledged in Ignition
  4. The acknowledgment is logged with the operator's phone number

Webhook Configuration: Configure the webhook URL in your Octopush account to point to your Ignition gateway.

Scripting Functions

The module provides scripting functions for sending SMS programmatically:

Send SMS via Scriptpython
# Send a single SMS
system.octopush.sendSMS(
    profileName="Production SMS Alerts",
    phoneNumber="+33612345678",
    message="Equipment maintenance required in Zone A"
)

# Send to multiple recipients
recipients = ["+33612345678", "+33698765432"]
for phone in recipients:
    system.octopush.sendSMS(
        profileName="Production SMS Alerts",
        phoneNumber=phone,
        message="Shift change reminder: Please check all stations"
    )

Troubleshooting

Connection Issues

Problem: Module cannot connect to Octopush API

Solutions: 1. Verify your API credentials are correct 2. Check that your server has outbound HTTPS access to api.octopush.com 3. Verify your firewall allows connections on port 443 4. Check the Ignition gateway logs for specific error messages 5. Test API connectivity using the module's test button in configuration

SMS Delivery Failures

Problem: SMS messages are not being delivered

Solutions: 1. Verify the phone number format includes country code (e.g., +33612345678) 2. Check your Octopush account balance 3. Verify the destination country is supported by your Octopush plan 4. Check the delivery status in Octopush dashboard 5. Review the module logs in Ignition Gateway

Acknowledgment Not Working

Problem: SMS replies are not acknowledging alarms

Solutions: 1. Verify the webhook URL is correctly configured in Octopush 2. Check that your Ignition gateway is accessible from the internet (or use a reverse proxy) 3. Verify the reply format matches expected keywords (ACK, OK) 4. Check gateway logs for incoming webhook requests 5. Ensure the sender's phone number matches the contact info in Ignition

Ready to Get Started?

Download the SMS Octopush Module and start sending critical alerts in minutes.