From 6a7daf6f853c4696f1e750bf3576984e683829b6 Mon Sep 17 00:00:00 2001 From: LKuemmel Date: Mon, 3 Nov 2025 14:01:07 +0100 Subject: [PATCH 1/2] fix chargelog actual charging time: fix timestamp --- packages/control/chargelog/chargelog.py | 4 ++-- packages/control/chargelog/chargelog_test.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/control/chargelog/chargelog.py b/packages/control/chargelog/chargelog.py index 926b841d79..8bc40c1f5c 100644 --- a/packages/control/chargelog/chargelog.py +++ b/packages/control/chargelog/chargelog.py @@ -318,7 +318,7 @@ def calculate_charged_energy_by_source(cp, processed_entries, reference_entries, charged_energy = (reference_entries[-1]["cp"][f"cp{cp.num}"]["imported"] - reference_entries[0]["cp"][f"cp{cp.num}"]["imported"]) elif reference == ReferenceTime.END: - if (timecheck.create_timestamp()-cp.data.set.log.timestamp_start_charging) < MEASUREMENT_LOGGING_INTERVAL: + if ((timecheck.create_timestamp()-cp.data.set.log.timestamp_mode_switch) < MEASUREMENT_LOGGING_INTERVAL): charged_energy = cp.data.set.log.imported_since_mode_switch else: log.debug(f"cp.data.get.imported {cp.data.get.imported}") @@ -351,7 +351,7 @@ def _get_reference_position(cp, create_log_entry: bool) -> ReferenceTime: else: # Wenn der Ladevorgang erst innerhalb des letzten 5 Min Intervalls gestartet wurde, # ist das das erste Zwischenergebnis. - if (timecheck.create_timestamp() - cp.data.set.log.timestamp_start_charging) < MEASUREMENT_LOGGING_INTERVAL: + if (timecheck.create_timestamp() - cp.data.set.log.timestamp_mode_switch) < MEASUREMENT_LOGGING_INTERVAL: return ReferenceTime.START else: return ReferenceTime.MIDDLE diff --git a/packages/control/chargelog/chargelog_test.py b/packages/control/chargelog/chargelog_test.py index e6cf39d715..4c25c8a9b0 100644 --- a/packages/control/chargelog/chargelog_test.py +++ b/packages/control/chargelog/chargelog_test.py @@ -85,7 +85,7 @@ def test_calc_charge_cost_reference_start(mock_data, monkeypatch): def test_calc_charge_cost_reference_end(mock_data, monkeypatch): cp = Chargepoint(4, None) cp.data.set.log.imported_since_plugged = cp.data.set.log.imported_since_mode_switch = 3950 - cp.data.set.log.timestamp_start_charging = 1652682600 # 8:30 + cp.data.set.log.timestamp_mode_switch = 1652682600 # 8:30 cp.data.get.imported = 4100 cp.data.set.log.charged_energy_by_source = {'grid': 1243, 'pv': 386, 'bat': 671, 'cp': 0.0} daily_log = mock_daily_log(monkeypatch) From 8b943d2a069f0e7bf541613c01c3118c773f191f Mon Sep 17 00:00:00 2001 From: LKuemmel Date: Mon, 3 Nov 2025 14:05:49 +0100 Subject: [PATCH 2/2] pytest --- packages/control/chargelog/chargelog_test.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/control/chargelog/chargelog_test.py b/packages/control/chargelog/chargelog_test.py index 4c25c8a9b0..774bfb260a 100644 --- a/packages/control/chargelog/chargelog_test.py +++ b/packages/control/chargelog/chargelog_test.py @@ -53,7 +53,7 @@ def mock_daily_log(monkeypatch): def test_calc_charge_cost_reference_middle(mock_data, monkeypatch): cp = Chargepoint(4, None) cp.data.set.log.imported_since_plugged = cp.data.set.log.imported_since_mode_switch = 3950 - cp.data.set.log.timestamp_start_charging = 1652682600 # 8:30 + cp.data.set.log.timestamp_mode_switch = 1652682600 # 8:30 cp.data.get.imported = 4050 cp.data.set.log.charged_energy_by_source = {'bat': 100, 'cp': 0, 'grid': 100, 'pv': 100} daily_log = mock_daily_log(monkeypatch) @@ -69,7 +69,7 @@ def test_calc_charge_cost_reference_middle(mock_data, monkeypatch): def test_calc_charge_cost_reference_start(mock_data, monkeypatch): cp = Chargepoint(4, None) cp.data.set.log.imported_since_plugged = cp.data.set.log.imported_since_mode_switch = 100 - cp.data.set.log.timestamp_start_charging = 1652683230 # 8:40:30 + cp.data.set.log.timestamp_mode_switch = 1652683230 # 8:40:30 cp.data.get.imported = 4100 cp.data.set.log.charged_energy_by_source = {'bat': 0, 'cp': 0, 'grid': 0, 'pv': 0} daily_log = mock_daily_log(monkeypatch) @@ -100,7 +100,7 @@ def test_calc_charge_cost_reference_end(mock_data, monkeypatch): def test_calc_charge_cost_reference_middle_day_change(mock_data, monkeypatch): cp = Chargepoint(4, None) cp.data.set.log.imported_since_plugged = cp.data.set.log.imported_since_mode_switch = 3950 - cp.data.set.log.timestamp_start_charging = 1652682600 # 8:30 + cp.data.set.log.timestamp_mode_switch = 1652682600 # 8:30 cp.data.get.imported = 4050 cp.data.set.log.charged_energy_by_source = {'bat': 100, 'cp': 0, 'grid': 100, 'pv': 100} yesterday_daily_log = {"entries": [{'bat': {'all': {'exported': 2000, 'imported': 2000, 'soc': 100},