No meters match these filters.
{{ $typeLabels[$t] }} used
{{ number_format($totals[$t], 2) }} {{ $units[$t] }}
{{ $isMonthly ? 'With readings' : 'Read' }}
{{ $readCount }} / {{ $meters->count() }}
{{ $chartTitle }}
| Meter | Location | Type | Opening | Closing | Usage | Avg / day | Readings | Note | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Meter | Location | Type | Previous | Reading | Usage | Status | ||||||
| {{ $m->name }} @if ($m->apartment_no) {{ $m->apartment_label }} @endif | {{ $m->floor->building->name }} · {{ $m->floor->name }} | {{ $m->typeLabel() }} | @if ($isMonthly){{ $fmt($row['opening']) }} | {{ $fmt($row['closing']) }} | {{ $row['readings'] ? number_format($row['usage'], 2).' '.$m->unit : '—' }} | {{ $row['readings'] ? number_format($row['usage'] / $daysInPeriod, 2) : '—' }} | {{ $row['readings'] }} / {{ $daysInPeriod }} days | @if ($row['note']) {{ $row['note'] }} @else OK @endif | @else @php $e = $row['entry']; @endphp{{ $fmt($e['prev'] ?? null) }} | {{ $fmt($e['reading'] ?? null) }} | {{ $e && $e['usage'] !== null && ! $e['flag'] ? number_format($e['usage'], 2).' '.$m->unit : '—' }} | @if ($e === null) Not read @elseif ($row['note']) {{ $row['note'] }} @else Read @endif | @endif
Usage is the difference between a meter's reading and its previous reading, counted on the date of the later reading. A meter's first reading is only a starting point. Readings lower than the one before are flagged and left out of totals. @if ($isMonthly && $isPartial) This month is still in progress, so averages use the days so far. @endif
@endif