homebridge-pitpat-treadmill 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. The project follows Semantic Versioning.
4
4
 
5
+ ## [0.1.4] - 2026-10-09
6
+
7
+ ### Fixed
8
+
9
+ - Allow an isolated Homebridge child bridge to use a host BlueZ D-Bus socket via `PITPAT_DBUS_SYSTEM_BUS_ADDRESS` without redirecting Avahi or other container services.
10
+
5
11
  ## [0.1.3] - 2026-10-09
6
12
 
7
13
  ### Fixed
package/README.md CHANGED
@@ -130,6 +130,8 @@ HomeKit does not reliably tell a plugin whether a write came from a person, Siri
130
130
 
131
131
  The container needs access to the host Bluetooth stack or a dedicated HCI adapter. Device mapping and D-Bus configuration vary by host. Docker operation has not yet been verified and is not currently claimed as supported.
132
132
 
133
+ When the plugin runs as an isolated child bridge with Noble's D-Bus binding, set `NOBLE_BINDINGS=dbus` and use `PITPAT_DBUS_SYSTEM_BUS_ADDRESS` for a host socket mounted at a non-default path. The plugin copies this value to `DBUS_SYSTEM_BUS_ADDRESS` inside its child process only, so container services such as Avahi continue using the container's own system bus. The D-Bus binding also requires `dbus-next` to be installed in the Homebridge environment.
134
+
133
135
  ### Common messages
134
136
 
135
137
  - `treadmill ... was not discovered`: verify the exact identifier, power, range, and that the mobile app is closed.
@@ -9,3 +9,4 @@ export declare class NobleTransport implements BleTransport {
9
9
  private ensurePoweredOn;
10
10
  private findPeripheral;
11
11
  }
12
+ export declare function configureNobleDbusAddress(env?: NodeJS.ProcessEnv): void;
@@ -46,6 +46,7 @@ export class NobleTransport {
46
46
  }
47
47
  async loadNoble() {
48
48
  if (!this.noble) {
49
+ configureNobleDbusAddress();
49
50
  const module = await import('@stoprocent/noble');
50
51
  this.noble = module.default;
51
52
  }
@@ -134,6 +135,12 @@ export class NobleTransport {
134
135
  });
135
136
  }
136
137
  }
138
+ export function configureNobleDbusAddress(env = process.env) {
139
+ const address = env.PITPAT_DBUS_SYSTEM_BUS_ADDRESS?.trim();
140
+ if (address) {
141
+ env.DBUS_SYSTEM_BUS_ADDRESS = address;
142
+ }
143
+ }
137
144
  function errorMessage(error) {
138
145
  return error instanceof Error ? error.message : String(error);
139
146
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "homebridge-pitpat-treadmill",
3
3
  "displayName": "PitPat Treadmill",
4
- "version": "0.1.3",
4
+ "version": "0.1.4",
5
5
  "description": "Local Homebridge integration for PitPat treadmills over Bluetooth Low Energy.",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",