Socket
Socket
Sign inDemoInstall

globalcache

Package Overview
Dependencies
48
Maintainers
2
Versions
17
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    globalcache

Module to connect to Global Cache iTach devices and send IR strings.


Version published
Weekly downloads
5
decreased by-64.29%
Maintainers
2
Install size
4.41 MB
Created
Weekly downloads
 

Readme

Source

globalcache global-cache

Global Caché official website: http://www.globalcache.com.

Library to control Global Caché iTach devices (Global Cache iTach Flex devices are upcoming).

Based on https://github.com/tillbaks/node-itach.

This module was inspired by https://github.com/tillbaks/node-itach, but I rewrote most of his code to solve my home automation problems.

I use it with my iTach Flex WiFi (WF2IR).

Installation

npm install globalcache --save

Usage

var COMMANDS = {
    "relay5v_on": "setstate,1:1,1",
    "relay5v_off": "setstate,1:1,0",
    "tv.power": "sendir,1:1,1,37735,1,1,171,171,21,64BB,21,21CCCCBBBCCCCCCBCCCCCCBCBBBBBB,21,3773",
    "receiver.powerOff": "sendir,1:1,1,40453,,1,342,171,22,63,22,20,22,63,22,20,22,20,22,63,22,20,22,63,22,20,22,63,22,20,22,63,22,63,22,20,22,63,22,20,22,63,22,63,22,20,22,63,22,63,22,20,22,20,22,20,22,20,22,20,22,63,22,20,22,20,22,63,22,63,22,63,22,1430,342,171,22,63,22,20,22,63,22,20,22,20,22,63,22,20,22,63,22,20,22,63,22,20,22,63,22,63,22,20,22,63,22,20,22,63,22,63,22,20,22,63,22,63,22,20,22,20,22,20,22,20,22,20,22,63,22,20,22,20,22,63,22,63,22,63,22,4045",
    "receiver.powerOn": "sendir,1:1,1,40453,,1,342,171,22,63,22,20,22,63,22,20,22,20,22,63,22,20,22,63,22,20,22,63,22,20,22,63,22,63,22,20,22,63,22,20,22,20,22,63,22,20,22,63,22,63,22,20,22,20,22,20,22,63,22,20,22,63,22,20,22,20,22,63,22,63,22,63,22,1430,342,171,22,63,22,20,22,63,22,20,22,20,22,63,22,20,22,63,22,20,22,63,22,20,22,63,22,63,22,20,22,63,22,20,22,20,22,63,22,20,22,63,22,63,22,20,22,20,22,20,22,63,22,20,22,63,22,20,22,20,22,63,22,63,22,63,22,4045",
    "receiver.volumeDown": "sendir,1:1,1,40453,1,1,189,4,4,317,22,63,22,21CD,20,23,13,72,18,25,12,73,19,24,9,4,4,73,14,28,8,77,10,75,11,32,6,79,13,30,9,76,16,69,20,22,13,72,19,24,12,31,8,35,8,35,9,34,10,33,11,73DCCCC,22,1086,214,294CDCD,13,30,8,77,11,32,4,81,5,123,4,4010",
    "receiver.volumeUp": "sendir,1:1,1,40453,1,1,342,170,22,63,22,21BCCBCBCBCBBCBCCBCBCCCCBCBCBBBB,22,1086ABCBCCBCBCB,21,22,12,73,15,70,12,31,5,80,7,36,4,127,4,2002,10,4010",
    "receiver.dvd": "sendir,1:1,1,40453,1,1,339,169,22,63,22,20,22,63,22,20,22,20,22,63,22,20,22,63,22,20,22,63,22,20,22,63,22,63,22,20,22,63,22,0,20,22,63,22,20,22,63,22,20,22,63,22,63,22,20,22,63,22,20,22,20,22,63,22,20,22,63,22,63,22,20,22,20,22,20,22,63,22,20,22,63,22,20,22,20,22,63,22,63,22,63,22,4006"
};

var iTach = require('globalcache').iTach;
var remote = new iTach({
    host: '192.168.1.13' // required: IP address of your iTach device
});

// transmit IR codes
remote.send(COMMANDS["tv.power"], function callback(err) {
    if (err) {
        throw new Error(err);
    } else {
        // command has been successfully transmitted to your iTach
    }
});
// or transmit IR code another way
remote.send({ir: COMMANDS["receiver.dvd"]}, function callback(err) {
    if (err) {
        throw new Error(err);
    } else {
        // command has been successfully transmitted to your iTach
    }
});
// transmit serial command
remote.send(COMMANDS["relay5v_on"], function callback(err) {
    if (err) {
        throw new Error(err);
    } else {
        // command has been successfully transmitted to your iTach
    }
});
// transmit serial command
remote.send({serial: COMMANDS["relay5v_off"]}, function callback(err) {
    if (err) {
        throw new Error(err);
    } else {
        // command has been successfully transmitted to your iTach
    }
});


// receive IR codes
remote.learn(function done(err, code) {
    if (err) {
        throw new Error(err);
    } else {
        console.log("Received code", code);
    }
});

TODO:

  • Rewrite learn method to use TCP sockets instead HTTP REST API
  • Add HEX IR code support
  • Rework queue processing based on feedbacks and timeouts, remove DELAY_BETWEEN_COMMANDS
  • Add Flex support
  • Add support of RS232 (iTach WF2SL or IP2SL)

Keywords

FAQs

Last updated on 20 Dec 2018

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc