GratisAIhousehold · field guide · local-first · no account
dial-rollover stub

Reconcile Register Differences Across One Assumed Meter Rollover — Free

A mechanical register can show a smaller number later because it wrapped. Keep that assumption and the register multiplier visible before treating a subtraction as a utility-consumption record.

The proof surface

Appliance cost receipts price energy. This stub reconstructs bounded register increments without a tariff, using a specified modulus and scale. It neither detects a reset nor proves a bill or meter fault.

InputRegister code | earlier whole reading | later whole reading | units per register increment; register modulus (one above its largest display)
Rare deviceAppliance cost receipts price energy. This stub reconstructs bounded register increments without a tariff, using a specified modulus and scale. It neither detects a reset nor proves a bill or meter fault.
Output artifactDisjoint register differences in one supplied unit with row-by-row context
Cost$0 local calculation · no card, paid key, subscription or signup · proposed filing price is not for sale
Sample, not your facts: Illustrative inputs: Utility dial A | 9988 | 14 | 1; Utility dial B | 120 | 167 | 0.1. Register modulus (one above its largest display) = 10000. Disjoint register differences in one supplied unit: 30.7 common modeled units. All records are invented.

Before using the dial-rollover stub

The modulus is one above the largest display value: a register showing 0 through 9,999 has modulus 10,000. Both readings are whole values below that modulus, and the multiplier converts one register increment to one common output unit. Rows may be summed only when they are disjoint registers expressed in the same unit, not a gas reading mixed with electrical energy or overlapping submeter totals. The model assumes forward motion and a difference of less than one full cycle between readings. A lower later display invokes one rollover; an equal or greater display invokes none. Replacement, reset, reverse motion and multiple cycles are not inferred. Confirm actual unit conventions and meter history before using the result in a bill discussion.

Why the flat version breaks

Using the largest display as the modulus

A display whose largest value is 9,999 returns to zero after ten thousand increments, not 9,999. The off-by-one error changes every rollover difference. The setting explicitly asks for one above the maximum so the register convention stays visible.

Assuming a lower display proves a rollover

Replacement or reset can also reduce the displayed number. The app cannot know meter history and names rollover as an assumption. Verify events with the utility rather than treating the reconstructed increment count as a fact independent of the source record.

Adding unlike or overlapping meter units

Gas volume, electricity and water are different units, and a whole-house meter plus its submeter can count the same consumption twice. The calculator cannot infer those relationships from labels. Use one common unit and disjoint registers or run them separately without a pooled consumption claim.

How to work the dial-rollover stub

Read the display range and multiplier

Obtain the register's actual maximum and any unit factor from the meter or utility documentation. A decimal display cannot be entered as though it were this whole-register model unless a verified scale conversion is made first. Keep source photographs and account details private; an anonymous register code is sufficient for the calculation.

Verify the same register at both observations

Check serial identity, reading order and any recorded replacement or reset with the utility. Two plausible numbers from different meters are not a rollover pair. Enter whole earlier and later values from zero through modulus-minus-one. If the observation interval could include more than one full cycle, this narrow model cannot reconstruct consumption uniquely.

Apply one explicit wrap when later is lower

When later is at least earlier, subtract directly. Otherwise add modulus minus earlier to later. Multiply the resulting increments by the positive units-per-increment factor. The row states which branch was used, and the summary adds only quantities the reader declares compatible and disjoint. No price or standing charge is calculated.

Ask the utility to confirm hidden register events

Present the original readings, modulus, multiplier and the assumed observation interval. Ask whether a reset, replacement or multiple-cycle event occurred. A tidy reconstructed difference is not evidence of a correct invoice, and an unusual difference is not proof of a defective meter. Keep tariff and billing-period questions separate.

What the dial-rollover stub separates

QuestionBeforeInspect this instead
Using the largest display as the modulusA display whose largest value is 9,999 returns to zero after ten thousand increments, not 9,999. The off-by-one error changes every rollover difference. The setting explicitly asks for one above the maximum so the register convention stays visible.Verify the same register at both observations
Assuming a lower display proves a rolloverReplacement or reset can also reduce the displayed number. The app cannot know meter history and names rollover as an assumption. Verify events with the utility rather than treating the reconstructed increment count as a fact independent of the source record.Apply one explicit wrap when later is lower
Adding unlike or overlapping meter unitsGas volume, electricity and water are different units, and a whole-house meter plus its submeter can count the same consumption twice. The calculator cannot infer those relationships from labels. Use one common unit and disjoint registers or run them separately without a pooled consumption claim.Ask the utility to confirm hidden register events

