Client Suite 2.1

Community contributed apps
dmolton
Posts: 182
Joined: Tue Mar 22, 2011 11:08 am

Client Suite 2.1

Post by dmolton »

Hey Guys.

Just finished up development for the RA Client Suite 2.1. The big thing in this version is Relay Expansion box support, though there are a bunch of other features added and bug fixes.

Important:

The installer has been significantly modified. Previously, I was attempting to update some configuration and database files from the installer itself. This caused a number of issues right away, and also made future upgrades difficult. To rectify this, the installer will now come in two parts. A normal Client Suite MSI Installer like we're all used to, and also a "Upgrade Assistant" utility. If you are installing a fresh version of the suite, then there is no need to worry about the upgrade utilities, you will get the already upgraded database and config files each time you run the main installer. If you care about retaining your historical data, settings and profiles - you will need to follow a specific upgrade path.

The gist of it is, you will need to backup your database and config files, then do a full Uninstall of the 2.0 suite. After that you need to install the newest 2.1 copy, followed by restoring your backed up files and then upgrading them with the Upgrade Assistant. I've made a video of how the exact process works below.

Because of the 2.0 issues, it is necessary to uninstall 2.0 through the control panel in order to upgrade, ONLY this one time. Each upgrade from here on out will not require you to back anything up or uninstall anything. You will just need to run the MSI Installer followed by the Upgrade Utility.

HOW TO INSTALL:

A Fresh Copy:
  1. If you're running 2.0 and want to start from fresh, make sure you STOP the Listener and Logger service and fully exit the Client. Uninstall 2.0 from the Control Panel fully once everything is stopped.
  2. Run ReefAngelClientSuite.msi and follow the prompts. Congratulations, you're at the latest version of the Client Suite.
Upgrade From 2.0:
  • From the Client, browse to Settings -> General Tab. Press "Launch Service Dash". Stop both services. Close Service Dash
  • FULLY Exit the Client by going to File-> Exit or right clicking and pressing Exit on the blue fish in the system tray. The upper right "X" will only minimize it!
  • Run the RAClientMigrate.exe and press "Backup". Exit utility. This step backs up your existing configuration files and database history.
  • Uninstall Client Suite 2.0 from the Control Panel. You shouldn't get any errors if all the services are stopped and the client is fully closed.
  • Install the latest 2.1 Client Suite software from the MSI. (ReefAngelClientSuite.msi)
  • Immediately restore your data by running the RAClientMigrate application again and pressing "Restore". Exit.
  • Upgrade your restored files by running the UpgradeAssistant.exe application. This will go through and get your legacy database files and configuration files 2.1 ready.
  • Finished! Run the Client and go back into Settings -> General tab and run the Service Dash. Make sure both your services are in the running state.
Youtube video on how to upgrade:
http://www.youtube.com/watch?v=RWRejvlNBhA

RAGen.exe notes:
In order to enable expansion support in the Client Suite, you will need to enable it first in RAGen.exe features tab. This will put an entry in your arduino0022/libraries/ReefAngel_Features/ReefAngel_Features.h file that looks like this:

Code: Select all

#define RelayExp
If you do not have an expansion box, then there's no need to enable it in RAGen.exe and you can still use the Client Suite like normal.

If you are running over USB, the feature "PC Logging" is no longer needed/provided/supported. If you have a current sketch file that you are running with this enabled, please remove it. Either by creating a new sketch from RAGen with the feature disabled or manually removing the following lines inside the pde sketch file:

Code: Select all

// Timer used to indicate when to dump the parameters
ReefAngel_TimerClass ParamTimer;
...
ParamTimer.SetInterval(15);  // set interval to 15 seconds
ParamTimer.Start();
...
 // Dump Params
if(ParamTimer.IsTriggered())
{
    ParamTimer.Start();
    ReefAngel.PCLogging();
}
Summary:
Wifi OR USB = #define wifi
Expansion box? = #define RelayExp
No More PCLogging!



Notes on Expansion Box Functionality:
To enable an expansion box, you need to go into Settings -> Relays tab and along the top are checkboxes 1-9 representing the possible boxes the suite/controller can support. By default, 1 will always be enabled (your standard box) and then you can toggle up to 8 additional boxes.

Each box can have 8 individually named relays. If you don't enable an expansion box, the client will display the relays like normal. 2 or more enabled boxes will display a yellow name in the center of the relays letting you know which box you are currently viewing. Also, you will see an up/down arrow next to the 8 relays with a number between them. This also shows the current box index that is displayed. Pressing up/down will scroll through the enabled boxes from the previous step, with the yellow name and index updating accordingly. Each box relay can be individually controlled by right-clicking the status like normal. Also, each box has its own set of profiles. Pressing the triangle button to the right of the relays will pop-up the profiles associated with that relay box. This means you can only have 1 active profile to a box at a time. Or in other words, you can apply a profile to box1, scroll up to view box2 and then apply another profile to box2. Each box would then have its own active profile applied to it. Here's a video demonstrating that functionality:

