Enabling Alexa InControl / Axial Control plugin(s)

  • 483 Views
  • Last Post 28 November 2017
LeapFrog posted this 28 November 2017

Hey Ryan - Here's another one....

What is the "right" process for enabling an Alexa skill and connecting ICHA/Axial Control to the Alexa plugin?

There seem to be two Alexa skills published: 

https://alexa.amazon.com/spa/index.html#skills/search/incontrol/?&ref-suffix=sb_gw 

Which one should a new user install?  I've tried both and while Alexa reponds to "Ask InControl to..." with both of them nothing happens. With InControl the "Discover Devices" comes up empty, but without any error messages.  When attempting activation there are no log entries for a specified device, and no complaints from Alexa about a missing device.

Is this "linking" page obsolete and if so shouldn't it be removed?  http://www.incontrolha.com/alexa

I've also tried the newer "Axial Control" skill referenced in the Forums and was able to link it with my Axial Server account.  However, when I do a Discover Devices the only thing that shows up in the "Devices" tab are my scenes, and the "Scenes" tab is empty.  I noticed that I had some special characters (dash and forward slash) in the scene names, so I removed those, disabled the Axial Control skill and re-enabled it, and logged in using my Axial Control username (email) and password.  The special characters in the scene names (shown in the Device panel) were still there.

I am using direct connect as well as the cloud account - is that a problem?

Any help welcome.

 

Order By: Standard | Newest | Votes
rscott posted this 28 November 2017

Both skills work still. When you install and enable the skill, you'll be redirected to a page where you can link it. Linking involves logging into AxialControl.com using the same user/pwd that you use in your Axial Server on your PC. If your server uses a password, you'll also need to visit your "Profile" page on axialcontrol.com to provide your server's password.

LeapFrog posted this 28 November 2017

I did all that and still no joy.  In any case why do the scences show up where the Devices are supposed to be?

On a related (?) topic - I had the InControl app installed on several devices and it has been working fine using my local PC server (bypassing the cloud server).  I decided to check it to see if it would work with the cloud server, and when I started it the device list included a number of devices from one of my customer's sites where I'd been helping with an installation using his cloud server login.  I couldn't find a way to remove the devices so I uninstalled the app and went to the Play store to reinstall it.  Apparently it has been replaced by the Axial Server versions.  Do those of us with Pro versions of the old InControl software now have to pay for the Axial app?  

LeapFrog posted this 28 November 2017

And another strange thing... I noticed on my axialcontrol.com profile that the user name is set to something other than my email address - I decided to try logging off and logging back on (https://axialcontrol.com/Account/login) using my user name rather than my email address and got this instead of a login screen:

Server Error in '/' Application.


Object reference not set to an instance of an object.

 Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:

Line 23: @using (Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl })) {
Line 24:     @Html.AntiForgeryToken()
Line 25:     @Html.Raw(HttpUtility.HtmlDecode(Html.ValidationSummary(true).ToHtmlString()))
Line 26: 
Line 27:     <div class="container">


Source File: c:\inetpub\www.axialcontrol.com\Views\Account\Login.cshtml    Line: 25

Stack Trace:

[NullReferenceException: Object reference not set to an instance of an object.]
   ASP._Page_Views_Account_login_cshtml.Execute() in c:\inetpub\www.axialcontrol.com\Views\Account\Login.cshtml:25
   System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +197
   System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +104
   System.Web.WebPages.StartPage.RunPage() +17
   System.Web.WebPages.StartPage.ExecutePageHierarchy() +64
   System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +78
   System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) +236
   System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) +107
   System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +291
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) +13
   System.Web.Mvc.<>c__DisplayClass1a.<InvokeActionResultWithFilters>b__17() +23
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) +245
   System.Web.Mvc.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19() +22
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +176
   System.Web.Mvc.Async.<>c__DisplayClass2a.<BeginInvokeAction>b__20() +68
   System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult) +99
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +50
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27
   System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult) +14
   System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +16
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +50
   System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +36
   System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +16
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +50
   System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +26
   System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10
   System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult) +25
   System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +16
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +50
   System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +28
   System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9644037
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155



Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.6.1055.0             

 

