PowerDashboard Revisions and BugFixes Current Issues --------------- Occasional spurious data in log files. TODO/Wish List --------------- Incorporate LabJack series of A/D controllers. Support for Power-One Aurora inverter. Show separate set of gauges for each inverter in multiple inverter environments When user resizes form make gauges larger/smaller. Interface to other inverters, Aurora, SMA, etc. NOTES: ------ a) The Davis 6410 anemometer is supported, and it is used on both the Vantage Pro and Pro2 series, it retails for about $115USD. You can purchase just the bare anemometer and there is no need to purchase anything else (base unit, transmitter, USB converter, etc.) This unit will give you wind speed and wind direction, and they sell replacement parts as well. In addition a DataQ or LabJack A/D controller is needed to provide computer interface. b) Installations that do not have a supported inverter, but have one or more supported charge contollers can use the software, you should set your inverter to None, and appropriate charge controller model. In addition Xantrex users will have to supply 9.0 - 16.0 volts DC to the XanBus either using the XW-SCC Aux output, a battery or an AC adapter, as the XW inverter typically supplies power for this communications bus. Version 2.2.0.9 4/24/10 --------------- Hardcode DTR control for Outback, next release will make RTS/DTR configurable Add PV Array names display under their associated gauge set on dashboard page. When using Config Wizard do a better job of calculating gauge scales so they look presentable. Allow SSL for email connections. PV Array names in .INI file start with index of 1 now, not 0. Since we 'discover' the number of charge controllers and inverters dynamically when the dashboard screen first displays it may not show all available charge controllers. If some are 'sluggish' then redisplay the screen if the count goes up while PowerDashboard is running. Rewrite the code for the Reminders & Warnings form so that it can include scroll bars and check/uncheck all selection. Add reminder for resetting the alignment of solar panels. For those that have only a single axis solar tracker, they manually manually change the solar panel alignment 3-4 times per year for optimum angle. Additional commands for remote access. Add menu item to refresh display, as the number of charge controllers may change, this will display the correct number of gauge set(s) Automatically refresh the dashboard page if the # of charge controllers change, add warning as well so user knows something changed OutBack users minimum polling rate is 3 seconds. Version 2.2.0.3 2/01/10 --------------- Graphing left off SolarWatts when PV array selection was added, put back in. Added FLEXNet charge params met/relay state/relay mode. Change sending email from synchronous to asynchronous. Version 2.2.0.2 1/20/10 --------------- On Vista the Warnings form had black background so you couldn't see message, fixed it. Add interfacing for the LabJack A/D controllers including U3, U6 and U9 Version 2.2.0.0 1/1/10 --------------- Support for Outback product line. WindOnly license does not communicate with inverter, all data acquired from A/D controller, no inverter communications is performed, no solar. Licensing is now per system type (Xantrex, Outback, WindOnly, etc). Outback users may have FLEXNet device, if so then log the data from the 3 shunts, and allow graphing for each shunt watts. Creation of Event.log file to save event information such as triggers. Fixed looping error in Yearly Graphing, don't show error for any missing monthly files. Yearly and Monthly Graph scales set properly to Month/Day. If doing Daily Graph 24 x 7, refine logic to catch switch to new day and more gracefully handle 'log file does not exist'. Turbine auto-shutdown definitions for volts/amps/watts can now have 2 meanings; if DataQ is available and port(s) are defined for measuring turbine volts/amps/watts then the trigger uses these values from the turbine, otherwise the battery volts/amps/watts are used for the trigger definition Add PORTSTATE and SETPORTSTATE remote command processing. Change event log nomenclature 'START' and 'OCCURRED' have been changed to 'PENDING' and 'TRIGGERED' to make meanings clearer. Create new trigger capabilities (non-turbine specific) for control of DataQ digital output ports. This allows user to specify triggers based on 'anding' of specific event(s) to turn port either ON/OFF. This gives users total control of external devices as far as switching them on or off based on event(s). Solar Detail page reset button did not clear charge controller totals. Clearing of monthly did not clear charge controller totals. For off grid customers, Meters page AC1 now shows inverter output, not grid input. There is no grid and users want to see AC output values. Xantrex systems using a non-Xantrex charge controller had jerky solar gauge, it should be a lot better. Add FLEXNet on Meters page when appropriate. Version 2.1.0.2 11/24/09 --------------- Incorporate Configuration Wizard to help ease setting proper initial working parameters. Don't throw error upon mis-entered registration key, handle it and inform user that invalid key was entered. If DataQ and turbine are configured allow user to define up to 9 triggers that allow auto-shutdown. Add manual shutdown and manual restart menu options, warnings and special LED Fix issue to skip an update of the monthly totals file if it was currently in use. XW-SCC does not always give correct reading, extra watts would be mistakenly attributed to a turbine (if configured) if the turbine is turning slower than (cut-in rpm * .8) then it can't be generating any power. When using DataQ set controls according to number of inputs/outputs, as different models have different configuration. Version 2.1.0.0 10/4/09 --------------- Fix Battery Level abnormality when loading the options page and single battery volts checkbox was setup. Fix issue where enabling remote access checkbox on options page did not enable the ACL button. Additional checking when reading the .INI file that battery levels are in ascending values. Version 2.0.5.9 8/23/09 --------------- Create lock object so that clearing of monthly totals works properly. When calculating Mean graph ignore any leading 0 values. Version 2.0.5.6 7/21/09 --------------- Turbine monthly totals were accidentally cleared daily. Correct Turbine configuration data that is sent to remote client. Version 2.0.5.5 7/15/09 --------------- Add splash screen showing license info when PowerDashboard starts up showing license information. Always send PV Array names to remote client when they connect. Since multiple gauge sets for solar, mistakenly did not turn on solar gauges for PDSmartClientPro. The remote software currently only shows a single gauge set for solar, future revisions will setup same as PowerDashboard. Version 2.0.5.3 7/10/09 --------------- Fix a bug in the daily graphing where it would stop before the end of the file. Turbine rpm and amp values were not being displayed correctly (wrong gauge property). A small portion of the turbine rpm gauge values on the left side were masked off. Version 2.0.5.1 6/20/09 --------------- Show separate set of gauges for each XW-SCC solar controller - up to 4 controllers, must set track separately option. Add wind speed/direction to text displayed when mouse over on minimized icon. Validate that software works on Vista operating system. Version 2.0.4.11 6/10/09 --------------- Fix warnings that had no text displayed when the event occurred. Utilize manifest so application will run on Vista operating system, elevated privlidges are required. If no inverter is present, or it is not grid-tied then don't show the grid status led. Add graphing capabilities for Meter Readings. Increase the sizes of all gauges. Version 2.0.4.10 6/2/09 --------------- Fix the sort order display of Maintenance entries when sorting by date. Node Information order the rows displayed by node number. Node Information for charge controllers (XW SCC) display the user assigned name. When smoothing graphs don't show original graph, only the smoothed one. Fix bug when only 1 meters defined, no add button was being showed. Version 2.0.4.9 5/28/09 --------------- Display the correct Watts for Load Power in the Meters page, was showing input should have shown output. Fix the AGS GenSig reason codes. Version 2.0.4.8 5/26/09 --------------- For Daily graphing if autorefresh is enabled and it turns midnight then change graph date to new date. XOR the warning flag set with previous flags so that only new warnings are not noted, this saves putting multiple entries into log file for warnings Monthly logging for solar was using wrong values in shared memory, now uses right values. Version 2.0.4.7 5/22/09 --------------- Optionally add Battery Float/Bulk volts to Daily graph when selecting Battery Volts. Version 2.0.4.6 5/21/09 --------------- Fix SolarVoltsIn and SolarEfficiency tracking and graphing. Version 2.0.4.5 5/21/09 --------------- Add AGS tab on Meters Page if generator is available Fix problem with Custom and Bulk Phase reminders not working properly. Version 2.0.4.4 4/30/09 --------------- On Meters page when showing PV Arrays, display the Node Number, not Device Number. Don't display turbine RPM on Systray icon mouse over unless Turbine Pulses Port is set. Some XW SCC's seem to be sporatic with sending the SCC output information every 1/2 second, so update this info only when data is actually received, leaving last output if it was skipped. On change of Day/Month clear the wind turbine RPM averaging/samples/totals. Reorganize Dashboard menu items, new item Tools, move Graph and Meter Readings under this menu. Add Maintenance Log capabilities. Version 2.0.4.3 4/6/09 --------------- Charge controller Min Volts maximum level increased. Center the watts display in center of dashboard form. Charge controller LED now on when battery volts >= charge controller Min Volts. Add rotation count to Unwind Reminder when sending to remote client. Add entry into log when user acknowledges a reminder. Fix bug in not clearing some monthly totals. Fix bug during remote connection additional info was sent with prompt command. Version 2.0.4.2 3/23/09 --------------- Fix logging of DiversionWattsDaily round to nearest integer value from double. Add Yearly graphing, ability to select start/end months. Added remote command processing for LOGGING On/Off. Put additional tracing into XW message processing in attempt to stop spurious log entries. Version 2.0.4.1 3/20/09 --------------- If multiple Apox/Xantrex dongles are available let user choose which one to use for communications. Add sliders to control opacity. Stand-alone weather application cannot reset rotation count so make button not visible. Add menu item onto Dashboard for viewing remote acces log file, also button on remote server display form. Include CsvToXML.exe conversion routine to convert CSV files to XML. The reason for this conversion is that CSV files are not sensitive to equipment changes as the file header is created only on a new date. While the XML files have tag names on every line and thus are sensitive to equipment changes. This allows users to retain historical data and still use it to graph. Add logging enabled status LED on Dashboard page. Fix issue with repeatedly enabling/disabling logging, multiple log entries were created. Version 2.0.4.0 3/06/09 --------------- Fix bug in battery level calculation. Fix bug introduced in last version for calculation of average watts being displayed. In configuration where no XW inverter, fake one and accumulate all XW-SCC output like we had a single XW inverter. Previous version tried setting up multiple 'fake' inverters. Major modifications so that individual XW-SCC inputs/outputs can be tracked separately. The individual data values are on their own PV Array - Meters tab. Allow user to assign friendly name to an XW-SCC node (pv array). Version 2.0.3.16 2/27/09 --------------- Allow users to select what their own different battery level voltages are. This can vary depending on the type or manufacturer of the battery. Inverter mode now can be in power save, safe, operation or diagnostic, any other mode will throw warning. Make COMM status light solid green when all is ok, some people were annoyed by blinking light. Version 2.0.3.15a 2/23/09 ---------------- Add generator configuration on separate tab on config page. When user changes system volts, reconfigure float and bulk default values. Bulk/Absorb reminder mistakenly popped a reminder even if event was not enabled. Version 2.0.3.15 2/22/09 --------------- Fixed remote access bug where only allowed 10 sequential logins, should have been concurrent. Don't write an averaged daily log data if number of samples = 0. this can happen when computer gets heavily utilized and there is a gap in data acquisition. Add battery float and bulk/absorb values to configuration page. Add turbine rotation count, battery float, bulk/absorb and date last equialize values reporting to remote access. Create a new reminder to show user when battery bulk/absorb event has completed. Create a custom reminder that can be used for any purpose. Send reminder info to remote client. Check charge controller volts, when comes up to gauge min volts, turn on LED, when below turn it off. Check for diversion controller dump volts, if battery volts >= dump volts turn on LED, when lower turn it off. Include diversion watts into daily and monthly graphing. Include fix capturing battery in/out values in configurations that do not have inverter (XW-SCC only). Version 2.0.3.14 2/20/09 --------------- Add Grid output (volts, amps, watts) to Meter output. Refactor Grid data, renaming and removing unused data variables. Put PV effeficiency on Meters main page. Add Inverter to check box list of available equipment, don't assume there is one. Auto-refresh on graphing screens. Add more logging options to send to remote client. When sending DCOut volts/amps/watts to remote client, getting data from wrong variables. Redo the way that battery and charge controller information is gathered, analyzed and displayed, should be far more consistant and accurate than in the past. Fix issues with stopping/restarting remote access service. Version 2.0.3.10 2/15/09 --------------- Send information pertaining to visibility of gauges. Send Charger Mode data. Send Inverter CurrentMode instead of LastMode. Version 2.0.3.8 2/13/09 --------------- Set the LED status and colors correctly so remote client gets them properly. Set all the warning status values properl for remote client. Add more data elements to the MeterData structure for remote clients so GUI is fully operational. Version 2.0.3.7 2/13/09 --------------- Fix bug that set charge controller equipment to thinking it was present. Add flags and status values to remote MeterData. Change data types of some data so they can contain larger values, some installations put out 20kw. Fix bug in calculating solar power. Fix bug in Meters page, previously only showed AC in watts/va, now shows AC in - AC out. So negative values show power that is being fed back into the grid. Version 2.0.3.6 2/8/09 --------------- PowerDashboard can now work without a Xantrex inverter! Numerous people appear to be using one or more of the XW SCC charge controllers with non-XW inverters and wanted to get information directly from the XW SCC. External power (or Xantrex Hub) needs to power the XanBus on the SCC, but once done information can be acquired such as battery voltage, PVIN volts/amps, DCOUT volts/amps and battery temperature (needs BTS). You need to configure software for Inverter = None, Charge Controller = Xantrex XW SCC. Add Equipment list to configuration information. Add Generator to equipment list. Modify Meter Data to include generator info. Send Gauge information to remote client. Fixed issue with that at 12:00:00 pm sometimes first daily log entry has bogus values in 3 fields. Version 2.0.3.3 2/7/09 --------------- Updated shared memory to include Xantrex node array to contain node information. Add Nodes command to retrieve node information. PowerDashboard server now sends node informaton, automatically with smart clients, or upon request. Version 2.0.3.1 2/6/09 --------------- Additional remote client commands: Version, Client, Config, Perms. Finalize command tokens, PDSmartClient 1.0.2.0 is compatible with this version dashboard. Add WindDegrees to meters log data. Add debug mode to help diagnose communications issues. Acquire device string names dynamically. Version 2.0.3.0 2/5/09 --------------- Dynamically acquire Xantrex node information, allows system changes to occur when running. Version 2.0.2.5 2/4/09 --------------- Fix output of gauges for solar installations. Version 2.0.2.4 2/3/09 --------------- Update to PowerDashboard remote server, copy requested file to temp directory so that if user is requesting the currently open log file (being written to) then will not have access violation. More changes to smart remote client, handle file downloading to remote workstation. Be sure to stop the remote display thread when closing the application. Add WindDegrees to logging output. When sending Meters data to remote client, copy the file to temp directory and copy from there, this way if the file gets opened for logging it will not interfere with data transfer. For remote access operations where doing file I/O (Data & Get commands), if error return error message to remote client. When minimized animate the weather station icon so that the arrow points in the direction the wind is blowing. Version 2.0.2.3 1/31/09 --------------- Fix some remote logging protocol issues. When shutting down forgot to close remote service login display, now fixed. Add access control entry for allow/disallow users from turning data logging on/off. First version of a smart remote access client, not perfect but a good start! Version 2.0.2.2 1/30/09 --------------- Added remote commands DataLogging On/Off to turn on/off communications data logging. Version 2.0.2.1 1/29/09 --------------- Begin implementation of remote access, server capabilities portion. Add Remote server start/stop on dashboard menu bar. Create textual client remote interface PDTextClient.exe Remove '' from xml log files when creating them. Implement code to use Apox Controls/Xantrex USB Xanbus adapter. Change configuration page and add Dongle selection as well as remote access options. Reduce cpu utilization by removing shared memory segment, and running XantrexXWComm in the same process space. By removing the shared memory segment, external applications can no longer acquire data via this mechanism. Version 2.0.2.0 1/16/09 --------------- First public release. Version 2.0.1.5 1/15/09 --------------- Add PV In volts & amps to Meters tab. Watts & amps now calculated dynamically from difference in running totals every poll period rather than trying to try to use instantaneous values coming from inverter. Correct form display of separate WeatherStation application. Version 2.0.1.4 1/11/09 --------------- Added Charger totals to accumulated totals file. Meters/Turbine tab should be showing battery volts, not turbine volts. Turbine Detail/Solar Panels Detail, change from split panel to flow panel. Version 2.0.1.3 1/10/09 --------------- Add large Meters tab on Meters page, shows lots of in/out statistics. This screen is very similar to the SCP Meters display. Slightly different format, and more information since we can display > 4 lines at a time. Ensure that Solar and Turbine meters tab pages don't display if equipment is not available. Add degrees character onto wind direction displays. ACInput figures previously added L1, L2 & L3, and L3 is summary of L1/L2. Only total L1 & L2, otherwise totals are 2x what they should be. Add temperature notation on Configuration page to allow Farenheit or Celsius. Process Inverter Status message to acquire temperature, and display in inverter detail page (if available). In my zest for having 0 output from wind/solar not affect running average, the current watts output was not always reset to 0. Implemented Inverter and Charge Controller internal temp messages, turns out that these are not broadcast at regular intervals so you may not see it. Use textual names for comm sources rather than codes. Added the rest of the Meters page data to data entry file to ftp. Fixed watts output/logging when batteries are charged from AC, should negate equal amount of power that was generated. From the perspective of this software positive values indicate generation of power, while negative ones indicate power usage. The Meters page shows AC IN values as positive because the perspective is that they are INbound values. If you put excess power back into the grid these values should display as negative. (Kinda link in accounting where a credit account value is always assumed to be negative even though the negative sign is not displayed.) Otherwise all positive displayed/logged numbers indicate generation of power. This is actually opposite from Xantrex point of view, so some screen values may reflect this. Finally got the automatic remove previous version upon install working, you should not have to manually un-install to do update. Ensure that current date is set when loading Daily/Monthly graph forms. Ensure that base directory for logging is valid. Add turbine rpm and wind speed on meters page. If ancillary pages are minimized and user selects them, un-minimize them. Additional error encapsulation for communications message processing. Tweak the rotation counting code to fix some erroneous rotation counts. If no FTP server specified, ftp file is created but ftp is not attempted. This is a way to have the file created on the local machine, and have 'something different' perform the ftp transfer. Typically because using secure FTP is not currently supported. Resize the graph plotting area for Daily/Monthly graphs follow form size. Fix problems with initializing shared memory that could cause program crash. Fix Daily graphing, if negative battery amps (batteries charging) then negate watts as well. Version 2.0.1.2 1/2/09 --------------- Correct throwing errors if tring to email/ftp and no internet connection is available. Display COM port name in the Comm Detail page. When FTPing file and using averaging, correct entries that were NaN. Allow wind direction compensation, typically the Davis anemometer is mounted pointing directly North, in those situations where it can not be, it can be compensated for. Fix Options/base log directory selection throwing error. Allow users to set scale values for turbine amps/rpm, charge controller amps/volts, and wind speed. Allow users to set max values for charge controller amps/volts and min volts as well. Add viewing meters option, similar to SCP output. Allow FTP users to ftp 'normal' log entry or meter values entry. Catch exceptions on forms that display real-time data, partial page update may occur. however exception will be ignored LED's for grid, generator are shown only if configured. Fine tune the algorithm used to calculate wind speed pulses, 2.35 * pulses appears to return a more accurate wind speed than the advertised 2.25. Make all form colors use the defined background color selected by user. Display textual gauge values for all analog gauges. Correct the solar meters DCOut values. Update XantrexXWComm process to adjust for DCOut settings coming from PV panels. When turbine or pv are not making power, don't take into consideration when computing mean, this way you are not 'penalizing the average' during periods that you are not making power. Version 2.0.1.1 12/23/08 --------------- It's important to realize that the wattage displayed and logged is the useable power at the inverter, this is after all losses going in/out of the batter bank. The actual wattage output by your turbine and/or solar panels is probably higher than that shown. When closing log files perform Dispose() for garbage collection. Fix sporatic error being thrown when accessing monthly log file "in use by another process", not closed properly. CSV logging format is now optional, let user specify if they want it or not. Fix format of warning entry that is being put into the log file(s). Make SMTPTimeout value user configurable due to potentially large files. DataQ A/D controllers supported: DI-194-RS, DI-148U, DI-148U-SP, DI-158U, DI-158UP Add wind direction DataQ input port. Weather station anemometer uses 'standard' Davis 6410 unit, MPH=2.25 * pulses (60hz @ 135MPH), KPS=1.006 * pulses Add wind vane voltage to calculate wind direction. Add wind speed # samples to smooth out wind speed readings. Update user manual to show recommended way in which to connect anemometer to DataQ controller. Meter readings now dynamically calculate usage between entries for the period of time and usage per day. Add menu item for viewing general log file. "Grid Not Available" now 'pop-up' warning and entry written into log file(s) if warnings are selected. "Grid Available" also done when grid becomes available again. Add basic daily/monthly graphing capabilities of log files for all supported formats including ability to graph mean perform do graph smoothing. Allow *all* graphing colors to be user configurable. Daily logging entries can be either instantaneous or average for the log time period. Comm now processes charge controller and solar array stats separately. Comm process is now informed as to what model charge controller/diversion controller is installed. Create weather station application so that weather can optionally display as a separate icon, when minimized this application can be placed in the SysTray and mouse overs will show wind speed/direction. PowerDashboard can automatically start up the optional separate weather application. Multiple electric meters can be tracked now, maximum of 4 meters. If you previously entered readings you meter reading file will automatically be renamed appropriately. Increase highest speed for com port to 128000 baud. Track turbine monthly average RPM in the totals file. Fixed com port bugs, always wanted to open COM1 by mistake. Version 2.0.1.0 11/23/08 --------------- First release for testing and feedback to beta testers. Ensure that there is only one instance of PowerDashboard running. Correct the way in which warning conditions were logged. Allow active log file(s) to be emailed to user at specific time of day. Allow log entry to be FTP'd to user at periodic interval. Add XML log file format. Add missing solar information into log files. Change tag names across log files for consistancy. A general purpose PowerDashboard.log log file now produced. New menu item on Dashboard page to edit/view PowerDashboard.log file. Check if need to log warnings every second, reguardless of the logging interval. Version 2.0.0.0 --------------- Major redesign of http://www.briery.com website to promote PowerDashboard. Implement an online bulletin board http://www.briery.com/bbs for support issues. Major rewrite of the communications software, incorporating asychronous I/O. Serial communications now utilizes approx 4% cpu rather than 20-30%. Incorporate pop-up warnings. Incorporate pop-up reminders for maintenance. Incorporate data entry/tracking of meter readings. Allow changing of color preferences for background and gauges. Allow hiding of certain gauges if not being utilized. Incorporate built-in mechanism to check for updates and download them from website. Allow dashboard to minimize to Systray, animated icon and mouse hover gives basic statistics. Version 1.0.0.0 --------------- First usable software incorporating monitoroing and logging capabilities. Incorporate use of DataQ A/D controller to 'sniff' turbine rpm's. Acquired Xantrex protocol and message information from customer support. Reverse engineer much of Xantrex message formats by hacking data.