http://www.youtube.com/watch?v=QpTpeDn3yZs


ChangeLog:
  • - Removed label next to email recipient as it implied gmail addresses are the only supported. This is not the case.
    - Added validation for gmail addresses before enabling SMS/Email notifications.
    - USB setup no longer requires PC Logging enabled in RAGen. Client Suite will always pull data instead of controller pushing.
    - Added Relay Expansion support.
    - Fixed bug in Service Dash that would stop users from switching to USB after choosing WiFi
    - Only allow 1 instance of Client to run at a time
    - Available COM Ports in Dashboard are now read from computer and listed rather than a user entered textbox.
    - Fixed bug that would keep icon in system tray after fully exiting the Client
    - Various service related checks now take place during install/uninstall
    - Created a new utility to facilitate upgrading Client Suite in the future (Upgrade Assistant)
    - Removed Database and Configuration file logic from installer
    - Aggregate values are now displayed at start-up as expected, if they are enabled in the settings screen.
    - Fixed bug that would send cold notifications on the third sensor without hitting defined threshold
    - Updated the image on Settings screen to display version 2 of the Relay Box.
    - Fixed bug that would always display 3D settings when switching to Chart view from Grid View
    - Whole number temperatures are now formatted correctly on the Client with one fixed figure after the decimal. i.e 136.0
    - Whole number temperatures and pH values are now correctly sent to ReefAngel.com taking into account the fixed digit after the decimal.
    - Added custom SMS Carrier feature which lets users add their own carriers that are not included in the default list.
    - Added customizable temperature labels.

Where to Download?

ReefAngel Client Suite 2.1:
https://github.com/davemolton/Client-Suite-Installer

Upgrade Utilities:
https://github.com/davemolton/Client-Su ... -Assistant

Like normal, Curt's latest dev libraries are required for the Suite to work properly. This means as of today, 0.8.5.14

As always, questions/comments/feedback is appreciated.

-Dave
Last edited by dmolton on Mon Mar 28, 2011 5:38 am, edited 1 time in total.
dmolton
Posts: 182
Joined: Tue Mar 22, 2011 11:08 am

Re: Client Suite 2.1

Post by dmolton »

Also wanted to mention, a significant change on how the Suite communicates with the controller has been optimized with some help from Roberto. Previously, if you had the Suite setup to talk over wifi, you were not able to view the built in web server app on the adapter. The webpage and the Client would end up conflicting with each other and both would timeout. This is the webpage you can view from any browser with the help of some port-forwarding. The Client Suite and the built in webserver now play nicely:

Image
alexwbush
Posts: 327
Joined: Tue Mar 22, 2011 12:45 am
Location: San Diego, CA

Re: Client Suite 2.1

Post by alexwbush »

this is like christmas! I wish I had seen this earlier! I'll upgrade tomorrow... though I'm still having wifi problems. My wifi module won't even pull up in the Tera program. I might need to start from scratch with it :(

Nice video! Can you change the name of the temp sensors? Also do you run wifi or hardwired for USB? You have pretty quick response times (although you might be just running a demo).
dmolton
Posts: 182
Joined: Tue Mar 22, 2011 11:08 am

Re: Client Suite 2.1

Post by dmolton »

alexwbush wrote:this is like christmas! I wish I had seen this earlier! I'll upgrade tomorrow... though I'm still having wifi problems. My wifi module won't even pull up in the Tera program. I might need to start from scratch with it :(

Nice video! Can you change the name of the temp sensors? Also do you run wifi or hardwired for USB? You have pretty quick response times (although you might be just running a demo).
Hey Alex, I also can't connect to my adapter with TeraTerm. I'm not too sure what I"m doing wrong either, but everytime I press connect, the whole application stops. Not sure..

Also, thanks for reminding me! Yes, this new version supports customizable temperature labels. I edited the changelog on my first post. The labels you choose to rename the sensors to, are the same that get sent to reefangel.com with your ID for viewing the banners with.

I'm running over wifi in my setup. My office is now upstairs nowhere near my tank downstairs, so it's my only option. (Though I do test w/ a Win7 and XP laptop near the tank over USB) The video was taken from the same version available on github right now. I don't have a demo version or anything that's speedier than the one online.
alexwbush
Posts: 327
Joined: Tue Mar 22, 2011 12:45 am
Location: San Diego, CA

Re: Client Suite 2.1

Post by alexwbush »

very cool. I need to track down my wifi issues... otherwise this doesn't do much good if I can't communicate with it! I'm guessing it won't show all 8 relays on any of the current banners. I sent Roberto a mock up for a quick and easy banner I put together for 8 relays. We'll see, soon enough!
bmhair03
Posts: 166
Joined: Sun Mar 20, 2011 1:22 pm

