MustangChris04 Posted January 25, 2015 Posted January 25, 2015 I'm having an issue with the Android app (and iOS) when trying to view the device's status when connected through a reverse proxy. The REST commands are working fine; I can sync and control devices. The only issue is that it shows all the devices as OFF and will not sync the status of the devices. I do see the subscribe requests going through though, but I suspect IIS doesn't know how to handle it or can't keep a socket open. Any ideas? Thanks, Christopher
MWareman Posted January 25, 2015 Posted January 25, 2015 Are you trying websockets? Or the proprietary subscription? Problem is, the ISY sees the connection coming from the proxy, so that's where the data is sent. Your client never sees it. When using Apache as a proxy there is a module for proxying websockets correctly, but I've never tested it so cannot offer any advise on it. I do know I could not get the older subscription method working at all thru any proxy due to its design.
MustangChris04 Posted January 26, 2015 Author Posted January 26, 2015 I'm using MobiLinc on android, so I assume it is using the subscription method. Is there a way to change MobiLinc to use websockets? If so, I think there is a possibility of getting this to work.
InsteonNut Posted January 26, 2015 Posted January 26, 2015 Hi Christopher, The ISY does not support websockets (and neither does MobiLinc...MobiLinc is 100% TCP/IP based). The subscription channel from the ISY delivers all the real-time status information to clients like MobiLinc or the Admin Console. This is an open socket connection from the ISY to the client that the client initiates. I suspect you will have a difficult time getting a reverse proxy to work with the subscription channel. Wes
MWareman Posted January 26, 2015 Posted January 26, 2015 The ISY does not support websocketsThat's not true since ISY 4.2.something. I would hope that MobiLinc could switch over since it will make reverse proxying at least possible! Edit. Its 4.2.3. See Michel's post here: http://forum.universal-devices.com/topic/10773-time-to-revisit-websockets/page-2 (#36)
InsteonNut Posted January 26, 2015 Posted January 26, 2015 Ah, interesting. I must have missed that. To be upfront, it wouldn't be easy to switch over. Websockets were designed to overcome long term connection issues with a web browser. There's very little info on these as it is in the web dev world. I've done just enough research on app dev and websockets that I'm not even sure it's easily possible without writing your own WS stack for iOS/Android with authentication (looks like there's a lot of issues with the known WS Javascript libraries and authentication already. And WS was written for the web browsers!). In short, trying to make WS fit into a software app just to get around/through a reverse proxy is a mess of a mashup of non-native technologies trying to work with each other. The good news is we already have a solution with our MobiLinc Connect service. I realize that you and Christopher are likely not interested in a cloud service, but this absolutely solves the remote access issue without exposing the ISY. And it works Wes
Recommended Posts
Archived
This topic is now archived and is closed to further replies.