Technology

Gas, managed like a modern utility.

LoRaWAN smart metering, an operator dashboard and M-Pesa billing turn piped LPG into a transparent, remotely-managed service for residents and property managers.

ChirpStack · MQTT · PostgreSQL · Node.js billing service · React dashboard with Grafana metrics

Smart metering

LoRaWAN across the estate

Low-power wireless meters report consumption and safety events, and accept supervisory control commands — with wired loops handling anything life-critical.

Ultrasonic smart meters

84 units with valve-control relay and a 5-year+ battery. MID/approved, LoRa module at 868/915 MHz, ADR enabled for battery life.

Live alarms

Readings every 15–60 minutes, with immediate uplinks for leak, tamper, low battery and reverse flow. Daily heartbeat keepalive.

Resilient gateway

Enterprise gateway on the roof or plant room, on UPS, with Ethernet + cellular backhaul, GPS and external antennas for blind spots.

Remote valve control

Downlink EMERGENCY_CLOSE / OPEN commands, config updates and reporting-interval changes — with local wired fallback for life-critical closures.

Control & safety flow

Local wiring acts, LoRa supervises

A leak trips the local wired detector → solenoid loop instantly. LoRa acts as supervisory control — closing unit and estate ESD valves, sounding the siren and alerting the operator. Every event is logged.

  1. 1Meter or leak detector sends an ALARM uplink via LoRa to the gateway.
  2. 2Network server forwards the event to the application server over MQTT.
  3. 3Control policy sends a downlink to CLOSE the solenoid and sets the building ESD to CLOSE.
  4. 4Operator is alerted via dashboard, SMS and email; the siren sounds.
  5. 5If the leak is in an apartment, supply is locked and the resident is notified with instructions.
  6. 6Every event is written to an immutable audit log.
Operator dashboard

One screen for the whole estate

Live meter map and alarms, per-unit consumption charts, tank-level and refill alerts, remote open/close with audit trail, role-based access and downloadable reports — TLS and 2FA throughout.

AdminOpsBillingTechnicianViewer
  • Map view of buildings, tank yard and gateways with live meter status, battery and last reading.
  • Live alarms panel — leak, low pressure, tamper, valve-closed and PRV events.
  • Time-series charts: per-apartment consumption with daily and monthly aggregation.
  • Tank-level monitoring with % fill and automatic refill alerts.
  • Remote open/close per apartment with safety interlocks and a full audit trail.
  • Bulk operations — lock all apartments, re-open after maintenance.
  • Automated rules: close on leak, notify on low tank level, force-open on payment.
  • Downloadable reports — refill history, monthly revenue & consumption, compliance logs.
M-Pesa billing (Daraja)

Paid, matched and re-opened — automatically

A billing engine, payment adapter and reconciliation service integrate directly with Safaricom Daraja, so payments flow straight through to supply.

1

Invoice generated

Billing engine calculates consumption and issues an invoice with M-Pesa instructions.

2

Customer pays

Resident pays via STK push or Paybill — the server initiates STK with consent.

3

Daraja callback

Safaricom sends an asynchronous payment confirmation to a secure HTTPS callback.

4

Auto-reconciliation

Receipt, amount and MSISDN are matched to the invoice via CheckoutRequestID.

5

Supply re-opens

Invoice marked paid, meter credited, OPEN_VALVE sent if previously locked, tenant notified.

Prepaid tokens

Customer pays via M-Pesa; the billing engine credits a token balance to the meter via downlink. Supply delivers until the token is exhausted, then cuts off.

Monthly invoices

Postpaid billing generates a monthly invoice collected via M-Pesa, with optional auto-pay through a stored MSISDN and STK consent. Idempotent callback handling covers Daraja retries.

Software stack

Open, proven components

A pragmatic, open-source-first stack built for reliability, observability and secure remote operations.

Network server

ChirpStack (or managed TTN / Actility)

Message broker

MQTT — Mosquitto / EMQX

Application / control

Node.js (Express / Nest)

Database

PostgreSQL (+ TimescaleDB optional)

Realtime

WebSocket / socket.io

Dashboard UI

React + Grafana metrics

Jobs & cache

Redis + Bull

Auth & security

OAuth2 / JWT, RBAC, 2FA, TLS

See the dashboard on your estate.

We'll walk you through live metering, remote control and M-Pesa reconciliation against your building layout.