pradeepmouli / homebridge-isy-js

Homebridge platform plugin for the ISY series of home controllers from Universal Devices.
MIT License
28 stars 9 forks source link

Garage Door opener #27

Open CVHvisuals opened 4 years ago

CVHvisuals commented 4 years ago

Hello, I am using the 2450 IOLinc v.41 Insteon garage door opener. It populates in the Homebridge as 2 separate items. On his Sensor and the other is an outlet. The outlet controls the garage door, and the sensor shows as an option for a Large Door Opener. They have a sub address of "1" "2". Is it possible to combine the 2 items, to show as the Garage Door opener? I would like the control of the Garage Door item to be a Garage Door type instead of an outlet.

All is working ok otherwise.

pradeepmouli commented 4 years ago

Will look at this… Just trying to figure out the best way to make this configurable…. I.e. to have the option to map IO Lincs to things other than garage door openers (which is the way the original plugin worked).

Can you send me your ISYNodesDump,json? It’s in your the directory where your homebridge config.json is located.

On Jun 19, 2020, at 9:51 AM, Chris van Hoose notifications@github.com wrote:

Is it possible to combine the 2 items, to show as the Garage Door opener? I would like the control of the Garage Door item to be a Garage Door type instead of an outlet.

kavehv commented 4 years ago

I'm pretty sure this already works (I'm using it this way). Just use the "1" node:

            "garageDoors": [
                {
                    "address": "22 D5 62 1",
                    "name": "Garage Door",
                    "timeToOpen": 12000,
                    "alternate": true
                }
            ],
CVHvisuals commented 4 years ago

Hi Kaveh, When I use sub address of "1" it is only my sensor that populates. And with the sensor I am unable to trigger the garage door. What model/version IOLinc are you using?

CVHvisuals commented 4 years ago

Will look at this… Just trying to figure out the best way to make this configurable…. I.e. to have the option to map IO Lincs to things other than garage door openers (which is the way the original plugin worked). Can you send me your ISYNodesDump,json? It’s in your the directory where your homebridge config.json is located. On Jun 19, 2020, at 9:51 AM, Chris van Hoose @.***> wrote: Is it possible to combine the 2 items, to show as the Garage Door opener? I would like the control of the Garage Door item to be a Garage Door type instead of an outlet.

What is the best method to send the dump? Thank you

kavehv commented 4 years ago

Hi Kaveh, When I use sub address of "1" it is only my sensor that populates. And with the sensor I am unable to trigger the garage door. What model/version IOLinc are you using?

Same as you. Just add the sensor to "garageDoors", then put the "2" node under "ignoreDevices". It works fine.

CVHvisuals commented 4 years ago

I need the “2” node to control the garage door. “1” only shows the sensor for me. My request is to have node “2” as a garage door type, since it shows up as an Outlet type. Its odd how you have the same model/version yet your nodes are reversed from mine.

kavehv commented 4 years ago

I need the “2” node to control the garage door. “1” only shows the sensor for me. My request is to have node “2” as a garage door type, since it shows up as an Outlet type. Its odd how you have the same model/version yet your nodes are reversed from mine.

Mine is the same exact way. Have you tried configuring it as I suggested? If you specify this address under "garageDoor", it shouldn't appear in the regular list of nodes in Homekit.

CVHvisuals commented 4 years ago

Yes, as stated previously, I can not control the garage door with the sensor.

CVHvisuals commented 4 years ago

Will look at this… Just trying to figure out the best way to make this configurable…. I.e. to have the option to map IO Lincs to things other than garage door openers (which is the way the original plugin worked). Can you send me your ISYNodesDump,json? It’s in your the directory where your homebridge config.json is located.

Here is the file as requested, let me know if you have any questions. ISYNodesDump.json.zip

jasonlifeisguid commented 4 years ago

When I have the following setup for garage door: "garageDoors": [ { "address": "XX C XX 1", "name": "CarGarageDoor", "timeToOpen": 12000 }, { "address": "XX F1 XX 1", "name": ":VanGarageDoor", "timeToOpen": 12000 } ],

I get: 7/28/2020, 1:46:33 PM] [ISY] GARAGE: Current state is closed and target is open. Waiting for sensor change to trigger opening state [7/28/2020, 1:46:34 PM] TypeError: this.relayDevice.sendLightCommand is not a function at ISYGarageDoorAccessory.sendGarageDoorCommand (/homebridge/node_modules/homebridge-isy/src/ISYGarageDoorAccessory.ts:40:20) at ISYGarageDoorAccessory.setTargetDoorState (/homebridge/node_modules/homebridge-isy/src/ISYGarageDoorAccessory.ts:62:10) at Characteristic.emit (events.js:315:20) at Characteristic.EventEmitter.emit (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/EventEmitter.ts:42:22) at Characteristic._this.setValue (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:651:12) at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:1437:24 at Array.forEach () at Bridge.Accessory._this._handleSetCharacteristics (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:1279:10) at HAPServer.emit (events.js:315:20) at HAPServer.EventEmitter.emit (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/EventEmitter.ts:42:22)

cswelin commented 4 years ago

I get the same error as @jasonlifeisguid.

The main problem is the IO Linc is being identified as a DoorWindowSensor (in my case) by isy-nodejs, for both the Sensor and Relay (due to same type), which doesn't support any relay like devices.

