Coder Social home page Coder Social logo

homebridge-slide-remote's Introduction

This plugin is still work in progress. See the todos and known issues below. Development of this plugin might be slow due to some personal issues.

Homebridge Slide Remote

npm

A homebridge plugin to use the Slide curtain motor in HomeKit using Homebridge.

The name is "Slide Remote" on purpose, this version uses the open cloud API (V1.0) that is provided by Innovation in Motion.

Once the local API or module API (for the header pins) becomes available I will likely abandon development of this version of the plugin and instead use the local API because of privacy, reliability and responsiveness.

Installation

The following command can be used to install the plugin on the Homebridge server:

npm install -g homebridge-slide-remote

After that you will need to enter the following details into the ~/.homebridge/config.json:

{
  "platforms":[
         {
             "platform": "slide-remote",
             "username": "EMAIL",
             "password": "PASSWORD"
         }
     ]
 }

Now start of restart homebridge and all slides connected to your account should appear in the HomeKit app.

Known Issues

  • The expiration of the access token isn't currently handled. This means the homekit accessory will stop working a month after the launch of Homebridge. Restarting homebridge will fix this issue.

  • The code is far from perfect or optimized, my knowledge of NodeJS isn't the best.

I've currently implemented a work around for the following issues, however I'm still testing it

  • Opening/closing the curtains using the Slide app or other plugins does not currently reflect the state correctly in HomeKit.
  • HomeKit apps will sometimes incorrectly report that the curtain is still moving, while it is already done opening.

Please let me know if you are expieriencing the above issues.

Todo

  • Handle expiration of the access token.
  • Save the access token (and expiration date) somewhere in homebridge instead of requesting it every restart.
  • Correctly report errors by marking the accessory as "Not responding" in the Home app.
  • Move to the new OAuth method when available.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.