From 35e770d4b20ee10f252675436072e5d8419300c6 Mon Sep 17 00:00:00 2001 From: Konstantin Renner Date: Thu, 9 Jul 2026 12:39:58 +0200 Subject: [PATCH] Poll the Vitocal HPMU event log (DID 259/260) via open3e MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Investigating an unexplained 21-minute full-power heating run on 2026-07-09 09:25 showed the HPMU event log is the one diagnostic surface open3e never published: vitocal.259 (InfoDtcList) and vitocal.260 (InfoDtcHistory) were absent from the poll list, so only the VX3's counterpart (vx3.266) was ever visible. A one-shot `{"mode":"read","data":[259,260],"addr":"0x680"}` over open3e/cmnd confirmed both decode cleanly through the vcal codec and are capped lists — 2 and 9 entries respectively — so the multi-frame ISO-TP read costs little next to the 87 DIDs already polled at 30 s. Scope note: this log records faults and info events only (NormalOperation, LagDeviceDtcReported, LegionellaProtectionTemperatureReached). It does not record setpoint or operating-program changes, so it would not have attributed the 09:25 run. It is still the right place to catch recurrences of the legionella heating-rod cycle and lag-device dropouts. Read-only: no -w flag, no new write path. Co-Authored-By: Claude Opus 4.8 (1M context) --- ansible/roles/edge-host/defaults/main.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ansible/roles/edge-host/defaults/main.yml b/ansible/roles/edge-host/defaults/main.yml index 607968a0..38e7e739 100644 --- a/ansible/roles/edge-host/defaults/main.yml +++ b/ansible/roles/edge-host/defaults/main.yml @@ -73,8 +73,13 @@ edge_open3e_poll_seconds: 30 # — klärt, ob die Eigenstromoptimierung (EMS) bei PV-Überschuss von selbst # den WW-Boost auslöst (2543.2 steht laut Scan bereits auf +10 K), bevor # SG-Ready-Verdrahtung oder andere Trigger gebaut werden. Alle vier ro. +# vitocal.259/260 = InfoDtcList/InfoDtcHistory (O3EList) — the HPMU event log, +# the Vitocal-side counterpart to vx3.266. Both are capped lists (2 and 9 +# entries when added), so the multi-frame read is cheap at a 30 s poll. +# Records faults/info events only (NormalOperation, LagDeviceDtcReported, +# LegionellaProtectionTemperatureReached) — NOT setpoint or program changes. edge_open3e_datapoints: >- - vitocal.268,vitocal.269,vitocal.271,vitocal.274,vitocal.286,vitocal.288,vitocal.318,vitocal.321,vitocal.324,vitocal.335,vitocal.336,vitocal.396,vitocal.402,vitocal.403,vitocal.476,vitocal.477,vitocal.543,vitocal.548,vitocal.565,vitocal.1007,vitocal.1043,vitocal.1190,vitocal.1211,vitocal.1391,vitocal.1416,vitocal.1417,vitocal.2320,vitocal.2346,vitocal.2350,vitocal.2351,vitocal.2352,vitocal.2369,vitocal.2370,vitocal.2486,vitocal.2487,vitocal.2488,vitocal.2543,vitocal.2560,vitocal.2622,vitocal.2624,vitocal.2625,vitocal.2735,vitocal.3016,vx3.266,vx3.378,vx3.379,vx3.380,vx3.535,vx3.1603,vx3.1664,vx3.1690,vx3.1801,vx3.1802,vx3.1810,vx3.1828,vx3.1830,vx3.1577,vx3.1578,vx3.1579,vx3.1580,vx3.1581,vx3.1582,vx3.1834,vx3.1836,vx3.2214,vx3.2240,vx3.3085,vx3.3086,vx3.3087,vx3.3088,vx3.3089,vx3.3090,vcmu.320,vcmu.322,vcmu.325,vcmu.355,vcmu.389,vcmu.391,vcmu.1772,vcmu.1773,vcmu.1775,vcmu.1776,vcmu.2256,vcmu.2259,vcmu.2333,vcmu.2334,vcmu.2569,vcmu.2571,vitocal.2791 + vitocal.259,vitocal.260,vitocal.268,vitocal.269,vitocal.271,vitocal.274,vitocal.286,vitocal.288,vitocal.318,vitocal.321,vitocal.324,vitocal.335,vitocal.336,vitocal.396,vitocal.402,vitocal.403,vitocal.476,vitocal.477,vitocal.543,vitocal.548,vitocal.565,vitocal.1007,vitocal.1043,vitocal.1190,vitocal.1211,vitocal.1391,vitocal.1416,vitocal.1417,vitocal.2320,vitocal.2346,vitocal.2350,vitocal.2351,vitocal.2352,vitocal.2369,vitocal.2370,vitocal.2486,vitocal.2487,vitocal.2488,vitocal.2543,vitocal.2560,vitocal.2622,vitocal.2624,vitocal.2625,vitocal.2735,vitocal.3016,vx3.266,vx3.378,vx3.379,vx3.380,vx3.535,vx3.1603,vx3.1664,vx3.1690,vx3.1801,vx3.1802,vx3.1810,vx3.1828,vx3.1830,vx3.1577,vx3.1578,vx3.1579,vx3.1580,vx3.1581,vx3.1582,vx3.1834,vx3.1836,vx3.2214,vx3.2240,vx3.3085,vx3.3086,vx3.3087,vx3.3088,vx3.3089,vx3.3090,vcmu.320,vcmu.322,vcmu.325,vcmu.355,vcmu.389,vcmu.391,vcmu.1772,vcmu.1773,vcmu.1775,vcmu.1776,vcmu.2256,vcmu.2259,vcmu.2333,vcmu.2334,vcmu.2569,vcmu.2571,vitocal.2791 # ECU addresses; -dev selects codec set, tx selects the UDS address. # vcmu (refrigerant-circuit controller) has no dedicated codec set — # omitting dpList makes open3e fall back to the generic datapoint list, -- 2.54.0