Skip to content

Releases: ebaauw/homebridge-rpi

v1.1.11

18 Jul 08:58
921be5f
Compare
Choose a tag to compare

Enhancements

  • Expose additional Smoke Sensor for each Raspberry Pi (under the RPi accessory), to enable notifications when the Pi is throttling the CPU or experiencing under voltage. Use the Home Settings screen in Apple's Home app to disable the notifications.

Bump Dependencies

  • homebridge-lib v4.7.13

v1.1.10

11 Jul 16:29
d2cfd77
Compare
Choose a tag to compare

Enhancements

  • Add support for 8GB Rpi 4B, see #43;
  • rpi info now shows bitmaps in hex.

Bug fixes:

  • Uncaught exception when pigpiod cannot be reached on localhost.

Bump dependencies

  • NodeJS v12.18.2 LTS;
  • homebridge-lib v4.7.12.

The npm warning that bonjour-hap has been deprecated can be ignored.

v1.1.9

21 Jun 13:58
793b0bd
Compare
Choose a tag to compare

Bump dependencies

  • NodeJS v12.18.1 LTS;
  • homebridge-lib v4.7.11.

v1.1.8

13 Jun 10:30
f3c36ed
Compare
Choose a tag to compare

Enhancements:

  • Expose output GPIO pins as HomeKit Valve service through valve device. It turns off automatically after a set duration (from HomeKit). HomeKit also reports the remaining duration. See #39.

Bump dependencies:

  • NodeJS v12.18.0 LTS;
  • homebridge-lib v4.7.8.

v1.1.7

31 May 09:03
e755129
Compare
Choose a tag to compare

Bug fixes:

  • Fix unknow handle error when localhost specified in config.json, see #36;
  • Skip host section from config.json on invalid host value.
  • Handle old revision codes;
  • Only enable heartbeat for RpiAccessory and for GpioAccessory with servo device.
  • Added debug messages for NOIB.

Bump dependencies:

  • homebridge v1.1.0;
  • node v 12.17.0 LTS;
  • homebridge-lib v4.7.7.

v1.1.6

22 May 16:43
3403b75
Compare
Choose a tag to compare

Breaking Change
The script to get the state of a remote Raspberry Pi has been changed, and renamed to getState. If you upgrade from Homebridge RPi v1.0.x, please note the following:

  • On each remote Raspberry Pis, you need to:
    • Install the new script;
    • Configure file access;
    • Remove the old scrip,t by issuing: sudo rm /opt/pigpio/cgi/vcgencmd;
    • Remove the output files, by issuing: sudo rm /opt/pigpio/vcgencmd.*.
  • On the local Raspberry Pi, you might want to:
    • Configure the pigpiod daemon, not to accept remote connections, by unsetting Remote GPIO;
    • Remove the old script, by issuing: sudo rm /opt/pigpio/cgi/vcgencmd;
    • Remove the output files, by issuing: sudo rm /opt/pigpio/vcgencmd.*;
    • Remove the file access configuration, by issuing: sudo rm /opt/pigpio/access

If you run Homebridge in a container, you need to setup the host as remote Raspberry Pi.

Bug fixes

  • Better handling of localhost, incl. debug messages when reading file or executing command;
  • Improved polling of servo device, which should prevent "more than 10 listeners" warnings for error and for 84;
  • Improved closing of stale file handles, which should prevent stale file handles.
  • Improved handling of switch devices, especially when pulse is set, see #32:
    • Don't update GPIO value when automated reset of GPIO value is still pending;
    • Set reset timeout on GPIO pin value changed, instead of on HomeKit value changed;
    • Set switch with pulse to off on (re-)connect.
    • Allow pulse up to 5000 ms.
  • Unhandled promise rejection when subscription to GPIO notifications fails.

v1.1.4

17 May 15:41
52de230
Compare
Choose a tag to compare

Breaking Change
The script to get the state of a remote Raspberry Pi has been changed, and renamed to getState. If you upgrade from Homebridge RPi v1.0.x, please note the following:

  • On each remote Raspberry Pis, you need to:
    • Install the new script;
    • Configure file access;
    • Remove the old scrip,t by issuing: sudo rm /opt/pigpio/cgi/vcgencmd;
    • Remove the output files, by issuing: sudo rm /opt/pigpio/vcgencmd.*.
  • On the local Raspberry Pi, you might want to:
    • Configure the pigpiod daemon, not to accept remote connections, by unsetting Remote GPIO;
    • Remove the old script, by issuing: sudo rm /opt/pigpio/cgi/vcgencmd;
    • Remove the output files, by issuing: sudo rm /opt/pigpio/vcgencmd.*;
    • Remove the file access configuration, by issuing: sudo rm /opt/pigpio/access

If you run Homebridge in a container, you need to setup the host as remote Raspberry Pi.

