# Morningstar ProStar MPPT SNMP ## Overview For Zabbix version: 6.0 and higher ## Setup > See [Zabbix template operation](https://www.zabbix.com/documentation/6.0/manual/config/templates_out_of_the_box/zabbix_agent) for basic instructions. Refer to the vendor documentation. ## Zabbix configuration No specific Zabbix configuration is required. ### Macros used |Name|Description|Default| |----|-----------|-------| |{$BATTERY.TEMP.MAX.CRIT} |

Battery high temperature critical value

|`60` | |{$BATTERY.TEMP.MAX.WARN} |

Battery high temperature warning value

|`45` | |{$BATTERY.TEMP.MIN.CRIT} |

Battery low temperature critical value

|`-20` | |{$BATTERY.TEMP.MIN.WARN} |

Battery low temperature warning value

|`0` | |{$CHARGE.STATE.CRIT} |

fault

|`4` | |{$CHARGE.STATE.WARN} |

disconnect

|`2` | |{$LOAD.STATE.CRIT:"fault"} |

fault

|`4` | |{$LOAD.STATE.CRIT:"lvd"} |

lvd

|`3` | |{$LOAD.STATE.WARN:"disconnect"} |

disconnect

|`5` | |{$LOAD.STATE.WARN:"lvdWarning"} |

lvdWarning

|`2` | |{$LOAD.STATE.WARN:"override"} |

override

|`7` | |{$VOLTAGE.MAX.CRIT} |

-

|`` | |{$VOLTAGE.MAX.WARN} |

-

|`` | |{$VOLTAGE.MIN.CRIT} |

-

|`` | |{$VOLTAGE.MIN.WARN} |

-

|`` | ## Template links There are no template links in this template. ## Discovery rules |Name|Description|Type|Key and additional info| |----|-----------|----|----| |Battery voltage discovery |

Discovery for battery voltage triggers

|DEPENDENT |battery.voltage.discovery

**Preprocessing**:

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

| ## Items collected |Group|Name|Description|Type|Key and additional info| |-----|----|-----------|----|---------------------| |Array |Array: Voltage |

MIB: PROSTAR-MPPT

Array Voltage

Description:Array Voltage

Scaling Factor:1.0

Units:V

Range:[0, 80]

Modbus address:0x0013

|SNMP |array.voltage[arrayVoltage.0] | |Array |Array: Sweep Vmp |

MIB: PROSTAR-MPPT

Array Vmp

Description:Array Max. Power Point Voltage

Scaling Factor:1.0

Units:V

Range:[0.0, 5000.0]

Modbus address:0x003D

|SNMP |array.sweep_vmp[arrayVmp.0] | |Array |Array: Sweep Voc |

MIB: PROSTAR-MPPT

Array Voc

Description:Array Open Circuit Voltage

Scaling Factor:1.0

Units:V

Range:[0.0, 80.0]

Modbus address:0x003F

|SNMP |array.sweep_voc[arrayVoc.0] | |Array |Array: Sweep Pmax |

MIB: PROSTAR-MPPT

Array Max. Power (sweep)

Description:Array Max. Power (last sweep)

Scaling Factor:1.0

Units:W

Range:[0.0, 500]

Modbus address:0x003E

|SNMP |array.sweep_pmax[arrayMaxPowerSweep.0] | |Battery |Battery: Charge State |

MIB: PROSTAR-MPPT

Charge State

Description:Control State

Modbus address:0x0021

0: Start

1: NightCheck

2: Disconnect

3: Night

4: Fault

5: BulkMppt

6: Absorption

7: Float

8: Equalize

9: Slave

10: Fixed

|SNMP |charge.state[chargeState.0]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Battery |Battery: Target Voltage |

MIB: PROSTAR-MPPT

Target Voltage

Description:Target Regulation Voltage

Scaling Factor:1.0

Units:V

Range:[0.0, 80.0]

Modbus address:0x0024

|SNMP |target.voltage[targetVoltage.0]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Battery |Battery: Charge Current |

MIB: PROSTAR-MPPT

Charge Current

Description:Charge Current

Scaling Factor:1.0

Units:A

Range:[0, 40]

Modbus address:0x0010

