grahamk Posted January 3, 2016 Posted January 3, 2016 I have a generation one ipad in my nightstand I use for HA tasks mostly, and an android phone - Samsung S5. Mobilelinc is pretty much useless on the S5. I press a button and have no idea whether it worked, it just sits there and then will update the screen a bit later - sometimes 10-15 seconds later. I loaded the free version on the ipad just for grins and the response is instant. Anyone know what drives the difference? If the android app worked as instantly as the ipad I'd be able to see buying this product and standardizing on it..... but as it stands I'm still looking for the "right" thing.
MWareman Posted January 4, 2016 Posted January 4, 2016 I have a generation one ipad in my nightstand I use for HA tasks mostly, and an android phone - Samsung S5. Mobilelinc is pretty much useless on the S5. I press a button and have no idea whether it worked, it just sits there and then will update the screen a bit later - sometimes 10-15 seconds later. I loaded the free version on the ipad just for grins and the response is instant. Anyone know what drives the difference? If the android app worked as instantly as the ipad I'd be able to see buying this product and standardizing on it..... but as it stands I'm still looking for the "right" thing. Long experienced the same issue. Wes seems unconcerned with the extreme difference - generally blames ISYs SSL performance even though I'm using plain HTTP. It's been that way thru several generations of Nexus devices. Mobilinc on my old iPad2 is instant. Both using identical connection settings (HTTP, local lan - not Mobilinc Connect). I gave up, and am using custom Tasker scenes/tasks/profiles to manage my ISY from Android.
InsteonNut Posted January 4, 2016 Posted January 4, 2016 MWareman, Wes seems unconcerned with the extreme difference I'm curious where I've given this impression and my apologies if I have. I'm concerned with any difference in performance of the MobiLinc apps. When I've looked at this issue before I've never been able to reproduce it. Also, in the 6 years on Android I've never seen delays like this ever over HTTP from Android 2.x-5.x today. grahamk, Where I have seen delays is if the ISY's HTTPS cert was replaced with a custom cert. If the custom cert is using a long key length 1024 or longer then it's possible that these long delays over HTTPS might occur, although with the latest ISY firmware this HTTPS handshake time has improved. If you are interesting in running a test, here's what I would suggest: - Delete MobiLinc - Reboot the Android device - Update your ISY's firmware to the latest official release. - Reinstall MobiLinc - Open MobiLinc and go to Settings->Lighting Controller and change the Connect Method to HTTP - Configure MobiLinc for HTTP only and sync. - Verify you can sync with your ISY without issues. Wes
grahamk Posted January 4, 2016 Author Posted January 4, 2016 Darn. If it doesn't work well on Android I am not going to take the time to show my lovely wife how to use it.I guess it's time to take a Tasker 101 or perhaps consider a custom webpage for my normal tasks using the API.
InsteonNut Posted January 4, 2016 Posted January 4, 2016 grahamk, As far as we know there are no performance issues with MobiLinc on Android. I would encourage you to try the steps I outlined above. Wes
grahamk Posted January 4, 2016 Author Posted January 4, 2016 - Delete MobiLinc - Reboot the Android device - Reinstall MobiLinc - Open MobiLinc and go to Settings->Lighting Controller and change the Connect Method to HTTP - Configure MobiLinc for HTTP only and sync. - Verify you can sync with your ISY without issues. Wes I will try this. Does it matter that I am running 5.0.2 on the ISY? I am zero percent concerned with running https on my home network.
InsteonNut Posted January 4, 2016 Posted January 4, 2016 grahamk, 5.0.2 shouldn't matter, but please be aware that this firmware version is still in beta. The best test would be to revert back to the official firmware release for the ISY as that is was we test against for MobiLinc releases. Wes
grahamk Posted January 4, 2016 Author Posted January 4, 2016 Wes, The steps you provided significantly improved performance. Watching the ISY event viewer while using the app shows very fast response time now from the S5. Testing is underway again. Thanks, Graham
MWareman Posted January 4, 2016 Posted January 4, 2016 Wes, Maybe I was a bit harsh - I apologize. I tried a HTTP-Only profile on my Android 6 Nexus 9, and it works reasonably well on Android. It's when there is a profile with HTTP and HTTPS URLs (and Autodetect selected) or simply a HTTPS-only profile that it takes *forever* when you open the app before you can control anything. On IOS, this issue doesn't exist - but its been this way for a long time on Android - across multiple versions (of Mobilinc and Android) and on multiple Nexus phones and tablets. The speed on IOS is what I would expect given the processor constraints of the ISY (in regards to SSL) - but the difference between IOS and Android when using SSL is *very* noticeable when you have them side by side.
InsteonNut Posted January 5, 2016 Posted January 5, 2016 Thanks MWareman, This is boiling down to how the difference mobile OS's handshake with SSL. When using HTTPS on iOS and Android I see the same response time (about 3 seconds or less to make that initial handshake) using the ISY's default built-in cert. If this cert is replaced with a stronger cert like 1024 to 2048 there are quite long handshakes that occur on both sides of the exchange. The ISY's processor will take about 20 seconds (although with the latest firmware this has improved) if the cert strength is 2048. The iOS OS and MobiLinc is setup to wait up to 30 seconds and does eventually connect. Android is different. We can only wait about 10-15 seconds on Android before falling the connection handshake. There are several reasons for this, some are not in our control in the MobiLinc/Android app. Not to mention that no two versions of Android are the same even the same version number but from different vendors are different. In our testing, we test against stock Android OS and we see the same performance of HTTPS as iOS with the 10-15 caveat. The advice I always give for Android users that want to use a custom cert is to use a key strength of 1024 or less or use MobiLinc Connect where you get the high-strength of 2048, but virtually no delay. Wes
MWareman Posted January 5, 2016 Posted January 5, 2016 You cannot get 1024 bit certs from any publically trusted CA anymore. 2048 is what I have and dispute that Chrome on my Nexus 9 takes a whopping 3 seconds to negotiate SSL to my ISY when on the local network. Mobilinc on the other hand takes absolutely forever on HTTPS and often is completely unusable. Your explanation of a timeout seems to explain what's going on - but I still don't understand why something that Chrome does in 3 or 4 seconds cannot be done by Mobilinc within the same timeframe. You say some reasons are not in your control - and I accept that. What are the things that are in the apps control?
InsteonNut Posted January 6, 2016 Posted January 6, 2016 MWareman, but I still don't understand why something that Chrome does in 3 or 4 seconds cannot be done by Mobilinc within the same timeframe. I don't fully understand this either as to what Chrome is doing differently than MobiLinc. I don't have visibility into Chrome or how the ISY serves its web pages differently than Admin Console/MobiLinc (these are presumably different paths inside of the ISY) . All I can say is that the MobiLinc app uses the Android stock network API calls for communication. The delay we see for custom 2048 bit installed certs is outside of the MobiLinc/Android app. Wes
MWareman Posted January 6, 2016 Posted January 6, 2016 Thanks Wes. I will add that Tasker talking directly to the ISY REST interface over HTTPS experiences delays (in my case) in the 3-4 second range. So compatible to what Chrome achieves. It's clear that Mobilinc is doing something different to cause the timeout to be hit and have its connection reset before its fully synched on start. I really don't have any visibility into this and simply cannot troubleshoot it myself. In production, I use my own SSL proxy for Tasker (and the IFTTT Maker channel) - and the response is down to 300-400ms. This is my primary method now (due to the speed increase and the ability to do tokenized authentication meaning I don't have to give my ISY credentials to a third party) - but the proxy won't work with a soap subscription (due to the way ISY pushes events back to the apparent source socket - meaning the events get sent to the proxy and not the calling client) - so Mobilinc cannot use it. Hence my general frustration - and move to using Tasker scenes and tasks to reimplement what I need. It's really a shame. We are all Android in my house and while Mobilinc can be usable inside over HTTP, the requirement to use auto-switching and have a SSL setting for external access makes the tool unusable to us.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.