Skip to main content

fnb58

Command-line tool to read voltage, current, power, D+/D−, temperature, resistance, energy and capacity from a FNIRSI FNB58 USB power meter over Bluetooth (BLE), with live console output and CSV logging.

Works on macOS, Linux and Windows (via bleak).

Install

With uv (recommended — isolated, on your PATH):

uv tool install fnb58            # from PyPI
uv tool install .                # from a local checkout

Or with pipx:

pipx install fnb58

Or plain pip:

pip install fnb58

Usage

Enable Bluetooth in the FNB58's on-screen menu, then:

fnb58                       # auto-discover, stream to console + timestamped CSV
fnb58 --scan                # list nearby BLE devices and exit
fnb58 -o run1.csv           # choose the CSV filename
fnb58 -o run1.csv --quiet   # log to CSV only, no console output
fnb58 --no-file             # console only, no CSV
fnb58 --address <UUID>      # connect to a specific device
fnb58 --discover            # dump GATT table + raw packets (debugging)

Console output:

2026-06-13T12:25:31.004+00:00    5.0123 V    0.4988 A    2.4998 W   D+=2.70 D-=2.70   28.3C  0.0021 Wh

CSV columns (one row per measurement frame, flushed immediately, UTC timestamps):

epoch,utc_time,device,voltage_V,current_A,power_W,dplus_V,dminus_V,temp_C,resistance_ohm,energy_Wh,capacity_Ah

Multiple meters

If several FNB58s are in range, all matching meters are logged at once into one CSV file. The device column (the meter's advertised name, e.g. FNB58-051772) tells you which row came from which meter, and console lines are prefixed with [<device>]:

[FNB58-051772] 2026-06-13T12:25:31.004+00:00    5.0123 V  ...
[FNB58-0517A0] 2026-06-13T12:25:31.020+00:00    9.0001 V  ...
epoch,utc_time,device,voltage_V,...
1781742331.004,2026-06-13T12:25:31.004+00:00,FNB58-051772,5.01230,...
1781742331.020,2026-06-13T12:25:31.020+00:00,FNB58-0517A0,9.00010,...

Use --name or --address to narrow down to a specific meter. A meter that drops out is logged to stderr but does not stop the others.

Notes

  • On macOS, grant your terminal Bluetooth permission in System Settings → Privacy & Security → Bluetooth, and note that BLE addresses are reported as UUIDs (use --scan to find yours).
  • The BLE protocol differs from the device's USB-HID protocol; this tool speaks BLE only. Protocol credit: zhiyb/FNB58_mqtt_forwarder and baryluk/fnirsi-usb-power-data-logger.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fnb58-0.1.0.tar.gz (41.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fnb58-0.1.0-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file fnb58-0.1.0.tar.gz.

File metadata

  • Download URL: fnb58-0.1.0.tar.gz
  • Upload date:
  • Size: 41.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fnb58-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c09987ce6023d344ad833a3ae96e1d94e0d42c48f62d196f16bd6e09daa8ff8e
MD5 cc90b9dc9a7e30787ff3b112d333c760
BLAKE2b-256 ee403d33ca0b38bea12b9564b4996fecce7b4a8938116a2942f74dfc7a077178

See more details on using hashes here.

Provenance

The following attestation bundles were made for fnb58-0.1.0.tar.gz:

Publisher: publish.yml on maxim75/fnb58

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fnb58-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: fnb58-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fnb58-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5e41736d62e677750980d15d9957d375158eb6ccfb44c49b97a58d7c7c76b529
MD5 c4f7ea6e9c56868c8e629cd35fc2969d
BLAKE2b-256 734fbc196995b8b9d6767f638349b9c8f897200ce0d08c102bf3f556a69f0ce3

See more details on using hashes here.

Provenance

The following attestation bundles were made for fnb58-0.1.0-py3-none-any.whl:

Publisher: publish.yml on maxim75/fnb58

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page