Enhancements

  • Improved error handling, see also #17:
    • Homebridge RPi monitors the connection to the pigpio server, setting Status Fault when the connection is lost, and clearing it when the connection has been re-established. Remove the Restart characteristic in favour of Status Fault.;
    • Upon (re-)connect to the pigpio server, the GPIO pins are re-configured, the subscription for changed GPIO pins notifications is re-established, and Blinkt! LEDs are turned off (to re-synchronise the state between Homebridge Rpi and the LEDs);
    • After restarting Homebridge, stale accessories will only be removed after all Raspberry Pis have been connected to.
  • Optimised support for the local Raspberry Pi (that Homebridge runs on), see #22, #27:
    • Homebridge RPi and rpi info now read /proc/cpuinfo on the local Raspberry Pi directly, instead of going through the pigpio server;
    • Homebridge RPi and rpi info now execute vcgencmd locally, capturing the output without going through the pigpio server, calling a script, or storing the output in a temporary file. The pigpio server on the local Raspberry Pi is needed only when you expose GPIO devices;
    • Note that the user running Homebridge needs to be a member of the video group to execute vcgencmd. The standard Homebridge installation takes care of this.
  • Support for only exposing GPIO devices, see #22, #27:
    • The hidden config.json setting prevents Homebridge RPi from exposing the Temperature Sensor and corresponding History services, and prevents polling the Raspberry Pi state;
    • The Raspberry Pi accessory is still exposed, since it holds the administration of the GPIOs used, the connection to the pigpio server, and the links to the accessories for the GPIO devices;
    • Note that Apple's Home app will display a Not Supported tile for the Raspberry Pi accessory (unless you expose one or more button devices);
  • Optimised script execution, see #22:
    • The parsing from the command output is now done by Homebridge RPi; the temporary json file contains the raw command output;
    • The script creates the temporary json file through a single cat - command, instead of through multiple echo commands;
    • The temporary json file is now /tmp/getState.json, as /tmp would probably be the first directory to place on a RAM disk, to preserve the microSD card.
  • Dynamic log level, see #20, #25:
    • The level of logging can now be changed dynamically (at runtime) and per accessory, so debug logging can be enabled to troubleshoot a single accessory causing issues.
    • The log levels takes four values:
      • 0: errors and warnings;
      • 1: log messages for the interaction with HomeKit;
      • 2: debug messages for the interaction with devices;
      • 3: detailed debug messages for the raw communication with the pigpio server.
    • Note that Homebridge Debug Mode needs to be enabled for levels 2 and 3 (set under Homebridge Settings in Homebridge Config UI X);
    • The log level is initialised at 2 for newly created accessories. It is persisted across Homebridge restarts;
    • To change the log level, use the Log Level characteristic in Eve (or another HomeKit app), see ebaauw/homebridge-lib#26;
    • Loose the dependency on debug, as this is now handled by log level 3.

Bug Fixes

  • When two responses from the pigpio server were received in one data event, the second response was ignored (which could cause a stale file handle) or added to extended response data for first response (which could cause an invalid json warning when processing the script output).
  • Improved reliability and performance of communication with pigpio server.

Bump dependencies

  • homebridge v1.0.4 or greater;
  • NodeJS v12.16.3 LTS;
  • homebridge-lib v4.7.5;
  • remove dependency on debug.

v1.0.4

25 Apr 20:08
88bae61
Compare
Choose a tag to compare

Enhancements:

  • Make pulse duration configurable. It's now an integer, between 20 and 1000ms. See #18.

v1.0.3

25 Apr 13:04
be67610
Compare
Choose a tag to compare

Enhancements:

  • Changes to support Homebridge v1.0.0. This version is currently in beta under v0.4.54-beta.54. Until the final version has been released, install Homebridge RPi through sudo npm -g i homebridge-rpi@next;
  • vcgencmd script: also report system boot time (for detecting when the Pi has rebooted);
  • Pi accessory:
    • Add Heartrate characteristic to change the polling rate of the Pi (through the vcgencmdscript);
    • Add (read-only) LastBoot characteristic to indicate the Pi's boot time;
    • Add (read-only) Restart characteristic to trigger HomeKit automations when Pi has rebooted, see #17;
  • Add pulse boolean property to switch device, see #18;
  • Improve handling of Pi reboot. Should now re-initialise all GPIO pins and set Restart characteristic.
  • Add Brightness Change to Blinkt! accessory;

Bug fixes:

  • Ignore device with invalid GPIO pin in config.json, see #24;
  • Ignore device with duplicate GPIO pin in config.json.

Bump dependencies:

  • homebridge v1.0.0 (or 0.4.54-beta.54);
  • homebridge-lib v4.6.0.

v1.0.2

10 Apr 21:32
fa42bdb
Compare
Choose a tag to compare

Bump dependencies:

  • NodeJS v12.16.2 LTS;
  • Homebridge v0.4.53;
  • homebridge-lib v4.5.7.