Capturing test data¶
To add test data for a new Vaillant system (different boiler model, additional zone configurations, etc.), you can capture live MQTT messages from your ebusd instance:
Method 1: Inside Home Assistant¶
After installing the integration, use the built-in diagnostic services:
- Go to Settings Developer tools Services or open https://my.home-assistant.io/redirect/developer_services/
- Call the service
ebusd_vaillant.dump_mqtt_values- returns all cached values accumulated since startup as a YAML-compatible dict, keyed by device - Call the service
ebusd_vaillant.record_topic_changeswith atimeout(e.g. 30 seconds) - subscribes to the ebusd prefix and returns every message received during that window
Save the result to tests/data/<name>.yml (use any descriptive filename).
The test suite runs against every .yml and .yaml file in that directory.
Method 2: External MQTT client¶
Run the provided scripts from any machine with MQTT access to your ebusd broker:
# Analyze climate-relevant topics (15 second capture)
uv run scripts/analyze_structure.py --broker 127.0.0.1 --timeout 30
# Dump all raw messages as NDJSON (pipe to a file for offline analysis)
uv run scripts/dump_raw.py --broker 127.0.0.1 --timeout 30 > messages.ndjson
Both scripts accept --broker, --port, and --timeout arguments.