npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

homebridge-ibricks-plugin-v2

v1.0.18

Published

Homebridge integration for iBricks

Downloads

8

Readme

Homebridge iBricks Plugin

This is a plugin to integrate iBricks Cello Devices into Homebridge.

Setup

  1. Install Homebridge
  2. Install this plugin using npm install: npm i homebridge-ibricks-plugin-v2
  3. Add configuration in Homebridge for this plugin (see "Configuration" below)
  4. Restart Homebridge. This plugin will initially send a UDP Request to the Broadcast IP. All Cellos, which are in the same network, will respond with their IP and Mac-Address. After that, each Cello will send his hardware information to the plugin. This takes a few minutes. I recommend to wait at least 30 minutes after the first start of Homebridge with this plugin. Each cello with his hardware information will be saved on the dist. The plugin will after the first initialization know all Cellos and you don't need to wait for the initialization anymore.
  5. Restart Homebridge again. Now the plugin will create all accessories for the Cellos. You can now use the Cellos in Homebridge.

The Plugin can not ask the Cellos for their current state. If you want to initialize the current state of the Cellos, you have to set "Restart Cellos" in the config to true. This will restart all Cellos and they will send their current state to the plugin. After that, don't forget to set "Restart Cellos" to false again. Otherwise the Cellos will restart every time you restart Homebridge.

Every change of the state of a Cello will be saved on the disk. If you restart Homebridge, the plugin will set the state in Homebridge to the last saved state.


Exposed Accessories

The plugin will expose the following accessories:

  • Switches (Relays) for the Cellos
  • Dimmers for the Cellos
  • Thermostats for the Cellos
  • Temperature sensors for the Cellos
  • Window covering with lamella tilt angle for the Cellos

Some Cellos have more than one relay, shutter or thermostat. This information is read from the Cellos. The plugin will create one accessory for each relay, shutter or thermostat. The devices will be named like this:

  • <Cello-Description> - Left (Channel 2)
  • <Cello-Description> - Right (Channel 1)

If you want to disable the left side of the Cello (for example the left relay) so you have to use the channel '2'. For the right side use the channel '1'.


Configuration

Disable Lamella

If you don't want to use the lamella, you can disable it here. Enter the Mac-Address of the Cello.

Reboot

If true, the plugin will reboot all Cellos after the start of Homebridge.

Director Target Heating Cooling State

The thermostats in homebridge requires to handle the heating cooling state. Cellos doesn't support this. Here you can select what your default heating cooling state should be and what should be displayed in Homebridge. This setting has no effect on the functionality.

Ignore devices

If you want to ignore some devices, you can enter their mac addresses, channel and type here. The plugin will ignore these devices and will not create accessories for them. You can disable the following types:

  • Relay => Relay / Switch
  • Shutter => Window covering
  • Director => Thermostat
  • Meteo => Temperature sensor

How to find the Mac-Address of a Cello

You can find the Mac-Address of a Cello in the device settings of the accessory in Homebridge. The Mac-Address is the serial number of the accessory. FINDMAC


Development

Install development dependencies

npm install

Build plugin

npm run build

Link to local Homebridge installation

Run this command so your global install of Homebridge can discover the plugin in your development environment:

npm link

Versioning

This plugin uses SemVer for versioning. The version has the following format: major.minor.patch:

  1. MAJOR Breaking changes
  2. MINOR New functionality in a backwards compatible manner
  3. PATCH Backwards compatible bug fixes

You can use the npm version command to help you with this:

# major update / breaking changes
npm version major

# minor update / new features
npm version update

# patch / bugfixes
npm version patch

Publish Package

npm publish

Publishing Beta Versions

# create a new pre-release version (eg. 2.1.0-beta.1)
npm version prepatch --preid beta

# publish to @beta
npm publish --tag=beta

You can then install the beta version using @beta to the install command:

sudo npm install -g homebridge-example-plugin@beta

Change Log

3.X -> 4.X

  • IP-Address, Broadcast-IP and Mac-Address are now automatically detected. You don't need to enter them anymore in the config.