diff --git a/agent_based/inv_cisco_wlc_aps_lwap.py b/agent_based/inv_cisco_wlc_aps_lwap.py
new file mode 100644
index 0000000000000000000000000000000000000000..97253c46e68fbf8a4d595026b3c8111ec2e135a3
--- /dev/null
+++ b/agent_based/inv_cisco_wlc_aps_lwap.py
@@ -0,0 +1,419 @@
+# !/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# License: GNU General Public License v2
+#
+# Author: thl-cmk[at]outlook[dot]com
+# URL   : https://thl-cmk.hopto.org
+# Date  : 2016-04-08
+#
+# inventory of cisco wlc aps
+#
+# 2016-08-22 : removed index column
+# 2018-08-04 : changed scan function, code cleanup
+# 2018-09-04 : changes for CMK 1.5.x (inv_tree --> inv_tree_list)
+# 2021-07-11 : rewritten for CMK 2.0
+
+import re
+import time
+import binascii
+from typing import List, NamedTuple
+
+from cmk.base.plugins.agent_based.agent_based_api.v1 import (
+    OIDEnd,
+    OIDBytes,
+)
+from cmk.base.plugins.agent_based.agent_based_api.v1 import (
+    register,
+    SNMPTree,
+    TableRow,
+    contains,
+)
+from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import (
+    StringTable,
+    InventoryResult,
+)
+
+_last_reboot_reason = {
+    0: 'none',
+    1: 'dot11gModeChange',
+    2: 'ipAddressSet',
+    3: 'ipAddressReset',
+    4: 'rebootFromController',
+    5: 'dhcpFallbackFail',
+    6: 'discoveryFail',
+    7: 'noJoinResponse',
+    8: 'denyJoin',
+    9: 'noConfigResponse',
+    10: 'configController',
+    11: 'imageUpgradeSuccess',
+    12: 'imageOpcodeInvalid',
+    13: 'imageCheckSumInvalid',
+    14: 'imageDataTimeout',
+    15: 'configFileInvalid',
+    16: 'imageDownloadError',
+    17: 'rebootFromConsole',
+    18: 'rapOverAir',
+    19: 'powerLow',
+    20: 'crash',
+    21: 'powerHigh',
+    22: 'powerLoss',
+    23: 'powerChange',
+    24: 'componentFailure',
+    25: 'watchdog',
+}
+
+_enable_disable = {
+    0: 'N/A',
+    1: 'enabled',
+    2: 'disabled',
+}
+
+_failover_pirority = {
+    0: 'N/A',
+    1: 'low',
+    2: 'medium',
+    3: 'high',
+    4: 'critical',
+}
+
+_power_status = {
+    0: 'N/A',
+    1: 'low',
+    2: '15.4W',
+    3: '16.8W',
+    4: 'full',
+    5: 'external',
+    6: 'mixedmode',
+}
+
+_pwr_injector_selection = {
+    0: 'N/A',
+    1: 'unknown',
+    2: 'installed',
+    3: 'override',
+}
+
+_monitor_mode_optimization = {
+    0: 'N/A',
+    1: 'all',
+    2: 'tracking',
+    3: 'wips',
+    4: 'none',
+}
+
+_encryption_supported = {
+    0: 'N/A',
+    1: 'yes',
+    2: 'no',
+}
+
+_inet_address_type = {
+    0: 'N/A',
+    1: 'ipv4',
+    2: 'ipv6',
+    3: 'ipv4z',
+    4: 'ipv6z',
+    16: 'dns',
+}
+
+_antenna_band_mode = {
+    0: 'N/A',
+    1: 'not applicable',
+    2: 'single',
+    3: 'dual',
+}
+
+_venueconfigvenuegroup = {
+    0: 'N/A',
+    1: 'unspecified',
+    2: 'assembly',
+    3: 'business',
+    4: 'educational',
+    5: 'factory and industrial',
+    6: 'institutional',
+    7: 'mercantile',
+    8: 'residential',
+    9: 'storage',
+    10: 'utility and misc',
+    11: 'vehicular',
+    12: 'outdoor',
+}
+
+_venueconfigvenuetype = {
+    0: 'N/A',
+    1: 'unspecified',
+    2: 'unspecified assembly',
+    3: 'arena',
+    4: 'stadium',
+    5: 'passenger terminal',
+    6: 'amphitheater',
+    7: 'amusement park',
+    8: 'place of worship',
+    9: 'convention center',
+    10: 'library',
+    11: 'museum',
+    12: 'restaurant',
+    13: 'theater',
+    14: 'bar',
+    15: 'coffee shop',
+    16: 'zoo or aquarium',
+    17: 'emergency coordination center',
+    18: 'unspecified business',
+    19: 'doctor or dentist office',
+    20: 'bank',
+    21: 'firestation',
+    22: 'policestation',
+    23: 'postoffice',
+    24: 'professional office',
+    25: 'research and development facility',
+    26: 'attorney office',
+    27: 'unspecified educational',
+    28: 'school primary',
+    29: 'school secondary',
+    30: 'university or college',
+    31: 'unspecified factory and industrial',
+    32: 'factory',
+    33: 'unspecified institutional',
+    34: 'hospital',
+    35: 'longterm carefacility',
+    36: 'alcohol and drug rehabilitation center',
+    37: 'group home',
+    38: 'prison or jail',
+    39: 'unspecified mercantile',
+    40: 'retail store',
+    41: 'grocery market',
+    42: 'auomotive service station',
+    43: 'shoppin gmall',
+    44: 'gas station',
+    45: 'unspecified residential',
+    46: 'privat eresidence',
+    47: 'hotel or motel',
+    48: 'dormitory',
+    49: 'boarding house',
+    50: 'unspecified storage',
+    51: 'unspecified utility',
+    52: 'unspecified vehicular',
+    53: 'automobile or truck',
+    54: 'airplane',
+    55: 'bus',
+    56: 'ferry',
+    57: 'ship or boat',
+    58: 'train',
+    59: 'motorbike',
+    60: 'unspecified outdoor',
+    61: 'muni mesh network',
+    62: 'citypark',
+    63: 'restarea',
+    64: 'traffic control',
+    65: 'busstop',
+    66: 'kiosk',
+}
+
+_apsubmode = {
+    0: 'N/A',
+    1: 'none',
+    2: 'wips',
+    3: 'pppoe',
+    4: 'pppoewips',
+}
+
+
+def _render_mac_address(bytestring):
+    return ':'.join(['%02s' % hex(ord(m))[2:] for m in bytestring]).replace(' ', '0').upper()
+
+
+def _render_ip_address(bytestring):
+    return '.'.join(['%s' % ord(m) for m in bytestring])
+
+
+def parse_inv_cisco_wlc_aps_lwap(string_table: StringTable):
+    aps = []
+
+    for ap in string_table:
+        wlcprimaryaddress = ap[5]
+        if _inet_address_type.get(int(ap[4])) == 'ipv4':
+            wlcprimaryaddress = _render_ip_address(wlcprimaryaddress)
+
+        wlcsecondaryaddress = ap[7]
+        if _inet_address_type.get(int(ap[6])) == 'ipv4':
+            wlcsecondaryaddress = _render_ip_address(wlcsecondaryaddress)
+
+        wlctertiaryaddress = ap[9]
+        if _inet_address_type.get(int(ap[8])) == 'ipv4':
+            wlctertiaryaddress = _render_ip_address(wlctertiaryaddress)
+
+        aps.append({
+            'if_mac_address': _render_mac_address(ap[0]),
+            'max_#_of_dot11_slots': ap[1],
+            'name': ap[2],
+            'max_#_of_ethernet_slots': ap[3],
+            'encryption_supported': _encryption_supported.get(int(ap[23])),
+            'tcp_mss': ap[25],
+            'data_encryption': _enable_disable.get(int(ap[26])),
+            'port_number': ap[28],
+            'venue_config_venue_group': _venueconfigvenuegroup.get(int(ap[29])),
+            'venue_config_venue_type': _venueconfigvenuetype.get(int(ap[30])),
+            'venue_config_venue_name': ap[31],
+            'venue_config_language': ap[32],
+            'trunk_vlan': ap[34],
+            'location': ap[36],
+            'floor_label': ap[45],
+            'module_inserted': ap[49],
+            'status_columns': {
+                'antenna_band_mode': _antenna_band_mode.get(int(ap[48])),
+                'encryption': _enable_disable.get(int(ap[11])),
+                'failover_priority': _failover_pirority.get(int(ap[12])),
+                'power_status': _power_status.get(int(ap[13])),
+                'telnet': _enable_disable.get(int(ap[14])),
+                'ssh': _enable_disable.get(int(ap[15])),
+                'pwr_pre_std_state': _enable_disable.get(int(ap[16])),
+                'pwr_injector_state': _enable_disable.get(int(ap[17])),
+                'pwr_injector_selection': _pwr_injector_selection.get(int(ap[18])),
+                'pwr_injector_sw_mac_addr': _render_mac_address(ap[19]),
+                'wips': _enable_disable.get(int(ap[20])),
+                'monitor_mode_optimization': _monitor_mode_optimization.get(int(ap[18])),
+                'amsdu': _enable_disable.get(int(ap[22])),
+                'admin': _enable_disable.get(int(ap[27])),
+                'rogue_detection': _enable_disable.get(int(ap[24])),
+                'led_state': _enable_disable.get(int(ap[33])),
+                'trunk_vlan_status': _enable_disable.get(int(ap[35])),
+                'submode': _apsubmode.get(int(ap[37])),
+                'real_time_stats_mode_enabled': _enable_disable.get(int(ap[38])),
+                'upgrade_from_version': ap[39],
+                'upgrade_to_version': ap[40],
+                'upgrade_failure_cause': ap[41],
+                'adj_channel_rogue_enabled': ap[46],
+                'sys_net_id': ap[47],
+                'enable_module': _enable_disable.get(int(ap[50])),
+                'is_universal': _enable_disable.get(int(ap[51])),
+                'universal_prime_status': ap[52],
+                'is_master': _enable_disable.get(int(ap[53])),
+                'ble_fw_download_status': _enable_disable.get(int(ap[54])),
+                'max_client_limit_number_trap': ap[42],
+                'max_client_limit_cause': ap[43],
+                'max_client_limit_set': _enable_disable.get(int(ap[44])),
+                'wlc_primary_address': wlcprimaryaddress,
+                'wlc_secondary_address': wlcsecondaryaddress,
+                'wlc_tertiary_address': wlctertiaryaddress,
+                'last_reboot_reason': _last_reboot_reason.get(int(ap[10])),
+            }
+        })
+
+    return aps
+
+
+def inventory_wlc_aps_lwap(params, section) -> InventoryResult:
+    removecolumns = []
+
+    if params:
+        removecolumns = params.get('removecolumns', removecolumns)
+
+    path = ['networking', 'wlan', 'controller', 'accesspoints_lwap']
+
+    for ap in section:
+        key_columns = {'if_mac_address': ap['if_mac_address']}
+
+        for key in key_columns.keys():
+            ap.pop(key)
+
+        for entry in removecolumns:
+            try:
+                ap.pop(entry)
+            except KeyError:
+                pass
+
+        status_columns = ap.get('status_columns', None)
+        for entry in removecolumns:
+            try:
+                status_columns.pop(entry)
+            except KeyError:
+                pass
+
+        try:
+            ap.pop('status_columns')
+        except KeyError:
+            pass
+
+        yield TableRow(
+            path=path,
+            key_columns=key_columns,
+            inventory_columns=ap,
+            status_columns=status_columns,
+        )
+
+register.snmp_section(
+    name='inv_cisco_wlc_aps_lwap',
+    parse_function=parse_inv_cisco_wlc_aps_lwap,
+    fetch=
+    SNMPTree(
+        base='.1.3.6.1.4.1.9.9.513.1.1.1.1',  # CISCO-LWAPP-AP-MIB::cLApEntry
+        oids=[
+            '2',  # cLApIfMacAddress (2)
+            '3',  # cLApMaxNumberOfDot11Slots (3)
+            '5',  # cLApName (5)
+            '9',  # cLApMaxNumberOfEthernetSlots (9)
+            '10',  # cLApPrimaryControllerAddressType (10)
+            '11',  # cLApPrimaryControllerAddress (11)
+            '12',  # cLApSecondaryControllerAddressType (12)
+            '13',  # cLApSecondaryControllerAddress (13)
+            '14',  # cLApTertiaryControllerAddressType (14)
+            '15',  # cLApTertiaryControllerAddress (15)
+            '16',  # cLApLastRebootReason (16)
+            '18',  # cLApEncryptionEnable (18)
+            '19',  # cLApFailoverPriority (19)
+            '20',  # cLApPowerStatus (20)
+            '21',  # cLApTelnetEnable (21)
+            '22',  # cLApSshEnable (22)
+            '23',  # cLApPreStdStateEnabled (23)
+            '24',  # cLApPwrInjectorStateEnabled (24)
+            '25',  # cLApPwrInjectorSelection (25)
+            '26',  # cLApPwrInjectorSwMacAddr (26)
+            '27',  # cLApWipsEnable (27)
+            '28',  # cLApMonitorModeOptimization (28)
+            '32',  # cLApAMSDUEnable (32)
+            '33',  # cLApEncryptionSupported (33)
+            '34',  # cLApRogueDetectionEnabled (34)
+            '35',  # cLApTcpMss (35)
+            '36',  # cLApDataEncryptionStatus (36)
+            '38',  # cLApAdminStatus (38)
+            '39',  # cLApPortNumber (39)
+
+            '42',  # cLApVenueConfigVenueGroup
+            '43',  # cLApVenueConfigVenueType
+            '44',  # cLApVenueConfigVenueName
+            '45',  # cLApVenueConfigLanguage
+            '46',  # cLApLEDState
+            '47',  # cLApTrunkVlan
+            '48',  # cLApTrunkVlanStatus
+            '49',  # cLApLocation
+            '50',  # cLApSubMode
+            '53',  # cLApRealTimeStatsModeEnabled
+            '59',  # cLApUpgradeFromVersion
+            '60',  # cLApUpgradeToVersion
+            '61',  # cLApUpgradeFailureCause
+            '62',  # cLApMaxClientLimitNumberTrap
+            '63',  # cLApMaxClientLimitCause
+            '64',  # cLApMaxClientLimitSet
+            '65',  # cLApFloorLabel
+            '69',  # cLAdjChannelRogueEnabled
+            '74',  # cLApSysNetId
+            '76',  # cLApAntennaBandMode
+            '80',  # cLApModuleInserted
+            '81',  # cLApEnableModule
+            '82',  # cLApIsUniversal
+            '83',  # cLApUniversalPrimeStatus
+            '84',  # cLApIsMaster
+            '85',  # cLApBleFWDownloadStatus
+        ]
+    ),
+    detect=contains('.1.3.6.1.2.1.1.1.0', 'Cisco Controller'),  # sysDescr
+)
+
+register.inventory_plugin(
+    name='inv_cisco_wlc_aps_lwap',
+    inventory_function=inventory_wlc_aps_lwap,
+    inventory_default_parameters={},
+    inventory_ruleset_name='inv_cisco_wlc_ap_cdp_cache',
+)
+
diff --git a/inv_cisco_wlc_aps_lwap.mkp b/inv_cisco_wlc_aps_lwap.mkp
index c544e9ee70eca43847305a4e6fe0333ade3b9315..60fe55d3ee0184f91851bac43d5010ea6ef68849 100644
Binary files a/inv_cisco_wlc_aps_lwap.mkp and b/inv_cisco_wlc_aps_lwap.mkp differ
diff --git a/packages/inv_cisco_wlc_aps_lwap b/packages/inv_cisco_wlc_aps_lwap
index ef6b7aaa84262ee6f68919b206a184999ee2c1a4..0a56736f9058c1089bf269ceb583e44898bfe8fc 100644
--- a/packages/inv_cisco_wlc_aps_lwap
+++ b/packages/inv_cisco_wlc_aps_lwap
@@ -1,12 +1,18 @@
-{'author': u'Th.L. (thl-cmk[at]outlook[dot]com)',
- 'description': u'SNMP inventory for Cisco WLC APs (CISCO-LWAPP-AP-MIB).\nVia WATO you can:\n - enable/disable this inventory\n - can add/remove some fields\n\n2020-03.15: added support for CMK1.6x\n',
+{'author': 'Th.L. (thl-cmk[at]outlook[dot]com)',
+ 'description': 'SNMP inventory for Cisco WLC APs (CISCO-LWAPP-AP-MIB).\n'
+                'Via WATO you can:\n'
+                ' - can add/remove some fields\n'
+                '\n'
+                '2020-03.15: added support for CMK1.6x\n'
+                '2021-07-11: rewritten for CMK 2.0\n',
  'download_url': 'http://thl-cmk.hopto.org',
- 'files': {'inventory': ['snmp_cisco_wlc_aps_lwap'],
-           'web': ['plugins/views/inv_wlc_aps_lwap.py',
-                   'plugins/wato/inv_wlc_aps_lwap.py']},
+ 'files': {'agent_based': ['inv_cisco_wlc_aps_lwap.py'],
+           'web': ['plugins/views/inv_cisco_wlc_aps_lwap.py',
+                   'plugins/wato/inv_cisco_wlc_aps_lwap.py']},
  'name': 'inv_cisco_wlc_aps_lwap',
  'num_files': 3,
- 'title': u'inventory for CISCO-LWAPP-AP-MIB',
- 'version': '20200513.v0.3c',
- 'version.min_required': '1.2.8b8',
- 'version.packaged': '1.6.0p8'}
\ No newline at end of file
+ 'title': 'inventory for CISCO-LWAPP-AP-MIB',
+ 'version': '20210711.v0.4',
+ 'version.min_required': '2.0.0',
+ 'version.packaged': '2021.04.10',
+ 'version.usable_until': None}
\ No newline at end of file
diff --git a/web/plugins/views/inv_cisco_wlc_aps_lwap.py b/web/plugins/views/inv_cisco_wlc_aps_lwap.py
new file mode 100644
index 0000000000000000000000000000000000000000..031798495b229d47b2f2620c6929153aacc1b00b
--- /dev/null
+++ b/web/plugins/views/inv_cisco_wlc_aps_lwap.py
@@ -0,0 +1,72 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+import cmk.gui.utils
+from cmk.gui.plugins.views import (
+    inventory_displayhints,)
+from cmk.gui.i18n import _
+
+
+inventory_displayhints.update({
+    '.networking.wlan.controller.accesspoints_lwap:': {'title'   : _('Access Points LWAP info'),
+                                                       'keyorder': ['name', 'if_mac_address', ],
+                                                        'view'    : 'invwlcapslwap_of_host',
+                                                     },
+    '.networking.wlan.controller.accesspoints_lwap:*.name'                         : {'title': _('Name')},
+    '.networking.wlan.controller.accesspoints_lwap:*.if_mac_address'               : {'title': _('MAC Address')},
+    '.networking.wlan.controller.accesspoints_lwap:*.admin'                        : {'title': _('Admin state')},
+    '.networking.wlan.controller.accesspoints_lwap:*.last_reboot_reason'           : {'title': _('Last reboot reason')},
+    '.networking.wlan.controller.accesspoints_lwap:*.power_status'                 : {'title': _('Power status')},
+    '.networking.wlan.controller.accesspoints_lwap:*.telnet'                       : {'title': _('Telnet enabled'), 'short': _('Telnet')},
+    '.networking.wlan.controller.accesspoints_lwap:*.ssh'                          : {'title': _('SSH enabled'), 'short': _('SSH')},
+    '.networking.wlan.controller.accesspoints_lwap:*.encryption_supported'         : {'title': _('Encryption supported')},
+    '.networking.wlan.controller.accesspoints_lwap:*.encryption'                   : {'title': _('Encryption enabled')},
+    '.networking.wlan.controller.accesspoints_lwap:*.data_encryption'              : {'title': _('Data encryption')},
+    '.networking.wlan.controller.accesspoints_lwap:*.rogue_detection'              : {'title': _('Rogue detection enabled'), 'short': _('Rouge detection')},
+    '.networking.wlan.controller.accesspoints_lwap:*.pwr_injector_state'           : {'title': _('Pow. inj. state')},
+    '.networking.wlan.controller.accesspoints_lwap:*.pwr_injector_selection'       : {'title': _('Pow. inj. selection')},
+    '.networking.wlan.controller.accesspoints_lwap:*.pwr_pre_std_state'            : {'title': _('PoE pre standard')},
+    '.networking.wlan.controller.accesspoints_lwap:*.pwr_injector_sw_mac_addr'     : {'title': _('Pow. inj. MAC address')},
+    '.networking.wlan.controller.accesspoints_lwap:*.wlc_primary_address'          : {'title': _('primary WLC')},
+    '.networking.wlan.controller.accesspoints_lwap:*.wlc_secondary_address'        : {'title': _('secondary WLC')},
+    '.networking.wlan.controller.accesspoints_lwap:*.wlc_tertiary_address'         : {'title': _('tertiary WLC')},
+
+    '.networking.wlan.controller.accesspoints_lwap:*.max_#_of_dot11_slots'         : {'title': _('max # of dot11 slots')},
+    '.networking.wlan.controller.accesspoints_lwap:*.max_#_of_ethernet_slots'      : {'title': _('max # of ethernet slots')},
+    '.networking.wlan.controller.accesspoints_lwap:*.failover_priority'            : {'title': _('failover priority')},
+    '.networking.wlan.controller.accesspoints_lwap:*.wips'                         : {'title': _('wireless IPS,')},
+    '.networking.wlan.controller.accesspoints_lwap:*.monitor_mode_optimization'    : {'title': _('monitor mode optimization')},
+    '.networking.wlan.controller.accesspoints_lwap:*.amsdu'                        : {'title': _('Aggregate MAC Service Data Unit'), 'short': _('AMSDU')},
+    '.networking.wlan.controller.accesspoints_lwap:*.tcp_mss'                      : {'title': _('TCP MSS')},
+    '.networking.wlan.controller.accesspoints_lwap:*.port_number'                  : {'title': _('Port number'), 'short': _('Port #')},
+    '.networking.wlan.controller.accesspoints_lwap:*.venue_config_venue_group'     : {'title': _('Venue group')},
+    '.networking.wlan.controller.accesspoints_lwap:*.venue_config_venue_type'      : {'title': _('Venue type')},
+    '.networking.wlan.controller.accesspoints_lwap:*.venue_config_venue_name'      : {'title': _('Venue name')},
+    '.networking.wlan.controller.accesspoints_lwap:*.venue_config_language'        : {'title': _('Venue language')},
+    '.networking.wlan.controller.accesspoints_lwap:*.led_state'                    : {'title': _('LED state')},
+    '.networking.wlan.controller.accesspoints_lwap:*.trunk_vlan'                   : {'title': _('Mgmt VLAN ID')},
+    '.networking.wlan.controller.accesspoints_lwap:*.trunk_vlan_status'            : {'title': _('Mgmt VLAN tagged state')},
+    '.networking.wlan.controller.accesspoints_lwap:*.location'                     : {'title': _('Location')},
+    '.networking.wlan.controller.accesspoints_lwap:*.submode'                      : {'title': _('AP submode')},
+    '.networking.wlan.controller.accesspoints_lwap:*.real_time_stats_mode_enabled' : {'title': _('Real time stats')},
+    '.networking.wlan.controller.accesspoints_lwap:*.upgrade_from_version'         : {'title': _('Upgrade from version')},
+    '.networking.wlan.controller.accesspoints_lwap:*.upgrade_to_version'           : {'title': _('Upgrade to version')},
+    '.networking.wlan.controller.accesspoints_lwap:*.upgrade_failure_cause'        : {'title': _('Upgrade failure cause')},
+    '.networking.wlan.controller.accesspoints_lwap:*.max_client_limit_number_trap' : {'title': _('Max client limit')},
+    '.networking.wlan.controller.accesspoints_lwap:*.max_client_limit_cause'       : {'title': _('Max client cause')},
+    '.networking.wlan.controller.accesspoints_lwap:*.max_client_limit_set'         : {'title': _('Max client set')},
+    '.networking.wlan.controller.accesspoints_lwap:*.floor_label'                  : {'title': _('Floor label')},
+    '.networking.wlan.controller.accesspoints_lwap:*.adj_channel_rogue_enabled'    : {'title': _('Adj. channel rogue')},
+    '.networking.wlan.controller.accesspoints_lwap:*.sys_net_id'                   : {'title': _('Sys net ID')},
+    '.networking.wlan.controller.accesspoints_lwap:*.antenna_band_mode'            : {'title': _('Antenna band mode')},
+    '.networking.wlan.controller.accesspoints_lwap:*.module_inserted'              : {'title': _('Module inserted')},
+    '.networking.wlan.controller.accesspoints_lwap:*.enable_module'                : {'title': _('Module enabled')},
+    '.networking.wlan.controller.accesspoints_lwap:*.is_universal'                 : {'title': _('AP is universal')},
+    '.networking.wlan.controller.accesspoints_lwap:*.universal_prime_status'       : {'title': _('AP universal prime status')},
+    '.networking.wlan.controller.accesspoints_lwap:*.is_master'                    : {'title': _('AP is master')},
+    '.networking.wlan.controller.accesspoints_lwap:*.ble_fw_download_status'       : {'title': _('Ble FW downaload status')},
+})
+
+from cmk.gui.plugins.views.inventory import declare_invtable_view
+
+declare_invtable_view('invwlcapslwap', '.networking.wlan.controller.accesspoints_lwap:', _('Cisco WLC APs LWAP info'), _('Cisco WLC APs LWAP info)'))
diff --git a/web/plugins/wato/inv_cisco_wlc_aps_lwap.py b/web/plugins/wato/inv_cisco_wlc_aps_lwap.py
new file mode 100644
index 0000000000000000000000000000000000000000..e2bb1515fc68873bdb2a29495be89bf59fe4d5ed
--- /dev/null
+++ b/web/plugins/wato/inv_cisco_wlc_aps_lwap.py
@@ -0,0 +1,104 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+#
+from cmk.gui.i18n import _
+from cmk.gui.plugins.wato import (
+    HostRulespec,
+    rulespec_registry,
+)
+from cmk.gui.valuespec import (
+    Dictionary,
+    ListChoice,
+)
+
+from cmk.gui.plugins.wato.inventory import (
+    RulespecGroupInventory,
+)
+
+removecolumns = [
+    ('adj_channel_rogue_enabled', 'Adj. channel rogue'),
+    ('admin', 'Admin state'),
+    ('amsdu', 'Aggregate MAC Service Data Unit'),
+    ('antenna_band_mode', 'Antenna band mode'),
+    ('is_master', 'AP is master'),
+    ('is_universal', 'AP is universal'),
+    ('submode', 'AP submode'),
+    ('universal_prime_status', 'AP universal prime status'),
+    ('ble_fw_download_status', 'Ble FW downaload status'),
+    ('data_encryption', 'Data encryption'),
+    ('encryption', 'Encryption enabled'),
+    ('encryption_supported', 'Encryption supported'),
+    ('failover_priority', 'failover priority'),
+    ('floor_label', 'Floor label'),
+    ('last_reboot_reason', 'Last reboot reason'),
+    ('led_state', 'LED state'),
+    ('location', 'Location'),
+    ('max_#_of_dot11_slots', 'max # of dot11 slots'),
+    ('max_#_of_ethernet_slots', 'max # of ethernet slots'),
+    ('max_client_limit_cause', 'Max client cause'),
+    ('max_client_limit_number_trap', 'Max client limit'),
+    ('max_client_limit_set', 'Max client set'),
+    ('trunk_vlan', 'Mgmt VLAN ID'),
+    ('trunk_vlan_status', 'Mgmt VLAN tagged state'),
+    ('enable_module', 'Module enabled'),
+    ('module_inserted', 'Module inserted'),
+    ('monitor_mode_optimization', 'monitor mode optimization'),
+    ('port_number', 'Port number'),
+    ('power_status', 'Power status'),
+    ('pwr_injector_selection', 'Pow. inj. selection'),
+    ('pwr_injector_state', 'Pow. inj. state'),
+    ('pwr_injector_sw_mac_addr', 'Pow. inj. MAC address'),
+    ('pwr_pre_std_state', 'PoE pre standard'),
+    ('real_time_stats_mode_enabled', 'Real time stats'),
+    ('rogue_detection', 'Rogue detection enabled'),
+    ('ssh', 'SSH enabled'),
+    ('sys_net_id', 'Sys net ID'),
+    ('tcp_mss', 'TCP MSS'),
+    ('telnet', 'Telnet enabled'),
+    ('upgrade_failure_cause', 'Upgrade failure cause'),
+    ('upgrade_from_version', 'Upgrade from version'),
+    ('upgrade_to_version', 'Upgrade to version'),
+    ('venue_config_language', 'Venue language'),
+    ('venue_config_venue_group', 'Venue group'),
+    ('venue_config_venue_name', 'Venue name'),
+    ('venue_config_venue_type', 'Venue type'),
+    ('wips', 'wireless IPS,'),
+    ('wlc_primary_address', 'primary WLC'),
+    ('wlc_secondary_address', 'secondary WLC'),
+    ('wlc_tertiary_address', 'tertiary WLC'),
+]
+
+
+def _valuespec_inv_cisco_wlc_aps_lwap():
+    return Dictionary(
+        title=_('Cisco WLC AP LWAP info'),
+        elements=[
+            ('removecolumns',
+             ListChoice(
+                 title=_('list of columns to remove'),
+                 help=_('information to remove from inventory'),
+                 choices=removecolumns,
+                 default_value=[
+                     'adj_channel_rogue_enabled', 'amsdu', 'is_master', 'is_universal', 'submode',
+                     'universal_prime_status', 'max_client_limit_cause', 'ble_fw_download_status', 'antenna_band_mode',
+                     'module_inserted', 'floor_label', 'max_client_limit_set', 'enable_module',
+                     'pwr_injector_sw_mac_addr', 'pwr_injector_selection', 'pwr_injector_state', 'pwr_pre_std_state',
+                     'trunk_vlan', 'trunk_vlan_status', 'tcp_mss', 'monitor_mode_optimization', 'sys_net_id',
+                     'upgrade_failure_cause', 'upgrade_from_version', 'upgrade_to_version', 'venue_config_language',
+                     'venue_config_venue_group', 'venue_config_venue_name', 'port_number', 'venue_config_venue_type',
+                     'max_#_of_dot11_slots', 'max_#_of_ethernet_slots', 'failover_priority', 'wlc_primary_address',
+                     'wlc_secondary_address', 'wlc_tertiary_address'
+                 ],
+             )),
+        ],
+    )
+
+
+rulespec_registry.register(
+    HostRulespec(
+        group=RulespecGroupInventory,
+        match_type='dict',
+        name='inv_parameters:inv_cisco_wlc_aps_lwap',
+        valuespec=_valuespec_inv_cisco_wlc_aps_lwap,
+    ))