Giter VIP home page Giter VIP logo

isy-js's People

Contributors

jonmr avatar respectthecode avatar rodtoll avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

isy-js's Issues

Missing device types

Add devices you want to see added to this thread. If you post the json for the device (that should be added to devicetypes.json) I'll add it to a future revision of the package.

To determine the device type go to http:///rest/nodes in chrome and look at the resulting XML and look for your device. It will look like this:

<node flag="128">
<address>ZW002_1</address>
<name>Front Door Lock</name>
<family>4</family>
<parent type="3">9191</parent>
<type>4.64.3.0</type>
<enabled>true</enabled>
<deviceClass>0</deviceClass>
<wattage>0</wattage>
<dcPeriod>0</dcPeriod>
<pnode>ZW002_1</pnode>
<sgid>1</sgid>
<devtype>
<gen>4.64.3</gen>
<mfg>297.46443.65018</mfg>
<cat>111</cat>
<model>5</model>
</devtype>
<property id="ST" value="100" formatted="Locked" uom="11"/>
</node>

Look for the type node. That will be the device type.

Or do a pull request with the change.

Should respect <enabled> flag

If a device is disabled in ISY it will still be shown in the accessories list recognized by isy-js. Should respect the "enabled" element.

Add basic support for including devices basic on the generic device categories. In case specific version is not in the devicetypes file.

Suggestion from: @robwbartel

I fully understand I may be naive, but after a cursory reading of http://www.insteon.com/pdf/insteon_devcats_and_product_keys_20081008.pdf it seems to me there could be a default IsyDevice for at least device categories 01 and 02 (dimmable and switched devices respectively) that would eliminate a lot of missed device types for a lot of people. In my network of perhaps 20 devices only two were in the current isydevicelist.js.

Devices partially responding

I've had this same issue two days in a row where I can turn devices on but not off. When commanding Siri to turn the deviced off she responds with "ok, the device is off" but it is still on. With a simple restart of the homebridge service everything starts working again. What steps can I perform to help troubleshoot this?

Support garage door kits

Possibly bring together I/O linc as a new combined type?

Or handle at higher layer? i.e. in homekit project allow an i/o linc to be designated a garage door?

Icon Switch

The Icon Switch is defined as a 'FAN" in the ISYDEVICETYPES.JSON file:
{ "type": "2.22.57.0", "address": "", "name": "(28763B) Icon Relay Switch v.39", "deviceType": "Fan", "connectionType": "Insteon Wired", "batteryOperated": false },

It should be:
{ "type": "2.22.57.0", "address": "", "name": "(28763B) Icon Relay Switch v.39", "deviceType": "Light", "connectionType": "Insteon Wired", "batteryOperated": false },

Is there any chance at getting this changed?

Invalid Date on lastChanged

The value for lastChanged is always getting set to "Invalid Date". This appears to happen because the value of ts coming from my ISY is in the format "YYYYMMDD HH:MM:SS" which new Date() is choking on.

Might this be unique to how I have my ISY or computer set up, or could it be related to running beta firmware v5.0.2? What format is everyone else's ISY sending ts in?

Insteon Open/Close Micro Module

Hi,

could we please add the Insteon Open/Close micro module to the official list of devices supported by ISY-JS? It's a small module that can open and close shutters.

The name of the device is: (2444-222) Micro Module Open/Close v.48

