Repository navigation
Privacy and Legal
Note
This page gives general background, not legal advice. Laws differ between countries and change over time. If you're unsure, check with the relevant authority or get proper advice.
- ha-taggle never transmits. It contains no transmit software. The RTL-SDR is a receive-only device.
- It doesn't connect to, configure or change the meter or transmitter.
- It doesn't log in to any council portal or scrape any website.
- It doesn't try to decrypt encrypted meters, and never will.
ha-taggle's supported receive path targets a carrier near 921.995 MHz, with a default SDR centre of 922.2 MHz. The cited SP3C datasheet specifies 915–928 MHz for that product. Other Taggle products and installations can use other bands or cellular radio. A transmitter's class licence does not establish permission for every use of received data.
- ACMA (the Australian Communications and Media Authority) manages radio spectrum in Australia.
- A class licence lets people operate common radio equipment on shared frequencies. ACMA says you don't need to apply for a class licence or pay any fees, but you must follow its rules.
- The LIPD class licence (low interference potential devices) covers short-range, low-power transmitters like the meter's. The current instrument is the Radiocommunications (Low Interference Potential Devices) Class Licence 2025.
The licence is about transmitting, which is the utility's side. ha-taggle doesn't transmit. You still need to follow the general law about radio and privacy where you live.
Your antenna will pick up other homes' meters. Be a good neighbour:
- Configure only your own meter ID.
- Leave
log_all_metersoff (the default). - Don't record, publish or share other people's IDs or usage.
- Scan output shows other IDs. Treat it as private and don't post it.
- The neighbourhood comparison is built to avoid storing IDs: keyed scrambling with a per-install secret, a minimum of 3 qualifying meters per figure, 7-day pruning, and a full off switch. With default logging, neighbour IDs are not saved to state, JSONL or MQTT. Scans print heard IDs, and enabling both logging options writes them to private JSONL summaries. If you do not want comparison, turn it off.
- Hourly water use can reveal when you're home, asleep or away. Treat it as personal data.
-
state.json,neighbourhood.salt, your config and any logs are private. Don't post them. - MQTT carries your meter ID and usage. Use a broker on your own network, with a password.
- When sharing photos or logs, blur your ID and barcodes (how).
The transmitter and meter belong to your water utility. Don't open, move, unplug, re-aim or tamper with them, even to "improve reception". Move your antenna instead.
ha-taggle is an unofficial, community project. It isn't affiliated with, endorsed by or supported by Taggle Systems, Honeywell, any council or any water utility. Product names are used only to describe compatibility. Don't contact your utility for help with ha-taggle.
The ha-taggle software and card are MIT licensed. Bundled components such as the RTL-SDR Blog driver keep their own licences. See the README.
meter_ids is required unless scanning or explicitly enabling log_all_meters. Anonymous neighbourhood comparison is on by default. Other meters are immediately tracked by HMAC-SHA256 of their decimal ID with a random 32-byte per-install salt, truncated to 16 hex characters; neighbour state uses only these opaque keys. The salt is never published and differs between installs. Entries unheard for more than seven days are pruned at startup and during operation. Opaque keys are not public identifiers; keep state and salt private. See Neighbourhood comparison for the full rules.
jsonl_logging defaults to false. When enabled, daily JSONL files under data_dir contain decoded summaries, never raw radio frames or encrypted bodies. There is no automatic log rotation; manage retention yourself. New data directories use 0700; JSONL files, state and salt use 0600. state.json includes your configured meter IDs and usage: keep it private and backed up. Configuration and local data are git-ignored. MQTT includes configured IDs and usage plus anonymous aggregates, so use a trusted broker and network.
The explicit exceptions still apply: scan output prints heard IDs, and log_all_meters: true plus jsonl_logging: true permits other heard IDs in JSONL. Leave both off for ordinary use. Turning neighbourhood off and restarting deletes neighbour state and salt; MQTT reconnect removes neighbourhood discovery and retained aggregate state, preserving your own meter state. See Configuration reference for defaults, ranges and both calibration formats.
ha-taggle is experimental, receive-only and unofficial. It is not affiliated with Taggle Systems or any council or utility. Only receive your own meter, and never touch the utility's equipment. All IDs in this wiki are fictional. · Repository · Report an issue · Glossary
Start here
- Home
- Getting started
- Check your meter
- Finding your meter
- Meter types and pulse sizes
- Hardware and antennas
- Tested hardware
Setup
Using it
Reference and optional background
- Entities reference
- Configuration reference
- How it works
- Protocol
- Privacy and legal
- Glossary
- AI disclosure
Help