zabbix_export:
  version: '7.0'
  template_groups:
    - uuid: 36bff6c29af64692839d077febfc7079
      name: 'Templates/Network devices'
  templates:
    - uuid: 3db86b0d235e4c7b80f7d6144ca08925
      template: 'ZYXEL IES-500x by SNMP'
      name: 'ZYXEL IES-500x by SNMP'
      description: |
        ZYXEL IES-500x
        
        MIBs used:
        RFC1213-MIB
        HOST-RESOURCES-MIB
        ADSL-LINE-MIB
        ZYXEL-IES5000-MIB
        IF-MIB
        
        Known Issues:
        
          Description: Incorrect handling of SNMP bulk requests. Disable the use of bulk requests in the SNMP interface settings.
          Version: all versions firmware
          Device: ZYXEL IES-500x
        
        You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/422668-discussion-thread-for-official-zabbix-templates-for-zyxel
        
        Generated by official Zabbix template tool "Templator"
      vendor:
        name: Zabbix
        version: 7.0-0
      groups:
        - name: 'Templates/Network devices'
      items:
        - uuid: dbaf039727f542a6935223c944fab95d
          name: 'SNMP agent availability'
          type: INTERNAL
          key: 'zabbix[host,snmp,available]'
          valuemap:
            name: 'SNMP available'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          tags:
            - tag: component
              value: network
          triggers:
            - uuid: 73967d1d3d01458c8e947a1aacb838b0
              expression: 'max(/ZYXEL IES-500x by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
              name: 'No SNMP data collection'
              opdata: 'Current state: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'SNMP is not available for polling. Please check device connectivity and SNMP settings.'
              tags:
                - tag: scope
                  value: availability
        - uuid: 5bc150cfc9b147e68b5d15a750546a3f
          name: Contact
          type: SNMP_AGENT
          snmp_oid: .1.3.6.1.2.1.1.4.0
          key: zyxel.ies500x.contact
          delay: 1h
          value_type: CHAR
          description: |
            MIB: RFC1213-MIB
            The textual identification of the contact person
            for this managed node, together with information
            on how to contact this person.
          inventory_link: CONTACT
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          tags:
            - tag: component
              value: inventory
        - uuid: 5fa56229a8854d62bb6c516da873d63b
          name: 'Uptime (hardware)'
          type: SNMP_AGENT
          snmp_oid: .1.3.6.1.2.1.25.1.1.0
          key: zyxel.ies500x.hw.uptime
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: HOST-RESOURCES-MIB
            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.
          preprocessing:
            - type: CHECK_NOT_SUPPORTED
              parameters:
                - '-1'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: cd669772d4454a359f1c372dce4a01de
          name: Location
          type: SNMP_AGENT
          snmp_oid: .1.3.6.1.2.1.1.6.0
          key: zyxel.ies500x.location
          delay: 1h
          value_type: CHAR
          description: |
            MIB: RFC1213-MIB
            The physical location of this node (e.g.,
            `telephone closet, 3rd floor').
          inventory_link: LOCATION
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          tags:
            - tag: component
              value: inventory
        - uuid: 591148b198854413aed834874bf8f137
          name: 'MAC address'
          type: SNMP_AGENT
          snmp_oid: .1.3.6.1.2.1.2.2.1.6.1
          key: zyxel.ies500x.mac
          delay: 1h
          value_type: CHAR
          description: |
            MIB: IF-MIB
            The interface's address at the protocol layer
            immediately `below' the network layer in the
            protocol stack.  For interfaces which do not have
            such an address (e.g., a serial line), this object
            should contain an octet string of zero length.
          inventory_link: MACADDRESS_A
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          tags:
            - tag: component
              value: inventory
        - uuid: aa26dcc1d8c54feaaa70d42c6ff4d1c7
          name: 'Hardware model name'
          type: SNMP_AGENT
          snmp_oid: .1.3.6.1.2.1.1.1.0
          key: zyxel.ies500x.model
          delay: 1h
          value_type: CHAR
          description: |
            MIB: RFC1213-MIB
            A textual description of the entity.  This value
            should include the full name and version
            identification of the system's hardware type,
            software operating-system, and networking
            software.  It is mandatory that this only contain
            printable ASCII characters.
          inventory_link: MODEL
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          tags:
            - tag: component
              value: inventory
          triggers:
            - uuid: d4b378535f5c4299af1295029e94f9d1
              expression: 'not(last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.model)="IES-5000" or last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.model)="IES-5005")'
              name: 'Template does not match hardware'
              priority: INFO
              description: 'This template is for Zyxel IES-500x, but connected to {ITEM.VALUE}'
              tags:
                - tag: scope
                  value: notice
        - uuid: ee9da829778e4da69fde78f72b5b0783
          name: 'Host name'
          type: SNMP_AGENT
          snmp_oid: .1.3.6.1.2.1.1.5.0
          key: zyxel.ies500x.name
          delay: 1h
          value_type: CHAR
          description: |
            MIB: RFC1213-MIB
            An administratively-assigned name for this
            managed node.  By convention, this is the node's
            fully-qualified domain name.
          inventory_link: NAME
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          tags:
            - tag: component
              value: inventory
        - uuid: 28df2d29a94d429d811dd40ceb510fcf
          name: 'Uptime (network)'
          type: SNMP_AGENT
          snmp_oid: .1.3.6.1.2.1.1.3.0
          key: zyxel.ies500x.net.uptime
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: RFC1213-MIB
            The time (in hundredths of a second) since the
            network management portion of the system was last
            re-initialized.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
      discovery_rules:
        - uuid: 2ddba614e41f4014abef703418439e2a
          name: 'Packet buffer discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#ZYXEL.BUFFERHIGHTHRESH}, .1.3.6.1.4.1.890.1.5.13.5.11.3.5.1.4]'
          key: zyxel.ies500x.buffer.discovery
          delay: 1h
          description: 'A table that contains packet buffer usage information.'
          item_prototypes:
            - uuid: ac3d27ace5b54f80ad1dd9182d01c0fa
              name: 'Slot {#ZYXEL.SLOT.ID}: Packet buffer utilization'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.13.5.11.3.5.1.2.{#SNMPINDEX}'
              key: 'zyxel.ies500x.buffer[{#SNMPINDEX}]'
              units: '%'
              description: |
                MIB: ZYXEL-IES5000-MIB
                The packet buffer usage in the past 60 seconds.
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: system
              trigger_prototypes:
                - uuid: b02248180f314948bdbb68e8b940cb99
                  expression: 'min(/ZYXEL IES-500x by SNMP/zyxel.ies500x.buffer[{#SNMPINDEX}],5m)>{#ZYXEL.BUFFERHIGHTHRESH}'
                  name: 'High Packet buffer utilization in Slot {#ZYXEL.SLOT.ID}'
                  event_name: 'High Packet buffer utilization in Slot {#ZYXEL.SLOT.ID} (>{#ZYXEL.BUFFERHIGHTHRESH}% for 5m)'
                  priority: AVERAGE
                  description: 'The system is running out of free buffer.'
                  tags:
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: 83573a387ef24596bf7e4171506a9ea5
              name: 'ZYXEL IES-500x: Slot {#ZYXEL.SLOT.ID}: Packet buffer utilization'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.buffer[{#SNMPINDEX}]'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var inArray = JSON.parse(value);
                  var outArr = []
                  inArray.forEach(function (item, i, arr) {
                  	item['{#ZYXEL.SLOT.ID}'] = item['{#SNMPINDEX}'].split('.')[1];
                  	item['{#ZYXEL.SENSOR.ID}'] = item['{#SNMPINDEX}'].split('.')[2];
                  	outArr.push(item)
                  });
                  return JSON.stringify(outArr);
        - uuid: 72237ffed25148bea512b9a977e0bbde
          name: 'CPU discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#ZYXEL.CPU.THRESH.HIGH}, .1.3.6.1.4.1.890.1.5.13.5.11.3.4.1.4]'
          key: zyxel.ies500x.cpu.discovery
          delay: 1h
          description: |
            A table that contains CPU utilization information.
            This table is supported by R1.03 and later versions.
          item_prototypes:
            - uuid: 570e8cb266cd4b38819f2091d3981f24
              name: 'Slot {#ZYXEL.SLOT.ID}: CPU utilization'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.13.5.11.3.4.1.2.{#SNMPINDEX}'
              key: 'zyxel.ies500x.cpu[{#SNMPINDEX}]'
              units: '%'
              description: |
                MIB: ZYXEL-IES5000-MIB
                The CPU utilization in the past 60 seconds.
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: cpu
              trigger_prototypes:
                - uuid: e2e689642a884509a5254e946deaf69f
                  expression: 'min(/ZYXEL IES-500x by SNMP/zyxel.ies500x.cpu[{#SNMPINDEX}],5m)>{#ZYXEL.CPU.THRESH.HIGH}'
                  name: 'Slot {#ZYXEL.SLOT.ID} high CPU utilization'
                  event_name: 'Slot {#ZYXEL.SLOT.ID} high CPU utilization (over {#ZYXEL.CPU.THRESH.HIGH}% for 5m)'
                  opdata: 'Current utilization: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'The CPU utilization is too high. The system might be slow to respond.'
                  tags:
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: c9a9a54478ba46bbb91b4945c977a823
              name: 'ZYXEL IES-500x: Slot {#ZYXEL.SLOT.ID}: CPU utilization'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.cpu[{#SNMPINDEX}]'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var inArray = JSON.parse(value);
                  var outArr = []
                  inArray.forEach(function (item, i, arr) {
                  	item['{#ZYXEL.SLOT.ID}'] = item['{#SNMPINDEX}'].split('.')[1];
                  	item['{#ZYXEL.SENSOR.ID}'] = item['{#SNMPINDEX}'].split('.')[2];
                  	outArr.push(item)
                  });
                  return JSON.stringify(outArr);
        - uuid: 6b75915015194d40b043d69754b0e8e9
          name: 'Fan discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#ZYXEL.FANRPM.THRESH.HIGH}, .1.3.6.1.4.1.890.1.5.13.5.11.3.1.1.7,{#ZYXEL.FANRPM.THRESH.LOW}, .1.3.6.1.4.1.890.1.5.13.5.11.3.1.1.5]'
          key: zyxel.ies500x.fan.discovery
          delay: 1h
          description: 'An entry in fanRpmTable.'
          item_prototypes:
            - uuid: 5edaea71cd9e4190912a9d4a916436b3
              name: 'Fan #{#SNMPINDEX}'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.13.5.11.3.1.1.2.{#SNMPINDEX}'
              key: 'zyxel.ies500x.fan[{#SNMPINDEX}]'
              units: '!rpm'
              description: |
                MIB: ZYXEL-IES5000-MIB
                Current speed in Revolutions Per Minute (RPM) on the fan.
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: fan
                - tag: component
                  value: sensor
              trigger_prototypes:
                - uuid: 9e249839db314f05a7a3cd16172ae9a7
                  expression: 'last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.fan[{#SNMPINDEX}])<{#ZYXEL.FANRPM.THRESH.LOW} or last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.fan[{#SNMPINDEX}])>{#ZYXEL.FANRPM.THRESH.HIGH}'
                  name: 'FAN{#SNMPINDEX} is in critical state'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: 'Please check the fan unit'
                  tags:
                    - tag: scope
                      value: notice
          graph_prototypes:
            - uuid: 79f318a961b5418e888de36f8ffe17e7
              name: 'ZYXEL IES-500x: Fan #{#SNMPINDEX}'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.fan[{#SNMPINDEX}]'
        - uuid: 3b33b6eb85b14bfba025b0cd4909fa3e
          name: 'Memory discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#ZYXEL.MEMORYHIGHTHRESH},  .1.3.6.1.4.1.890.1.5.13.5.11.3.6.1.4]'
          key: zyxel.ies500x.memory.discovery
          delay: 1h
          description: 'A table that contains memory usage information.'
          item_prototypes:
            - uuid: 61d07cbd85734ea6933182cbcb77b6a8
              name: 'Slot {#ZYXEL.SLOT.ID}: Memory utilization'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.13.5.11.3.6.1.2.{#SNMPINDEX}'
              key: 'zyxel.ies500x.memory[{#SNMPINDEX}]'
              units: '%'
              description: |
                MIB: ZYXEL-IES5000-MIB
                The memory usage in the past 60 seconds.
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: memory
              trigger_prototypes:
                - uuid: c3099861742f4303af838a0bf3921fac
                  expression: 'min(/ZYXEL IES-500x by SNMP/zyxel.ies500x.memory[{#SNMPINDEX}],5m)>{#ZYXEL.MEMORYHIGHTHRESH}'
                  name: 'High memory utilization in Slot {#ZYXEL.SLOT.ID} pool'
                  event_name: 'High memory utilization in Slot {#ZYXEL.SLOT.ID} pool (>{#ZYXEL.MEMORYHIGHTHRESH}% for 5m)'
                  priority: AVERAGE
                  description: 'The system is running out of free memory.'
                  tags:
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: 0b72c4f49d434e0c9a7de3a6617511ea
              name: 'ZYXEL IES-500x: Slot {#ZYXEL.SLOT.ID}: Memory utilization'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.memory[{#SNMPINDEX}]'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var inArray = JSON.parse(value);
                  var outArr = []
                  inArray.forEach(function (item, i, arr) {
                  	item['{#ZYXEL.SLOT.ID}'] = item['{#SNMPINDEX}'].split('.')[1];
                  	item['{#ZYXEL.SENSOR.ID}'] = item['{#SNMPINDEX}'].split('.')[2];
                  	outArr.push(item)
                  });
                  return JSON.stringify(outArr);
        - uuid: f3cb59dc48924203bc34da090f084665
          name: 'ADSL interface discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#ZYXEL.IF.NAME},.1.3.6.1.2.1.31.1.1.1.1,{#ZYXEL.IF.LINKSTATUS},.1.3.6.1.2.1.2.2.1.8,{#ZYXEL.IF.DESC},.1.3.6.1.2.1.31.1.1.1.18]'
          key: zyxel.ies500x.net.adsl.discovery
          delay: 1h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#ZYXEL.IF.DESC}'
                value: '{$ZYXEL.LLD.FILTER.IF.DESC.MATCHES}'
              - macro: '{#ZYXEL.IF.DESC}'
                value: '{$ZYXEL.LLD.FILTER.IF.DESC.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#ZYXEL.IF.LINKSTATUS}'
                value: '{$ZYXEL.LLD.FILTER.IF.LINKSTATUS.MATCHES}'
              - macro: '{#ZYXEL.IF.LINKSTATUS}'
                value: '{$ZYXEL.LLD.FILTER.IF.LINKSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#ZYXEL.IF.NAME}'
                value: adsl
          item_prototypes:
            - uuid: be9de0c5e397414bbef8edd74d0f6500
              name: 'Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}: Administrative status'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.2.2.1.7.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.adsl.adminstatus[{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                The desired state of the interface.  The
                testing(3) state indicates that no operational
                packets can be passed.
              valuemap:
                name: 'ZYXEL IES-500x port admin status'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 3a97021a210442c3bdc461060fbe700b
              name: 'Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}: ATUC attenuation'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.10.94.1.1.2.1.5.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.adsl.atuc.atn[{#SNMPINDEX}]'
              value_type: FLOAT
              units: dB
              description: |
                MIB: ADSL-LINE-MIB
                Measured difference in the total power transmitted by
                the peer ATU and the total power received by this ATU.
                The Info Atuc fields show data acquired from the ATUC (ADSL Termination Unit - Central), in this case ZYXEL IES-500x, during negotiation/provisioning message interchanges.
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '0.1'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
              trigger_prototypes:
                - uuid: 375982ea68ec4800aa27a50a89fd79d5
                  expression: 'min(/ZYXEL IES-500x by SNMP/zyxel.ies500x.net.adsl.atuc.atn[{#SNMPINDEX}],5m)>{$ZYXEL.ADSL.ATN.MAX}'
                  name: 'High the DSL line attenuation in Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}'
                  event_name: 'High the DSL line attenuation in Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID} (>{$ZYXEL.ADSL.ATN.MAX}dB for 5m)'
                  priority: WARNING
                  description: 'The reductions in amplitude of the downstream and upstream DSL signals.'
                  tags:
                    - tag: scope
                      value: capacity
            - uuid: 62f3eb71d01946a68d799aa6ed1d29a3
              name: 'Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}: ATUC output power'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.10.94.1.1.2.1.7.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.adsl.atuc.outpwr[{#SNMPINDEX}]'
              value_type: FLOAT
              units: dB
              description: |
                MIB: ADSL-LINE-MIB
                Measured total output power transmitted by this ATU.
                The Info Atuc fields show data acquired from the ATUC (ADSL Termination Unit - Central), in this case ZYXEL IES-500x, during negotiation/provisioning message interchanges.
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '0.1'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 540251c3a4024e4289194130853be305
              name: 'Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}: ATUC noise margin'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.10.94.1.1.2.1.4.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.adsl.atuc.snrmgn[{#SNMPINDEX}]'
              value_type: FLOAT
              units: dB
              description: |
                MIB: ADSL-LINE-MIB
                Noise Margin as seen by this ATU with respect to its
                received signal in tenth dB.
                The Info Atuc fields show data acquired from the ATUC (ADSL Termination Unit - Central), in this case ZYXEL IES-500x, during negotiation/provisioning message interchanges.
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '0.1'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
              trigger_prototypes:
                - uuid: 8d2f57548d4e47f2981a4fd79d065246
                  expression: 'min(/ZYXEL IES-500x by SNMP/zyxel.ies500x.net.adsl.atuc.snrmgn[{#SNMPINDEX}],5m)<{$ZYXEL.ADSL.SNR.MIN}'
                  name: 'Low the DSL line noise margins in Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}'
                  event_name: 'Low the DSL line noise margins in Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID} (<{$ZYXEL.ADSL.SNR.MIN}dB for 5m)'
                  priority: WARNING
                  description: 'Signal-to-noise margin (SNR Margin) which is the difference between the actual SNR and the SNR required to sync at a specific speed'
                  tags:
                    - tag: scope
                      value: capacity
            - uuid: a664c452a98d4478b4663aa7cca9c19c
              name: 'Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}: ATUR attenuation'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.10.94.1.1.3.1.5.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.adsl.atur.atn[{#SNMPINDEX}]'
              value_type: FLOAT
              units: dB
              description: |
                MIB: ADSL-LINE-MIB
                Measured difference in the total power transmitted by
                the peer ATU and the total power received by this ATU.
                The Info Atur fields show data acquired from the ATUR (ADSL Termination Unit - Remote), in this case the subscriber's ADSL modem or router, during negotiation/provisioning message interchanges.
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '0.1'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
              trigger_prototypes:
                - uuid: 1dec7ed135a348b1a1cebb3b4319d77f
                  expression: 'min(/ZYXEL IES-500x by SNMP/zyxel.ies500x.net.adsl.atur.atn[{#SNMPINDEX}],5m)>{$ZYXEL.ADSL.ATN.MAX}'
                  name: 'High the DSL line attenuation in Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}'
                  event_name: 'High the DSL line attenuation in Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID} (>{$ZYXEL.ADSL.ATN.MAX}dB for 5m)'
                  priority: WARNING
                  description: 'The reductions in amplitude of the downstream and upstream DSL signals.'
                  tags:
                    - tag: scope
                      value: capacity
            - uuid: 91a4b40293d54fe8bc8894303055cba3
              name: 'Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}: ATUR output power'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.10.94.1.1.3.1.7.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.adsl.atur.outpwr[{#SNMPINDEX}]'
              value_type: FLOAT
              units: dB
              description: |
                MIB: ADSL-LINE-MIB
                Measured total output power transmitted by this ATU.
                The Info Atur fields show data acquired from the ATUR (ADSL Termination Unit - Remote), in this case the subscriber's ADSL modem or router, during negotiation/provisioning message interchanges.
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '0.1'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 691ffcf882c54ebe8d0dfa305d8497e0
              name: 'Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}: ATUR noise margin'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.10.94.1.1.3.1.4.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.adsl.atur.snrmgn[{#SNMPINDEX}]'
              value_type: FLOAT
              units: dB
              description: |
                MIB: ADSL-LINE-MIB
                Noise Margin as seen by this ATU with respect to its
                received signal in tenth dB.
                The Info Atur fields show data acquired from the ATUR (ADSL Termination Unit - Remote), in this case the subscriber's ADSL modem or router, during negotiation/provisioning message interchanges.
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '0.1'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
              trigger_prototypes:
                - uuid: 7f8f4a2bff14464fbe2f956be87ad56d
                  expression: 'min(/ZYXEL IES-500x by SNMP/zyxel.ies500x.net.adsl.atur.snrmgn[{#SNMPINDEX}],5m)<{$ZYXEL.ADSL.SNR.MIN}'
                  name: 'Low the DSL line noise margins in Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}'
                  event_name: 'Low the DSL line noise margins in Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID} (<{$ZYXEL.ADSL.SNR.MIN}dB for 5m)'
                  priority: WARNING
                  description: 'Signal-to-noise margin (SNR Margin) which is the difference between the actual SNR and the SNR required to sync at a specific speed'
                  tags:
                    - tag: scope
                      value: capacity
            - uuid: c00cf2ee74c0476f9118594d04e6640d
              name: 'Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}: Interface description'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.18.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.adsl.descr[{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: IF-MIB
                A textual string containing information about the interface
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 3df0ee0298c2445f81e1aca8ee748a50
              name: 'Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}: Incoming broadcast packages'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.9.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.adsl.in.broadcastpkts[{#SNMPINDEX}]'
              units: packets/s
              description: |
                MIB: IF-MIB
                The number of packets, delivered by this sub-layer to a
                higher (sub-)layer, which were addressed to a broadcast
                address at this sub-layer.
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 05799441c906425d8f584ead3e9b909b
              name: 'Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}: Incoming multicast packages'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.8.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.adsl.in.multicastpkts[{#SNMPINDEX}]'
              units: packets/s
              description: |
                MIB: IF-MIB
                The number of packets, delivered by this sub-layer to a
                higher (sub-)layer, which were addressed to a multicast
                address at this sub-layer.  For a MAC layer protocol, this
                includes both Group and Functional addresses.
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: fff4c400f6774b9ba5e47fbeb214e5ec
              name: 'Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}: Incoming traffic'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.adsl.in.traffic[{#SNMPINDEX}]'
              units: bps
              description: |
                MIB: IF-MIB
                The total number of octets received on the interface,
                including framing characters.
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '8'
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 4ffe4823f03b4c738b305f03ae4f1d55
              name: 'Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}: Incoming unicast packages'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.7.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.adsl.in.ucastpkts[{#SNMPINDEX}]'
              units: packets/s
              description: |
                MIB: IF-MIB
                The number of packets, delivered by this sub-layer to a
                higher (sub-)layer, which were not addressed to a multicast
                or broadcast address at this sub-layer
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 514910a945e34befa0ecc22ea0b89783
              name: 'Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}: Interface name'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.1.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.adsl.name[{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: IF-MIB
                A textual string containing information about the interface
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 216ad17a0c3348d7a250697f768a6481
              name: 'Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}: Operational status'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.adsl.operstatus[{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                The current operational state of the interface.
                The testing(3) state indicates that no operational
                packets can be passed.
              valuemap:
                name: 'ZYXEL IES-500x port operational status'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
              trigger_prototypes:
                - uuid: 8afcc973a7e94a0782a057205cc1b8ed
                  expression: 'last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.net.adsl.operstatus[{#SNMPINDEX}])=2 and last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.net.adsl.operstatus[{#SNMPINDEX}],#1)<>last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.net.adsl.operstatus[{#SNMPINDEX}],#2)'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.net.adsl.operstatus[{#SNMPINDEX}])<>2'
                  name: 'Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}: Link down'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: |
                    This trigger expression works as follows:
                    1. It can be triggered if the operations status is down.
                    2. `{$IFCONTROL:"{#IFNAME}"}=1` - a user can redefine context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down.
                    3. `{TEMPLATE_NAME:METRIC.diff()}=1` - the trigger fires only if the operational status was up to (1) sometime before (so, do not fire for the 'eternal off' interfaces.)
                    
                    WARNING: if closed manually - it will not fire again on the next poll, because of .diff.
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: 7eec054602cb4f988999d80b29f25a32
              name: 'Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}: Outgoing broadcast packages'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.13.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.adsl.out.broadcastpkts[{#SNMPINDEX}]'
              units: packets/s
              description: |
                MIB: IF-MIB
                The total number of packets that higher-level protocols
                requested be transmitted, and which were addressed to a
                broadcast address at this sub-layer, including those that
                were discarded or not sent.
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 420fa08f36bf487cb0af6dc64f335e7b
              name: 'Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}: Outgoing multicast packages'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.12.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.adsl.out.multicastpkts[{#SNMPINDEX}]'
              units: packets/s
              description: |
                MIB: IF-MIB
                The total number of packets that higher-level protocols
                requested be transmitted, and which were addressed to a
                multicast address at this sub-layer, including those that
                were discarded or not sent.  For a MAC layer protocol, this
                includes both Group and Functional addresses.
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 70a1342e17634500ac9c896c66177de6
              name: 'Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}: Outgoing traffic'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.adsl.out.traffic[{#SNMPINDEX}]'
              units: bps
              description: |
                MIB: IF-MIB
                The total number of octets transmitted out of the
                interface, including framing characters.  This object is a
                64-bit version of ifOutOctets.
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '8'
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 5c2f168d421e4b81a3d62e415ec8218a
              name: 'Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}: Outgoing unicast packages'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.11.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.adsl.out.ucastpkts[{#SNMPINDEX}]'
              units: packets/s
              description: |
                MIB: IF-MIB
                The total number of packets that higher-level protocols
                requested be transmitted, and which were not addressed to a
                multicast or broadcast address at this sub-layer, including
                those that were discarded or not sent.
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
          graph_prototypes:
            - uuid: a98704946d534a06909de85a05d75224
              name: 'ZYXEL IES-500x: Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}: Packets traffic'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.net.adsl.in.ucastpkts[{#SNMPINDEX}]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.net.adsl.out.ucastpkts[{#SNMPINDEX}]'
                - sortorder: '2'
                  color: 00611C
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.net.adsl.in.multicastpkts[{#SNMPINDEX}]'
                - sortorder: '3'
                  color: F7941D
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.net.adsl.out.multicastpkts[{#SNMPINDEX}]'
                - sortorder: '4'
                  color: FC6EA3
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.net.adsl.in.broadcastpkts[{#SNMPINDEX}]'
                - sortorder: '5'
                  color: 6C59DC
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.net.adsl.out.broadcastpkts[{#SNMPINDEX}]'
            - uuid: 184fddf8b22047e6a7ff4c5837642e60
              name: 'ZYXEL IES-500x: Slot {#ZYXEL.SLOT.ID} Port {#ZYXEL.PORTID}: Traffic'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.net.adsl.in.traffic[{#SNMPINDEX}]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.net.adsl.out.traffic[{#SNMPINDEX}]'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var inArray = JSON.parse(value);
                  var outArr = []
                  inArray.forEach(function (item, i, arr) {
                  	item['{#ZYXEL.SLOT.ID}'] = Math.floor(item['{#SNMPINDEX}'] / 100);
                  	item['{#ZYXEL.PORTID}'] = item['{#SNMPINDEX}'] % 100;
                  	outArr.push(item)
                  });
                  return JSON.stringify(outArr);
          overrides:
            - name: 'Don''t create triggers for matching interface'
              step: '1'
              filter:
                conditions:
                  - macro: '{#ZYXEL.IF.NAME}'
                    value: '{$ZYXEL.LLD.FILTER.IF.CONTROL.MATCHES}'
                    operator: NOT_MATCHES_REGEX
              operations:
                - operationobject: TRIGGER_PROTOTYPE
                  operator: REGEXP
                  value: '.*'
                  discover: NO_DISCOVER
        - uuid: 5121e130194244869e45f9f7bda7cd01
          name: 'Ethernet interface discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#ZYXEL.IF.NAME},.1.3.6.1.2.1.31.1.1.1.1,{#ZYXEL.IF.LINKSTATUS},.1.3.6.1.2.1.2.2.1.8,{#ZYXEL.IF.DESC},.1.3.6.1.2.1.31.1.1.1.18]'
          key: zyxel.ies500x.net.if.discovery
          delay: 1h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#ZYXEL.IF.DESC}'
                value: '{$ZYXEL.LLD.FILTER.IF.DESC.MATCHES}'
              - macro: '{#ZYXEL.IF.DESC}'
                value: '{$ZYXEL.LLD.FILTER.IF.DESC.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#ZYXEL.IF.LINKSTATUS}'
                value: '{$ZYXEL.LLD.FILTER.IF.LINKSTATUS.MATCHES}'
              - macro: '{#ZYXEL.IF.LINKSTATUS}'
                value: '{$ZYXEL.LLD.FILTER.IF.LINKSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#ZYXEL.IF.NAME}'
                value: enet
          item_prototypes:
            - uuid: bc53c15035a94ed4a7537f0ab119d738
              name: 'Port {#SNMPINDEX}: Administrative status'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.2.2.1.7.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.if.adminstatus[{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                The desired state of the interface.  The
                testing(3) state indicates that no operational
                packets can be passed.
              valuemap:
                name: 'ZYXEL IES-500x port admin status'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 7bd13f8dd37c417dbbc92abbcbefbdde
              name: 'Port {#SNMPINDEX}: Interface description'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.18.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.if.descr[{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: IF-MIB
                A textual string containing information about the interface
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 7ab66a4640ee4852ad0e587eb1076f9d
              name: 'Port {#SNMPINDEX}: Link speed'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.if.highspeed[{#SNMPINDEX}]'
              units: bps
              description: |
                MIB: IF-MIB
                An estimate of the interface's current bandwidth in bits per second
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '1000000'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 0b1508bec31642c381b4bab5b1c394fb
              name: 'Port {#SNMPINDEX}: Incoming broadcast packages'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.9.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.if.in.broadcastpkts[{#SNMPINDEX}]'
              units: packets/s
              description: |
                MIB: IF-MIB
                The number of packets, delivered by this sub-layer to a
                higher (sub-)layer, which were addressed to a broadcast
                address at this sub-layer.
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 5a77fb99febd45feaadbb4f1c6f58ead
              name: 'Port {#SNMPINDEX}: Incoming multicast packages'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.8.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.if.in.multicastpkts[{#SNMPINDEX}]'
              units: packets/s
              description: |
                MIB: IF-MIB
                The number of packets, delivered by this sub-layer to a
                higher (sub-)layer, which were addressed to a multicast
                address at this sub-layer.  For a MAC layer protocol, this
                includes both Group and Functional addresses.
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: a4375745658546598b786c43bafb629f
              name: 'Port {#SNMPINDEX}: Incoming traffic'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.if.in.traffic[{#SNMPINDEX}]'
              units: bps
              description: |
                MIB: IF-MIB
                The total number of octets received on the interface,
                including framing characters.
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '8'
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: eb00c7f533b24a06b3b9b926dc8aff2d
              name: 'Port {#SNMPINDEX}: Incoming unicast packages'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.7.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.if.in.ucastpkts[{#SNMPINDEX}]'
              units: packets/s
              description: |
                MIB: IF-MIB
                The number of packets, delivered by this sub-layer to a
                higher (sub-)layer, which were not addressed to a multicast
                or broadcast address at this sub-layer
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: c90cfe865d7a4fdd89970e086b04a9a7
              name: 'Port {#SNMPINDEX}: Incoming utilization'
              type: CALCULATED
              key: 'zyxel.ies500x.net.if.in.util[{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              params: 'last(//zyxel.ies500x.net.if.in.traffic[{#SNMPINDEX}]) * (last(//zyxel.ies500x.net.if.highspeed[{#SNMPINDEX}]) <> 0) /( last(//zyxel.ies500x.net.if.highspeed[{#SNMPINDEX}]) + (last(//zyxel.ies500x.net.if.highspeed[{#SNMPINDEX}]) = 0) ) * 100'
              description: 'Interface utilization percentage'
              preprocessing:
                - type: IN_RANGE
                  parameters:
                    - '0'
                    - '100'
                  error_handler: DISCARD_VALUE
                - type: JAVASCRIPT
                  parameters:
                    - 'return +parseFloat(value).toFixed(0);'
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: bbbd8624e0e24db8b062625a2de1785b
              name: 'Port {#SNMPINDEX}: Interface name'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.1.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.if.name[{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: IF-MIB
                A textual string containing information about the interface
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: d3e519c9648c4c58a7e55a9c90d8a3c0
              name: 'Port {#SNMPINDEX}: Operational status'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.if.operstatus[{#SNMPINDEX}]'
              description: |
                MIB: IF-MIB
                The current operational state of the interface.
                The testing(3) state indicates that no operational
                packets can be passed.
              valuemap:
                name: 'ZYXEL IES-500x port operational status'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
              trigger_prototypes:
                - uuid: 71a10836f3094184bba728a0cf4d005a
                  expression: 'last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.net.if.operstatus[{#SNMPINDEX}])=2 and last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.net.if.operstatus[{#SNMPINDEX}],#1)<>last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.net.if.operstatus[{#SNMPINDEX}],#2)'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.net.if.operstatus[{#SNMPINDEX}])<>2'
                  name: 'Port {#SNMPINDEX}: Link down'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: |
                    This trigger expression works as follows:
                    1. It can be triggered if the operations status is down.
                    2. `{$IFCONTROL:"{#IFNAME}"}=1` - a user can redefine context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down.
                    3. `{TEMPLATE_NAME:METRIC.diff()}=1` - the trigger fires only if the operational status was up to (1) sometime before (so, do not fire for the 'eternal off' interfaces.)
                    
                    WARNING: if closed manually - it will not fire again on the next poll, because of .diff.
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: 7816c8845baa498a96cc6d0a4049357c
              name: 'Port {#SNMPINDEX}: Outgoing broadcast packages'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.13.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.if.out.broadcastpkts[{#SNMPINDEX}]'
              units: packets/s
              description: |
                MIB: IF-MIB
                The total number of packets that higher-level protocols
                requested be transmitted, and which were addressed to a
                broadcast address at this sub-layer, including those that
                were discarded or not sent.
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: bbd80eaceee848019cfef5e20f0c356a
              name: 'Port {#SNMPINDEX}: Outgoing multicast packages'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.12.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.if.out.multicastpkts[{#SNMPINDEX}]'
              units: packets/s
              description: |
                MIB: IF-MIB
                The total number of packets that higher-level protocols
                requested be transmitted, and which were addressed to a
                multicast address at this sub-layer, including those that
                were discarded or not sent.  For a MAC layer protocol, this
                includes both Group and Functional addresses.
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: c9f694268c334213a39c09dbadcdd067
              name: 'Port {#SNMPINDEX}: Outgoing traffic'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.if.out.traffic[{#SNMPINDEX}]'
              units: bps
              description: |
                MIB: IF-MIB
                The total number of octets transmitted out of the
                interface, including framing characters.  This object is a
                64-bit version of ifOutOctets.
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '8'
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: f929a7e5d0b741c4b557715fbc5a7e1f
              name: 'Port {#SNMPINDEX}: Outgoing unicast packages'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.11.{#SNMPINDEX}'
              key: 'zyxel.ies500x.net.if.out.ucastpkts[{#SNMPINDEX}]'
              units: packets/s
              description: |
                MIB: IF-MIB
                The total number of packets that higher-level protocols
                requested be transmitted, and which were not addressed to a
                multicast or broadcast address at this sub-layer, including
                those that were discarded or not sent.
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 74beae2dcc424702a906aa736e9f9d0f
              name: 'Port {#SNMPINDEX}: Outgoing utilization'
              type: CALCULATED
              key: 'zyxel.ies500x.net.if.out.util[{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              params: 'last(//zyxel.ies500x.net.if.out.traffic[{#SNMPINDEX}]) * (last(//zyxel.ies500x.net.if.highspeed[{#SNMPINDEX}]) <> 0) /( last(//zyxel.ies500x.net.if.highspeed[{#SNMPINDEX}]) + (last(//zyxel.ies500x.net.if.highspeed[{#SNMPINDEX}]) = 0) ) * 100'
              description: 'Interface utilization percentage'
              preprocessing:
                - type: IN_RANGE
                  parameters:
                    - '0'
                    - '100'
                  error_handler: DISCARD_VALUE
                - type: JAVASCRIPT
                  parameters:
                    - 'return +parseFloat(value).toFixed(0);'
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
          graph_prototypes:
            - uuid: cb09087451b3472ab5d04f18c829acc9
              name: 'ZYXEL IES-500x: Port {#SNMPINDEX}: Packets traffic'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.net.if.in.ucastpkts[{#SNMPINDEX}]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.net.if.out.ucastpkts[{#SNMPINDEX}]'
                - sortorder: '2'
                  color: 00611C
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.net.if.in.multicastpkts[{#SNMPINDEX}]'
                - sortorder: '3'
                  color: F7941D
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.net.if.out.multicastpkts[{#SNMPINDEX}]'
                - sortorder: '4'
                  color: FC6EA3
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.net.if.in.broadcastpkts[{#SNMPINDEX}]'
                - sortorder: '5'
                  color: 6C59DC
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.net.if.out.broadcastpkts[{#SNMPINDEX}]'
            - uuid: 82fd413110454b88ab811229cc598eeb
              name: 'ZYXEL IES-500x: Port {#SNMPINDEX}: Traffic'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.net.if.in.traffic[{#SNMPINDEX}]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.net.if.out.traffic[{#SNMPINDEX}]'
            - uuid: c4cbf45592f8421eacc85a833509a819
              name: 'ZYXEL IES-500x: Port {#SNMPINDEX}: Utilization'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - color: 199C0D
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.net.if.out.util[{#SNMPINDEX}]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.net.if.in.util[{#SNMPINDEX}]'
          overrides:
            - name: 'Don''t create triggers for matching interface'
              step: '1'
              filter:
                conditions:
                  - macro: '{#ZYXEL.IF.NAME}'
                    value: '{$ZYXEL.LLD.FILTER.IF.CONTROL.MATCHES}'
                    operator: NOT_MATCHES_REGEX
              operations:
                - operationobject: TRIGGER_PROTOTYPE
                  operator: REGEXP
                  value: '.*'
                  discover: NO_DISCOVER
        - uuid: 3edd9015b1794d39819acf0a2fdc35ba
          name: 'Slot discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#ZYXEL.SLOTSTATUS},.1.3.6.1.4.1.890.1.5.13.5.6.3.1.7,{#ZYXEL.SLOT.ID},.1.3.6.1.4.1.890.1.5.13.5.6.3.1.1]'
          key: zyxel.ies500x.slot.discovery
          delay: 1h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#ZYXEL.SLOTSTATUS}'
                value: '{$ZYXEL.LLD.FILTER.SLOT.STATUS.MATCHES}'
              - macro: '{#ZYXEL.SLOTSTATUS}'
                value: '{$ZYXEL.LLD.FILTER.SLOT.STATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'The table which contains the slot information in a chassis.'
          item_prototypes:
            - uuid: e3a25e0a2532495291446bd1a6641926
              name: 'Slot {#ZYXEL.SLOT.ID}: Alarm status'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.13.5.6.3.1.8.{#SNMPINDEX}'
              key: 'zyxel.ies500x.slot.alarm[{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: ZYXEL-IES5000-MIB
                This variable indicates the alarm status of the module.
                It is a bit map represented a sum, therefore, it can represent
                multiple defects simultaneously. The moduleNoDefect should be set
                if and only if no other flag is set.
                The various bit positions are:
                1   moduleNoDefect
                2   moduleOverHeat
                3   moduleFanRpmLow
                4   moduleVoltageLow
                5   moduleThermalSensorFailure
                6   modulePullOut
                7   powerDC48VAFailure
                8   powerDC48VBFailure
                9   extAlarmInputTrigger
                10   moduleDown
                11   mscSwitchOverOK
                12   networkTopologyChange
                13   macSpoof
                14   cpuHigh
                15   memoryUsageHigh
                16   packetBufferUsageHigh
                17   loopguardOccurence
              preprocessing:
                - type: JAVASCRIPT
                  parameters:
                    - |
                      var valueArray = [
                      	'moduleNoDefect',
                      	'moduleOverHeat',
                      	'moduleFanRpmLow',
                      	'moduleVoltageLow',
                      	'moduleThermalSensorFailure',
                      	'modulePullOut',
                      	'powerDC48VAFailure',
                      	'powerDC48VBFailure',
                      	'extAlarmInputTrigger',
                      	'moduleDown',
                      	'mscSwitchOverOK',
                      	'networkTopologyChange',
                      	'macSpoof',
                      	'cpuHigh',
                      	'memoryUsageHigh',
                      	'packetBufferUsageHigh',
                      	'loopguardOccurence'
                      ];
                      var base2 = parseInt(value).toString(2);
                      var outArray = [];
                      for (var i = 0; i < base2.length; ++i) {
                      	if (base2[base2.length - 1 - i] === '1') outArray.push(valueArray[i]);
                      }
                      return outArray.join();
              tags:
                - tag: component
                  value: line-card
                - tag: interface
                  value: 'slot-{#ZYXEL.SLOT.ID}'
              trigger_prototypes:
                - uuid: d2dd1a23dbbb467e90ab99ff59a817a2
                  expression: 'find(/ZYXEL IES-500x by SNMP/zyxel.ies500x.slot.alarm[{#SNMPINDEX}],,"like","moduleNoDefect")=0'
                  name: 'Slot {#ZYXEL.SLOT.ID} alarm'
                  priority: AVERAGE
                  description: 'The slot reported an error.'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: a58ef41b02d94d16abe294bc26fc0874
              name: 'Slot {#ZYXEL.SLOT.ID}: DSL modem code version'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.13.5.6.3.1.6.{#SNMPINDEX}'
              key: 'zyxel.ies500x.slot.cv.ver[{#SNMPINDEX}]'
              delay: 1h
              value_type: CHAR
              description: |
                MIB: ZYXEL-IES5000-MIB
                The DSL modem code version of the plug-in card.
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: firmware
                - tag: component
                  value: line-card
                - tag: interface
                  value: 'slot-{#ZYXEL.SLOT.ID}'
              trigger_prototypes:
                - uuid: 1b163693dc87407db836021da67bdccc
                  expression: 'last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.slot.cv.ver[{#SNMPINDEX}],#1)<>last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.slot.cv.ver[{#SNMPINDEX}],#2) and length(last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.slot.cv.ver[{#SNMPINDEX}]))>0'
                  name: 'Slot {#ZYXEL.SLOT.ID}: DSL modem code has changed'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: INFO
                  description: 'Firmware version has changed. Acknowledge to close the problem manually.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: bf65cd99df724b64a4cad64c0681ab27
              name: 'Slot {#ZYXEL.SLOT.ID}: Description'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.13.5.6.3.1.3.{#SNMPINDEX}'
              key: 'zyxel.ies500x.slot.desc[{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: ZYXEL-IES5000-MIB
                The descriptions of the plug-in card.
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: line-card
                - tag: interface
                  value: 'slot-{#ZYXEL.SLOT.ID}'
            - uuid: 081fb5758fb6412890a54630d737f239
              name: 'Slot {#ZYXEL.SLOT.ID}: Driver version'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.13.5.6.3.1.5.{#SNMPINDEX}'
              key: 'zyxel.ies500x.slot.dv.ver[{#SNMPINDEX}]'
              delay: 1h
              value_type: CHAR
              description: |
                MIB: ZYXEL-IES5000-MIB
                The DSL driver of the plug-in card.
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: firmware
                - tag: component
                  value: line-card
                - tag: interface
                  value: 'slot-{#ZYXEL.SLOT.ID}'
              trigger_prototypes:
                - uuid: 44f7087bcb524593a419887c199fb613
                  expression: 'last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.slot.dv.ver[{#SNMPINDEX}],#1)<>last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.slot.dv.ver[{#SNMPINDEX}],#2) and length(last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.slot.dv.ver[{#SNMPINDEX}]))>0'
                  name: 'Slot {#ZYXEL.SLOT.ID}: Driver has changed'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: INFO
                  description: 'Firmware version has changed. Acknowledge to close the problem manually.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: 6b3a925397094b00aa31efee03a226fa
              name: 'Slot {#ZYXEL.SLOT.ID}: Firmware version'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.13.5.6.3.1.4.{#SNMPINDEX}'
              key: 'zyxel.ies500x.slot.fw.ver[{#SNMPINDEX}]'
              delay: 1h
              value_type: CHAR
              description: |
                MIB: ZYXEL-IES5000-MIB
                The firmware version of the plug-in card.
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: firmware
                - tag: component
                  value: line-card
                - tag: interface
                  value: 'slot-{#ZYXEL.SLOT.ID}'
              trigger_prototypes:
                - uuid: 6de6e5adadf04a79813ed7778b454043
                  expression: 'last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.slot.fw.ver[{#SNMPINDEX}],#1)<>last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.slot.fw.ver[{#SNMPINDEX}],#2) and length(last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.slot.fw.ver[{#SNMPINDEX}]))>0'
                  name: 'Slot {#ZYXEL.SLOT.ID}: Firmware has changed'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: INFO
                  description: 'Firmware version has changed. Acknowledge to close the problem manually.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: c16e15224326406ba5f4c58a1c2e3b2c
              name: 'Slot {#ZYXEL.SLOT.ID}: Hardware version'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.13.5.6.3.1.10.{#SNMPINDEX}'
              key: 'zyxel.ies500x.slot.hw.ver[{#SNMPINDEX}]'
              delay: 1h
              value_type: CHAR
              description: |
                MIB: ZYXEL-IES5000-MIB
                The hardware version of the plug-in card.
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: firmware
                - tag: component
                  value: line-card
                - tag: interface
                  value: 'slot-{#ZYXEL.SLOT.ID}'
              trigger_prototypes:
                - uuid: 42969016e9c846a8954ebf95d2ff0ffc
                  expression: 'last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.slot.hw.ver[{#SNMPINDEX}],#1)<>last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.slot.hw.ver[{#SNMPINDEX}],#2) and length(last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.slot.hw.ver[{#SNMPINDEX}]))>0'
                  name: 'Slot {#ZYXEL.SLOT.ID}: Hardware version has changed'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: INFO
                  description: 'Firmware version has changed. Acknowledge to close the problem manually.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: eed64c81e4b54ccd9d7f0e5b86ede083
              name: 'Slot {#ZYXEL.SLOT.ID}: MAC address 1'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.13.5.6.3.1.12.{#SNMPINDEX}'
              key: 'zyxel.ies500x.slot.mac1[{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: ZYXEL-IES5000-MIB
                The MAC Address of the plug-in card.
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: line-card
                - tag: interface
                  value: 'slot-{#ZYXEL.SLOT.ID}'
            - uuid: d0fdd2a7dcb348b58dd3bea0357f84b3
              name: 'Slot {#ZYXEL.SLOT.ID}: MAC address 2'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.13.5.6.3.1.13.{#SNMPINDEX}'
              key: 'zyxel.ies500x.slot.mac2[{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: ZYXEL-IES5000-MIB
                The MAC Address of the plug-in card.
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: line-card
                - tag: interface
                  value: 'slot-{#ZYXEL.SLOT.ID}'
            - uuid: 6f9532e9368344ad8f7d35273e14c358
              name: 'Slot {#ZYXEL.SLOT.ID}: Serial number'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.13.5.6.3.1.9.{#SNMPINDEX}'
              key: 'zyxel.ies500x.slot.serial[{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: ZYXEL-IES5000-MIB
                The serial number of the plug-in card.
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: line-card
                - tag: interface
                  value: 'slot-{#ZYXEL.SLOT.ID}'
              trigger_prototypes:
                - uuid: 0994c0ab8b004dc280d1a036e7043cc0
                  expression: 'last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.slot.serial[{#SNMPINDEX}],#1)<>last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.slot.serial[{#SNMPINDEX}],#2) and length(last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.slot.serial[{#SNMPINDEX}]))>0'
                  name: 'Slot {#ZYXEL.SLOT.ID} has been replaced'
                  event_name: 'Slot {#ZYXEL.SLOT.ID} has been replaced (new serial number received)'
                  priority: INFO
                  description: 'Slot {#ZYXEL.SLOT.ID} serial number has changed. Acknowledge to close the problem manually.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: 7b8791b7c91e4c14aa56a29617a6fa81
              name: 'Slot {#ZYXEL.SLOT.ID}: Status'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.13.5.6.3.1.7.{#SNMPINDEX}'
              key: 'zyxel.ies500x.slot.status[{#SNMPINDEX}]'
              description: |
                MIB: ZYXEL-IES5000-MIB
                The module state of the plug-in card.
              valuemap:
                name: 'ZYXEL IES-500x module status'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: line-card
                - tag: interface
                  value: 'slot-{#ZYXEL.SLOT.ID}'
            - uuid: 9387847247134f3296e077713407686e
              name: 'Slot {#ZYXEL.SLOT.ID}: Type'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.13.5.6.3.1.2.{#SNMPINDEX}'
              key: 'zyxel.ies500x.slot.type[{#SNMPINDEX}]'
              description: |
                MIB: ZYXEL-IES5000-MIB
                Card type of the plug-in card.
              valuemap:
                name: 'ZYXEL IES-500x module type'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: line-card
                - tag: interface
                  value: 'slot-{#ZYXEL.SLOT.ID}'
            - uuid: be141094a1ee4b2391bf8684ddca86e6
              name: 'Slot {#ZYXEL.SLOT.ID}: Uptime'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.13.5.6.3.1.11.{#SNMPINDEX}'
              key: 'zyxel.ies500x.slot.uptime[{#SNMPINDEX}]'
              units: s
              description: |
                MIB: ZYXEL-IES5000-MIB
                The time (in seconds) since the plug-in card was last re-initialized.
              tags:
                - tag: component
                  value: line-card
                - tag: interface
                  value: 'slot-{#ZYXEL.SLOT.ID}'
              trigger_prototypes:
                - uuid: 6717069c115147b095321f2c4c5ec51b
                  expression: 'last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.slot.uptime[{#SNMPINDEX}])<10m'
                  name: 'Slot {#ZYXEL.SLOT.ID} has been restarted'
                  event_name: 'Slot {#ZYXEL.SLOT.ID} has been restarted (uptime < 10m)'
                  priority: INFO
                  description: 'Uptime is less than 10 minutes.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: notice
        - uuid: c2d924fbfe3b44a58454e6a4392aa6a8
          name: 'Temperature discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#ZYXEL.TEMP.THRESH.LOW},.1.3.6.1.4.1.890.1.5.13.5.11.3.3.1.7,{#ZYXEL.TEMP.THRESH.HIGH},.1.3.6.1.4.1.890.1.5.13.5.11.3.3.1.5]'
          key: zyxel.ies500x.temp.discovery
          delay: 1h
          description: 'An entry in tempTable.'
          item_prototypes:
            - uuid: c8f98b46dbc3464eaa390c504198f550
              name: 'Slot {#ZYXEL.SLOT.ID}: Temperature "{#ZYXEL.TEMP.ID}"'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.13.5.11.3.3.1.2.{#SNMPINDEX}'
              key: 'zyxel.ies500x.temp[{#SNMPINDEX}]'
              units: '!°C'
              description: |
                MIB: ZYXEL-IES5000-MIB
                The current temperature measured at this sensor
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: sensor
                - tag: component
                  value: temperature
              trigger_prototypes:
                - uuid: c4993b2d52e04808862ac0d043b0e982
                  expression: 'last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.temp[{#SNMPINDEX}])>{#ZYXEL.TEMP.THRESH.HIGH} or last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.temp[{#SNMPINDEX}])<{#ZYXEL.TEMP.THRESH.LOW}'
                  name: 'Temperature Slot {#ZYXEL.SLOT.ID} Sensor: {#ZYXEL.TEMP.ID} is in critical state'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: 'Please check the temperature'
                  tags:
                    - tag: scope
                      value: notice
          graph_prototypes:
            - uuid: 3b8799c609344e749de0da409b666714
              name: 'ZYXEL IES-500x: "Temperature Slot {#ZYXEL.SLOT.ID} Sensor: {#ZYXEL.TEMP.ID}'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.temp[{#SNMPINDEX}]'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var inArray = JSON.parse(value);
                  var outArr = [];
                  inArray.forEach(function (item, i, arr) {
                  	item['{#ZYXEL.SLOT.ID}'] = item['{#SNMPINDEX}'].split('.')[1];
                  	item['{#ZYXEL.TEMP.ID}'] = item['{#SNMPINDEX}'].split('.')[2];
                  	outArr.push(item);
                  });
                  return JSON.stringify(outArr);
        - uuid: dbc4a230a0bd408b9847b1507c248062
          name: 'Voltage discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#ZYXEL.VOLT.THRESH.HIGH},.1.3.6.1.4.1.890.1.5.13.5.11.3.2.1.8,{#ZYXEL.VOLT.THRESH.LOW}, .1.3.6.1.4.1.890.1.5.13.5.11.3.2.1.6,{#ZYXEL.VOLT.NOMINAL},.1.3.6.1.4.1.890.1.5.13.5.11.3.2.1.5]'
          key: zyxel.ies500x.volt.discovery
          delay: 1h
          description: 'An entry in voltageTable.'
          item_prototypes:
            - uuid: 1b3485d6cc6847639d75d4dbcfda99ea
              name: 'Slot {#ZYXEL.SLOT.ID}: Nominal "{#ZYXEL.VOLT.NOMINAL}"'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.13.5.11.3.2.1.2.{#SNMPINDEX}'
              key: 'zyxel.ies500x.volt[{#SNMPINDEX}]'
              value_type: FLOAT
              units: V
              description: |
                MIB: ZYXEL-IES5000-MIB
                The current voltage reading.
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '0.001'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: sensor
                - tag: component
                  value: voltage
              trigger_prototypes:
                - uuid: 55bc511ff2094a86b10c542e896d10e2
                  expression: 'last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.volt[{#SNMPINDEX}])<{#ZYXEL.VOLT.THRESH.LOW} or last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.volt[{#SNMPINDEX}])>{#ZYXEL.VOLT.THRESH.HIGH}'
                  name: 'Voltage Slot {#ZYXEL.SLOT.ID} {#ZYXEL.VOLT.NOMINAL} is in critical state'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: 'Please check the power supply'
                  tags:
                    - tag: scope
                      value: notice
          graph_prototypes:
            - uuid: bf0cfa212f934287b8dd3e405f8d1de3
              name: 'ZYXEL IES-500x: Slot {#ZYXEL.SLOT.ID}: Nominal "{#ZYXEL.VOLT.NOMINAL}"'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'ZYXEL IES-500x by SNMP'
                    key: 'zyxel.ies500x.volt[{#SNMPINDEX}]'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var inArray = JSON.parse(value);
                  var outArr = []
                  inArray.forEach(function (item, i, arr) {
                  	item['{#ZYXEL.SLOT.ID}'] = item['{#SNMPINDEX}'].split('.')[1];
                  	item['{#ZYXEL.SENSOR.ID}'] = item['{#SNMPINDEX}'].split('.')[2];
                  	item["{#ZYXEL.VOLT.NOMINAL}"] = "+" + item["{#ZYXEL.VOLT.NOMINAL}"] / 1000 + "V";
                  	item["{#ZYXEL.VOLT.THRESH.LOW}"] /= 1000;
                  	item["{#ZYXEL.VOLT.THRESH.HIGH}"] /= 1000;
                  	outArr.push(item)
                  });
                  return JSON.stringify(outArr);
      tags:
        - tag: class
          value: network
        - tag: target
          value: dslam
        - tag: target
          value: ies-5000
        - tag: target
          value: ies-5005
        - tag: target
          value: zyxel
      macros:
        - macro: '{$SNMP.TIMEOUT}'
          value: 5m
          description: 'The time interval for SNMP agent availability trigger expression.'
        - macro: '{$ZYXEL.ADSL.ATN.MAX}'
          value: '40'
          description: 'Type the maximum signal attenuation'
        - macro: '{$ZYXEL.ADSL.SNR.MIN}'
          value: '8'
          description: 'Type the minimum signal to noise margin (0-31 dB)'
        - macro: '{$ZYXEL.LLD.FILTER.IF.CONTROL.MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Triggers will be created only for interfaces whose description contains the value of this macro'
        - macro: '{$ZYXEL.LLD.FILTER.IF.DESC.MATCHES}'
          value: '.*'
          description: 'Filter by discoverable interface names.'
        - macro: '{$ZYXEL.LLD.FILTER.IF.DESC.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Filter to exclude discovered interfaces by name.'
        - macro: '{$ZYXEL.LLD.FILTER.IF.LINKSTATUS.MATCHES}'
          value: '.*'
          description: 'Filter of discoverable link types.'
        - macro: '{$ZYXEL.LLD.FILTER.IF.LINKSTATUS.NOT_MATCHES}'
          value: '2'
          description: 'Filter to exclude discovered by link types.'
        - macro: '{$ZYXEL.LLD.FILTER.SLOT.STATUS.MATCHES}'
          value: '.*'
          description: 'Filter by discoverable slot status.'
        - macro: '{$ZYXEL.LLD.FILTER.SLOT.STATUS.NOT_MATCHES}'
          value: '1'
          description: 'Filter to exclude discovered slots by status.'
      dashboards:
        - uuid: 0efca78d067b40eea6f371b9404cef1b
          name: 'Network interfaces'
          pages:
            - widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'ZYXEL IES-500x by SNMP'
                        name: 'ZYXEL IES-500x: Port {#SNMPINDEX}: Traffic'
                    - type: STRING
                      name: reference
                      value: AAAAA
                    - type: INTEGER
                      name: rows
                      value: '5'
      valuemaps:
        - uuid: 10dd3d9951014a38bc3517df54381a66
          name: 'SNMP available'
          mappings:
            - value: '0'
              newvalue: 'not available'
            - value: '1'
              newvalue: available
            - value: '2'
              newvalue: unknown
        - uuid: efd6a6086011465ca956b1664f7d6474
          name: 'ZYXEL IES-500x module status'
          mappings:
            - value: '1'
              newvalue: Empty
            - value: '2'
              newvalue: Up
            - value: '3'
              newvalue: Down
            - value: '4'
              newvalue: Testing
            - value: '5'
              newvalue: Standby
        - uuid: 892651d2b1e3431490f2c531a50e2732
          name: 'ZYXEL IES-500x module type'
          mappings:
            - value: '1'
              newvalue: unknown
            - value: '101'
              newvalue: msc1000G
            - value: '102'
              newvalue: alc1248G_51
            - value: '103'
              newvalue: alc1248G_53
            - value: '104'
              newvalue: slc1248G_22
            - value: '105'
              newvalue: vlc1224G_41
            - value: '106'
              newvalue: msc1024G
            - value: '107'
              newvalue: alc1272G_51
            - value: '108'
              newvalue: vop1248G_61_SIP
            - value: '109'
              newvalue: msc1000GA
            - value: '110'
              newvalue: vlc1324G_51
            - value: '111'
              newvalue: msc1224G
            - value: '112'
              newvalue: vop1248G_61_H248
            - value: '113'
              newvalue: vlc1348G_51
            - value: '114'
              newvalue: elc1220G_55
            - value: '115'
              newvalue: msc1024GA
            - value: '116'
              newvalue: vlc1324G_53
            - value: '117'
              newvalue: ima1408G_81
            - value: '118'
              newvalue: vlc1424G_56
            - value: '119'
              newvalue: slc1348G_22
            - value: '120'
              newvalue: vlc1348G_53
            - value: '121'
              newvalue: alc1372G_51
            - value: '122'
              newvalue: msc1024GB
            - value: '123'
              newvalue: msc1224GB
            - value: '124'
              newvalue: vop1372G_61_H248
        - uuid: 9174dafc199e438994256eff4dd87bdd
          name: 'ZYXEL IES-500x port admin status'
          mappings:
            - value: '1'
              newvalue: Up
            - value: '2'
              newvalue: Down
            - value: '3'
              newvalue: Testing
        - uuid: f64c046f1eca45e09dad683603f4674b
          name: 'ZYXEL IES-500x port operational status'
          mappings:
            - value: '1'
              newvalue: Up
            - value: '2'
              newvalue: Down
            - value: '3'
              newvalue: Testing
            - value: '4'
              newvalue: Unknown
            - value: '5'
              newvalue: Dormant
            - value: '6'
              newvalue: NotPresent
            - value: '7'
              newvalue: lowerLayerDown
  triggers:
    - uuid: d618295a763f42cd9063fad5cd600c34
      expression: '(last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.hw.uptime)>0 and last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.hw.uptime)<10m) or (last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.hw.uptime)=0 and last(/ZYXEL IES-500x by SNMP/zyxel.ies500x.net.uptime)<10m)'
      name: 'Host has been restarted'
      event_name: '{HOST.NAME} has been restarted (uptime < 10m)'
      priority: INFO
      description: 'Uptime is less than 10 minutes.'
      manual_close: 'YES'
      tags:
        - tag: scope
          value: notice
