Skip to content

Releases

AranetBar 1.2.0

Choose a tag to compare

@wschenk wschenk released this 23 Oct 22:24

AranetBar 1.2.0 adds proper multi-meter support, local meter names, and a visible version number.

Multiple meters

  • Every Aranet is tracked separately by its CoreBluetooth identifier. The menu bar follows one active meter instead of whichever packet arrived last.
  • Switching has hysteresis: the current meter must be quiet for about 45 seconds, or another must be at least 8 dBm stronger for 10 seconds. Two meters at similar range no longer make the reading flap.
  • The new Sensor ▸ menu lists nearby meters with their CO₂ and RSSI. You can pin one; the pin releases automatically if that meter goes away, so moving to another location still follows the meter that is there.
  • History is cached per meter as history-<identifier>.json. Switching meters swaps the graph, and a snapshot from one meter is never shown under another. The old single history.json remains available to --render-history, but is never attributed to a meter.

Friendly names

  • Name Meter… gives the active meter a local name such as “Office” or “Living Room”.
  • Names persist across launches and appear in the menu header, the Sensor submenu, and the History window. Leave the field blank to return to the meter’s advertised Bluetooth name.

Version

  • The app version is shown above Quit AranetBar in the menu.
  • --version prints the same value for scripts, e.g. AranetBar 1.2.0 (1).

Install

Download AranetBar-1.2.0.zip, unzip, and drag AranetBar.app to /Applications. It is ad-hoc signed and not notarized: on first launch, right-click → Open, or run xattr -dr com.apple.quarantine /Applications/AranetBar.app.

Full Changelog: v1.1.3...v1.2.0

AranetBar 1.1.3

Choose a tag to compare

@wschenk wschenk released this 23 Oct 14:18

AranetBar 1.1.3

Launch/visibility fixes for the menu bar app:

  • Double-clicking AranetBar in Finder now opens the History window (previously, if the app was already running, nothing visible happened)
  • If macOS hides the status item under the camera housing because the menu bar is full, the History window opens automatically at launch so the app is still accessible
  • The window still opens normally on macOS without a notch, and normal menu bar behavior is unchanged

AranetBar history window

Sample data from a real Aranet4; serial redacted.

Install: unzip, drag AranetBar.app to /Applications. It is ad-hoc signed, not notarized, so on first launch use right-click → Open (or xattr -dr com.apple.quarantine AranetBar.app).

Requires macOS 13+.

AranetBar 1.1.2

Choose a tag to compare

@wschenk wschenk released this 23 Oct 13:55

AranetBar 1.1.2

The history chart now pans as well as zooms:

  • Scroll up/down over the chart to zoom in and out around the cursor
  • Scroll left/right to move the visible time window backwards and forwards through the stored history
  • Pinch still zooms on a trackpad; diagonal gestures follow the dominant axis
  • Double-click to reset to the selected 24 h / 7 days / All range

AranetBar history window

Sample data from a real Aranet4; serial redacted.

Install: unzip, drag AranetBar.app to /Applications. It is ad-hoc signed, not notarized, so on first launch use right-click → Open (or xattr -dr com.apple.quarantine AranetBar.app).

Requires macOS 13+.

AranetBar 1.1.1

Choose a tag to compare

@wschenk wschenk released this 23 Oct 13:50

AranetBar 1.1.1

The history graph is now interactive:

  • Scroll the mouse wheel (or pinch on a trackpad) over the chart to zoom in and out around the cursor
  • Double-click to reset to the selected 24 h / 7 days / All range
  • Zoom is clamped per gesture so one scroll cannot jump from 17 days to a few hours
  • The range control deselects while zoomed and returns when you reset

AranetBar history window

Sample data from a real Aranet4; serial redacted.

Install: unzip, drag AranetBar.app to /Applications. It is ad-hoc signed, not notarized, so on first launch use right-click → Open (or xattr -dr com.apple.quarantine AranetBar.app).

Requires macOS 13+.

AranetBar 1.1.0

Choose a tag to compare

@wschenk wschenk released this 23 Oct 13:39

AranetBar 1.1.0

The menu bar app can now show the meter's on-board history.

  • History… window (⌘H) with the full 17.5-day CO₂, temperature, humidity and pressure graphs
  • 24 h / 7 days / All ranges, hover readouts, °C/°F toggle, Refresh and CSV export
  • Downloads the log over GATT on demand, then disconnects; live menu bar readings stay advertisement-only
  • Snapshot cached at ~/Library/Application Support/AranetBar/history.json
  • Headless commands: --history, --history-csv, --history-json, --history-days, --render-history

AranetBar history window

Sample data from a real Aranet4; serial redacted.

Install: unzip, drag AranetBar.app to /Applications. It is ad-hoc signed, not notarized, so on first launch use right-click → Open (or xattr -dr com.apple.quarantine AranetBar.app).

Requires macOS 13+.

AranetBar 1.0.0

Choose a tag to compare

@wschenk wschenk released this 22 Oct 13:52

AranetBar is a single-file Swift menu bar app that shows your Aranet4's CO₂,
temperature, humidity, pressure and battery, read passively from the device's
BLE advertisement — no connection, no battery cost, and it does not fight the
Aranet phone app for the link.

Install

  1. Download AranetBar-1.0.0.zip below and unzip it.
  2. Drag AranetBar.app to /Applications.
  3. First launch: right-click the app → Open → Open.

The app is ad-hoc signed, not notarized (no Apple Developer ID), so Gatekeeper
blocks an ordinary double-click the first time. If you prefer the terminal:

xattr -dr com.apple.quarantine /Applications/AranetBar.app

Then allow the Bluetooth permission prompt. Your Aranet4 must be paired first in
System Settings → Bluetooth.

What it does

  • Menu bar shows a colour-coded dot plus the current CO₂ in ppm
  • Dropdown: CO₂, temperature (°C and °F, with a remembered toggle), humidity,
    pressure, battery, status, signal strength and measurement age
  • Reads the advertisement only — never opens a GATT connection
  • Duty-cycled scanning (5 s on, 15 s off), since the sensor logs every 5 min
  • Universal binary (Apple silicon + Intel), macOS 13 or later

Notes

  • Readings only change every logging interval (300 s by default). The menu shows
    how old the measurement is, and dims when it goes stale, rather than pretending
    a five-minute-old number is live.
  • The history log is not implemented; see PROTOCOL.md in the repo.
  • Not affiliated with Aranet. "Aranet4" is a trademark of SAF Tehnika.

SHA-256: dc0623c9643340803b1bb0eb71f6346508d7821dd48b369fa2892d0179b66562