Repository navigation
Debugging and Troubleshooting
This page collects common issues, debugging tools, and configuration tips.
Symptoms:
- Feature doesn't appear in HA configuration options.
Things to check:
-
AVAILABLE_FEATURESregistration inconst.py - feature factory function exists and imports correctly
- HA logs for import/initialization errors
- feature folder structure is correct
Symptoms:
- Feature is enabled but no entities appear.
Things to check:
- feature enabled + device selected in the options flow
-
SimpleEntityManagerlogs for entity creation/removal issues - device discovery is working
Symptoms:
- Card doesn’t appear, or you see errors in the UI.
Things to check:
- asset deployment completed successfully
- files exist under
config/www/ramses_extras/ - browser console for JS errors
- feature is UI-enabled
- hard refresh your browser cache
If the browser console shows 404s like:
/local/ramses_extras/v0.13.1/helpers/main.js
Then Home Assistant still has a legacy Lovelace resource entry pointing to an old, versioned URL. Remove any /local/ramses_extras/v... entries and add the stable bootstrap resource (type: module):
/local/ramses_extras/helpers/main.js?v=<version>
Also restart HA and your hard-reload your browser
Symptoms:
- WebSocket commands return errors or time out.
Things to check:
- command handler is registered during setup
- required parameters are present and valid
-
device_idexists and is formatted correctly - HA logs for WebSocket-related errors
Symptoms:
- Slow entity changes, high memory usage, laggy UI.
Things to try:
- use bulk operations for entity changes where supported
- cache frequently accessed data
- reduce UI update frequency where appropriate
- Use validation on startup to troubleshoot missing/extra entities.
- Inspect logs around entity creation/removal.
- Confirm the device feature matrix state is what you expect.
- Use
callWebSocket()in browser console to test commands.
- Inspect registered listeners via
RamsesMessageBrokerhelper methods.
Frontend debug output can be enabled via:
window.ramsesExtras = window.ramsesExtras || {};
window.ramsesExtras.debug = true;This flag is normally driven by integration options and pushed via the
ramses_extras_options_updated event.
entity_manager = SimpleEntityManager(hass)
await entity_manager.validate_entities_on_startup()const result = await callWebSocket(hass, {
type: 'ramses_extras/default/get_bound_rem',
device_id: '32:153289'
});
console.log(result);Enable detailed logging in Home Assistant configuration:
# configuration.yaml
logger:
default: info
logs:
custom_components.ramses_extras: debug
custom_components.ramses_extras.framework: debug
custom_components.ramses_extras.features: debugNote: For complete advanced settings and configuration options, see Advanced Settings.
Ramses Extras provides integration-level settings (via the options flow) that affect both backend and frontend debugging:
-
debug_mode- Stored in the config entry options for legacy compatibility
- Derived from
frontend_log_level == "debug" - Exposed to the frontend as
window.ramsesExtras.debug
-
frontend_log_level- Stored in the config entry options
- Exposed to the frontend as
window.ramsesExtras.frontendLogLevel - Controls browser console logging for Ramses Extras cards/editors (frontend)
-
log_level- Stored in the config entry options
- Applied at runtime to the integration logger
custom_components.ramses_extras
These settings are pushed to the frontend via the HA event ramses_extras_options_updated.
Home Assistant has a built-in logging system (configured via the logger: section in YAML, or via enabling debug logging for specific integrations). That mechanism controls backend Python logging and is the authoritative way to get full server-side debug output.
Ramses Extras also has integration options that are related but distinct:
-
debug_mode(Ramses Extras option)- Legacy boolean for frontend verbosity and is exposed as
window.ramsesExtras.debug. - Derived from
frontend_log_level. - Does not automatically change Home Assistant logger configuration.
- Legacy boolean for frontend verbosity and is exposed as
-
frontend_log_level(Ramses Extras option)- Controls frontend verbosity (e.g.
RamsesBaseCardconsole logging) and is exposed aswindow.ramsesExtras.frontendLogLevel.
- Controls frontend verbosity (e.g.
-
log_level(Ramses Extras option)- Adjusts the runtime log level for
custom_components.ramses_extras. - This is a convenience for the integration but is still separate from HA's global
logger:config.
- Adjusts the runtime log level for
In practice:
- Use HA
logger:/ integration debug logging when you need backend diagnostics. - Use
frontend_log_levelwhen you need frontend diagnostics (cards/editors).
-
SimpleEntityManager Debug: Use
validate_entities_on_startup()to check entity consistency -
WebSocket Testing: Use
callWebSocket()function to test WebSocket commands -
Message Listener Debug: Use
RamsesMessageBroker.instance.getListenerInfo()for message routing - Device Enumeration Debug: Check logs for device enumeration and handler execution
-
ha-sim Test Tool: Run
python -m tools.ha_sim_testfrom the ramses_extras repo for automated end-to-end testing on the ha-sim container. See HA-Sim Test Tool for details. Generates log + summary reports in~/.local/share/ramses_extras/ha_sim_reports/. Back to: Home Prev: Development Guide Next: API Reference
- Feature Catalog
- CO2 Control
- Humidity Control (Balance)
- Temp Control (Bypass)
- FAN Configuration (Sensor Control)
- HVAC Fan Card
- Ramses Debugger
-
Device Simulator -
⚠️ Use only on dedicated system/container - Default Feature
- Hello World (Developer Example)