Purpose
Maintain and version openHAB configuration across items, rules, things, persistence, services, sitemaps, and transforms.
Current state
Last touched: 2026-01-03. Functionality and completeness: Config files present; documentation and inventory of bindings are not captured in-repo.
Next step
Add baseline automated tests to cover critical flows; Add CI pipeline for build/test/lint; Document deployment/runtime environment (or add Dockerfile); Document interfaces (CLI flags, API endpoints, file formats); Add structured logging and basic health checks.
Interfaces
Inputs- openHAB config and userdata files
- openHAB configuration files
- userdata state
Outputs- openHAB runtime state and logs
- openHAB runtime configuration
Reality to Action trace
Reality IngestionNot in scope.
Canonical StorageNot in scope.
Automation EnginesNot in scope.
Human InterfacesNot in scope.
Operational AdoptionContributes in this stage.
Core workflow
TBD. Document the 5-10 steps that define the core workflow.
Artifacts
- openHAB item/thing/rule file formats
Operational notes
Constraints and scars
- Must align with openHAB version and binding expectations; config drift can break automations.
Reliability posture
Failure modes and safe behavior: Invalid config files can block rule loading; openHAB logs detail parsing errors. Idempotency / retries / batching behavior: Not applicable; configuration is loaded by openHAB.
Observability
- Metrics/health checks: openHAB health endpoints if configured
- Logs: openHAB service logs; no dedicated logging in this repo.
Security and privacy
Avoid committing binding credentials or tokens stored in userdata; evaluate directories before syncing.
Dependencies
Upstream- Depends on configured openHAB bindings
Ownership
OwnersJosh Barton
UsersJosh Barton (owner)
openhab-config
Architecture & Major Components
High-level diagram (text):
- Entry/trigger -> core logic -> outputs (details per docs below)
Entry/trigger
→core logic
→outputs
Entry points: openHAB config files (items/things/rules) and scripts under scripts/
Top-level folders: .vscode, etc, scripts, userdata
Key abstractions: items, rules, things, persistence, sitemaps
Setup / Build / Run
- Build system(s): None; config repo