Client Suite 2.1

Community contributed apps

Posts: 182
Joined: Tue Mar 22, 2011 11:08 am
PostPosted: Sun Mar 27, 2011 7:24 pm
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:
  1. From the Client, browse to Settings -> General Tab. Press "Launch Service Dash". Stop both services. Close Service Dash
  2. 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!
  3. Run the RAClientMigrate.exe and press "Backup". Exit utility. This step backs up your existing configuration files and database history.
  4. 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.
  5. Install the latest 2.1 Client Suite software from the MSI. (ReefAngelClientSuite.msi)
  6. Immediately restore your data by running the RAClientMigrate application again and pressing "Restore". Exit.
  7. 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.
  8. 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.

Posts: 182
Joined: Tue Mar 22, 2011 11:08 am
PostPosted: Sun Mar 27, 2011 8:10 pm
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

Posts: 327
Joined: Tue Mar 22, 2011 12:45 am
Location: San Diego, CA
PostPosted: Mon Mar 28, 2011 1:57 am
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).

Posts: 182
Joined: Tue Mar 22, 2011 11:08 am
PostPosted: Mon Mar 28, 2011 5:50 am
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.

Posts: 327
Joined: Tue Mar 22, 2011 12:45 am
Location: San Diego, CA
PostPosted: Mon Mar 28, 2011 6:26 pm
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!

Posts: 147
Joined: Sun Mar 20, 2011 1:22 pm
PostPosted: Mon Mar 28, 2011 8:37 pm
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

Posts: 327
Joined: Tue Mar 22, 2011 12:45 am
Location: San Diego, CA
PostPosted: Mon Mar 28, 2011 9:05 pm
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?

Posts: 182
Joined: Tue Mar 22, 2011 11:08 am
PostPosted: Tue Mar 29, 2011 7:18 am
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
User avatar
Posts: 2738
Joined: Fri Mar 18, 2011 6:20 pm
Location: Illinois
PostPosted: Tue Mar 29, 2011 3:57 pm
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

Posts: 22
Joined: Wed Mar 30, 2011 3:04 am
PostPosted: Wed Mar 30, 2011 3:10 am
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.
Next

Return to Apps

Who is online

Users browsing this forum: No registered users and 3 guests

cron