Skip to content

GridGhost v1.1.0-beta

Choose a tag to compare

@zEhmsy zEhmsy released this 14 Feb 17:59
· 22 commits to main since this release

GridGhost v1.1.0-beta (Windows Installer)

GridGhost is a lightweight, high-performance Modbus TCP device simulator (BACnet coming soon) built for BMS testing, commissioning, and Niagara development.
This first beta release focuses on correct addressing, Niagara-friendly scans, and strict register compliance.


✨ What’s new

Niagara-ready Modbus mapping

  • Niagara-style addressing supported in the UI (e.g., 40001, 30001, 10001, 00001)
  • 0-based Modbus alignment: 00001 → offset 0 (consistent across UI + server)

Stable scanning behavior

  • Coils/Discretes support sparse maps and return False/0 for unmapped bits
    → ideal for Niagara block scans (no scan-breaking exceptions)

Strict register compliance (no silent ACKs)

  • Holding/Input registers are strictly validated
    → unmapped addresses are rejected reliably

✅ Fixes included

Correct Modbus exception semantics (critical for Niagara)

Unmapped register requests now return:

  • Exception Code 0x02 — Illegal Data Address

Verified for:

  • 0x03 Read Holding Registers
  • 0x04 Read Input Registers
  • 0x06 Write Single Register
  • 0x10 Write Multiple Registers

UI: Point Map value display

  • Fixed the blank value issue when setting Static/Manual points
    → manual register values now appear correctly in the Niagara Point Map

Addressing consistency

  • Confirmed Niagara formatting (40001 + offset, etc.) matches actual server offsets
  • Sparse register gaps remain strict (illegal addresses → code 0x02)

🧩 Tech stack

  • .NET 8
  • Avalonia UI
  • NModbus 3.0.81
  • MVVM (CommunityToolkit)

⚠️ Known limitations

  • Windows only (installer targets Windows)
  • BACnet not included yet (roadmap)
  • If a point uses a generator (Random/Sine/Ramp), it may overwrite manual writes
    → use Static/Manual for persistent values

📦 Installation

  1. Download the installer from the Assets section below
  2. Run the .exe installer

Windows SmartScreen warning?
This beta build may show “unknown publisher”.
Select More info → Run anyway (expected if not code-signed yet).


🐞 Feedback / Issues

Please open a GitHub Issue and include:

  • Template name / JSON snippet
  • Port + device_id
  • Addresses involved (Niagara & offset)
  • Steps to reproduce (or your pymodbus commands)