mirror of
https://github.com/jpawlowski/hass.tibber_prices.git
synced 2026-03-30 13:23:41 +00:00
Home Assistant's hassfest validation requires config flows to be defined in a file named config_flow.py (not a package directory). Changes: - Renamed custom_components/tibber_prices/config_flow/ → config_flow_handlers/ - Created config_flow.py as bridge file re-exporting from config_flow_handlers/ - Updated all import paths across 5 files (user_flow, options_flow, subentry_flow, etc.) - Added ./scripts/hassfest for local validation (JSON/Python syntax, required files) - Added ./scripts/clean with three modes (--minimal, normal, --deep) - Refactored develop/lint/lint-check to use centralized cleanup (DRY principle) - Updated documentation in AGENTS.md and docs/development/ Technical details: - Bridge file uses __all__ exports to maintain clean public API - hassfest script uses ast.parse() for syntax validation (no disk artifacts) - clean --minimal removes .egg-info only (silent, for automated scripts) - Dual pip/uv pip compatibility for package uninstallation Impact: Integration now passes hassfest validation. Local validation available via ./scripts/hassfest before pushing to GitHub. Cleanup logic centralized and DRY across all development scripts.
30 lines
843 B
Bash
Executable file
30 lines
843 B
Bash
Executable file
#!/bin/sh
|
|
|
|
# script/develop: Start Home Assistant in development mode
|
|
|
|
set -e
|
|
|
|
cd "$(dirname "$0")/.."
|
|
|
|
if [ -z "$VIRTUAL_ENV" ]; then
|
|
. "$HOME/.venv/bin/activate"
|
|
fi
|
|
|
|
# Clean up critical issues (accidental package installations)
|
|
# Uses minimal mode to avoid deleting useful caches
|
|
"$(dirname "$0")/clean" --minimal
|
|
|
|
# Create config dir if not present
|
|
if [ ! -d "${PWD}/config" ]; then
|
|
mkdir -p "${PWD}/config"
|
|
hass --config "${PWD}/config" --script ensure_config
|
|
fi
|
|
|
|
# Set the path to custom_components
|
|
## This let's us have the structure we want <root>/custom_components/tibber_prices
|
|
## while at the same time have Home Assistant configuration inside <root>/config
|
|
## without resulting to symlinks.
|
|
export PYTHONPATH="${PYTHONPATH}:${PWD}/custom_components"
|
|
|
|
# Start Home Assistant
|
|
hass --config "${PWD}/config" --debug
|