{
        "type": "7.0.65.0",
        "address": "1",
        "name": "(2450) IOLinc v.41",
        "deviceType": "DoorWindowSensor",
        "connectionType": "Insteon Wired",
        "batteryOperated": false
    }

Where homebridge-isy-js is still using the original code from rodtolls branch, thinking its a switch based device hence the sendLightCommand

I don't know enough TS or the intended design of these libraries but it seems isy-nodejs requires a new device type for IO Lincs to make this function right.

@pradeepmouli would my assumption be right?

pradeepmouli commented 4 years ago

Yep... oversight on my part....

Sent from my iPhone

On Aug 1, 2020, at 12:46 PM, Colin Swelin notifications@github.com wrote:

 I get the same error as @jasonlifeisguid.

The main problem is the IO Linc is being identified as a DoorWindowSensor (in my case) by isy-nodejs, for both the Sensor and Relay (due to same type), which doesn't support any relay like devices.

{ "type": "7.0.65.0", "address": "1", "name": "(2450) IOLinc v.41", "deviceType": "DoorWindowSensor", "connectionType": "Insteon Wired", "batteryOperated": false } Where homebridge-isy-js is still using the original code from rodtolls branch, thinking its a switch based device hence the sendLightCommand

I don't know enough TS or the intended design of these libraries but it seems isy-nodejs requires a new device type for IO Lincs to make this function right.

@pradeepmouli would my assumption be right?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

bigtalljv commented 4 years ago

hi,

Sorry I going to ask a dumb question here but I am new to this and I am not super familiar with how this works. I have a similar problem to the people above but I just get this for my garage door sensor:

[9/27/2020, 10:10:09] [ISY] Device Garage Garage Door- Sensor is not supported yet. [9/27/2020, 10:10:09] [ISY] Device Garage Garage Door- Relay is not supported yet.

That looks pretty straightforward of an answer but it seems that it was working earlier? or has partial support been removed while a permanent solution is devised?

I am running an ISY 994i (v5.0.16c), Homebridge 1.2.3, and homebridge-isy v0.5.0-rc23.

Thanks, Jason

pradeepmouli commented 4 years ago

Haven’t fixed that one yet, should work in the old version, homebridge-isy-js though. Just haven’t had anytime to fix some of these things....

Sent from my iPhone

On Sep 27, 2020, at 1:39 PM, bigtalljv notifications@github.com wrote:

 hi,

Sorry I going to ask a dumb question here but I am new to this and I am not super familiar with how this works. I have a similar problem to the people above but I just get this for my garage door sensor:

[9/27/2020, 10:10:09] [ISY] Device Garage Garage Door- Sensor is not supported yet. [9/27/2020, 10:10:09] [ISY] Device Garage Garage Door- Relay is not supported yet.

That looks pretty straightforward of an answer but it seems that it was working earlier? or has partial support been removed while a permanent solution is devised?

I am running an ISY 994i (v5.0.16c), Homebridge 1.2.3, and homebridge-isy v0.5.0-rc23.

Thanks, Jason

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

respectTheCode commented 4 years ago

I am getting the same error that @jasonlifeisguid is getting. Any chance this will get fixed?


[11/16/2020, 5:41:35 PM] TypeError: this.relayDevice.sendLightCommand is not a function
at ISYGarageDoorAccessory.sendGarageDoorCommand (/usr/lib/node_modules/homebridge-isy/src/ISYGarageDoorAccessory.ts:40:20)
at ISYGarageDoorAccessory.setTargetDoorState (/usr/lib/node_modules/homebridge-isy/src/ISYGarageDoorAccessory.ts:62:10)
at Characteristic.emit (events.js:223:5)
at Characteristic.EventEmitter.emit (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/EventEmitter.ts:42:22)
at Characteristic._this.setValue (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:652:12)
at /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:1439:24
at Array.forEach (<anonymous>)
at Bridge.Accessory._this._handleSetCharacteristics (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:1281:10)
at HAPServer.emit (events.js:223:5)
at HAPServer.EventEmitter.emit (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/EventEmitter.ts:42:22)
at HAPServer._this._handleCharacteristics (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/HAPServer.ts:812:12)
at IncomingMessage.<anonymous> (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/HAPServer.ts:280:24)
at IncomingMessage.emit (events.js:223:5)
at endReadableNT (_stream_readable.js:1185:12)
at processTicksAndRejections (internal/process/task_queues.js:81:21)```
respectTheCode commented 4 years ago

From looking over the code it looks like

        this.relayDevice.sendLightCommand(true, function() {
            callback();
        });

should be

        this.relayDevice.sendCommand(Commands.On).then(callback);

Does anyone have an environment to test this?

pradeepmouli commented 3 years ago

This should be a quick fix. I will try to take a look but my isy has been down for a month or so.

Sent from my iPhone

On Jan 16, 2021, at 11:38 AM, Colin Swelin notifications@github.com wrote:

 From looking over the code it looks like

  this.relayDevice.sendLightCommand(true, function() {
      callback();
  });

should be

  this.relayDevice.sendCommand(Commands.On).then(callback);

Does anyone have an environment to test this?

Commands isn't defined, so causes it to crash.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.