Hi all,
I've had an EnvisaLink 4 installed on my Honeywell panel for about a year now. I'm using the EnvisaLink Homebridge plugin to bring my alarm into HomeKit and it's been working great! The only thing that recently became somewhat of an issue for me (more like an inconvenience really) is the fact that the TPI port can only take one connection at a time. I'm pretty sure that this is not a big deal for most but I've seen a few of you in this forum ask about it before, so I figured I'd share here that I just put out a Node.js library (that can be integrated into other apps, plugins, etc.) and a Docker image (to launch a standalone app) that works as a proxy to the TPI port, allowing multiple concurrent connections.
It's a somewhat dumb proxy in the sense that it doesn't really care for what's being sent/received. It will connect to EnvisaLink, authenticate itself, and then for every client that connects to it, it will replicate the authentication flow and from there on it simply forwards all traffic between the EnvisaLink and the clients connected to the proxy. The only thing it knows about the protocol is the authentication flow, everything else will be blindly forwarded. (different than what NodeAlarmProxy does, where it actually parses the messages).
Here's where you can find the code if you're interested:
https://github.com/barros001/envisalink-proxy
https://github.com/barros001/envisalink ... link-proxy
And here's a Docker image that launches a proxy:
https://hub.docker.com/r/barros001/envisalink-proxy
I just put this together rather quickly and haven't extensively tested it yet (although my Homebridge plugin has been connected to it for over 24 hours now without a problem), but given it's a pretty simple proxy, I don't see much going wrong here. Hope this can be helpful to someone. One thing to note is that it only supports the Honeywell version of the protocol as I do not have a DSC panel to test out.
On a related note, the reason this became an issue for me is that I'm working on a mobile app (iOS only for now) that acts as a virtual keypad for your alarm panel, using the EnvisaLink TPI protocol. It basically replicates an alphanumeric keypad, with the keys, two alphanumeric lines, and an ARMED and READY indicator. I only have two old fixed display keypads and had a really hard time programming my system but instead of purchasing an alphanumeric keypad, I thought I'd just try something new and I wrote this little app. It's not launched yet but if anyone wants to take it for a test, please let me know and I'll be glad to add you as a beta tester. As with the proxy, it only supports Honeywell panels for the time being.
Feel free to reach out if you have any questions or if you'd like to give the app a try. Thanks for your time!
EnvisaLink TPI Proxy
Moderators: EyezOnRich, GrandWizard
Re: EnvisaLink TPI Proxy
A few weeks ago I received a notification that I new reply was posted to this thread and the poster was asking to test the mobile app. It took me a while to come back to respond and the reply is now gone for some reason. Anyways, I figure I'd drop the iOS TestFlight link here for anyone that wants to give it a try (it expires in about 2 months).
https://testflight.apple.com/join/ad2WLyqN
This is not a link to the AppStore, but rather a link to the test version of the app. You will need to download the official TestFlight app in order to install this test build.
Unfortunately, I don't think this app will ever see the light of the day because Apple is requiring some documentation showing that the app is allowed to use the EnvisaLink trademark (I can't make an app for it without mentioning it somewhere) and also they want documentation that shows that the app is also allowed to "control the EnvisaLink device" (odd requirement but common for apps that interact with 3rd party hardware). I attempted contacting EyezOn but I did not succeed in getting such authorization from them. For this reason I don't think I'll ever be able to publish the app. It was a good learning exercise though so that's fine
https://testflight.apple.com/join/ad2WLyqN
This is not a link to the AppStore, but rather a link to the test version of the app. You will need to download the official TestFlight app in order to install this test build.
Unfortunately, I don't think this app will ever see the light of the day because Apple is requiring some documentation showing that the app is allowed to use the EnvisaLink trademark (I can't make an app for it without mentioning it somewhere) and also they want documentation that shows that the app is also allowed to "control the EnvisaLink device" (odd requirement but common for apps that interact with 3rd party hardware). I attempted contacting EyezOn but I did not succeed in getting such authorization from them. For this reason I don't think I'll ever be able to publish the app. It was a good learning exercise though so that's fine
-
- Posts: 2321
- Joined: Tue Nov 16, 2010 4:08 pm
Re: EnvisaLink TPI Proxy
What a pain in the butt. We had the same problem with our Google Home app. We were delayed 6 months because we couldn't prove, to one tester's satisfaction, that we owned the company called Eyezon or had rights to refer to the Envisalink! Crazy but true.
Re: EnvisaLink TPI Proxy
Yep, it's a huge pain. How did you end up solving your problem?GrandWizard wrote: ↑Thu Feb 15, 2024 11:13 am What a pain in the butt. We had the same problem with our Google Home app. We were delayed 6 months because we couldn't prove, to one tester's satisfaction, that we owned the company called Eyezon or had rights to refer to the Envisalink! Crazy but true.
-
- Posts: 2321
- Joined: Tue Nov 16, 2010 4:08 pm
Re: EnvisaLink TPI Proxy
I'd like to say it took an army of lawyers but in reality, our Alexa/Google group re-started the approval process under a different project number which handed it to a different tester who didn't seem to care about this aspect of the app approval. Approved!
Re: EnvisaLink TPI Proxy
That makes sense.. I might try something similar with Apple but I don't think it's gonna fly with them. I'll eventually try to port this over to Android, I might have better luck over there. Thanks for sharing your experience.GrandWizard wrote: ↑Mon Feb 19, 2024 2:22 pm I'd like to say it took an army of lawyers but in reality, our Alexa/Google group re-started the approval process under a different project number which handed it to a different tester who didn't seem to care about this aspect of the app approval. Approved!