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

@benwebbbenwebb/homebridge-sensibo-ac

v2.3.4

Published

Homebridge plugin for Sensibo - Smart AC Control. Forked from https://github.com/nitaybz/homebridge-sensibo-ac to add support for Air & AirPro (Airq) devices

Downloads

20

Readme

homebridge-sensibo-ac

Downloads Version

Homebridge plugin for Sensibo - Smart AC Controller and Air Purifier

This is a forked version of nitaybz's package, full credit to nitaybz.

Requirements

   

check with: node -v & homebridge -V and update if needed

Plugin Unique Features

  • Login with username & password instead of API-key (api-key is still supported).
  • Sensibo Air & Air Pro (this fork) Support including the attached Room Sensors.
  • Auto Detect Configurations - Automatically detect all your devices and their capabilities and opens up only the options available in Sensibo app to be controlled in HomeKit. More details below.
  • Accessory type "HeaterCooler" - allowing adjusting fan speed (Rotation Speed) & swing (Oscillate) from within the accessory in "Home" App.
  • Fan Mode control (including it's own fan speed and swing control) in a new separate accessory.
  • Dry Mode control (including it's own fan speed and swing control) in a new separate accessory.
  • Horizontal Swing - allows you to quickly enable/disable horizontal swing of your AC.
  • AC Sync Button - allows you to quickly toggle the state of the AC between ON/OFF in case your AC is out of sync with HomeKit (does not send commands to the AC).
  • Occupancy Sensor - Gets the Home/Away status from Sensibo API to HomeKit via Occupancy sensor.
  • Enable/Disable Climate React - allows you to quickly enable/disable your climate react setup in Sensibo app (it is not possible to change settings, on/off only).
  • Filter Cleaning Indication - If this feature is available in your Sensibo account (via plus), a HomeKit representation of the Filter status will appear in Home app.
  • History Storage - This feature will remember temperature and humidity measurements and will present them in Eve app as a graph.
  • Pure Support (Air Purifier) control (including it's own fan speed and boost control) in a new separate accessory.

Installation

NOTE: While nitaybz's plugin is Homebridge verified, HOOBS certified, and can be easily installed and configured through their respective UIs, I cannot say the same for this forked version.

If you don't use Homebridge UI or HOOBS, or if you want to know more about the plugin features and options, keep reading...

  1. Install homebridge using: sudo npm install -g homebridge --unsafe-perm
  2. Install this fork of the plugin using the Homebridge UI by searching for: @benwebbbenwebb/homebridge-sensibo-ac in the Plugins tab; otherwise you can install it manually from terminal with: sudo npm install -g @benwebbbenwebb/homebridge-sensibo-ac
  3. Update your configuration file. See config-sample.json in this repository for a sample.

* install from git: sudo npm install -g "https://github.com/benwebbbenwebb/homebridge-sensibo-ac.git#publish"

Config file

Easy config (required):

"platforms": [
    {
        "platform": "@benwebbbenwebb/homebridge-sensibo-ac.SensiboAC",
        "username": "******@*******.**",
        "password": "*******"
    }
]

Advanced config (optional):

"platforms": [
    {
        "platform": "@benwebbbenwebb/homebridge-sensibo-ac.SensiboAC",
        "username": "******@*******.**",
        "password": "*******",
        "apiKey": "*******",
        "ignoreHomeKitDevices": false,
        "disableFan": false,
        "disableDry": false,
        "disableHorizontalSwing": false,
        "disableLightSwitch: false,
        "enableSyncButton": true,
        "syncButtonInAccessory": false,
        "enableOccupancySensor": true,
        "enableClimateReactSwitch": true,
        "enableHistoryStorage": true,
        "externalHumiditySensor": false,
        "allowRepeatedCommands": false,
        "devicesToExclude": [],
        "locationsToInclude": [],
        "debug": false
    }
]

Configurations Table

*advanced details below

| Parameter | Description | Required | Default | type | | -------------------------------- | ------------------------------------------------------- |:--------:|:--------:|:--------:| | platform | always "@benwebbbenwebb/homebridge-sensibo-ac.SensiboAC" | ✓ | - | String | | username | Your Sensibo account username/email | ✓ | - | String | | password | Your Sensibo account password | ✓ | - | String | | apiKey | Your Sensibo account API key (can be used instead of username/password) | | - | String | | ignoreHomeKitDevices | Automatically ignore, skip or remove HomeKit supported devices |       | false | Boolean | | disableFan       | When set to true, it will disable the FAN accessory |       | false | Boolean | | disableDry       | When set to true, it will disable the DRY accessory  |         | false | Boolean | | disableHorizontalSwing   | Disable horizontal swing control (via extra switch)   |         | false | Boolean | | disableLightSwitch | Disable the Light service to control the AC Light (via extra light bulb) |         | false | Boolean | | enableSyncButton       | Adding a switch to quickly toggle the state of the AC without sending commands to the AC.  |       | false | Boolean | | syncButtonInAccessory       | When set to true, it will remove the extra AC Sync switch if it exists and will show "AC Sync Button" attached as a service to the Same AC Accessory (works only when enableSyncButton is set to true)  |       | false | Boolean | | enableOccupancySensor    | Adding occupancy sensor to represent the state of someone at home |     | false | Boolean | | enableClimateReactSwitch | Adding a switch to quickly enable/disable climate react. |       | false | Boolean | | enableHistoryStorage     | When set to true, all measurements (temperature & humidity) will be saved and viewable from the Eve app  |       | false | Boolean | | externalHumiditySensor   | When set to true, adds humidity as a unique sensor   |       | false | Boolean | | allowRepeatedCommands | Allow the plugin to send the same state command again |       | false | Boolean | | devicesToExclude       | Add devices identifier (room name, ID from logs or serial from Home app) to exclude from homebridge |       | - | String[] | | locationsToInclude       | Device location IDs or names to include when discovering Sensibo devices (leave empty for all locations) |       | - | String[] | | debug       | When set to true, the plugin will produce extra logs for debugging purposes |       | false | Boolean |

Advanced Control

Auto Detect Configurations

The plugin will scan for all your devices and retrieve each device capabilities separately. that means, that in HomeKit you will see only the things that the Sensibo app allows you to control.

In practice:

  • Minimum and Maximum temperatures are taken from Sensibo api.
  • Temperature unit (Celsius/Fahrenheit) is taken from Sensibo api.
  • "AUTO" mode is available in the AC states in HomeKit only if it is available in Sensibo app.
  • Modes "FAN" and "DRY" (dehumidifier) will create their own accessories only if you have this ability inside Sensibo app.
  • Fan Speed ("Rotation Speed" in Home app) And Swing ("Oscillate" in Home app) will show in the accessory settings, but only if you have this capability in Sensibo app.
  • "Horizontal" Swing capability in Sensibo app will show up as a normal switch in HomeKit (because there is no other way to control horizontal swing at the moment)
  • NEW! - use "ignoreHomeKitDevices": true to automatically ignore, skip or remove HomeKit supported devices like Sensibo Air and Sensibo Pure.

State Polling

The accessory state will be updated in the background every 90 seconds, this is hard coded and requested specifically by Sensibo company. The state will also refresh every time you open the "Home" app or any related HomeKit app.

Fan Mode

If your Sensibo app can control your AC FAN mode, this plugin will create extra fan accessory in HomeKit to control the FAN mode of your device. it will also include all the fan speeds and swing possibilities you have for FAN mode.

To disable the extra fan accessory, add "disableFan": true to your config.

Dry Mode

If your Sensibo app can control your AC DRY mode, this plugin will create extra dehumidifier accessory in HomeKit to control the DRY mode of your device. it will also include all the fan speeds and swing possibilities you have for DRY mode.

To disable the extra dehumidifier accessory, add "disableDry": true to your config.

Horizontal Swing

If your Sensibo app has Horizontal Swing control, this plugin will create extra switch accessory in HomeKit to control it. To disable the extra horizontal swing switch accessory, add "disableHorizontalSwing": true to your config.

AC Sync Button

Does Sensibo shows your AC is ON while it's actually OFF? Does your sensibo state get out of sync with your AC? Do you find yourself changing commands from the original remote just for the AC and Sensibo to be in sync?

if you found yourself struggling with the above, this feature is exactly for you! It allows you to quickly toggle the state in Sensibo and Home app without changing the real state of your device, this will help you to quickly sync between them.

When enabled, this feature creates a new switch accessory in HomeKit. The new switch is stateless, which means that when clicked, it turns back OFF after 1 second. behind the scenes, the plugin changes the state of the device from ON to OFF or the other way around, depends on the current state of the device. all of that, without sending actual commands to the AC! so you can relax while you test this button :)

* it is extra necessary if your AC has the same command for ON and OFF because it can go out of sync easily.

To enable the extra "AC Sync" switch, add "enableSyncButton": true to your config.

To attach the "AC Sync" button as a service to the AC accessory instead of a separate switch, add "syncButtonInAccessory": true to your config.

Occupancy Sensor

Enabling this feature will add Occupancy Sensor to HomeKit, representing the Home/Away state of the geofence feature in Sensibo app.

*Geofencing must be enabled in Sensibo app for it to work

To enable the extra occupancy sensor, add "enableOccupancySensor": true to your config.

Climate React

When enabled, this feature creates a new switch accessory in HomeKit. The new switch can quickly enable or disable the state of the "Climate React" you've set in Sensibo app.

Use this feature in conjunction with the occupancy sensor and you'll be able to get the "Sensibo Plus" feature that allows turning it on/off according to your geolocation.

*This feature does not allow changing the actual logic of the "Climate React" but only make it enabled or disabled. Therefore, it will not work if the "Climate React" was not set up in Sensibo app.

To enable the extra "Climate React" switch, add "enableClimateReactSwitch": true to your config.

Filter Cleaning Indication

If you have the Filter Cleaning notifications feature in Sensibo (from Sensibo "Plus" subscription or via old account) it will appear in the AC settings in HomeKit in this form:

  1. Filer Life Level - Relative (0-100%) representation of the filter life level. calculated from the last time it was cleaned until the next time it should be clean
  2. Filter Change Indication - Boolean state represent whether the filter should be cleaned or not (based on usage time).
  3. Reset Filter Indication - Stateless button appears only in Eve app that resets the counter of the filter life. normally you would click this button right after you cleaned the filters.

History Storage

Enabling this feature will keep all measurements of temperature and humidity and will store them. Then, all the historic data will be viewable in Eve app under the accessory in a nice graph.

To enable the history storage feature, add "enableHistoryStorage": true to your config.

Fan speeds & "AUTO" speed

Fan speed steps are determined by the steps you have available in the Sensibo app. Since HomeKit control over fan speed is with a slider between 0-100, the plugin converts the steps you have in the Sensibo app to values between 1 to 100, when 100 is highest and 1 is lowest. if "AUTO" speed is available in your setup, setting the fan speed to 0, should actually set it to "AUTO" speed.

Issues & Debug

If you experience any issues with this fork of the plugin, please refer to the Issues tab and check if your issue is already described there. If it isn't, please create a new issue with as much detailed information as you can give (logs are crucial).

If you want to even speed up the process, you can add "debug": true to your config, which will give me more details on the logs and speed up fixing the issue.

Support homebridge-sensibo-ac

homebridge-sensibo-ac is a free plugin under the GNU license. This version is just a fork, all credit to the original creator nitaybz and their original homebridge-sensibo-ac package