Skip to content

Commit 1b7879d

Browse files
committed
vaillant: restore E7000 system manager (15.e7000) lost in TypeSpec migration
The legacy ebusd-2.1.x tree shipped `en/vaillant/15.e7000.csv` defining the VRC E7000 system manager — sibling to the VRC 700, paired with the HMU01 heat-pump indoor unit. During the TypeSpec migration the E7000 was not ported, even though 15.e7c, 15.e7f, 15.e7f_2 were. The CSV is still present in `archived/`. This restores it with the subset known to respond on Vaillant E7000 SW=0608 HW=7003 (paired with HMU01 SW=0306 HW=8802, a Saunier Duval rebadge). Notably restores `HwcStorageTemp` — the DHW cylinder probe reading, which on this controller is the only place the tank temperature is exposed (the HMU's `Status01.storage` slot returns the sentinel, and T.1.44 / TestCylinderTemp returns the placeholder `04 2c 01 ff ff`). Verified ebusctl read after deployment: e7000 HwcStorageTemp = 45 (°C, follows the expected 50→55 sawtooth) e7000 HwcFlowTemp = 0.0 The earlier HMU passive-snoop attempt (`HwcStorageTemp` on the b5 07 09 00 exchange) was a mis-identification — that field reads 30–70 °C on a minutes-timescale, inconsistent with a 200 L cylinder. Reverted.
1 parent 9c3ed3a commit 1b7879d

2 files changed

Lines changed: 76 additions & 0 deletions

File tree

src/main.tsp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import "./vaillant/15.430.tsp";
2727
import "./vaillant/15.470.tsp";
2828
import "./vaillant/15.700.tsp";
2929
import "./vaillant/15.720.tsp";
30+
import "./vaillant/15.e7000.tsp";
3031
import "./vaillant/15.e7c.tsp";
3132
import "./vaillant/15.e7f.tsp";
3233
import "./vaillant/15.f37.tsp";

src/vaillant/15.e7000.tsp

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
import "@ebusd/ebus-typespec";
2+
import "./_templates.tsp";
3+
import "./errors_inc.tsp";
4+
using Ebus;
5+
using Ebus.Num;
6+
using Ebus.Dtm;
7+
using Ebus.Str;
8+
namespace Vaillant;
9+
10+
// @zz(0x15)
11+
namespace E7000 {
12+
// ,E7000,VRC E7000 system manager (paired with HMU01 heat-pump indoor unit)
13+
//
14+
// Originally shipped as `archived/en/vaillant/15.e7000.csv` in the legacy
15+
// ebusd-2.1.x CSV tree. Not ported during the TypeSpec migration, even
16+
// though sibling controllers (15.e7c, 15.e7f) were. Reintroduced here to
17+
// restore the DHW cylinder probe readings that were lost in that gap.
18+
//
19+
// Verified against MF=Vaillant;ID=E7000;SW=0608;HW=7003 paired with an
20+
// HMU01 SW=0306 HW=8802 (Saunier Duval rebadge). Only the subset known
21+
// to respond on this firmware is exposed below.
22+
23+
// ##### hot water circuit #####
24+
25+
/** default *r for HWC parameter block (b5 24 02 00 01 00 + 2 ext bytes) */
26+
@base(MF, 0x24, 0x2, 0, 1, 0)
27+
model r_hwc {
28+
@maxLength(4)
29+
ign: IGN;
30+
}
31+
32+
/** DHW temperature setpoint */
33+
@inherit(r_hwc)
34+
@ext(0x4, 0)
35+
model HwcTempDesired {
36+
value: tempv;
37+
}
38+
39+
/** DHW cylinder/storage actual temperature (Speicheristtemperatur) */
40+
@inherit(r_hwc)
41+
@ext(0x5, 0)
42+
model HwcStorageTemp {
43+
value: tempv;
44+
}
45+
46+
/** DHW flow temperature */
47+
@inherit(r_hwc)
48+
@ext(0x8, 0)
49+
model HwcFlowTemp {
50+
value: tempv;
51+
}
52+
53+
// ##### sensor probes #####
54+
55+
/** default *r for sensor probe block (b5 24 02 00 00 00 + 2 ext bytes) */
56+
@base(MF, 0x24, 0x2, 0, 0, 0)
57+
model r_sensors {
58+
@maxLength(4)
59+
ign: IGN;
60+
}
61+
62+
/** DHW storage temperature, top probe (stratified-tank installs only) */
63+
@inherit(r_sensors)
64+
@ext(0x9d, 0)
65+
model HwcStorageTempTop {
66+
value: tempv;
67+
}
68+
69+
/** DHW storage temperature, bottom probe (stratified-tank installs only) */
70+
@inherit(r_sensors)
71+
@ext(0x9e, 0)
72+
model HwcStorageTempBottom {
73+
value: tempv;
74+
}
75+
}

0 commit comments

Comments
 (0)