Skip to content

File structure

What is in the repository, and what the script and the docs tooling generate alongside it. Generated paths are also listed in .gitignore, so none of them are committed.

├── Rename-Domoticz-From-ZwaveJSON.ps1   # Main script
├── setup.ps1                             # One-time: fetch pinned SQLite assemblies into lib/
├── rename_rules.json                     # Bundled renaming rules (auto-loaded when present)
├── readme.md                              # Project readme
├── CHANGELOG.md                          # Version history
├── LICENSE                               # License text
├── modules/
│   ├── DomoticzSqlite/                   # SQLite data-access module (Microsoft.Data.Sqlite)
│   └── ZwaveJsClient/                    # Live zwave-js-ui reader (socket.io / engine.io v4)
├── tests/                                # Pester tests (Invoke-Pester -Path ./tests)
├── .github/
│   ├── FUNDING.yml                       # Ko-fi sponsor link
│   └── workflows/
│       ├── docs.yml                      # Builds and publishes this docs site to GitHub Pages
│       └── release.yml                   # Syncs the runtime-only dist branch on release
├── docs/                                 # Source for this documentation site
├── zensical.toml                         # Docs site configuration
├── requirements-docs.txt                 # Pinned Python packages for building the docs site
├── lib/                                  # SQLite assemblies (generated by setup.ps1; git-ignored)
├── site/                                 # Built docs site (generated by zensical build; git-ignored)
├── .venv-docs/                           # Docs toolchain virtual environment (git-ignored)
├── Output files (each tried at its own path first, then the DB folder,
│   then the system temp folder, whichever location is writable first):
│   ├── rename_log-<timestamp>.txt        # Detailed operation log
│   ├── rename_report-<timestamp>.html    # Interactive HTML report
│   ├── undo_rename-<timestamp>.sql       # SQL script to revert changes
│   └── domoticz-<timestamp>.db           # Database backup
└── Optional output (written only when -CsvFile is specified):
    └── <path you passed to -CsvFile>,    # CSV summary of renamed devices
        or rename_summary-<timestamp>.csv # if that path is not writable

Notable paths

  • modules/DomoticzSqlite/ and modules/ZwaveJsClient/ are PowerShell modules (.psd1 manifest plus .psm1 implementation) that the main script imports; see the module docstrings for their exported functions.
  • docs/ is this documentation site's source, built with Zensical from zensical.toml. It is unrelated to the script's own runtime output.
  • lib/ holds the SQLite assemblies that setup.ps1 downloads and checksum-verifies for the current platform. It does not exist until you run setup.ps1, and the script errors with a hint to run it if it is missing. See Installation.

What is not committed

Everything the tool or the docs toolchain generates is git-ignored rather than checked in:

  • lib/ (SQLite assemblies from setup.ps1)
  • site/ and .venv-docs/ (this docs site's build output and virtual environment)
  • The script's own output: rename_log*.txt, rename_summary*.csv, undo_rename-*.sql, rename_report*.html, and any *.db file (the .gitignore carries a standing exception for domoticz.db.example, for a future sample database, though no such file exists in the repository today)
  • nodes_dump.json (a Z-Wave JSON export you generated yourself)