From df0c1acb60aa0c4e4423101aad73644ee83ce455 Mon Sep 17 00:00:00 2001
From: "th.l" <thl-cmk@outlook.com>
Date: Mon, 8 Jan 2024 20:46:31 +0100
Subject: [PATCH] update project

---
 README.md                                     |   2 +-
 mkp/fritzbox_smarthome-0.8.7-20240108.mkp     | Bin 0 -> 16125 bytes
 .../fritzbox_smarthome_power_meter.py         |  28 +++++++++++-------
 source/packages/fritzbox_smarthome            |   2 +-
 4 files changed, 19 insertions(+), 13 deletions(-)
 create mode 100644 mkp/fritzbox_smarthome-0.8.7-20240108.mkp

diff --git a/README.md b/README.md
index 7da7190..da24f00 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-[PACKAGE]: ../../raw/master/mkp/fritzbox_smarthome-0.8.6-20240106.mkp "fritzbox_smarthome-0.8.6-20240106.mkp"
+[PACKAGE]: ../../raw/master/mkp/fritzbox_smarthome-0.8.7-20240108.mkp "fritzbox_smarthome-0.8.7-20240108.mkp"
 # AVM Fritz!Box Smarthome
 
 This repository contains a additional check_MK Fritz!Box Agent which can gather informations over the AVM AHA HTTP Interface about SmartHome Devices connected to an Fritz!Box. 
diff --git a/mkp/fritzbox_smarthome-0.8.7-20240108.mkp b/mkp/fritzbox_smarthome-0.8.7-20240108.mkp
new file mode 100644
index 0000000000000000000000000000000000000000..6314480b0038cea9aa183137f6212c7a9fd8f100
GIT binary patch
literal 16125
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

literal 0
HcmV?d00001

diff --git a/source/agent_based/fritzbox_smarthome_power_meter.py b/source/agent_based/fritzbox_smarthome_power_meter.py
index 89ee6be..a337af5 100644
--- a/source/agent_based/fritzbox_smarthome_power_meter.py
+++ b/source/agent_based/fritzbox_smarthome_power_meter.py
@@ -178,6 +178,7 @@ def _cost_period_x(
         period_name: str,
         current_period: int,
         rate_name: str,
+        metric_name: str,
         last_reading: float,
         precision: int,
         message: str,
@@ -189,21 +190,22 @@ def _cost_period_x(
     if stored_period := value_store.get(period_name):
         value_store[period_name] = current_period
 
+    cost = last_reading / 1000 * cost_kwh
+
     if current_period != stored_period:
         value_store[period_name] = current_period
-        value_store[rate_name] = 0
-        value = last_reading
+        value_store[rate_name] = cost
     else:
-        value = value_store.get(rate_name, 0) + last_reading
-        value_store[rate_name] = value
+        cost = value_store.get(rate_name, 0) + cost
+        value_store[rate_name] = cost
 
-    value = round((value / 1000 * cost_kwh), precision)
+    cost = round(cost, precision)
 
     yield Result(
         state=State.OK,
-        notice=message.replace('__value__', f'{value:.4f}')
+        notice=message.replace('__value__', f'{cost:.4f}')
     )
-    yield Metric(name=rate_name, value=value)
+    yield Metric(name=metric_name, value=cost)
 
 
 def check_fritzbox_smarthome_energy_single(
@@ -272,7 +274,8 @@ def check_fritzbox_smarthome_energy_single(
                     value_store=value_store,
                     period_name='current_hour',
                     current_period=loca_time.tm_hour,
-                    rate_name='cost_per_hour',
+                    rate_name='cost_this_hour',  # don't reuse -> cost_per_hour
+                    metric_name='cost_per_hour',
                     last_reading=energy,
                     precision=6,
                     message=f'Hour_: __value__{unit_sign}',
@@ -282,7 +285,8 @@ def check_fritzbox_smarthome_energy_single(
                     value_store=value_store,
                     period_name='current_day',
                     current_period=loca_time.tm_mday,
-                    rate_name='cost_per_day',
+                    rate_name='cost_this_day',  # don't reuse -> cost_per_day
+                    metric_name='cost_per_day',
                     last_reading=energy,
                     precision=4,
                     message=f'Day__: __value__{unit_sign}',
@@ -292,7 +296,8 @@ def check_fritzbox_smarthome_energy_single(
                     value_store=value_store,
                     period_name='current_month',
                     current_period=loca_time.tm_mon,
-                    rate_name='cost_per_month',
+                    rate_name='cost_this_month',  # don't reuse -> cost_per_month
+                    metric_name='cost_per_month',
                     last_reading=energy,
                     precision=4,
                     message=f'Month: __value__{unit_sign}',
@@ -302,7 +307,8 @@ def check_fritzbox_smarthome_energy_single(
                     value_store=value_store,
                     period_name='current_year',
                     current_period=loca_time.tm_year,
-                    rate_name='cost_per_year',
+                    rate_name='cost_this_year',  # don't reuse -> cost_per_year
+                    metric_name='cost_per_year',
                     last_reading=energy,
                     precision=4,
                     message=f'Year_: __value__{unit_sign}',
diff --git a/source/packages/fritzbox_smarthome b/source/packages/fritzbox_smarthome
index 45968ae..e5b0668 100644
--- a/source/packages/fritzbox_smarthome
+++ b/source/packages/fritzbox_smarthome
@@ -50,7 +50,7 @@
                    'plugins/views/fritzbox_smarthome.py']},
  'name': 'fritzbox_smarthome',
  'title': 'Fritz!Box SmartHome',
- 'version': '0.8.6-20240106',
+ 'version': '0.8.7-20240108',
  'version.min_required': '2.2.0b1',
  'version.packaged': '2.2.0p17',
  'version.usable_until': None}
-- 
GitLab