Skip to content

v2.8 - Live zwave-js-ui reading and ARM support

Choose a tag to compare

@Rouzax Rouzax released this 09 Jul 12:56
· 38 commits to main since this release

This release bundles two milestones that had not yet shipped (2.7 and 2.8).

Read directly from zwave-js-ui (new)

  • New -ZwaveJsUrl mode fetches node data live over zwave-js-ui's socket.io API (engine.io v4 WebSocket, no dependency), so a manual nodes_dump.json export is no longer required:

    .\Rename-Domoticz-From-ZwaveJSON.ps1 -ZwaveJsUrl "https://your-host:8091" -DbPath "domoticz.db" -DryRun
  • -ZwaveJsToken for authenticated instances (https only; refused over http, since the token is a credential). -SkipCertificateCheck for self-signed HTTPS.

  • Read-only, and the fetch runs before any backup, so a failed fetch changes nothing.

ARM / Raspberry Pi support

  • Replaced the PSSQLite module with Microsoft.Data.Sqlite + SQLitePCLRaw, provisioned by a new pinned, checksum-verified setup.ps1 that selects the native SQLite for your platform (linux-arm64, linux-arm, linux-x64, win-x64, osx-arm64, and more). The tool now runs natively on Raspberry Pi.
  • The SQLite data layer moved into a DomoticzSqlite module with Pester tests.
  • Cross-platform database-in-use detection (Linux /proc scan, Windows exclusive-open, macOS lsof) replaces the previous Windows-only lock check and names the process holding the database.

Correctness

  • Collision detection now checks a proposed name against the full end state (including devices that keep their name), so it can no longer silently create a duplicate.

Upgrade note

  • Run pwsh ./setup.ps1 once per machine after updating: the SQLite engine is now vendored into lib/ instead of relying on the PSSQLite PowerShell module.