Repository navigation
Replies: 3 comments
|
Thanks for the report and the offer. 20017701 has no software image I can work from, so the profile has to come from your board's memory, the way 20002202 came from @Senaxx's dump. The good news: the unit's settings memory has the same layout as 20017704 at every byte the control uses, so only the working-memory addresses are unknown, and they are probably shifted a little from 20017704's. Could you read 0x3000 to 0x5FFF, in 64-byte blocks? It is read-only (the R command), about 200 reads. Something like this in a linux; B=http://<board>
for a in $(seq $((0x3000)) 64 $((0x5FC0))); do
A=$(printf '0x%04X' $a)
curl -s -X POST $B/api/memory -H 'Content-Type: application/json' -d "{\"addr\":\"$A\",\"len\":64}" >/dev/null
for i in 1 2 3 4 5 6 7 8 9 10; do sleep 0.5; r=$(curl -s $B/api/memory); case "$r" in *'"done":true'*) break;; esac; done
echo "$r"
done > dump_20017701.txtThen attach the file. Please also tell me what the interface shows at the time of the dump: the setpoint mode of the tank and of the main zone, the points of each weather-dependent curve, and the power limitation settings ([4-08], [4-09] and limit 1). With those values I can find the curve words, the limit records and the limitation bytes in the dump, check them against 20017704's layout, and add the profile. After that, step 1 is the read-only check on the card, and only then a write. |
|
Thanks! Here is the read-only dump of 0x3000–0x5FFF in 64-byte blocks: 192 reads, all "ok":true, none missing. It was taken on 2026-11-08 at 06:08 local time with your loop (I only added a retry on "busy", which never happened). File attached: dump_20017701.txt What the unit showed at the time of the dump (nothing was changed in between):
The values were read from the unit's settings and HomeAssistant (P1P2MQTT). |
|
Dump received, thanks: everything matched. 20017701 is 20017704 with the settings block 0x18 lower, the limit records 0xC5 lower and the limitation bytes 0xB4 lower; your curve (25 at 20 °C, 35 at -15), the limits 20.0 kW / 50 A, [4-08] 0 / [4-09] 1, the 44 °C tank target and the 26.4 °C leaving water target all read where the profile says. It is in the next beta. Step 1 then: tick the leaving water box only (your tank is in fixed mode, that card will say "not curve mode"), and check the card shows 20017701, a range 25-45 and the curve 25/35, without asking a target. Only after that, a target one degree away. The counters (hours, energy) I could not place in your dump, that can wait. |
Uh oh!
There was an error while loading. Please reload this page.
Version: ESPAltherma 2 (installed with the web installer)
Firmware version: 2.0.0-beta.25 (own build with the mDNS fix from #639 and modem sleep off; control code unchanged)
Board: M5Stack Atom Lite
Heat pump: Indoor EHSXB08P50EF, outdoor ERGA06EVA3H
Model chosen in ESPAltherma: Altherma(ERGA E EHSH-X P30-50 E_EF series 04-08kW-ECH2O), detected (confidence high), confirmed
What happens:
Following the request in #604 ("units with other hydro software: open an issue with the version the card shows").
My hydro board reports software ID 20017701, which is not in the table in #604, so the experimental targets and the power limit stay off ("unsupported"). The closest known ID is 20017704 (4-8 kW ECH2O E, "waiting for a first report"). The same unit family, so 20017701 is probably an earlier software of that board.
What the survey shows (
/api/detect,id):I can help with a profile for this software:
/api/memory, read only) at any addresses you name, for example the 20017704 addresses, so you can compare the layout;On the ECH2O the hydro board software is updated only by Daikin service, so asking for 20017704 is not an easy alternative.
If you know that 20017701 shares 20017704's layout, that would also answer it.
Event history: [optional: Diagnostics → Event history → Copy]
Heat pump survey:
{ "v": 1, "fw": "2.0.0-beta.25-mdnsfix-otadiag-nosleep", "board": "m5stack-atom", "protocol": "I", "key": "I|63:017092312402|60:7107|CAP:50|11:015029630702|00:----", "id": { "iu_eeprom": "017092312402", "iu_as": "AS1709231-24 B", "iu_sw": "7107", "iu_sw_id": "20017701", "iu_cap": 80, "iu_opt": 3, "iu_eeprom_ver": 0, "iu_code": "0000", "ou_eeprom": "015029630702", "ou_pn": "1P502963-7", "ou_mpu": "----", "ou_cap": null }, "regs": { "60": "80001A00000050B8012601400203710700", "00": "04010001010100000101", "10": "010000000000F3040000000000000000", "11": "015029630702", "20": "32000000030200000F0000000000000001", "21": "12004700690000000000000000000000", "30": "0C4200750000000000000000000000", "A0": "00008001000000000000FFFF00000000", "A1": "00000000000000000000000000000000", "61": "80002E011B01FC00F9009A01C8000000", "62": "8000087801C800002047000E420000CF00", "63": "80000170923124021D0100644000000000", "64": "8000020000000026014000009D010503", "65": "80002E0100000000000000000000000000", "66": null }, "detect": { "model": "Altherma(ERGA E EHSH-X P30-50 E_EF series 04-08kW-ECH2O)", "family": "G", "confidence": "high", "method": "as_number", "margin": 100, "candidates": [ { "model": "Altherma(ERGA E EHSH-X P30-50 E_EF series 04-08kW-ECH2O)", "score": 52 } ] } }All reactions