Skip to content
CAI
Software that uses CAICheck a score

ocdtrekkie/HAController

45.8

Weak · 1 October 2026

7.2k

lines of production code

VB.NET

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

HAController is a local-first home automation system built on .NET Framework 4.8 that operates independently of external web services. It provides a Windows Forms interface and modular architecture to control devices via Insteon, X10, and Z-Wave, while integrating with various media and smart home APIs. The system manages local data persistence through SQLite and includes maintenance scripts for updates and media handling.

Features

Initial release of HAController home automation system

The application is introduced as a local-first home automation controller designed to function independently of web services, supporting both home and car environments. The initial build includes a Windows Forms UI (Form1) for Insteon device control and status monitoring, a system tray icon, and a modular architecture. Core capabilities include a conversational command interface (modConverse), SQLite-based persistent storage (modDatabase), and modules for computer management, speech synthesis, and random number generation. Optional modules provide integration with Insteon, X10, Z-Wave, GPS, weather APIs (OpenWeatherMap), mail (IMAP/POP3), MapQuest, Matrix LCD displays, music playback, Pi-hole, Roku, and Elgato Stream Deck.

(repo-wide) · high confidence

Introduces Persons data model with communication preferences

The \_Scratchpad now includes a clsPersons.vb file defining the HAUser class, which represents a person with properties for identity (name, nickname, gender), contact details (email, phone, carrier), and communication settings (message preference, social flag). This change also introduces supporting enumerations for Gender, PersonType, PhoneCarrier, and MsgPreference to structure user data within this scratchpad area.

_\Scratchpad · high confidence

New maintenance and update scripts for the HAC system

This change introduces a suite of new batch scripts to manage system updates, maintenance, and media handling. The update process now uses wget and 7-Zip to download and extract updates from a specific server (hac.jacobweisz.com), with retry logic configured for file copying. New scripts allow for archiving the database and log files with timestamps before restarting the HAController service, cleaning up old component files and agent zips, downloading videos via yt-dlp, and launching Windows Media Player for music scanning. A THIRD\_PARTY.md file documents the included third-party executables (7-Zip, ffmpeg, Wget, yt-dlp) and their licenses.

scripts · high confidence

Dependencies

Initial dependency manifest for HAController on .NET Framework 4.8

The HAController project now includes its NuGet dependency manifests (packages.config and project file), establishing a baseline on .NET Framework 4.8. This adds support for hardware interaction via HidLibrary and HidSharp, device discovery via Rssdp, and Stream Deck control via StreamDeckSharp and OpenMacroBoard.SDK. It also includes data handling libraries such as System.Data.SQLite for local storage, SixLabors.ImageSharp for image processing, and System.Text.Json for serialization.

(dependencies) · high confidence

Housekeeping

HAController version 1.0.0.94 release

This update releases version 1.0.0.94 of HAController, adding Windows 10 compatibility support and initializing the project's core configuration files, including application settings, resources, and assembly metadata.

My Project · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.

Score

  • CAI 51 → 46 (-5.0)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 82 → 82 (+0.0)
  • Architecture 93 → 96 (+2.4)
  • Maturity 46 → 46 (+0.0)
  • Readiness 34 → 34 (+0.0)
  • Security 90 → 51 (-39.2)

Resolved (3)

  • Documentation: no installation or build instructions (docs/README.md)
  • Documentation: no licence statement (docs/README.md)
  • Documentation: no usage examples (docs/README.md)

New (24)

  • Documentation: no installation or build instructions (README.md)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • …and 4 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

ocdtrekkie/HAController was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 6aedddae429591456b3ec222486e551579e08d41 — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.