{% from "macros.html" import temp_class %} {% for r in readings %} {{ r.sensor_id }} {{ r.ts.strftime('%Y-%m-%d %H:%M:%S') if r.ts else '—' }} {{ r.date_bucket }} {{ "%.2f"|format(r.temperature) }} {{ "%.1f"|format(r.humidity) }} {{ "%.1f"|format(r.pressure) }} {{ r.battery_pct }}% {% endfor %} {% if next_cursor %} {# Infinite scroll sentinel — triggers next page load when scrolled into view #}
Loading more readings · paged_all() · fetch_size({{ page_size }})
{% elif readings %} ✓ All readings loaded — no more pages {% else %}
📄

No readings found — seed data with make seed or wait for background device

{% endif %}