All topics

Home and Sensor Data

NAS Reborn reads the instruments of the device itself and, on newer devices, your Apple Home accessories. It keeps their history and hands both to template sites as ordinary template values.

What the device itself measures

These need no accessories and no extra hardware, as the phone already has them. You turn on the ones you want from the sensor picker.

Apple Home accessories

The app can also read the accessories already in your Home, such as temperature and humidity sensors, contact and motion sensors, leak detectors, air quality, and switches and their state. You pick them per room in the app and each one becomes a value your pages can print.

This part needs iOS or iPadOS 16.2 or later. Apple retired the old Home architecture and devices that stayed behind lost access to it entirely. A server of the iPhone 6s class still runs everything else in this help, including its own sensors above, but cannot read Apple Home. Live video from a HomeKit camera is not available on any device, see Camera Feeds.

Reading them in a page

Accessories arrive as a home object and the instruments of the device as device.sensors:

{{ home.hallway.temperature }} °C in the hallway
{{ device.sensors.pressure }} hPa, {{ device.sensors.noise }} dB
{% for a in home.accessories %}{{ a.name }}{% endfor %}

A page is rendered again when a value it printed has moved, and pages that read no readings are not affected.

History and charts

Readings are recorded on the device, minute by minute for 48 hours and then as hourly figures going back around 400 days. A page reaches them through history on the accessory, with points for the recent window and hourly statistics for the long one, which is enough to draw a chart without any service outside the house.

{% assign series = home.hallway.history.temperature %}

The Sensor Dashboard example

The quickest start is Add example → Sensor Dashboard on the Content tab. Pick the accessories you want and it writes a working site with a tile per reading with meters and charts, a readings.json endpoint, and tiles that update themselves over a live stream rather than reloading the page. Everything it writes is ordinary template source you can edit.

Sensitive readings stay off the open web

Some readings say whether anyone is home: motion, occupancy, contact, locks, security state, the noise level from the microphone, and the location of the house. Temperature, humidity, air pressure, power, leaks and battery do not and are treated as ordinary values.

A public folder with pages reading a sensitive value serves nothing until you turn on Serve sensitive data for that folder. Until then the page is replaced by a short refusal naming no accessory and no value.

The Sensor Dashboard example is created protected, so it works for your household straight away and faces the internet only when you decide it should.

The microphone is measured only while a page that is actually being served reads the noise level, and it stands aside while a camera feed with audio is streaming. What is stored is a number in dB once a second and never audio.