|SNMP |charge.current[chargeCurrent.0] | |Battery |Battery: Voltage{#SINGLETON} |

MIB: PROSTAR-MPPT

Battery Terminal Voltage

Description:Battery Terminal Voltage

Scaling Factor:1.0

Units:V

Range:[0.0, 80.0]

Modbus address:0x0012

|SNMP |battery.voltage[batteryTerminalVoltage.0{#SINGLETON}] | |Counter |Counter: Charge Amp-hours |

MIB: PROSTAR-MPPT

Ah Charge (Resettable)

Description:Ah Charge (Resettable)

Scaling Factor:0.1

Units:Ah

Range:[0.0, 4294967294]

Modbus addresses:H=0x0026 L=0x0027

|SNMP |counter.charge_amp_hours[ahChargeResettable.0]

**Preprocessing**:

- MULTIPLIER: `0.1`

| |Counter |Counter: Charge KW-hours |

MIB: PROSTAR-MPPT

kWh Charge (Resettable)

Description:Kilowatt Hours Charge (Resettable)

Scaling Factor:1.0

Units:kWh

Range:[0.0, 65535]

Modbus address:0x002A

|SNMP |counter.charge_kw_hours[kwhChargeResettable.0] | |Counter |Counter: Load Amp-hours |

MIB: PROSTAR-MPPT

Description:Ah Load (Resettable)

Scaling Factor:0.1

Units:Ah

Range:[0.0, 4294967294]

Modbus addresses:H=0x0032 L=0x0033

|SNMP |counter.load_amp_hours[ahLoadResettable.0]

**Preprocessing**:

- MULTIPLIER: `0.1`

| |Load |Load: State |

MIB: PROSTAR-MPPT

Load State

Description:Load State

Modbus address:0x002E

0: Start

1: Normal

2: LvdWarning

3: Lvd

4: Fault

5: Disconnect

6: NormalOff

7: Override

8: NotUsed

|SNMP |load.state[loadState.0]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Load |Load: Voltage |

MIB: PROSTAR-MPPT

Load Voltage

Description:Load Voltage

Scaling Factor:1.0

Units:V

Range:[0, 80]

Modbus address:0x0014

|SNMP |load.voltage[loadVoltage.0] | |Load |Load: Current |

MIB: PROSTAR-MPPT

Load Current

Description:Load Current

Scaling Factor:1.0

Units:A

Range:[0, 60]

Modbus address:0x0016

|SNMP |load.current[loadCurrent.0] | |Status |Status: Uptime |

Device uptime in seconds

|SNMP |status.uptime

**Preprocessing**:

- MULTIPLIER: `0.01`

| |Status |Status: Array Faults |

MIB: PROSTAR-MPPT

Description:Array Faults

Modbus address:0x0022

|SNMP |status.array_faults[arrayFaults.0]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

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

| |Status |Status: Load Faults |

MIB: PROSTAR-MPPT

Description:Array Faults

Modbus address:0x0022

|SNMP |status.load_faults[loadFaults.0]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

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

| |Status |Status: Alarms |

MIB: PROSTAR-MPPT

Description:Alarms

Modbus addresses:H=0x0038 L=0x0039

|SNMP |status.alarms[alarms.0]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

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

| |Temperature |Temperature: Ambient |

MIB: PROSTAR-MPPT

Ambient Temperature

Description:Ambient Temperature

Scaling Factor:1.0

Units:deg C

Range:[-128, 127]

Modbus address:0x001C

|SNMP |temp.ambient[ambientTemperature.0] | |Temperature |Temperature: Battery |

MIB: PROSTAR-MPPT

Battery Temperature

Description:Battery Temperature

Scaling Factor:1.0

Units:deg C

Range:[-128, 127]

Modbus address:0x001B

|SNMP |temp.battery[batteryTemperature.0] | |Temperature |Temperature: Heatsink |

MIB: PROSTAR-MPPT

Heatsink Temperature

Description:Heatsink Temperature

Scaling Factor:1.0

Units:deg C

Range:[-128, 127]

Modbus address:0x001A

|SNMP |temp.heatsink[heatsinkTemperature.0] | |Zabbix raw items |Battery: Battery Voltage discovery |

MIB: PROSTAR-MPPT

|SNMP |battery.voltage.discovery[batteryTerminalVoltage.0] | ## Triggers |Name|Description|Expression|Severity|Dependencies and additional info| |----|-----------|----|----|----| |Battery: Device charge in warning state |

-

|`last(/Morningstar ProStar MPPT SNMP/charge.state[chargeState.0])={$CHARGE.STATE.WARN}` |WARNING |

**Depends on**:

- Battery: Device charge in critical state

| |Battery: Device charge in critical state |

-

|`last(/Morningstar ProStar MPPT SNMP/charge.state[chargeState.0])={$CHARGE.STATE.CRIT}` |HIGH | | |Battery: Low battery voltage (below {#VOLTAGE.MIN.WARN}V for 5m) |

-

|`max(/Morningstar ProStar MPPT SNMP/battery.voltage[batteryTerminalVoltage.0{#SINGLETON}],5m)<{#VOLTAGE.MIN.WARN}` |WARNING |

**Depends on**:

- Battery: Critically low battery voltage (below {#VOLTAGE.MIN.CRIT}V for 5m)

| |Battery: Critically low battery voltage (below {#VOLTAGE.MIN.CRIT}V for 5m) |

-

|`max(/Morningstar ProStar MPPT SNMP/battery.voltage[batteryTerminalVoltage.0{#SINGLETON}],5m)<{#VOLTAGE.MIN.CRIT}` |HIGH | | |Battery: High battery voltage (over {#VOLTAGE.MAX.WARN}V for 5m) |

-

|`min(/Morningstar ProStar MPPT SNMP/battery.voltage[batteryTerminalVoltage.0{#SINGLETON}],5m)>{#VOLTAGE.MAX.WARN}` |WARNING |

**Depends on**:

- Battery: Critically high battery voltage (over {#VOLTAGE.MAX.CRIT}V for 5m)

| |Battery: Critically high battery voltage (over {#VOLTAGE.MAX.CRIT}V for 5m) |

-

|`min(/Morningstar ProStar MPPT SNMP/battery.voltage[batteryTerminalVoltage.0{#SINGLETON}],5m)>{#VOLTAGE.MAX.CRIT}` |HIGH | | |Load: Device load in warning state |

-

|`last(/Morningstar ProStar MPPT SNMP/load.state[loadState.0])={$LOAD.STATE.WARN:"lvdWarning"} or last(/Morningstar ProStar MPPT SNMP/load.state[loadState.0])={$LOAD.STATE.WARN:"override"}` |WARNING |

**Depends on**:

- Load: Device load in critical state

| |Load: Device load in critical state |

-

|`last(/Morningstar ProStar MPPT SNMP/load.state[loadState.0])={$LOAD.STATE.CRIT:"lvd"} or last(/Morningstar ProStar MPPT SNMP/load.state[loadState.0])={$LOAD.STATE.CRIT:"fault"}` |HIGH | | |Status: Device has been restarted (uptime < 10m) |

Uptime is less than 10 minutes

|`last(/Morningstar ProStar MPPT SNMP/status.uptime)<10m` |INFO |

Manual close: YES

| |Status: Failed to fetch data (or no data for 5m) |

Zabbix has not received data for items for the last 5 minutes

|`nodata(/Morningstar ProStar MPPT SNMP/status.uptime,5m)=1` |WARNING |

Manual close: YES

| |Status: Device has "overcurrent" array faults flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.array_faults[arrayFaults.0],#3,"like","overcurrent")=2` |HIGH | | |Status: Device has "mosfetSShorted" array faults flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.array_faults[arrayFaults.0],#3,"like","mosfetSShorted")=2` |HIGH | | |Status: Device has "software" array faults flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.array_faults[arrayFaults.0],#3,"like","software")=2` |HIGH | | |Status: Device has "batteryHvd" array faults flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.array_faults[arrayFaults.0],#3,"like","batteryHvd")=2` |HIGH | | |Status: Device has "arrayHvd" array faults flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.array_faults[arrayFaults.0],#3,"like","arrayHvd")=2` |HIGH | | |Status: Device has "customSettingsEdit" array faults flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.array_faults[arrayFaults.0],#3,"like","customSettingsEdit")=2` |HIGH | | |Status: Device has "rtsShorted" array faults flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.array_faults[arrayFaults.0],#3,"like","rtsShorted")=2` |HIGH | | |Status: Device has "rtsNoLongerValid" array faults flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.array_faults[arrayFaults.0],#3,"like","rtsNoLongerValid")=2` |HIGH | | |Status: Device has "localTempSensorDamaged" array faults flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.array_faults[arrayFaults.0],#3,"like","localTempSensorDamaged")=2` |HIGH | | |Status: Device has "batteryLowVoltageDisconnect" array faults flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.array_faults[arrayFaults.0],#3,"like","batteryLowVoltageDisconnect")=2` |HIGH | | |Status: Device has "slaveTimeout" array faults flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.array_faults[arrayFaults.0],#3,"like","slaveTimeout")=2` |HIGH | | |Status: Device has "dipSwitchChanged" array faults flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.array_faults[arrayFaults.0],#3,"like","dipSwitchChanged")=2` |HIGH | | |Status: Device has "externalShortCircuit" load faults flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.load_faults[loadFaults.0],#3,"like","externalShortCircuit")=2` |HIGH | | |Status: Device has "overcurrent" load faults flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.load_faults[loadFaults.0],#3,"like","overcurrent")=2` |HIGH | | |Status: Device has "mosfetShorted" load faults flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.load_faults[loadFaults.0],#3,"like","mosfetShorted")=2` |HIGH | | |Status: Device has "software" load faults flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.load_faults[loadFaults.0],#3,"like","software")=2` |HIGH | | |Status: Device has "loadHvd" load faults flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.load_faults[loadFaults.0],#3,"like","loadHvd")=2` |HIGH | | |Status: Device has "highTempDisconnect" load faults flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.load_faults[loadFaults.0],#3,"like","highTempDisconnect")=2` |HIGH | | |Status: Device has "dipSwitchChanged" load faults flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.load_faults[loadFaults.0],#3,"like","dipSwitchChanged")=2` |HIGH | | |Status: Device has "customSettingsEdit" load faults flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.load_faults[loadFaults.0],#3,"like","customSettingsEdit")=2` |HIGH | | |Status: Device has "rtsShorted" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","rtsShorted")=2` |WARNING | | |Status: Device has "rtsDisconnected" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","rtsDisconnected")=2` |WARNING | | |Status: Device has "heatsinkTempSensorOpen" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","heatsinkTempSensorOpen")=2` |WARNING | | |Status: Device has "heatsinkTempSensorShorted" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","heatsinkTempSensorShorted")=2` |WARNING | | |Status: Device has "heatsinkTempLimit" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","heatsinkTempLimit")=2` |WARNING | | |Status: Device has "inductorTempSensorOpen" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","inductorTempSensorOpen")=2` |WARNING | | |Status: Device has "inductorTempSensorShorted" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","inductorTempSensorShorted")=2` |WARNING | | |Status: Device has "inductorTempLimit" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","inductorTempLimit")=2` |WARNING | | |Status: Device has "currentLimit" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","currentLimit")=2` |WARNING | | |Status: Device has "currentMeasurementError" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","currentMeasurementError")=2` |WARNING | | |Status: Device has "batterySenseOutOfRange" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","batterySenseOutOfRange")=2` |WARNING | | |Status: Device has "batterySenseDisconnected" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","batterySenseDisconnected")=2` |WARNING | | |Status: Device has "uncalibrated" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","uncalibrated")=2` |WARNING | | |Status: Device has "tb5v" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","tb5v")=2` |WARNING | | |Status: Device has "fp10SupplyOutOfRange" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","fp10SupplyOutOfRange")=2` |WARNING | | |Status: Device has "mosfetOpen" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","mosfetOpen")=2` |WARNING | | |Status: Device has "arrayCurrentOffset" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","arrayCurrentOffset")=2` |WARNING | | |Status: Device has "loadCurrentOffset" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","loadCurrentOffset")=2` |WARNING | | |Status: Device has "p33SupplyOutOfRange" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","p33SupplyOutOfRange")=2` |WARNING | | |Status: Device has "p12SupplyOutOfRange" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","p12SupplyOutOfRange")=2` |WARNING | | |Status: Device has "hightInputVoltageLimit" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","hightInputVoltageLimit")=2` |WARNING | | |Status: Device has "controllerReset" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","controllerReset")=2` |WARNING | | |Status: Device has "loadLvd" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","loadLvd")=2` |WARNING | | |Status: Device has "logTimeout" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","logTimeout")=2` |WARNING | | |Status: Device has "eepromAccessFailure" alarm flag |

-

|`count(/Morningstar ProStar MPPT SNMP/status.alarms[alarms.0],#3,"like","eepromAccessFailure")=2` |WARNING | | |Temperature: Low battery temperature (below {$BATTERY.TEMP.MIN.WARN}C for 5m) |

-

|`max(/Morningstar ProStar MPPT SNMP/temp.battery[batteryTemperature.0],5m)<{$BATTERY.TEMP.MIN.WARN}` |WARNING |

**Depends on**:

- Temperature: Critically low battery temperature (below {$BATTERY.TEMP.MIN.WARN}C for 5m)

| |Temperature: Critically low battery temperature (below {$BATTERY.TEMP.MIN.WARN}C for 5m) |

-

|`max(/Morningstar ProStar MPPT SNMP/temp.battery[batteryTemperature.0],5m)<{$BATTERY.TEMP.MIN.CRIT}` |HIGH | | |Temperature: High battery temperature (over {$BATTERY.TEMP.MAX.WARN}C for 5m) |

-

|`min(/Morningstar ProStar MPPT SNMP/temp.battery[batteryTemperature.0],5m)>{$BATTERY.TEMP.MAX.WARN}` |WARNING |

**Depends on**:

- Temperature: Critically high battery temperature (over {$BATTERY.TEMP.MAX.CRIT}C for 5m)

| |Temperature: Critically high battery temperature (over {$BATTERY.TEMP.MAX.CRIT}C for 5m) |

-

|`min(/Morningstar ProStar MPPT SNMP/temp.battery[batteryTemperature.0],5m)>{$BATTERY.TEMP.MAX.CRIT}` |HIGH | | ## Feedback Please report any issues with the template at https://support.zabbix.com