Downloads
The PhloMetric Gateway POSTs readings to a small ingest service that writes them into a MySQL database. Two hosting options are supported: the Windows ingest service on a PC on your LAN, or the self-hosted cloud ingest service on a Linux VM writing to a cloud MySQL database you own. For the Windows path you need three things: MySQL Server 8.0, the 32-bit MySQL Unicode ODBC driver the service talks through, and the ingest service installer itself.
You no longer have to touch SQL: the ingest installer can set up the database for you. Tick "Initialize the MySQL database" and it initializes a fresh MySQL, creates the phoa_water database and application account, sets a default root password, and starts the service. Follow the setup checklist below in order: install MySQL Server 8.0, install the 32-bit ODBC driver, then run the ingest installer and let it initialize the database. Windows is the only supported host for the ingest service today.
Hardware discount coupons
Ordering Nodes or a Gateway? Use a code below for money off. Give the code when you order (or note it on your PayPal payment), and we apply it as a discount on your invoice. One code per item line; codes can be combined across a Node and a Gateway on the same order.
$20 off any Node
Takes a single Water Meter Node from $120 to $100. Applies per Node ordered.
One per Node. Mention when ordering or add to the PayPal note. Not redeemable for cash; cannot be applied retroactively to a completed order.
$40 off a Gateway
Takes a Water Meter Gateway from $200 to $160. One Gateway serves a whole site of Nodes.
One per order. Mention when ordering or add to the PayPal note. Not redeemable for cash; cannot be applied retroactively to a completed order.
Questions on a multi-meter order? Contact us for a site-specific quote, volume pricing is available beyond these coupons.
MySQL Community Server 8.0 (Windows)
The database the ingest service writes to. Install this first. We pin 8.0.30 to match the 32-bit ODBC connector below and our tested deployment. The bare server MSI only lays down the program files; the ingest installer (or db_setup.bat) then initializes the data directory, registers the MySQL80 service, sets the root password, and applies the schema, all headless.
Silent install from an elevated command prompt:
msiexec /i mysql-8.0.30-winx64.msi /qn
PhloMetric 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. Its config page also has an "Initialize the MySQL database" checkbox that runs the bundled db_setup.bat to create the database and account and set a default root password, so a fresh box needs no SQL by hand.
Database setup script & schema
You usually don't need these by hand, the ingest installer's "Initialize the MySQL database" checkbox runs them for you. Grab them if you want to script the setup yourself, or if MySQL is already running and you just want to add the phoa_water database and account.
db_setup.bat is the headless one-shot: on a box where MySQL 8.0 is installed but not yet configured it initializes the data directory, registers and starts the MySQL80 service, sets the root password, and applies the schema; if MySQL is already running it just applies the schema. Run it from an elevated prompt:
db_setup.bat [root-password] [path\to\schema_phoa_water.sql]
schema_phoa_water.sql is the raw SQL if you'd rather apply it directly to an existing server:
mysql -u root -p < schema_phoa_water.sql
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).
Cloud Ingest Service (Linux, self-hosted)
Prefer the readings in a cloud database you own instead of a Windows PC on the LAN? This package is the cloud-side counterpart of the Windows ingest service: a small FastAPI application that receives the Gateway's uploads over the internet and writes them into your own MySQL 8, on the same VM or in a managed database (Cloud SQL, RDS, Azure MySQL). Runs on any small Linux VM; a free-tier cloud instance is plenty. The Gateway buffers and replays through internet outages, so nothing is lost.
Ships as a tarball with the service (main.py), the database schema, an idempotent install.sh (venv + systemd + health check), a mktoken.sh that mints the Gateway's bearer token (only its SHA-256 is stored), and a Caddy config for the port-41290 gateway bridge. The README walks through the whole setup, including the firewall rule that pins the listener to your Gateway's public IP.
Node data analysis queries (MySQL)
A free toolkit of commented, tested MySQL 8 queries that extract value from the readings your ingest service collects, whether it runs on the Windows PC or in the cloud. Eight sections, each parameterized with @ variables for date ranges and thresholds: a cadence fingerprint that classifies each node as sub-minute (GIF2006B) or hourly (GIF2014W-OSE) from the data alone, exact daily usage for both families, an irrigation-cycle log that surfaces unscheduled watering, a per-minute flow trace, valve-transition detection that finds the moments individual irrigation valves open and close using nothing but the utility meter, a per-valve step summary for night-over-night health comparison, hourly and off-window profiles for hourly meters, and a leak screen plus mesh link health.
Every query was validated against a live deployment; the expected output is quoted in the comments, including the valve-transition run that matches a six-valve controller's programmed times to within 2-3 minutes. This is the toolkit behind the Data Matters case study.
Node User Manual (PDF)
End-user manual for the PhloMetric Water Meter Node, firmware 2.13.15: first connection and WiFi setup, picking your default meter, the dashboard, the privacy model and debug mode, the device passwords, email reports, the on-demand Gateway Test (Send Meter Data / Ping Gateway), working with a Gateway, firmware updates, the HTTP API, and troubleshooting.
Gateway User Manual (PDF)
End-user manual for the PhloMetric Water Gateway, firmware 0.1.88: first connection, joining your network with optional fixed/static IP, the client roster (including forgetting retired nodes), managing Nodes over the mesh (queries, protocol and default-meter changes, reboot, on-demand per-node volume), recording to the database via the ingest service, the consolidated By-Node email report with the report-node filter and leak & break alerts, the device passwords, firmware updates, the HTTP API, and troubleshooting.
HOA resident device labels (Avery 8160)
A 30-up label sheet for Avery 8160 / 5160 stock (1" × 2.625"). Stick one on each Node so a resident who finds the box on their fence can scan its QR code and land on the "what is this device?" explainer, which reassures them it reads the HOA's own irrigation meter, has no camera or microphone, and is not on their home network. Each label reads [your HOA] · Water Meter Reader · No camera · No microphone, with the QR and eheuristics.com/device.
No special software, no PDF editor, no Adobe. Open the sheet, type your HOA name once in the box at the top (it fills all 30 labels as you type), then print straight from Chrome or Edge at 100% scale with margins off. Your name is remembered in the browser for next time.
Setup checklist
On the PC that will host the database (the same machine the Gateway uploads to), from an elevated command prompt:
- Install MySQL Server 8.0.30 if it isn't already present:
msiexec /i mysql-8.0.30-winx64.msi /qn. (Skip if MySQL is already running on this PC.) - Install the 32-bit ODBC driver:
msiexec /i mysql-connector-odbc-8.0.30-win32.msi /qn. - Run
phoa_ingest_setup.exeas Administrator. The MySQL user (phoa_water), password, database (phoa_water), and bind port (41290) are pre-filled. Tick "Initialize the MySQL database" and the installer creates the database, tables, and login and sets the root password for you, no separate schema step. - In the Gateway's
/setuppage, set the Database Host to this PC's LAN IP and port 41290, and enable Record to Database. - Confirm readings are landing: the service log lives at
C:\ProgramData\PHOA\IngestService\service.log, andhttp://localhost:41290/api/healthreturns{"ok":true}.
If you'd rather set up the database separately (or MySQL already has its own root password), leave the checkbox unticked and run db_setup.bat, or apply schema_phoa_water.sql by hand, then accept the installer defaults.
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 → Node → Gateway → ingest service → MySQL. Whether that last hop lives on a Windows PC on your LAN or on a Linux VM in the cloud is your choice; the Gateway is configured the same way either way (host, port 41290, record on). 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.
API documentation
Both devices expose a small HTTP API on port 80 of their LAN IP. The full endpoint reference lives on each device page; machine-readable specs are linked below for scripting and agents.