# ISY994 Integration

**URL:** <https://forum.bondhome.io/t/isy994-integration/914>\
**Category:** Integrations\
**Created:** [October 5, 2019, 6:23pm UTC](https://forum.bondhome.io/t/isy994-integration/914 "2019-10-05T18:23:00Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![etsvilik](https://avatars.discourse-cdn.com/v4/letter/e/9f8e36/32.png) [@etsvilik](https://forum.bondhome.io/u/etsvilik)\
**Post date:** [October 5, 2019, 6:23pm UTC](https://forum.bondhome.io/t/isy994-integration/914/1 "2019-10-05T18:23:00Z")

</div>

For folks using ISY994.  
Bond works with ISY994 automation controller using Network Resources., local control

 ![Bond1](https://us1.discourse-cdn.com/flex019/uploads/bond1/original/1X/6f46d8b6b3bf746ca83b0cd7126d4725a1ace8c9.jpeg)  
The screenshot is showing as an example of a setup. Replace XXX with Bond Token. You can use a network name instead of the local IP address.

---

<div class="post-metadata">

**Author:** ![residualimages](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.bondhome.io/residualimages/32/74_2.png) [@residualimages](https://forum.bondhome.io/u/residualimages)\
**Post date:** [October 5, 2019, 11:28pm UTC](https://forum.bondhome.io/t/isy994-integration/914/2 "2019-10-05T23:28:45Z")

</div>

Yes indeed. Welcome, @etsvilik!

---

<div class="post-metadata">

**Author:** ![merck](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.bondhome.io/merck/32/1238_2.png) [@merck](https://forum.bondhome.io/u/merck)\
**Post date:** [October 7, 2019, 2:21pm UTC](https://forum.bondhome.io/t/isy994-integration/914/3 "2019-10-07T14:21:10Z")

</div>

@etsvilik: By the way, please do not depend on the `espressif` name there. We intend to change that to the Bond serial number in a future release.

---

<div class="post-metadata">

**Author:** ![residualimages](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.bondhome.io/residualimages/32/74_2.png) [@residualimages](https://forum.bondhome.io/u/residualimages)\
**Post date:** [October 7, 2019, 2:23pm UTC](https://forum.bondhome.io/t/isy994-integration/914/4 "2019-10-07T14:23:51Z")

</div>

Hopefully you can reserve an IP address in your router, or use Bond’s configuration option to set a static IP.

---

<div class="post-metadata">

**Author:** ![etsvilik](https://avatars.discourse-cdn.com/v4/letter/e/9f8e36/32.png) [@etsvilik](https://forum.bondhome.io/u/etsvilik)\
**Post date:** [October 7, 2019, 5:45pm UTC](https://forum.bondhome.io/t/isy994-integration/914/5 "2019-10-07T17:45:10Z")

</div>

Thanks for the note.  
I can always set the custom DNS name in my router(Verizon FIOS Actiontec). I had it done for all of my automation gear, cameras and all IPs set to static.

---

<div class="post-metadata">

**Author:** ![merck](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.bondhome.io/merck/32/1238_2.png) [@merck](https://forum.bondhome.io/u/merck)\
**Post date:** [October 7, 2019, 7:58pm UTC](https://forum.bondhome.io/t/isy994-integration/914/6 "2019-10-07T19:58:27Z")

</div>

> [@etsvilik](#):
>
> custom DNS name

Nice! I’ve never heard of anyone doing that within a home LAN. But I guess it still assumes an un-changing IP address of the Bond unit?

---

<div class="post-metadata">

**Author:** ![etsvilik](https://avatars.discourse-cdn.com/v4/letter/e/9f8e36/32.png) [@etsvilik](https://forum.bondhome.io/u/etsvilik)\
**Post date:** [October 7, 2019, 8:28pm UTC](https://forum.bondhome.io/t/isy994-integration/914/7 "2019-10-07T20:28:29Z")

</div>

Setting it “Static” on the router side reserves the IP address on the local network. On Verizon router, it is buried in the menu under Advanced/ IP Address Distribution/Connection List. Another way is to set up a dedicated IP range outside DHCP. I was just too lazy to do it. I let the chips fall first - then make it static.

I did this to avoid changing programs in various controllers, software when I replaced the device. Replacement will get a new IP and I only update DNS record .

---

<div class="post-metadata">

**Author:** ![jmmccormic](https://avatars.discourse-cdn.com/v4/letter/j/919ad9/32.png) [@jmmccormic](https://forum.bondhome.io/u/jmmccormic)\
**Post date:** [October 14, 2019, 12:31am UTC](https://forum.bondhome.io/t/isy994-integration/914/8 "2019-10-14T00:31:59Z")

</div>

Thanks etsvilik for pointing me in the right direction!

**Turn Light On:**  
PUT /v2/devices/_YOURBONDID_/actions/TurnLightOn HTTP/1.1  
Host: 192.168.1.178:80  
User-Agent: Mozilla/4.0  
Connection: Close  
Content-Type: application/json  
Content-Length: 14  
BOND-Token: _YOURBONDTOKEN_  
{  
“Light”: 1  
}

**Turn Light Off:**  
PUT /v2/devices/_YOURBONDID_/actions/TurnLightOff HTTP/1.1  
Host: 192.168.1.178:80  
User-Agent: Mozilla/4.0  
Connection: Close  
Content-Type: application/json  
Content-Length: 14  
BOND-Token: _YOURBONDTOKEN_  
{  
“Light”: 0  
}

**Set Fan Speed:**  
PUT /v2/devices/_YOURBONDID_/actions/SetSpeed HTTP/1.1  
Host: 192.168.1.178:80  
User-Agent: Mozilla/4.0  
Connection: Close  
Content-Type: application/json  
Content-Length: 17  
BOND-Token: _YOURBONDTOKEN_  
{  
“argument”: 3  
}

**Turn Fan Off:**  
PUT /v2/devices/_YOURBONDID_/actions/TurnOff HTTP/1.1  
Host: 192.168.1.178:80  
User-Agent: Mozilla/4.0  
Connection: Close  
Content-Type: application/json  
Content-Length: 14  
BOND-Token: _YOURBONDTOKEN_  
{  
“Power”: 0  
}

---

<div class="post-metadata">

**Author:** ![jacob](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.bondhome.io/jacob/32/312_2.png) [@jacob](https://forum.bondhome.io/u/jacob)\
**Post date:** [October 14, 2019, 12:43pm UTC](https://forum.bondhome.io/t/isy994-integration/914/9 "2019-10-14T12:43:24Z")

</div>

> [@jmmccormic](#):
>
> PUT /v2/devices/ _YOURBONDID_ /actions/TurnLightOn HTTP/1.1  
> Host: 192.168.1.178:80  
> User-Agent: Mozilla/4.0  
> Connection: Close  
> Content-Type: application/json  
> Content-Length: 14  
> BOND-Token: _YOURBONDTOKEN_  
> {  
> “Light”: 1  
> }

FYI, the body with “Light” isn’t necessary, the action is fully specified by its name (“TurnLIghtOn”). Same for “TurnLightOff” and “TurnOff”. The “argument” for “SetSpeed” is correct.

---

<div class="post-metadata">

**Author:** ![etsvilik](https://avatars.discourse-cdn.com/v4/letter/e/9f8e36/32.png) [@etsvilik](https://forum.bondhome.io/u/etsvilik)\
**Post date:** [October 14, 2019, 2:40pm UTC](https://forum.bondhome.io/t/isy994-integration/914/10 "2019-10-14T14:40:13Z")

</div>

I believe you still need those.  
I found that Network Resource errors out without Body arguments.  
Also body argument keeps the current status in sync across devices.  
For example “TurnOn” with argument “0” will still work and will turn the fan On. However the status in Bond Bridge will show “Off”.

---

<div class="post-metadata">

**Author:** ![merck](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.bondhome.io/merck/32/1238_2.png) [@merck](https://forum.bondhome.io/u/merck)\
**Post date:** [October 14, 2019, 2:49pm UTC](https://forum.bondhome.io/t/isy994-integration/914/11 "2019-10-14T14:49:21Z")

</div>

> [@etsvilik](#):
>
> I found that Network Resource errors out without Body arguments.

Sometime HTTP libraries don’t like PUT/PATCH/POST without bodies. You can try the body `{}` in that case. But I can assure you that `actions/x` APIs only look at `argument` field, and for TurnLightOn/TurnLightOff/TurnOn, they should actually return a 400 error if you provide an argument other than `null`.

---

<div class="post-metadata">

**Author:** ![residualimages](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.bondhome.io/residualimages/32/74_2.png) [@residualimages](https://forum.bondhome.io/u/residualimages)\
**Post date:** [October 14, 2019, 2:52pm UTC](https://forum.bondhome.io/t/isy994-integration/914/12 "2019-10-14T14:52:19Z")

</div>

I’ve been using an empty {} body for ISY for most of this year (see [here](https://forum.bondhome.io/t/local-api-control-integrating-with-isy994i/297/2)).

---

<div class="post-metadata">

**Author:** ![kingwr](https://avatars.discourse-cdn.com/v4/letter/k/ecc23a/32.png) [@kingwr](https://forum.bondhome.io/u/kingwr)\
**Post date:** [January 17, 2020, 10:37pm UTC](https://forum.bondhome.io/t/isy994-integration/914/13 "2020-01-17T22:37:57Z")

</div>

There is a Nodeserver for Polyglot/Polisy now that will support your Bond Bridge (and, presumably, SBB devices) on the ISY 994i.

---

<div class="post-metadata">

**Author:** ![emejim](https://avatars.discourse-cdn.com/v4/letter/e/f07891/32.png) [@emejim](https://forum.bondhome.io/u/emejim)\
**Post date:** [October 29, 2020, 5:57pm UTC](https://forum.bondhome.io/t/isy994-integration/914/14 "2020-10-29T17:57:13Z")

</div>

I realize that this is an old post but, I just wanted to say THANK YOU! for the comment about adding the empty {} in the body. I had been banging my head on my computer for an hour before I found this. This fixed it.