rscott posted this 28 November 2017

Does device discovery show devices? I'll assume it does since you mentioned scenes (btw, Alexa used to not have scenes, everything was intermingled - they only recently added scenes, but since we are using their original API, it still mixes them up). 

  • Are you located in North America? 
  • Is your Axial Server app authenticated and linked using the same AxialControl.com account that you linked to your Alexa Skill? (visit toos/options/AxialControl.com to verify)

The mobile app is the same, it only went through a name change. Since it's the same package, I wouldn't expect Google to try to charge you again. As for the customer devices, if your customer's Axial Server program is using your AxialControl.com user name, it would mix your devices in with his.

LeapFrog posted this 28 November 2017

Hi Ryan - Yes, I'm in the U.S. - you may recall our conversations from 2013 and forward when we were debugging earlier versions of InControl...er, Axial Server.

Regarding: "As for the customer devices, if your customer's Axial Server program is using your AxialControl.com user name, it would mix your devices in with his." - That is not the case, I had used the app by changing the login to his cloud username and password just to check for proper operation, and the devices stayed (cached?) in the device list even after I changed back to my own login.  To be fair, this is with the InControl HA 3.3 app so it may be something you've fixed along the way.

Anyway, Device Discovery in the Alexa skill shows only scenes - no devices.  I used the InControl android app and logged in using my AxialControl.com account credentials to the cloud server (not direct connect) and everything looks fine.

"Is your Axial Server app authenticated and linked using the same AxialControl.com account that you linked to your Alexa Skill? (visit toos/options/AxialControl.com to verify)" - Yes - although my Axial Server 4.1.6325 displays this in Tools / Options / InControlHa.com instead of Tools / Options / AxialControlcom.

 Another data point: I installed a fresh copy of InControl app on a tablet, and connected via the cloud server.  After doing a reconnect and refresh none of the devices showed up.  I then connected using direct connect to my PC server and the devices and scenes showed up normally.

And another data point: I noticed that while the email address and password at Tools / Options / InControlHa.com is correct the information at Tools / Cloud Registration was always blank.  I tried filling in my AxialControl.com account credentials but that didn't seem to change anything, and I didn't find any indication of a change or error in the logfile either.  So I though, hey, I wonder what happens if I try to register with my existing user name (email) and password?  So I attempted that and the application crashed.  This probably has nothing to do with our issue but it might be something for you to follow up on later.

Logfile and Windoze Application Crash log: 

https://gist.github.com/anonymous/844e5b37207eed74da41ba41be17af4f/archive/8562e28ac7aacab0ffab07a58fa5e38f5e73da4e.zip 

LeapFrog posted this 28 November 2017

Aha!  You must have fixed it.  Now all the devices show up in the InControl HA app and are also shown in Alexa's skill Device Discovery.  And Alexa works fine, at least for the few devices that I tried.

What was the problem?

rscott posted this 28 November 2017

Hmm, no change here, though we did push out an update an hour or so back that fixed the login error you mentioned. Are you saying that Alexa works as well?

LeapFrog posted this 28 November 2017

Yes, Alexa works.  I did see a popup dialog box saying something about an update being applied but I thought that might have been associated with an update to the open_weather plugin:

Most recent session log here:

https://gist.github.com/anonymous/796c53643779b1c3be6a04d9f57193a6/archive/d0e8e71638d47797b3665dae69692e5364e89c69.zip

 

 

LeapFrog posted this 28 November 2017

I also checked several android devices that are using the InControl HA app and now they all work when logged in to the cloud server.  Earlier this afternoon they only worked when logged in via Direct Connect.

Thanks so much for the (as always) most excellent support!

Close