diff --git a/agent_based/vzlogger.py b/agent_based/vzlogger.py
index 5a58833b1aa771a9ed023a18c4f9d4dc303a964f..4beb8c99e7063e45ad1fa385539774375e63f881 100644
--- a/agent_based/vzlogger.py
+++ b/agent_based/vzlogger.py
@@ -61,7 +61,7 @@ def _render_electrical_power(value: float) -> str:
 
 
 def _render_meter_reading(value: float) -> str:
-    return f'{value:.0f} kWh'
+    return f'{value/1000:.0f} kWh'
 
 
 def _yield_channel_details(channel: VzLoggerChannel) -> CheckResult:
@@ -153,7 +153,7 @@ def check_vzlogger(item: str, params: Mapping[str, any], section: Dict[str, VzLo
         yield from _yield_channel_value(
             value=channel.value,
             label=item[8:],
-            metric=item,
+            metric=params['channel_type'],
             render_func=_render_voltage,
             levels_upper=params.get('levels_upper'),
             level_lower=params.get('levels_lower'),
@@ -164,7 +164,7 @@ def check_vzlogger(item: str, params: Mapping[str, any], section: Dict[str, VzLo
         yield from _yield_channel_value(
             value=channel.value,
             label=item[17:],
-            metric=item,
+            metric='power',
             render_func=_render_electrical_power,
             levels_upper=params.get('levels_upper'),
             level_lower=params.get('levels_lower'),
@@ -172,9 +172,9 @@ def check_vzlogger(item: str, params: Mapping[str, any], section: Dict[str, VzLo
 
     elif params['channel_type'] == 'meter_reading':
         yield from _yield_channel_value(
-            value=(channel.value/1000),
+            value=channel.value,
             label=item[14:],
-            metric=item,
+            metric=params['channel_type'],
             render_func=_render_meter_reading,
             levels_upper=params.get('levels_upper'),
             level_lower=params.get('levels_lower'),
diff --git a/packages/vzlogger b/packages/vzlogger
index 968c233c86c13e25166bc1331d1e8f4fef5054c5..b2d6f921ccc9875c44756ae7f14639e6464c5c6c 100644
--- a/packages/vzlogger
+++ b/packages/vzlogger
@@ -8,7 +8,8 @@
            'checks': ['agent_vzlogger'],
            'gui': ['wato/check_parameters/agent_vzlogger.py',
                    'wato/check_parameters/vzlogger.py'],
-           'lib': ['python3/cmk/special_agents/agent_vzlogger.py']},
+           'lib': ['python3/cmk/special_agents/agent_vzlogger.py'],
+           'web': ['plugins/metrics/vzlogger.py']},
  'name': 'vzlogger',
  'title': 'vzlogger',
  'version': '0.0.1-230806',
diff --git a/vzlogger-0.0.1-230806.mkp b/vzlogger-0.0.1-230806.mkp
index a20a01098ade212717113dd1c61e8dc6b241d33f..fe69bf37218a67deca16ec893818c78f6dd4381d 100644
Binary files a/vzlogger-0.0.1-230806.mkp and b/vzlogger-0.0.1-230806.mkp differ
diff --git a/web/plugins/metrics/vzlogger.py b/web/plugins/metrics/vzlogger.py
new file mode 100644
index 0000000000000000000000000000000000000000..e073120b8b3102eebfcf73d4d581391053792faf
--- /dev/null
+++ b/web/plugins/metrics/vzlogger.py
@@ -0,0 +1,25 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+# Copyright (C) 2019 tribe29 GmbH - License: GNU General Public License v2
+# This file is part of Checkmk (https://checkmk.com). It is subject to the terms and
+# conditions defined in the file COPYING, which is part of this source code package.
+
+from cmk.gui.i18n import _
+from cmk.gui.plugins.metrics.utils import (
+    metric_info,
+    perfometer_info,
+)
+
+metric_info['meter_reading'] = {
+    'title': _('Meter reading'),
+    'unit': 'wh',
+    'color': '41/a',
+}
+
+
+perfometer_info.append({
+    'type': 'logarithmic',
+    'metric': 'meter_reading',
+    'half_value': 50000000.0,  # 50MWh
+    'exponent': 4,
+})