Do you need any other information from me so we can get this added? Would be awesome if the HomeKit deviceType could be "Blinds" (not sure if that is the official Apple name for it but I do know that "Blinds" are a supported accessory. Otherwise "Outlet" would be the next best device type.

Let me know if you need anything else!

Expose scenes as devices.

Default to lighting devices? Or expose as a new object type?

Sounds like a good project for the upcoming holidays.

Polyglot Hue support / RGB LED Support

Since the introduction of Polygot (node server), the ISY has the ability to communicate with a Hue bridge (maybe more in the future).

What are the chances of adding support for this?

currently I can get basic support for the lights (on/off/brightness) by just adding familyID 10 if(familyId == 1 || familyId == 10) { but having RGB would be nice.

If there's any information or data dump required, id be willing to help

Device Node outputs:
Pastern: http://pastebin.com/HYu7C6Yd

Last changed characteristic?

Copied from the homebridge-isy-js issue:
rodtoll/homebridge-isy-js#9

fahrvergnuugen:
Would it be possible to add a "last changed" or "last event" characteristic that contained a timestamp?

It would be nice to be able to see when the last time a motion sensor was tripped for example.

I also have an isy-js program im working on that will pan my ptz camera and start recording when motion is detected in the driveway, but i want to ignore the event if i pressed my "im leaving home" keypad button within the last 2 minutes.

Can't control I/O Linc Relays

There are two halves to the I/O Linc, the sensor and the relay. It is represented in the ISY's /rest/nodes interface as two separate nodes like this:

<node flag="128">
<address>13 34 9B 1</address>
<name>Garage Door-Sensor</name>
<parent type="3">31846</parent>
<type>7.0.54.0</type>
<enabled>true</enabled>
<deviceClass>0</deviceClass>
<wattage>0</wattage>
<dcPeriod>0</dcPeriod>
<pnode>13 34 9B 1</pnode>
<ELK_ID>C11</ELK_ID>
<property id="ST" value="0" formatted="Off" uom="on/off"/>
</node>

<node flag="0">
<address>13 34 9B 2</address>
<name>Garage Door-Relay</name>
<parent type="3">31846</parent>
<type>7.0.54.0</type>
<enabled>true</enabled>
<deviceClass>0</deviceClass>
<wattage>0</wattage>
<dcPeriod>0</dcPeriod>
<pnode>13 34 9B 1</pnode>
<ELK_ID>C12</ELK_ID>
<property id="ST" value="0" formatted="Off" uom="on/off"/>
</node>

It seems that the ISY-JS library only reads the sensor, skipping the relay altogether. The sensor and the relay have the same device type so both are setup as a ISYDoorWindowDevice.

I just realized that the devicetypes.js file designates which nodes are what based on device type AND address. Address 1 is the sensor, makes perfect sense for it to be setup as ISYDoorWindowDevice.

However, address 2 for I/O Lincs isn't in the isydevicetypes.json file at all. The question is which device type should it be? Typically relays are opened and closed, not turned on or off, so I don't know if it makes sense to re-use a light or a switch device type for it. Should there be a new one called "Relay"?

Implementing ISYWindowCoveringDevice to support Somfy Z-Wave Blinds

Would be awesome if we implement ISYWindowCoveringDevice to control blinds, specifically the Somfy ZRTSI in this scenario.

The ZRTSI has 16 "virtual nodes" (or "channels). Each channel is added as two nodes within ISY, one that shows up as a binary switch, and the other that shows up as a motor. The motor has _1 appended to the address where as the switch has _147 appended to the address.

The commands DON and DOFF allows the switch to open (DON) and close (DOFF) the window covering. The same applies to the motor, with the addition that the motor can stop the window covering in ISY's console using Fade Stop (I have not found the api command that yields the right results though).

We can implement the binary switch type first to allow rudimentary on/off control of the window coverings.

Let me know and I can help provide any other info needed to implement this.

<node flag="128" nodeDefId="UZW003A">
    <address>ZW004_1</address>
    <name>Hallway Blinds Motor</name>
    <family>4</family>
    <parent type="3">1299</parent>
    <type>3.17.5.0</type>
    <enabled>true</enabled>
    <deviceClass>0</deviceClass>
    <wattage>0</wattage>
    <dcPeriod>0</dcPeriod>
    <startDelay>0</startDelay>
    <endDelay>0</endDelay>
    <pnode>ZW004_1</pnode>
    <sgid>1</sgid>
    <devtype>
        <gen>3.17.5</gen>
        <mfg>71.23122.21506</mfg>
        <cat>105</cat>
    </devtype>
    <ELK_ID>D09</ELK_ID>
    <property id="ST" value="100" formatted="100%" uom=""/>
</node>
<node flag="0" nodeDefId="UZW003B">
    <address>ZW004_147</address>
    <name>Hallway Blinds Switch</name>
    <family>4</family>
    <parent type="3">1299</parent>
    <type>3.17.5.0</type>
    <enabled>true</enabled>
    <deviceClass>0</deviceClass>
    <wattage>0</wattage>
    <dcPeriod>0</dcPeriod>
    <startDelay>0</startDelay>
    <endDelay>0</endDelay>
    <pnode>ZW004_1</pnode>
    <sgid>147</sgid>
    <devtype>
        <gen>3.17.5</gen>
        <mfg>71.23122.21506</mfg>
        <cat>147</cat>
    </devtype>
    <ELK_ID>D10</ELK_ID>
    <property id="ST" value="100" formatted="On" uom=""/>
</node>

Adding z-wave device types

I have been able to add a few insteon device types, but for z-wave light switches, I'm not sure what the type would be. I see "4.64.3.0" for the Yale Door Lock z-wave device - where can I determine this for other z-wave devices?

loadElkNodes fails on initialization - no Elk system installed

I do not have an Elk system installed or enabled on my isy994i. When running isy.initialize, I am getting an error:

var setBaseInfo = function(config, callback) {
    var isy = new ISY.ISY(config.ipAddress, config.username, config.password, isyChangeCallback, false, true);

    isy.initialize(function() {
        callback(isy);
    });
}
./node_modules/isy-js/isy.js:321
    var nodes = document.childNamed('areas').childNamed('area').childrenNamed('zone');
                                            ^

TypeError: Cannot read property 'childNamed' of undefined
    at ISY.loadElkNodes (./node_modules/isy-js/isy.js:321:45)
    at Request.<anonymous> (./node_modules/isy-js/isy.js:395:30)
    at emitTwo (events.js:87:13)
    at Request.emit (events.js:172:7)
    at Request.mixin._fireSuccess (./node_modules/restler/lib/restler.js:229:10)
    at ./node_modules/restler/lib/restler.js:161:20
    at IncomingMessage.parsers.auto (./node_modules/restler/lib/restler.js:402:7)
    at Request.mixin._encode (./node_modules/restler/lib/restler.js:198:29)
    at ./node_modules/restler/lib/restler.js:157:16
    at Request.mixin._decode (./node_modules/restler/lib/restler.js:173:7)

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.