Database Logger for Brultech ECM-12xx
tenEcmDbLogger is a windows program that writes hourly energy consumption
data from a Brultech ECM-1220 or ECM-1240 power monitor to an SQLite database.
tenEcmDbLogger receives real-time data from the tenEcmServer
program, accumulates power data from all ECM-12xx channels, and writes a record
to an SQLite database each hour. tenEcmDbLogger does not have to
run on the same computer as tenEcmServer. The server broadcasts the
real-time data in UDP packets that are received by tenEcmDbLogger across
your LAN. The database must reside on the same computer as the
The tenEcmDbLogger program, the database, and all of the database
management programs are included free of charge in the installation package.
SQLite was selected as the database because it is freely distributable, requires
zero administration from the user, and is small and fast.
More information about the SQLite product can be
The tenEcmCharts program can be used to
display real-time and historic energy consumption reports and charts.
tenEcmCharts uses the data archived by tenEcmDbLogger, and is also
distributed free of charge. tenEcmCharts can access the
tenEcmDbLogger database across your LAN, so you could run tenEcmServer,
tenEcmDbLogger (and its database), and tenEcmCharts on three
different computers on your network (and the
plugin on a fourth). In a typical scenario, you might run
tenEcmServer and tenEcmDbLogger on the same computer, and run
copies of tenEcmCharts on every computer on your network.
tenEcmDbLogger should be running 24/7 in order to capture complete energy
consumption data. You should place a shortcut to the tenEcmDbLogger
program in your windows Startup folder. The program is designed
such that no data accumulation is lost when it is stopped and restarted
as long as it is running during the
transition from one hour to another at the top of the hour.
Download and run the installation program found later on this page. To run
tenEcmDbLogger for the first time, select the windows menu item:
Programs/tenWare/tenEcmServer/tenEcmDbLogger. The following dialog
will be displayed:
The dialog displays where the database resides, which UDP port and interface are being used, and
information about the data being received, accumulated and written to the
database. If the database did not exist when tenEcmDbLogger started, an
empty database was created. When you close the dialog, tenEcmDbLogger
continues to run, displaying its icon in the system notification area.
Right-click the icon to display the following menu:
Select Restore to open the dialog, Exit to terminate the program, or
display the following dialog:
Specify a Timeout value that is significantly higher than the time between
expected ECM-12xx transmissions. If you change any of these options, tenEcmDbLogger will terminate. Restart the
program to begin using the new values.
Accessing the Database
Although most users will access the database using the tenEcmCharts
program, you can easily access the data stored in the database for your own queries or
custom developed reports and charts. The database consists of a single
table: HourlyData. Click here for a description of the columns in
table HourlyData. I would also recommend a shareware tool that simplifies
building queries and extracting data,
SQLite2009 Pro Enterprise Manager. Here is a .net code snippet
that selects and prints the average hourly energy consumption for each hour of
tenEcmDbLogger Version 2.2
Production release of Version 2
Now supports up to five ECMs
An existing database will be expanded to include
columns for 5 ECMs
UI has been completely redesigned
tenEcmServer packets are now queued as received
and processed on a separate thread. Fewer dropped packets.
Requires tenEcmServer version 7.0 or later
(recommend installing most recent version)
tenEcmCharts has not yet been updated to support
more than one ECM, but it will continue to work properly with the most current
versions of tenEcmServer and tenEcmDbLogger.
tenEcmDbLogger Version 2.1 3/27/2011
Beta release. Back up your data
Support added for up to 5 ECMs. You need to also
install the most current version of tenEcmServer. When this version
is first run, new columns will be added to the database and all existing data
will be retained.
tenEcmDbLogger Version 1.13
Added option to specify the location (folder and
filename) of the database file
tenEcmDbLogger Version 1.12
Bug fix: Should now run on Vista-64
tenEcmDbLogger Version 1.11
Bug fix: When the ECM accumulators reach their
max values (1,099,511,627,775 for Ch1/Ch2 and 4,294,976,295 for Auxn, and
16,777,215 for Seconds) they wrap
back around through zero. tenEcmDbLogger was not handling the
tenEcmDbLogger Version 1.10
This version will ignore broadcast records for ECM 02
-- will only process records from ECM 01. This is an interim release
to support version 6.2 of tenEcmServer that now supports two ECMs. Future
releases of tenEcmDbLogger will process broadcast records from both ECMs.
You can now double-click the tray icon to restore the
tenEcmDbLogger Version 1.9
tenEcmServer packet validity checking improved
Added debugging log. Include debug on the
command line when starting tenEcmDbLogger. Log file is written to
the desktop. Command line parameter is NOT case sensitive.
Dropped packets are now logged.
A restart of tenEcmServer is detected and
You can now select Any for the network interface
tenEcmDbLogger Version 1.6 5/9/2009
Added option to select specific network interface to
use. Defaults if only one nic present. Some users were receiving
multiple packets if there were multiple nics active.
Improved network error recovery. Added option to
specify timeout (in seconds) before the network interface is re-initialized.
Defaults to 60 seconds. Should be well higher than expected transmissions
tenEcmDbLogger Version 1.4
Added message display
tenEcmDbLogger Version 1.3
Minor cosmetic changes
tenEcmDbLogger Version 1.2
Initial beta test release