Jump to content
View in the app

A better way to browse. Learn more.

Universal Devices Forum

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Issue with Device Status when accessing through proxy

Featured Replies

Posted

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

 

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.

Edited by MWareman

  • Author

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.

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

The ISY does not support websockets

That'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)

Edited by MWareman

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

Archived

This topic is now archived and is closed to further replies.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.