
# Morningstar SureSine by SNMP

## Overview

This template is designed for the effortless deployment of Morningstar SureSine monitoring by Zabbix via SNMP and doesn't require any external scripts.

## Requirements

Zabbix version: 7.0 and higher.

## Tested versions

This template has been tested on:
- Morningstar SureSine

## Configuration

> Zabbix should be configured according to the instructions in the [Templates out of the box](https://www.zabbix.com/documentation/7.0/manual/config/templates_out_of_the_box) section.

## Setup

Refer to the vendor documentation.

### Macros used

|Name|Description|Default|
|----|-----------|-------|
|{$BATTERY.TEMP.MIN.WARN}|
Battery low temperature warning value
|`0`|
|{$BATTERY.TEMP.MAX.WARN}|
Battery high temperature warning value
|`45`|
|{$BATTERY.TEMP.MIN.CRIT}|
Battery low temperature critical value
|`-20`|
|{$BATTERY.TEMP.MAX.CRIT}|
Battery high temperature critical value
|`60`|
|{$VOLTAGE.MIN.WARN}|||
|{$VOLTAGE.MAX.WARN}|||
|{$VOLTAGE.MIN.CRIT}|||
|{$VOLTAGE.MAX.CRIT}|||
|{$CHARGE.STATE.WARN}|
disconnect
|`2`|
|{$CHARGE.STATE.CRIT}|
fault
|`4`|
|{$LOAD.STATE.WARN:"lvdWarning"}|
lvdWarning
|`2`|
|{$LOAD.STATE.WARN:"disconnect"}|
disconnect
|`5`|
|{$LOAD.STATE.WARN:"override"}|
override
|`7`|
|{$LOAD.STATE.CRIT:"lvd"}|
lvd
|`3`|
|{$LOAD.STATE.CRIT:"fault"}|
fault
|`4`|

### Items

|Name|Description|Type|Key and additional info|
|----|-----------|----|-----------------------|
|Status: Uptime (network)|
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.
|SNMP agent|status.net.uptime
**Preprocessing**

- 
Custom multiplier: `0.01`

|
|Status: Uptime (hardware)|
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.
|SNMP agent|status.hw.uptime
**Preprocessing**

- 
Check for not supported value: `any error`

⛔️Custom on fail: Set value to: `0`

- 
Custom multiplier: `0.01`

|
|Battery: Battery Voltage discovery|
MIB: SURESINE
|SNMP agent|battery.voltage.discovery[batteryVoltageSlow.0]
**Preprocessing**

- 
Custom multiplier: `2.581787109375E-4`

- 
Regular expression: `^(\d+)(\.\d{1,2})? \1\2`

|
|Load: State|
MIB: SURESINE

Description:Load State

Modbus address:0x000B

 0: Start

1: LoadOn

2: LvdWarning

3: LowVoltageDisconnect

4: Fault

5: Disconnect

6: NormalOff

7: UnknownState

8: Standby
|SNMP agent|load.state[loadState.0]
**Preprocessing**

- 
Discard unchanged with heartbeat: `1h`

|
|Load: A/C Current|
MIB: SURESINE

Description:AC Output Current

Scaling Factor:0.0001953125

Units:A

Range:[0.0, 17]

Modbus address:0x0005
|SNMP agent|load.ac_current[acCurrent.0]
**Preprocessing**

- 
Custom multiplier: `1.953125E-4`

- 
Regular expression: `^(\d+)(\.\d{1,2})? \1\2`

|
|Temperature: Heatsink|
MIB: SURESINE

Description:Heatsink Temperature

Scaling Factor:1

Units:C

Range:[-128, 127]

Modbus address:0x0006
|SNMP agent|temp.heatsink[heatsinkTemperature.0]|
|Status: Faults|
MIB: SURESINE

Description:Faults

Modbus address:0x0007
|SNMP agent|status.faults[faults.0]
**Preprocessing**

- 
Discard unchanged with heartbeat: `1h`

- 
JavaScript: `The text is too long. Please see the template.`

|
|Status: Alarms|
MIB: SURESINE

Description:Faults

Modbus address:0x0007
|SNMP agent|status.alarms[alarms.0]
**Preprocessing**

- 
Discard unchanged with heartbeat: `1h`

- 
JavaScript: `The text is too long. Please see the template.`

|

### Triggers

|Name|Description|Expression|Severity|Dependencies and additional info|
|----|-----------|----------|--------|--------------------------------|
|Morningstar SureSine: Status: Device has been restarted|
Uptime is less than 10 minutes.
|`(last(/Morningstar SureSine by SNMP/status.hw.uptime)>0 and last(/Morningstar SureSine by SNMP/status.hw.uptime)<10m) or (last(/Morningstar SureSine by SNMP/status.hw.uptime)=0 and last(/Morningstar SureSine by SNMP/status.net.uptime)<10m)`|Info|**Manual close**: Yes|
|Morningstar SureSine: Status: Failed to fetch data|
Zabbix has not received data for items for the last 5 minutes.
|`nodata(/Morningstar SureSine by SNMP/status.net.uptime,5m)=1`|Warning|**Manual close**: Yes|
|Morningstar SureSine: Load: Device load in warning state||`last(/Morningstar SureSine by SNMP/load.state[loadState.0])={$LOAD.STATE.WARN:"lvdWarning"}  or last(/Morningstar SureSine by SNMP/load.state[loadState.0])={$LOAD.STATE.WARN:"override"}`|Warning|**Depends on**:

- Morningstar SureSine: Load: Device load in critical state
|
|Morningstar SureSine: Load: Device load in critical state||`last(/Morningstar SureSine by SNMP/load.state[loadState.0])={$LOAD.STATE.CRIT:"lvd"} or last(/Morningstar SureSine by SNMP/load.state[loadState.0])={$LOAD.STATE.CRIT:"fault"}`|High||
|Morningstar SureSine: Status: Device has "reset" faults flag||`count(/Morningstar SureSine by SNMP/status.faults[faults.0],#3,"like","reset")=2`|High||
|Morningstar SureSine: Status: Device has "overcurrent" faults flag||`count(/Morningstar SureSine by SNMP/status.faults[faults.0],#3,"like","overcurrent")=2`|High||
|Morningstar SureSine: Status: Device has "unknownFault" faults flag||`count(/Morningstar SureSine by SNMP/status.faults[faults.0],#3,"like","unknownFault")=2`|High||
|Morningstar SureSine: Status: Device has "software" faults flag||`count(/Morningstar SureSine by SNMP/status.faults[faults.0],#3,"like","software")=2`|High||
|Morningstar SureSine: Status: Device has "highVoltageDisconnect" faults flag||`count(/Morningstar SureSine by SNMP/status.faults[faults.0],#3,"like","highVoltageDisconnect")=2`|High||
|Morningstar SureSine: Status: Device has "suresineHot" faults flag||`count(/Morningstar SureSine by SNMP/status.faults[faults.0],#3,"like","suresineHot")=2`|High||
|Morningstar SureSine: Status: Device has "dipSwitchChanged" faults flag||`count(/Morningstar SureSine by SNMP/status.faults[faults.0],#3,"like","dipSwitchChanged")=2`|High||
|Morningstar SureSine: Status: Device has "customSettingsEdit" faults flag||`count(/Morningstar SureSine by SNMP/status.faults[faults.0],#3,"like","customSettingsEdit")=2`|High||
|Morningstar SureSine: Status: Device has "heatsinkTempSensorOpen" alarm flag||`count(/Morningstar SureSine by SNMP/status.alarms[alarms.0],#3,"like","heatsinkTempSensorOpen")=2`|Warning||
|Morningstar SureSine: Status: Device has "heatsinkTempSensorShort" alarm flag||`count(/Morningstar SureSine by SNMP/status.alarms[alarms.0],#3,"like","heatsinkTempSensorShort")=2`|Warning||
|Morningstar SureSine: Status: Device has "unknownAlarm" alarm flag||`count(/Morningstar SureSine by SNMP/status.alarms[alarms.0],#3,"like","unknownAlarm")=2`|Warning||
|Morningstar SureSine: Status: Device has "suresineHot" alarm flag||`count(/Morningstar SureSine by SNMP/status.alarms[alarms.0],#3,"like","suresineHot")=2`|Warning||

### LLD rule Battery voltage discovery

|Name|Description|Type|Key and additional info|
|----|-----------|----|-----------------------|
|Battery voltage discovery|
Discovery for battery voltage triggers
|Dependent item|battery.voltage.discovery
**Preprocessing**

- 
JavaScript: `The text is too long. Please see the template.`

|

### Item prototypes for Battery voltage discovery

|Name|Description|Type|Key and additional info|
|----|-----------|----|-----------------------|
|Battery: Voltage{#SINGLETON}|
MIB: SURESINE

Description:Battery Voltage(slow)

Scaling Factor:0.0002581787109375

Units:V

Range:[0.0, 17.0]

Modbus address:0x0004
|SNMP agent|battery.voltage[batteryVoltageSlow.0{#SINGLETON}]
**Preprocessing**

- 
Custom multiplier: `2.581787109375E-4`

- 
Regular expression: `^(\d+)(\.\d{1,2})? \1\2`

|

### Trigger prototypes for Battery voltage discovery

|Name|Description|Expression|Severity|Dependencies and additional info|
|----|-----------|----------|--------|--------------------------------|
|Morningstar SureSine: Battery: Low battery voltage||`max(/Morningstar SureSine by SNMP/battery.voltage[batteryVoltageSlow.0{#SINGLETON}],5m)<{#VOLTAGE.MIN.WARN}`|Warning|**Depends on**:

- Morningstar SureSine: Battery: Critically low battery voltage
|
|Morningstar SureSine: Battery: Critically low battery voltage||`max(/Morningstar SureSine by SNMP/battery.voltage[batteryVoltageSlow.0{#SINGLETON}],5m)<{#VOLTAGE.MIN.CRIT}`|High||
|Morningstar SureSine: Battery: High battery voltage||`min(/Morningstar SureSine by SNMP/battery.voltage[batteryVoltageSlow.0{#SINGLETON}],5m)>{#VOLTAGE.MAX.WARN}`|Warning|**Depends on**:

- Morningstar SureSine: Battery: Critically high battery voltage
|
|Morningstar SureSine: Battery: Critically high battery voltage||`min(/Morningstar SureSine by SNMP/battery.voltage[batteryVoltageSlow.0{#SINGLETON}],5m)>{#VOLTAGE.MAX.CRIT}`|High||

## Feedback

Please report any issues with the template at [`https://support.zabbix.com`](https://support.zabbix.com)

You can also provide feedback, discuss the template, or ask for help at [`ZABBIX forums`](https://www.zabbix.com/forum/zabbix-suggestions-and-feedback)

