You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
micro-ebusd "own files" upload rejected with "invalid body" for a single message from an already-recognized config
#1786
First off, thanks for micro-ebusd and the whole ebusd ecosystem — it's been rock solid.
Setup: eBUS Adapter Shield C6, current firmware (build from Aug 2026), talking to a
Vaillant aroTHERM VWL 55/8.2 + hydraulic station VWL 57/8.2 IS. micro-ebusd's auto-scan
correctly picks up most of my hmu circuit (b508.hmu etc.), but one field I use in Home
Assistant — RunDataReturnTemp — never shows up under micro-ebusd's topics, even though it's
in the official src/vaillant/08.hmu.tsp config (ebusd-configuration repo) and my parallel
classic-ebusd instance reads it fine as ebusd/hmux0/RunDataReturnTemp.
I saw in the CHANGELOG that "storing own message files as well as uploading temporary using
tsp2ebusd" was added in the 2026-02-08 firmware, following the discussion in #1615. So I
tried to add just this one message via tsp2ebusd. Steps and results:
Uploading the full, unmodified src/vaillant/08.hmu.tsp (+ its _templates.tsp,
hcmode_inc.tsp, errors_inc.tsp, b516_inc.tsp, and the top-level src/_templates.tsp)
compiles cleanly locally, but the upload fails with:
conversion service returned 400 Bad Request,
{"error":"conversion failed: Error: invalid response"}
Trying a minimal standalone file with just the one message I need:
import "@ebusd/ebus-typespec";
import "./_templates.tsp";
using Ebus;
using Ebus.Num;
using Ebus.Dtm;
using Ebus.Str;
@inherit(r_7)
@ext(0x6, 0x9)
model RunDataReturnTemp {
value: tempv;
}
}
This compiles fine locally too (tsp2ebusd -m mini.tsp), but now fails
differently:
conversion service returned 400 Bad Request,
{"error":"invalid body"}
Questions:
Is uploading a single custom/extracted message meant to work when the device is already
correctly auto-detected and running an official config (i.e. adding to what auto-scan
found), or is "own files" only intended for genuinely unrecognized devices?
Is there anything specific the micro.ebusd.eu/convert endpoint requires in the body that
isn't obvious from the client-side compile step (e.g. must the namespace/circuit match an
already-registered one, is @auth required even for a read-only message, does it need to
reference the real base model as defined in 08.hmu.tsp rather than a minimal copy)?
Is there a way to get more diagnostic detail than "invalid body" back from the service?
Happy to share more logs/details if useful. Thanks for taking a look!
@john30 : This question is generated by Claude-KI while trying (just as an example) to include the data "RunDataReturnTemp".
As you may know this can be seen in mqtt broker " in "ebusd/hmux0/RunDataReturnTemp" but not in data from ebusd Adapter shield (Build: 20260825
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hi John,
First off, thanks for micro-ebusd and the whole ebusd ecosystem — it's been rock solid.
Setup: eBUS Adapter Shield C6, current firmware (build from Aug 2026), talking to a
Vaillant aroTHERM VWL 55/8.2 + hydraulic station VWL 57/8.2 IS. micro-ebusd's auto-scan
correctly picks up most of my hmu circuit (b508.hmu etc.), but one field I use in Home
Assistant — RunDataReturnTemp — never shows up under micro-ebusd's topics, even though it's
in the official src/vaillant/08.hmu.tsp config (ebusd-configuration repo) and my parallel
classic-ebusd instance reads it fine as ebusd/hmux0/RunDataReturnTemp.
I saw in the CHANGELOG that "storing own message files as well as uploading temporary using
tsp2ebusd" was added in the 2026-02-08 firmware, following the discussion in #1615. So I
tried to add just this one message via tsp2ebusd. Steps and results:
Uploading the full, unmodified src/vaillant/08.hmu.tsp (+ its _templates.tsp,
hcmode_inc.tsp, errors_inc.tsp, b516_inc.tsp, and the top-level src/_templates.tsp)
compiles cleanly locally, but the upload fails with:
conversion service returned 400 Bad Request,
{"error":"conversion failed: Error: invalid response"}
Trying a minimal standalone file with just the one message I need:
import "@ebusd/ebus-typespec";
import "./_templates.tsp";
using Ebus;
using Ebus.Num;
using Ebus.Dtm;
using Ebus.Str;
namespace Vaillant.Hmu {
@base(MF, 0x9, 0x54, 0x2, 0)
model r_7 {
@maxlength(4)
ign: IGN;
}
}
This compiles fine locally too (tsp2ebusd -m mini.tsp), but now fails
differently:
conversion service returned 400 Bad Request,
{"error":"invalid body"}
Questions:
correctly auto-detected and running an official config (i.e. adding to what auto-scan
found), or is "own files" only intended for genuinely unrecognized devices?
isn't obvious from the client-side compile step (e.g. must the namespace/circuit match an
already-registered one, is @auth required even for a read-only message, does it need to
reference the real base model as defined in 08.hmu.tsp rather than a minimal copy)?
Happy to share more logs/details if useful. Thanks for taking a look!
@john30 : This question is generated by Claude-KI while trying (just as an example) to include the data "RunDataReturnTemp".
As you may know this can be seen in mqtt broker " in "ebusd/hmux0/RunDataReturnTemp" but not in data from ebusd Adapter shield (Build: 20260825
All reactions