Downloads

The PHOA Gateway POSTs readings to a small Windows ingest service that writes them into a local MySQL database. You need three things on the PC that will host the database: the ingest service installer, the MySQL schema script that sets up its database and login, and the 32-bit MySQL Unicode ODBC driver it talks to MySQL through.

Follow the setup checklist below in order: install MySQL, run the schema script, install the 32-bit ODBC driver, then the ingest service. Windows is the only supported host for the ingest service today.

PHOA component

PHOA Water Ingest Service

Windows service that listens on TCP 41290 for batched JSON from the Gateway and writes clients, readings, and events into your phoa_water MySQL database. Installs as an auto-start service, adds its own firewall rule, and prompts once for your MySQL connection details.

  • Version 1.0.0 (build 2026-06-03)
  • Platform Windows x86/x64 (service runs 32-bit; talks to the 32-bit ODBC driver)
  • Requires the MySQL Unicode ODBC driver and the schema script below, plus a reachable MySQL 8 server
  • SHA-256 a68d4a93f8c816e6e320614e72ff6881e9c4bd6b1a9c9549666d8b1d9d51008f
Database setup

MySQL schema script

A single SQL script that creates the phoa_water database, the three tables the ingest service writes (clients, readings, events), and the application account the service logs in with. Run it once against your MySQL 8 server, as an administrator (e.g. root), before installing the ingest service:

mysql -u root -p < schema_phoa_water.sql

  • Creates database phoa_water + tables clients, readings, events
  • Account user phoa_water / password PHOAwater123, matching the installer defaults so ingestion works out of the box
  • Local only the account accepts connections from the same machine only (localhost / 127.0.0.1) with data-only privileges; change the password in both CREATE USER lines (and in the installer) only if your MySQL server is reachable from other computers
  • SHA-256 0d4838c13564208ee2ce8f46958294fdd617f9bf992597d1d0ca1020f567d27f
Dependency

MySQL Connector/ODBC 8.0 (32-bit)

The ingest service connects to MySQL through ODBC. It expects the driver registered as MySQL ODBC 8.0 Unicode Driver in the 32-bit ODBC view. Install this before the ingest service. After installing, you can confirm the driver appears under the Drivers tab of C:\Windows\SysWOW64\odbcad32.exe (the 32-bit ODBC Data Source Administrator).

  • Version 8.0.30, 32-bit (win32)
  • Installs "MySQL ODBC 8.0 Unicode Driver" + ANSI driver
  • SHA-256 be060d2fda51e02f65eb1462abb84d8ffe2edba75601da9cd0945b00851f75d9
  • Source This is Oracle's MySQL Connector/ODBC, redistributed under the GPLv2. Latest versions and source are at dev.mysql.com/downloads/connector/odbc (pick the 32-bit "Windows (x86, 32-bit), MSI Installer").

Setup checklist

On the PC that will host the database (the same machine the Gateway uploads to):

  1. Install MySQL Server 8 if it isn't already present.
  2. Run the schema script as an administrator: mysql -u root -p < schema_phoa_water.sql. This creates the phoa_water database, its tables, and the phoa_water login.
  3. Run mysql-connector-odbc-8.0.30-win32.msi and complete the default install.
  4. Run phoa_ingest_setup.exe as Administrator. The MySQL user (phoa_water), password, database (phoa_water), and bind port (41290) are pre-filled to match the schema script, so you can accept the defaults.
  5. In the Gateway's /setup page, set the Database Host to this PC's LAN IP and port 41290, and enable Record to Database.
  6. Confirm readings are landing: the service log lives at C:\ProgramData\PHOA\IngestService\service.log, and http://localhost:41290/api/health returns {"ok":true}.

Verify each download against the SHA-256 above before running it. In PowerShell: Get-FileHash .\phoa_ingest_setup.exe -Algorithm SHA256.

Where this fits

The ingest service is the last hop in the chain: meter → NodeGateway → ingest service → MySQL. If you're running a single standalone Node with no Gateway, you don't need any of this; the Node keeps its own readings and emails them directly. The ingest service only matters when a Gateway is archiving a whole site's readings to a central database.