Re: Client Suite 2.1

Post by bmhair03 »

Did the full reinstall. Worked perfect. Thanks For all the hard work.
I have been meaning to mention maybe possible PWM control from the client .
See there is always something .
Thanks again
alexwbush
Posts: 327
Joined: Tue Mar 22, 2011 12:45 am
Location: San Diego, CA

Re: Client Suite 2.1

Post by alexwbush »

I just did the full reinstall, working great! Very easy! I just need to hook up my expansion box and eventually the additional input/output module. Then I'll be bugging you for support on that I'm sure... haha!

Great work Dave! There isn't a hidden feature (I've missed a couple if you recall) that shows the history of the relay status kind of like what's tracked on one of the web banners/graphs, is there?
dmolton
Posts: 182
Joined: Tue Mar 22, 2011 11:08 am

Re: Client Suite 2.1

Post by dmolton »

Glad the installation is working well for you guys.
bmhair03 wrote:Did the full reinstall. Worked perfect. Thanks For all the hard work.
I have been meaning to mention maybe possible PWM control from the client .
See there is always something .
Thanks again
:lol: Always something, indeed!
PWM control I can definitely see making its way inside the Client, hopefully with the next version which will let you set the controller memory values remotely. If I recall, the PWM % is actually just another memory value that is read at startup, and when you make the change in the controller's menu item. I think the difference here is the controller will need to set the value in internal memory, and then actually apply the %dim value to the dim port when its received. That part we will need Curt's expertise on.

alexwbush wrote:I just did the full reinstall, working great! Very easy! I just need to hook up my expansion box and eventually the additional input/output module. Then I'll be bugging you for support on that I'm sure... haha!

Great work Dave! There isn't a hidden feature (I've missed a couple if you recall) that shows the history of the relay status kind of like what's tracked on one of the web banners/graphs, is there?
Not to worry, there's no hidden relay logging feature that you're missing. I haven't had a chance to implement that yet, hopefully soon. The main features I plan to focus on for the next version will be the split pH graphing, reading/writing memory values from controller and some globalization/localization for other countries. Plus of course, bug fixes as they arise. I'll definitely keep relay logging in mind, though it might be tricky since there's up to 72 relays that will have to be tracked ;)

-Dave
binder
Posts: 2871
Joined: Fri Mar 18, 2011 6:20 pm
Location: Illinois
Contact:

Re: Client Suite 2.1

Post by binder »

dmolton wrote: :lol: Always something, indeed!
PWM control I can definitely see making its way inside the Client, hopefully with the next version which will let you set the controller memory values remotely. If I recall, the PWM % is actually just another memory value that is read at startup, and when you make the change in the controller's menu item. I think the difference here is the controller will need to set the value in internal memory, and then actually apply the %dim value to the dim port when its received. That part we will need Curt's expertise on.
Correct. PWM values are read on startup. They are also updated if you change them from the setup screens and when you select Lights On (from the menu) they get turned to whatever they are set to in memory (useful if you use the PWMSlope function and you are outside the on period).

