Giter Club home page Giter Club logo

homebridge-telldus-tdtool's Introduction

Build Status

Homebridge Telldus tdtool

A Homebridge plugin for TellStick without Telldus Live, interfaced with the CLI tool tdtool. This will therefore require tdtool to be present, and runnable, on your server running Homebridge.

tdtool can be found as a part of telldus-core, provided by Telldus.

Since it relies on telldus-core, only TellStick Duo and TellStick are supported. TellStick net will support telldus-core, eventually.

Installation

Install this plugin globally by typing the following.

npm install -g homebridge-telldus-tdtool

Installing the package globally is not a requirement, but makes it easier if you have also installed Homebridge globally. Otherwise, just install this package in the directory which you have set up Homebridge to watch for plugins in.

You must then include

{
  "platform" : "Telldus-TD-Tool",
  "name" : "Telldus-TD-Tool"
}

in your list of platforms, in the configuration file of Homebridge. This by default resides in ~/.homebridge/config.json and should look something like the following when you have added this platform:

{
  "bridge": {
    "name": "Homebridge",
    "username": "CC:22:3D:E3:CE:30",
    "port": 51826,
    "pin": "031-45-154"
  },
  "platforms": [{
    "platform" : "Telldus-TD-Tool",
    "name" : "Telldus-TD-Tool"
  }]
}

Building it yourself

This module is written in ES6. To support earlier versions of Node, this is transpiled using Babel to regular ES5. To build it yourself, make sure you have installed all the development dependencies (this is usually done by default with npm install). To make sure, you can run:

npm install --only=dev

after you have issued the regular install command.

To build the dist folder, then run

npm run build

Remote development

Since a lot of people, me included, are running Homebridge on a server remote from where development takes place (such as on a Raspberry PI), there is a small, experimental script included for addressing this.

This can be run by issuing:

npm run rsync -- user@host /path/to/node_modules/homebridge-telldus-tdtool

Default values for these are:

  • user@host - pi
  • path - /opt/nodejs/lib/node_modules/homebridge-telldus-tdtool

To run this, it assumes a couple of things:

  1. It assumes you have fswatch and rsync installed.
  2. You have SSH keys set up for your host.
  3. You are running Homebridge using the systemd method.

Dependencies & Trade-offs

This plugin depends on tellstick.conf-parser. This is because tdtool does not output the model of a connected device, making it not possible to provide a devices characteristics for Homebridge unless we peek in TellSticks configuration file and check the model there.

Contribute

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request!

homebridge-telldus-tdtool's People

Contributors

amlinger avatar andlier avatar jannylund avatar kskaret avatar

Watchers

 avatar  avatar

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.