This dial-rollover stub replaces a manual count or calculation, not source verification or the responsible person’s review.

Run it on the samples, right here

FIRST-LOAD

HYPOTHESIS / PROTOTYPE — checkout unavailable. Calculation is local. A draft is saved automatically in this browser profile when storage is available; Reset to sample clears it. Optional Pro history stores only five summaries and has its own deletion control. State links encode your inputs and can remain in browser history, clipboard or recipients’ records; share only non-sensitive rows. Optional external AI formatting leaves this device. The required site analytics beacon reports page activity; shared URLs contain encoded inputs. Do not treat an encoded URL as private. The calculator has no input-collection endpoint.

Single-cycle register arithmetic only, not bill validation or meter-fault diagnosis. Ask the utility to confirm register modulus, multiplier and any reset or replacement; do not use this model when multiple cycles or reverse motion are possible.

Data note: The dial-rollover stub processes Register code | earlier whole reading | later whole reading | units per register increment locally. Starter/sample selection and Run compute in this tab; no input is sent by the calculator. A local draft may be saved; explicit state-link sharing or optional external AI formatting can disclose inputs. Use non-sensitive labels.

Go deeper: the companion app files the same reading as a punched ticket stubs

The article demo above runs without limits. The companion app keeps a local history, exports the rows as CSV, prints the dial-rollover stub reading, and holds your drafts on this device — one complete free app run; the proposed $4 one-time filing layer is not for sale.

The dial-rollover stub answer stays complete for free. The proposed $4 one-time filing layer adds row CSV, print and five local reading summaries, not hidden answers. Checkout is unavailable; the article demo remains unlimited.

Open the dial-rollover stub companion

Boundary

Single-cycle register arithmetic only, not bill validation or meter-fault diagnosis. Ask the utility to confirm register modulus, multiplier and any reset or replacement; do not use this model when multiple cycles or reverse motion are possible.

What this is built on

Before: a lower later display looked like negative usage. After: the modulus, scale and one-wrap assumption explain the reconstructed increments explicitly.

Three worked readings, with different inputs

Sample A — typical inputs

Utility dial A | 9988 | 14 | 1
Utility dial B | 120 | 167 | 0.1

Setting: Register modulus (one above its largest display) = 10000. Expected summary: 30.7 common modeled units.

Dial A crosses the assumed 10,000 modulus: (10,000-9,988)+14 gives twenty-six increments. At one unit per increment, that is twenty-six modeled units. Dial B rises by forty-seven increments and its 0.1 multiplier yields 4.7 units. The disjoint same-unit total is 30.7. The stub marks A's rollover assumption instead of treating the lower later display as negative consumption.

Sample B — changed plan

Large-cycle dial | 9000 | 5 | 0.5
Straight dial | 40 | 80 | 1

Setting: Register modulus (one above its largest display) = 10000. Expected summary: 542.5 common modeled units.

The large-cycle dial contributes (10,000-9,000+5)×0.5 = 502.5 units. The straight dial contributes forty. Total modeled units are 542.5. A lower later number could also result from replacement or reset, which this arithmetic cannot distinguish from rollover; the source readings and utility explanation remain essential.

Sample C — boundary convention

Unchanged dial | 77 | 77 | 1

Setting: Register modulus (one above its largest display) = 10000. Expected summary: 0 common modeled units.

Matching displays give a modeled difference of zero under the declared less-than-one-full-cycle observation assumption. They could also conceal a full cycle or a reset in reality. The tool does not infer those hidden events. A reading equal to the modulus, such as 10,000 for a four-digit 0–9,999 display, is rejected as outside the stated register range.

Optional AI formatting, never the calculation

Manual entry completes this dial-rollover stub for free without signup. If available to you, the free AI Studio interface linked in the sources may format fictional or non-sensitive notes; external access may require an account. No API key or AI call is built into this tool. Free-tier content may be used to improve products. Review each cell and transcribe it to the labeled row schema; do not paste the JSON object into the row box.

Format only these fictional or non-sensitive notes for a dial-rollover stub. Return strict JSON shaped as {"rows": [{"label": "string", "cells": ["string", "string", "string"]}], "setting": "string"}. The columns are Register code | earlier whole reading | later whole reading | units per register increment; the setting is Register modulus (one above its largest display). Keep all supplied strings and quantities exactly; do not calculate, infer missing entries, invent dates or add advice. If any required value is missing, return an empty rows array and ask me for it separately. I will verify every cell against my source and manually transcribe rows using vertical bars before running the local calculator.

An AI response is not executed, fetched or trusted as a result. Missing values remain questions; the strict local parser checks the rows you actually enter.