If you are using the PWMSlope function, you will want to use caution if setting the PWM values. The reason why I say that is because of how the PWMSlope function works. With the way it is "usually" coded, you specify when you want the ON/OFF periods to be. You also specify what the percentage is you wish to slope between "off" and "on" (to simulate sunrise & sunset). You also specify a "default" value (usually the internal memory value but doesn't have to be) that is used to set the PWM percentage when you are not inside the ON time frame specified by the PWMSlope function.

If you don't use the PWMSlope function at all and always want to have your PWM set to a specific value, then it's not a problem (like if you have a moonlight that you always keep on or something).

Or if you have a custom code snippet that sets the PWM value to be whatever is stored in the memory at a specified time and then sets it to 0 at another specified time (like an on/off type of scenario), then setting the value from the Client would allow you to change your "on" level without a problem and would work nicely (if you didn't want to do it from the menu).

However, I foresee a slight problem if you use the PWMSlope function. The slope function will display the given ON percentage during the ON time and then the "default" value during the OFF time frame. If you are in the ON time frame and change the PWM value, you won't see any changes at all UNTIL the OFF time frame. Then it will use that new percentage all the time until the next ON time frame starts up and from that point it will use the specified ranges you gave the PWMSlope function. (Like I eluded to above)

So yes (after all that explanation), when setting the PWM value from the Client, I would need to process it just like a menu item update. I can fix / update that not a problem. I just wanted to make sure I pointed out some of the possible scenarios that I can see people encountering.

Curt
petruzzelli
Posts: 22
Joined: Wed Mar 30, 2011 3:04 am

Re: Client Suite 2.1

Post by petruzzelli »

hi
i have donwloading all
i have RA i put inside the file .pde but now i have problem whit the software RAclient 2
i live in italy and my pc have italian software
is possible use this client? i have this problem


See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IO.FileNotFoundException: Could not load file or assembly 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. Impossibile trovare il file specificato.
File name: 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
at ReefAngelClient.Form1.item_Click(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].



************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
ReefAngelClient
Assembly Version: 1.1.0.0
Win32 Version: 1.1.0.0
CodeBase: file:///C:/Documents%20and%20Settings/pietro/Dati%20applicazioni/ReefAngel/Client/ReefAngelClient.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Windows.Forms.DataVisualization
Assembly Version: 3.5.0.0
Win32 Version: 3.5.30729.116
CodeBase: file:///C:/Documents%20and%20Settings/pietro/Dati%20applicazioni/ReefAngel/Client/dlls/System.Windows.Forms.DataVisualization.DLL
----------------------------------------
System.ServiceModel
Assembly Version: 3.0.0.0
Win32 Version: 3.0.4506.30 (WAPRTM.004506-0030)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.ServiceModel/3.0.0.0__b77a5c561934e089/System.ServiceModel.dll
----------------------------------------
System.Runtime.Serialization
Assembly Version: 3.0.0.0
Win32 Version: 3.0.4506.30 (WAPRTM.004506-0030)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Serialization/3.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll
----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Data.SqlServerCe
Assembly Version: 3.5.1.0
Win32 Version: 3.5.8080.0
CodeBase: file:///C:/Documents%20and%20Settings/pietro/Dati%20applicazioni/ReefAngel/Client/dlls/System.Data.SqlServerCe.DLL
----------------------------------------
System.Data
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Transactions
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
ReefAngelException
Assembly Version: 1.1.0.0
Win32 Version: 1.1.0.0
CodeBase: file:///C:/Documents%20and%20Settings/pietro/Dati%20applicazioni/ReefAngel/Client/ReefAngelException.DLL
----------------------------------------
System.EnterpriseServices
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
Manometers
Assembly Version: 1.0.3975.30783
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Documents%20and%20Settings/pietro/Dati%20applicazioni/ReefAngel/Client/dlls/Manometers.DLL
----------------------------------------
Accessibility
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
SMDiagnostics
Assembly Version: 3.0.0.0
Win32 Version: 3.0.4506.30 (WAPRTM.004506-0030)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/SMDiagnostics/3.0.0.0__b77a5c561934e089/SMDiagnostics.dll
----------------------------------------
System.IdentityModel
Assembly Version: 3.0.0.0
Win32 Version: 3.0.4506.30 (WAPRTM.004506-0030)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.IdentityModel/3.0.0.0__b77a5c561934e089/System.IdentityModel.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
bmhair03
Posts: 166
Joined: Sun Mar 20, 2011 1:22 pm

Re: Client Suite 2.1

Post by bmhair03 »

I think Dave ran into this before. I think his next release will address the Globalization of the Client,
Im sure he could explain it to you more.
dmolton
Posts: 182
Joined: Tue Mar 22, 2011 11:08 am

Re: Client Suite 2.1

Post by dmolton »

This is what stands out to me:
Could not load file or assembly 'System.Core, Version=3.5.0.0,

It looks like you're missing some of the .Net framework 3.5 stuff.. That's interesting, because the application directly targets the 3.5 framework and the installer has a pre-requisite check on it to make sure it's installed, and if not it will prompt you to d/l it.. at least it should..

I would have thought the Client screen wouldn't even open without required references.

Are you running Windows XP or WIndows Vista/7?
User avatar
Xender
Posts: 105
Joined: Sun Mar 20, 2011 12:38 am
Location: France

Re: Client Suite 2.1

Post by Xender »

I have an issue when I try to connect to the RA web Page, The web page is showing up but it stay on "Loading Please wait" and when I try a refresh the web page can't be found anymore after that refresh. I have to close my browser to get the web page again.

do you have any idea??

thx
Fresh Water Aquarium 180*60*80
Salt Water Aquarium 60*60*60
Click Here to see the Video of my Fresh Water Aquarium
Image
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: Client Suite 2.1

Post by rimai »

Can you try updating your libraries?
http://www.reefangel.com/update/
Roberto.
dmolton
Posts: 182
Joined: Tue Mar 22, 2011 11:08 am

Re: Client Suite 2.1

Post by dmolton »

IIRC, didn't the issue have something to do with a javascript error? I thought after inspecting the web page for errors, there was a problem serving up the first instance of Document.GetElementById("..?")

Does that sound familiar?
alexwbush
Posts: 327
Joined: Tue Mar 22, 2011 12:45 am
Location: San Diego, CA

Re: Client Suite 2.1

Post by alexwbush »

Wifi OR USB = #define wifi

so wifi has to be enabled even if you're not using the wifi adapter and just using usb?
astralmind
Posts: 99
Joined: Fri Apr 01, 2011 10:53 am

Re: Client Suite 2.1

Post by astralmind »

You will have to excuse my newbiness but I just got my RA today and I'm trying to set everything up.

The basic Arduino install went well (tested by rewritting the demo code, flawless). I then installed RAGen, the latest from Curt with the Dev Library. Seems to be working well, can find my RA on COM7 (Wifi module will be coming soon).

Here's where the problem begin. I tried installing Client Suite many times (and uninstalled/reinstalled the other 2) and the installation does go through. However, I cannot start Client Suite, it crashes immediately (I'm on WIndows 7 64). For some reasons I managed to start it up once but it never restarted properly. Once I have it installed, if I try to "locate controller" in RAGen I get an error and it crashes. So the issue is definitly with one of the active processes (logger or listener). After uninstalling Client Suite, RAGen seems to be back to normal.

I know this is really vague info but all I'm getting is also a very vague error. Any ideas on what to do ?

Thanks
binder
Posts: 2871
Joined: Fri Mar 18, 2011 6:20 pm
Location: Illinois
Contact:

Re: Client Suite 2.1

Post by binder »

astralmind wrote: Here's where the problem begin. I tried installing Client Suite many times (and uninstalled/reinstalled the other 2) and the installation does go through. However, I cannot start Client Suite, it crashes immediately (I'm on WIndows 7 64). For some reasons I managed to start it up once but it never restarted properly. Once I have it installed, if I try to "locate controller" in RAGen I get an error and it crashes. So the issue is definitly with one of the active processes (logger or listener). After uninstalling Client Suite, RAGen seems to be back to normal.
The Client Suite works great with Win7 64bit (I've used it on my laptop and so has Dave).

The "Locate Controller" option you mentioned isn't really designed to used often. When it locates the RA, it ends up rebooting the controller (only way to tell for certain it is the RA). So if you are trying to use the Client Suite and the locate controller at the same time, then you can get errors. If you know you have your controller connected, then I would suggest not using the Locate Controller option. It was only put there to help ensure the computer can find the controller and it is part of a future idea / feature of the software.

Do you have Wifi Enabled on your controller through RAGen? Client Suite 2.1 requires wifi to be enabled (read the beginning of this thread). This is very important otherwise the Client Suite cannot connect to the controller and you cannot get any data.
Have you followed the instructions in the first post? I know this is probably a stupid question, but I'm going to ask because it can make a difference.
What version of the .NET Framework do you have installed?

curt
astralmind
Posts: 99
Joined: Fri Apr 01, 2011 10:53 am

Re: Client Suite 2.1

Post by astralmind »

binder wrote:
Do you have Wifi Enabled on your controller through RAGen? Client Suite 2.1 requires wifi to be enabled (read the beginning of this thread). This is very important otherwise the Client Suite cannot connect to the controller and you cannot get any data.
Have you followed the instructions in the first post? I know this is probably a stupid question, but I'm going to ask because it can make a difference.
What version of the .NET Framework do you have installed?
curt
Thanks for the quick reply. Well I guess the issue could be related to the Wifi no being enabled. I did check it within RAGen but did not upload any new code to the controller itself. So generating the basic pre selected options in RAGen with Wifi checked and uploading the code to the controller could fix the issue ? I didn't want to "mess up" the controller yet but I'm assuming the default RAGen info is similar to the demo code right ?

I find it odd that it crashes (I'll try to find the log in Windows to see exactly what happens). In fact in crashes in the same way with or without the RA connected to the PC. I tried running the various exe in "Compatibility mode" but that didn't help. I wonder how I managed to get Client Suite to boot once (even tested the email and SMS function)... then again it worked up until I clicked the "dashboard" option and then crashed.

Beyond that I followed the installation instruction and my .NET Framework should be up to date (also ran all possible updates before installing the RA softwares).
dmolton
Posts: 182
Joined: Tue Mar 22, 2011 11:08 am

Re: Client Suite 2.1

Post by dmolton »

alexwbush wrote:Wifi OR USB = #define wifi

so wifi has to be enabled even if you're not using the wifi adapter and just using usb?
This is indeed the case. Enabled for wifi or USB.
astralmind wrote: Thanks for the quick reply. Well I guess the issue could be related to the Wifi no being enabled. I did check it within RAGen but did not upload any new code to the controller itself. So generating the basic pre selected options in RAGen with Wifi checked and uploading the code to the controller could fix the issue ? I didn't want to "mess up" the controller yet but I'm assuming the default RAGen info is similar to the demo code right ?

I find it odd that it crashes (I'll try to find the log in Windows to see exactly what happens). In fact in crashes in the same way with or without the RA connected to the PC. I tried running the various exe in "Compatibility mode" but that didn't help. I wonder how I managed to get Client Suite to boot once (even tested the email and SMS function)... then again it worked up until I clicked the "dashboard" option and then crashed.

Beyond that I followed the installation instruction and my .NET Framework should be up to date (also ran all possible updates before installing the RA softwares).
Hi astralmind,

I'm kind of leaning towards a dirty config file or a permission issue, perhaps. The ClientSuite.exe in itself does not require any elevated permissions, however the Service Dash does. When you pressed "Launch Service Dash" did Windows prompt you for permission to launch it or did it just crash right away? What happens when you try to launch the service dash by itself from Start Menu -> Programs -> ReefAngel Client Suite -> Service Dash?

Because the Listener and Logger services are independent of the main Client application, errors in either of those most likely won't effect the startup of the main application. Meaning if the Listener can't find the controller because it isn't plugged in or wifi isn't enabled, then it should just log it, and try again in a few minutes. The only way the services could effect the main client application, is if the client can't connect to the Listener for updates for whatever reason, but at that point it wouldn't matter if the controller is plugged in, what code is running on it, or if you even own a ReefAngel controller. The application should at least startup.

The Windows Event Viewer could provide some insight what's happening when the application starts up and crashes right away. Also there's a log file that will hopefully have some useful information in it to help us figure out what's going on. Can be found in C:\Users\YourUser\App Data\Roaming\ReefAngel\RAExceptionLog.log

The fact that you were able to run it successfully once makes me think your okay with the .NET framework requirements.

What I would do is the following:
make sure the ReefAngelListener and ReefAngelLogger services are stopped. Control Panel -> Admin tools -> Services then scroll down to those two services and make sure they're stopped or that the status is not "running". Then Uninstall the Client Suite from the control panel. Get everything squared away with RAGen and make sure you have the controller setup the way you like. Just make sure you have wifi enabled in RAGen. Once finished there, try reinstalling the Client Suite and hopefully you'll be okay. It sounds like you had a few things going at once between RAGen, the locator tool and the Client Suite which may have been too much.

Also, something to be mindful of is you can only have one connection open over USB to the controller at a time. Meaning once you get the Listener up and running, you won't be able to upload code anymore to the controller through Arduino until you stop the Listener Service through the RA Service Dash. Not that I think that this your problem, just mentioning it as something to be aware of. Running a bunch of programs/utilities that are trying to talk to your controller over COM7 at the same time won't work out nicely.
astralmind
Posts: 99
Joined: Fri Apr 01, 2011 10:53 am

Re: Client Suite 2.1

Post by astralmind »

Thanks for all that info Dave. I've followed you recommendation closely and unfortunately, I am still running in the same issue. Clean uninstall and reinstall without the controller being connected (after all I just want to see if the Client Suite crashes or not at this point).

Client Suite crashes instantly ("ReefAngelClient as stopped working" blablabla)

DashBoard asks for admin rights and then crashes.

The other exe, Serial reader asks for admin rights and run properly without any issues.

I looked up the log file and it's empty.

According to Windows event viewer the Logger and Listener services started and stopped sucessfully many times. No traces of the dashboard crashing or the Client Suite itself. All fresh and clean installs. This is really odd.
dmolton
Posts: 182
Joined: Tue Mar 22, 2011 11:08 am

Re: Client Suite 2.1

Post by dmolton »

astralmind wrote:Thanks for all that info Dave. I've followed you recommendation closely and unfortunately, I am still running in the same issue. Clean uninstall and reinstall without the controller being connected (after all I just want to see if the Client Suite crashes or not at this point).

Client Suite crashes instantly ("ReefAngelClient as stopped working" blablabla)

DashBoard asks for admin rights and then crashes.

The other exe, Serial reader asks for admin rights and run properly without any issues.

I looked up the log file and it's empty.

According to Windows event viewer the Logger and Listener services started and stopped sucessfully many times. No traces of the dashboard crashing or the Client Suite itself. All fresh and clean installs. This is really odd.
hmmm..

An empty event viewer and log file is pretty strange, also makes finding the problem that much harder. I'm sure you did but just throwing it out there, you looked in the "Application" section of the Event Viewer? Is there any other information that you are presented with when the Client crashes? What does the blah blah part say?

I have seen the immediate crash once or twice before in version 2.0 while testing. It was due to missing but required fields in the config files that I modified by hand and messed up. Both the Client and the Dash have one. After installing, did you move any files/folders around related the Client Suite? The installer should take care to make sure the config files are correct as of the installation.

Could you take a peek at the config files and make sure everything looks okay? Specifically the directory locations that are in there. They key names are "DBLocation" and "ServiceDashLocation" Make sure that they are pointing to files that actually exist in your installation. I would copy/paste the directory paths into an explorer window and remove the extra backlashes between folders and try to browse there. (You'll know what I mean when you see the file) There's no sensitive data in there, so if you could attach or email the config files for me I can have a look to make sure every is good and I'll also plop them in my installation and see what happens.

Client config:
C:\Users\YourName\AppData\Roaming\ReefAngel\Client\ReefAngelClient.exe.config

Service Dash Config:
C:\Program Files (x86)\ReefAngel\ReefAngel Client Suite\ServiceDash\Service Dashboard.exe.config

Also, please confirm your installation folder structure looks similar to this. Heres a screenshot showing all the files/directories that the client suite installs. This is to just ensure you have everything you need from the installer and its in the right place.
Image
Last edited by dmolton on Wed May 11, 2011 3:56 pm, edited 1 time in total.
astralmind
Posts: 99
Joined: Fri Apr 01, 2011 10:53 am

Re: Client Suite 2.1

Post by astralmind »

Wow thanks for all the effort!

I just double checked my file structure and location, they are identical to what you just posted. Also checked the config files, all mapping towards the proper install location. I've attached both my config files (in rar the forum would not accept .config it seems).

The log is empty with a last modified date of March 27 so yeah definitly untouched.

As for the Event Viewer I managed to find the entry (was working remotely from work earlier on). Still, not very explicative to me (see bellow). The Windows error message was a generic one the "blablabla" part was just Windows will look for a solution to resolve your issue etc.. I'm also attaching the detailed log to this post (txt). Let me know if I'm doing something wrong on my end.

Thanks!

Fault bucket 1947214054, type 5
Event Name: CLR20r3
Response: Not available
Cab Id: 0

Problem signature:
P1: reefangelclient.exe
P2: 1.1.0.0
P3: 4d8fb902
P4: mscorlib
P5: 2.0.0.0
P6: 4d4f14f6
P7: c43
P8: 59
P9: System.FormatException
P10:

Attached files:
C:\Users\astralmind\AppData\Local\Temp\WER18EC.tmp.WERInternalMetadata.xml

These files may be available here:
C:\Users\astralmind\AppData\Local\Microsoft\Windows\WER\ReportArchive\AppCrash_reefangelclient._cde52edf3f155f3f354e33b7713404f42695c7a_045e3004

Analysis symbol:
Rechecking for solution: 0
Report Id: 46093c87-7c16-11e0-b287-1c6f6593c603
Report Status: 0
Attachments
Windows Error REport.txt
LOG
(13.73 KiB) Downloaded 478 times
Service Dashboard.rar
(366 Bytes) Downloaded 465 times
ReefAngelClient.rar
(1.54 KiB) Downloaded 460 times
astralmind
Posts: 99
Joined: Fri Apr 01, 2011 10:53 am

Re: Client Suite 2.1

Post by astralmind »

Not sure if it helps in anyways but the DashBoard generates a different error type:

Fault bucket , type 0
Event Name: CLR20r3
Response: Not available
Cab Id: 0

Problem signature:
P1: service dashboard.exe
P2: 1.1.0.0
P3: 4d8fb8ff
P4: Service Dashboard
P5: 1.1.0.0
P6: 4d8fb8ff
P7: 27
P8: 16a
P9: System.NullReferenceException
P10:

So RA Client is a FormatException while DashBoard is a Null Reference Exception... Googled the errors and didn't find much except maybe this: http://runtingsproper.blogspot.com/2010 ... r20r3.html

Ha and FYI, Windows wouldn't let me install RAGen in its default location (some permission I assume which I found odd as it was looking at the usual PRogram Files).. so I installed it elsewhere.
dmolton
Posts: 182
Joined: Tue Mar 22, 2011 11:08 am

Re: Client Suite 2.1

Post by dmolton »

yeah, everything looks good. Your config file worked fine for me if I put in my correct locations for those two keys. So if you're sure those two keys mentioned above are good, then the problem is somewhere else.

This part sticks out:

P9: System.FormatException

We saw this error with some of the international users whose culture information was set to French and Italian. The problem was the application didn't handle their decimal separators correctly. So 8.20 in the U.S. looks like 8,20 in France I believe. Is your computer configured for U.S. / English or do you have another culture set?

The only other thing I can think of is some crappy data got into the database file somehow. After loading up the configuration file, the application will pull all the historical data that's been stored so far and graph it for you. It also loads up some user defined information to use later in the Settings screen. (Profile information, relay names, etc..) It could be that you entered some information on one of the Settings screens when you had it running the first time, and the application allowed you to store something it should not have. Maybe special characters or something?

I'm attaching a fresh copy of the database file for you to try out. Stop both services again. Replace your version of the ReefLogDB.sdf file with the one I attached. Just rename your original to something different but make sure not to rename the new one. Then try launching the Client one more time. You don't need to start the services, you can just keep them off for now. If that works, I might ask you to send me your original renamed sdf file to have a look at to see where the problem occurred.

C:\Users\YourName\AppData\Roaming\ReefAngel\ReefLogDB.sdf

Let me know how that works out.
Attachments
ReefLogDB.zip
Fresh DB File
(8.21 KiB) Downloaded 454 times
astralmind
Posts: 99
Joined: Fri Apr 01, 2011 10:53 am

Re: Client Suite 2.1

Post by astralmind »

Well! Just solved part of the issue. My regional settings were French Canadian, switched to English US and got Client Suite to Work!

Unfortunately, the dashboard still crashes when I try to run it (after the admin permission is granted). Replacing the DB did not change anything though.

I can get the services to start manually though.. so is the dashboard access essential ?

Getting there!
astralmind
Posts: 99
Joined: Fri Apr 01, 2011 10:53 am

Re: Client Suite 2.1

Post by astralmind »

Sweet irony, I installed everything on my rather old Toshiba R100 (running windows XP) and... I have no issues running the Dashboard but ClientSuite immediately crashes, same as it did on my WIndows 7 desktop except this time the Regional settings were properly set to ENglish US..

Here's the error log for that one:

Event Type: Error
Event Source: ReefAngelLogger
Event Category: None
Event ID: 0
Date: 5/11/2011
Time: 7:02:48 PM
User: N/A
Computer: TOSHIBA-35BDA03
Description:
Service cannot be started. System.IO.FileNotFoundException: Could not load file or assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.
File name: 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
at LoggerService.RALogger..ctor()
at LoggerService.ReefAngelLogger.OnStart(String[] args)
at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].


For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
dmolton
Posts: 182
Joined: Tue Mar 22, 2011 11:08 am

Re: Client Suite 2.1

Post by dmolton »

Yeah, after thinking about it more, I remembered you said you uninstalled/reinstalled so that would have given you a fresh db file to start with. Of course that was a few mins after I posted and realized it probably wouldn't help, but figured what the heck, couldn't hurt :)

Well, looks like I have a bit more work to do with the localization part of the application. Glad you got it semi-working. I'm a little surprised that French Canadian culture settings don't work. Even stranger, work once and then stop. After working with Xender and all the issues he went through getting it running in France (FR-fr), I thought I had worked out the formatting issues so that it would at least run no matter the regional settings :/ I'll change my settings here to French Canadian and see exactly what's going on and hopefully have a more permanent fix for you soon. You definitely shouldn't have to keep your regional settings changed. If we're lucky, the dashboard issue is related also.

Also, no the dashboard isn't essential. It's just a quick way to access those two individual services running in Windows. If you're cool with manually toggling them for the time being then you should be good. It also lets you change the IP/COM settings if you need to. Most of the time, though those settings very rarely change if ever.

As for the Toshiba, umm...I would say it's too far away from the equator or maybe SkyNet has control? haha not sure, sorry :oops:

edit^^ Maybe update .net framework on laptop to 3.5.. ?
astralmind
Posts: 99
Joined: Fri Apr 01, 2011 10:53 am

Re: Client Suite 2.1

Post by astralmind »

haha not a big loss on the laptop just curious why it wouldn't work though. .Net is up to date on it :) Proper regional settings and good old Windows XP up to date too.. odd. Ha well, once I get the Wifi module I won't care about that laptop anyways. Thanks for help, much appreciated. I'll be following the dev closely... who knows, maybe the next release will magically cure the Dashboard glitch (altough I am in English US now.. and it still crashes).
dmolton
Posts: 182
Joined: Tue Mar 22, 2011 11:08 am

Re: Client Suite 2.1

Post by dmolton »

ahh crap. I think I found the problem.

I uploaded the localized code to github ~6 weeks ago, but I didn't tag it, nor is the latest version a "package download". It was just kind of a "hot fix" committed to source only since the only thing that changed was a culture invariant way of reading numbers. Just a couple lines of code and I did a pretty poor job of French translations on the UI if it detects a French culture. I'm sure you'll notice my bad translations if you install it with Windows set to French. :)

Anyway, so the only way to get it is to download the "source" as a zip. You can't rely on the tags or the package that says "Beta 2.1".. Whoops ><

here's the link to the direct download of the source installer that you need for localized setup outside the U.S. I just tested it with my Win 7 x64 set to French Canadian and everything worked fine, even the service dash. The other version did not, giving me the same errors you saw.

Again, please stop both services manually. Fully exit the client (File -> Exit) and then uninstall the Suite. Promptly, and with a sense of authority and conviction, put the installer you d/l earlier in the Recycle Bin and give this one a shot...

https://github.com/davemolton/Client-Su ... all/master

You should be able to switch your culture back to Canadian. If you don't like the French translations on the Client you can exit the Client, delete the "fr" folder from C:\Users\YourName\AppData\Roaming\Client and restart the Client.
I do have better translations from Xender, just not uploaded yet.

Hopefully that works for you.
Post Reply