Skip to main content
Skip table of contents

TSM App

Configuration File HAKOM.Config

The HAKOM.Config file contains settings relating to database connections as well as application appearance and behavior such as language, activated plug-ins, etc. The following describes those settings in detail.

The file is found in the installation directory of the Time Series Manager, most commonly under  „C:\Program Files (x86)\HAKOM\TSM 3.9\bin“.

The HAKOM.Config file is an XML document split into two main sections under the <HAKOMConfiguration> root: "dbconnections" and "products"

Tag "dbconnections"

Minimum requirement for using the Time Series Manager is a database connection to a schema holding actual time series data (HAKOM_TSM) as well as a schema holding authentication and authorization data (HAKOM_ACL). You may, of course, configure mutiple HAKOM_TSM schemas. These will then be listed in the "Data source" drop-down list in the ZAMS plug-in (if the logged in user has the necessary rights configured in the HAKOM_ACL schema)

Note: When accessing a PostgreSQL database, it is recommended to use the following settings in the connection string:

Pooling = true

Substantially reduces the time required for database requests.

Timeout = 30

Specifies the amount of time (in seconds) before an attempt to connect is given up on and an error is thrown by the application

Tag "products"

Settings for individual HAKOM products (such as the Time Series Manager)

Some basic settings of HAKOM Framework may have an impact on TSM behavior. A separate document describing the section "HAKOMFramework" under "products" is available.

Tag "TSM"

Tag "settings"

Tag

Description

Default Value

Possible Values

<LanguageKey>

Controls the language of the user interface for the TSM.

Display language of the operating system


de-DE
en-US
ru-RU


<LanguageSpecific lang="xx-XX">

See Tag "LanguageSpecific"



<TemplateValidation>

Used for language independent validation of Excel templates.

Cells to validate can be configured as tags with their valid values.

Example:

XML
<TemplateValidation>
	<A17>
		<Value>von</Value>
		<Value>from</Value>
		<Value>от</Value>
	</A17>
	<B17>
		<Value>bis</Value>
		<Value>to</Value>
		<Value>в</Value>
	</B17>
</TemplateValidation>

If the tag TemplateValidation does not exist, templates will be validated depending on the configured language.

If the tag TemplateValidation is empty, no validation is done.

  • A17:

    • von

    • from

  • B17:

    • bis

    • to

String

<ShowInformationDialog>

Control if the task progress window stays opened after processing is finished. If an error occurs during processing the window stays openend anyway.

false

Boolean

<AllSheetsChecked>

Controls the default value of checkboxes "all sheets" ("Update" and "Save" sections).

false

Boolean

<AllSheetsRead>

Controls the visibility of the checkbox "all sheets" ("Update" section).

true

Boolean

<AllSheetsReadChecked>

Controls the default value of the checkbox "all sheets" ("Update" section).

false

Boolean

<AllSheetsSave>

Controls the visibility of the checkbox "all sheets" ("Save" section).

true

Boolean

<AllSheetsSaveChecked>

Controls the default value of the checkbox "all sheets" ("Save" section).

false

Boolean

<DatesAndRasterFromTemplate>

Controls the visibility of the checkbox "period from template".

true

Boolean

<DatesAndRasterFromTemplateChecked>

Controls the default value of the checkbox "period from template".

false

Boolean

<WithTime>

Controls the default value of the time-checkbox at "Update" section.

false

Boolean

<DayStart>

Controls the default value of time if the time-checkbox is unchecked.

00:00:00

ISO 8601 time format: [hh]:[mm]:[ss]

<DayStartActive>

Controls the default value of time if the time-checkbox is checked.

Value of <DayStart>

ISO 8601 time format: [hh]:[mm]:[ss]

<AdaptFactor>

Adapt factor for roll out.

100

Double

<DescendingChecked>

Controls the default value of the checkbox "descending".

false

Boolean

<MissingEmptyChecked>

Controls the default value of the checkbox "missing as null".

false

Boolean

<ContinueDays>

Controls the visibility of the checkbox "roll out" and the corresponding button.

true

Boolean

<ContinueDaysChecked>

Controls the default value of the checkbox "roll out".

false

Boolean

<StateValid>

Controls the visibility of the checkbox "all values valid".

true

Boolean

<StateValidChecked>

Controls the default value of the checkbox "all values valid".

false

Boolean

<UseSpreadsheetGearFormulas>

Controls if SpreadsheetGear will be used for calculations of Excel formulas.

This setting applies to the TSM SOAP Service for reading and calculating saved templates.

true

Boolean

<Plugins>

Defines the available plug-ins, which will be loaded at start-up of TSM.

Further it can be configured, under which drop-down button the plug-in will be added.

To achieve this, the plug-in-tag has to be added to one of the following tags:

  • <Automation> - The plug-in will be available under "Automation".

  • <Administration> - The plug-in will be available under "Administration".

  • <Extension> - The plug-in will be available under "Extensions".

If the plug-in won't be added to one of those tags, then the plug-in will be available under "Extensions".



Redirections have to be configured as tags with following format:


see <Plugin>

see <PluginRedirects>

<Plugin>

<PluginRedirects>

<Plugin>

A plug-in has to be defined according to the following format:

XML
<Plugin File="Name_of_the_DLL.dll" />


  • Master Data Administration

  • Master Data Import/Export

Both under "Administration".

String

<PluginRedirects>

For language independent allocation of plug-ins, it is possible to configure a redirection. These redirections have to be listed here.

see <PluginRedirect>

<PluginRedirect>

<PluginRedirect>

A redirect has to be defined according to the following format:

XML
<PluginRedirect Source="KalendarCreator" Target="Calendar" />


A source may not map to two different targets.



SourceTarget
ZeitreiheTimeSeries
KalendarCreatorCalendar
ZREAGGREGATTSCAGGREGATE
TSCAGGREGATTSCAGGREGATE


String

<ParallelSavingToDB>

Controls if saving to database will be done in parallel threads.

false

Boolean

<CommentAreaInfo>

Controls if additional information in the comment area (row 2 till row 8) will be set.

false

Boolean

<KISSAImportPlugIn>

Name of the plug-in to be used for processing a KISS-A template.


String

<KISSAImportConnection>

Database connection to be used for processing a KISS-A template.


String

<VisploreTraceLevel>

Defines which processing information during view of TSM Visuals diagrams will be logged.

In verbose mode in addition to all messages the input and ouput data will be logged as well.

0

0 till 4

https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.tracelevel?view=netframework-4.7.2

<VisploreTracePath>

Defines the path, where processing information during view of TSM Visuals diagrams will be saved.

.\VisploreTrace

String

<VisploreAlwaysIncludeSourceData>

Controls if source data, e.g. of formula time series, will be always transfered to TSM Visuals.

false

Boolean

<VisPloreLightStartWithConsole>

Determines whether the console window should be opened when starting the visuals.

false

Boolean

<VisploreCanHandleDataEdits>

Defines, if the button to apply changes to time series data is visible in the TSM Visuals.

false

Boolean

<MaxDegreeOfParallelism>

Defines the maximum number of parallel threads when reading and saving data as well as importing and exporting master data.

10

Integer

<ShowOnlyTSMVisuals>

Controls if only TSM Visuals will be displayed in the ribbon menu and all other controls will be hidden.

false

Boolean

<ImageResourceAssembly>

A custom resource DLL file can be configured to change the icon, graphic and splash screen of TSM.


String

<FlagNames>

List of settings on how flags should be displayed in the context menu

Example:

XML
<HAKOMConfiguration>
    <products>
        <TSM>
            <settings>
                <LanguageSpecific>
                    <FlagNames>
                        <FlagName Flag="5">5 manually replaced</FlagName>
                        <FlagName Flag="7">7 faulty</FlagName>
                        <FlagName Flag="9">9 valid</FlagName>
                        <FlagName Flag="19">19 missing</FlagName>
                        <FlagName Flag="20">20 accounted</FlagName>
                        <FlagName Flag="21">21 estimated</FlagName>
                        <FlagName Flag="12">12 schedule</FlagName>
                    </FlagNames>
                </LanguageSpecific>
            </settings>
        </TSM>
    </products>
</HAKOMConfiguration>


If these are not set in the HAKOM.Config, the default values for the TSM's set language are used.


<FlagVisibility>

Determins if flags are shown 

  • always (2)

  • only when the sheet is recognized as a valid TSM template (1)

  • never (0)

1

Integer, 0-2

<ValidControlInstructions>

Configures which values can be used to control if a column in the sheet should be written to the data base, updated from the data base or ignored.

Example:


XML
<HAKOMConfiguration>
   <products>
      <TSM>
         <settings>
            <ValidControlInstructions>
               <ValidControlInstructionsForNotReading>
                  <Value>nicht lesen</Value>
                  <Value>don't read</Value>
               </ValidControlInstructionsForNotReading>
               <ValidControlInstructionsForNotSaving>
                  <Value>nicht speichern</Value>
                  <Value>don't save</Value>
               </ValidControlInstructionsForNotSaving>
               <ValidControlInstructionsForIgnore>
                  <Value>ignorieren</Value>
                  <Value>ignore</Value>
               </ValidControlInstructionsForIgnore>
            </ValidControlInstructions>
         </settings>
      </TSM>
   </products>
</HAKOMConfiguration>


  • Not reading:

    • nicht lesen

    • don't read

  • Not saving:

    • nicht speichern

    • don't save

  • Ignore:

    • ignorieren

    • ignore

String

<SetCellEmptyIfValueIsNaN>

Controls wether values read which do not evaluate to a valid number (i.e division by zero, etc.) should result in an empty cell

false

Boolean

<AskBeforeSaving>

Determines whether an additional confirmation is required to save data

false

Boolean

<VisploreDiagrams>

Contains the diagrams of the TSM Visuals, which shall be displayed by the Visuals ribbon.


XML
<Diagram Name="Unique_Name" DisplayName="Display name" />


see <Diagram>

<Diagram>-Tags

<Diagram>

Defines a diagram that shall be displayed by the Visuals ribbon.

A diagram has to be defined according to the following format:


XML
<Diagram Name="Unique_Name"
         Icon="Path_to_icon_file"
         File="diagram identifier"
         IncludeSourceData="true/false"
         Available="true/false"
/>



NameFile
InteractiveTSDashboardInteractive TS Dashboard
StructureAnalysisStructure Analysis
CorrelationAnalysisCorrelation Analysis
ConditionOverviewCondition Overview
PivotSummaryPivot Summary
PatternSearchAndComparisonPattern Search and Comparison
TimeSeriesDiversityTime Series Diversity
DependencyAnalysisDependency Analysis
MultivariateRegressionMultivariate Regression
DeviationMonitorDeviation Monitor
ForecastComparisonForecast Comparison


The Available attribute of all diagrams is set to "true" by default.

The IncludeSourceData attribute of all diagrams is set to "false" by default.

The DisplayName of the diagrams can be found in the table under Tag "LanguageSpecific".


<ShowErrorsOnWorksheetRightClick>

Controls whether error messages that may occur when right-clicking in Excel should be displayed or suppressed.

false

Boolean

<VisploreSenderPortRange>

Defines the range of ports that can be used to transmit data from TSM to Visuals.

51101-51500

Integer Range

<VisploreReceiverPortRange>

Defines the range of ports that can be used to transmit data from Visuals to TSM.

52101-52500

Integer Range

Tag "LanguageSpecific"

The tag <LanguageSpecific> is listed under the tag <TSM> in the section <settings>. Language specific settings are defined here. The "lang" attribute specifies the language for which these settings apply. Possible values are "de", "en" and "ru".

Tag

Beschreibung

Standardwert

Mögliche Werte

<Templates>

This tag may contain multiple <Template> tags.

see <Template>

<Template>-Tags

<Template>

Path to templates used for opening new workbooks or new worksheets.

The configuration of several templates is possible.

XML
<Template Name="Default template">..\Data\en\Data.xlsm</Template>


  • ..\Data\en\Data.xlsm

  • ..\Data\en\Data_Milliseconds.xlsm
    (if milliseconds are activated)

String

<DefaultRaster>

Defines the preselected value of the drop-down list "Interval" of the TSM-mask.

1h

Name of a <Raster> tag

<DefaultPagingRaster>

Controls the default value of the interval drop-down list for back and ahead navigation in the ribbon menu.

Template

Name of a <Raster> tag

<DefaultUnit>

Defines the preselected value of the drop-down list "Unit" of the TSM-mask.

DB

Value of attributes "Work" or "Power" from <Unit> tag.

<Units>

Defines the items of the drop-down list "Unit" of the TSM-mask.

see <Unit>

<Unit>-Tags

<Unit>

Defines an item of the drop-down list "Unit" of the TSM-mask.

A unit has to be defined according to the following format:

XML
<Unit Work="kWh" Power="kW" />



WorkPower
kWhkW
MWhMW
GWhGW
Nm³Nm³/h

€/MWh

cent/kWh

cent/Nm³



<Rasters>

Defines the items of the drop-down list "Interval" of the TSM-mask.

see <Raster>

<Raster>-Tags

<Raster>

Defines an item of the drop-down list "Interval" of the TSM-mask.

An interval has to be defined according to the following format:

XML
<Raster Name="1sec" ID="1" />

The listed negative IDs are available as options for intervals. If a positive ID is used, then this value is interpreted as seconds and in this manner it is possible to freely define intervals in the HAKOM.Config.

Here is an example of a five-minute interval:

XML
<Raster Name="5 Minutes" ID="300" />

When using milliseconds, this functionality is also available. However, please note that the value specified under ID is interpreted as milliseconds.

The above example would look like this if milliseconds were used:

XML
<Raster Name="5 Minutes" ID="300000" />



NameID
1sec1
1min60
1/4h-1
1/2h-2
1h-3
Day-4
Week-5
Month-6
Quarter-7
Half a year-10
Year-8
Total-11


If milliseconds are activated, the following intervals are used instead of 1sec and 1min:

NameID
1ms1
10ms10
100ms100
1sec1000
1min60000



<TimeSeriesExportTemplate>

Defines the path of the export-template for master data export.

..\Data\en\MasterDataExamples.xlsx

String

<VisploreDiagrams>

Using the tag <VisploreDiagrams> within <LanguageSpecific>, the display name of the diagrams can be changed specifically for that language.

see <Diagram>

<Diagram>-Tags

<Diagram>

With the following entry the display name of a diagram can be changed:

XML
<Diagram Name="Unique_name" DisplayName="Displayname" />



NameDisplayName
InteractiveTSDashboard

Interaktives ZR Dashborad

StructureAnalysis

Strukturprüfung

CorrelationAnalysis

Korrelationen

PivotSummary

Pivotisierung

ConditionOverview

Zustandsübersicht

PatternSearchAndComparison

Mustersuche und -vergleich

TimeSeriesDiversity

Zeitreihenstreuung

DependencyAnalysis

Abhängigkeiten

MultivariateRegression

Multivariate Regression

DeviationMonitor

Abweichungsmonitor

ForecastComparison

Prognosevergleich



Details

Configuration of list entries (Extend="true"/"false")

For the settings of the TSM, default values are set. Default values can be overridden by simply entering the respective tag with the desired value in the HAKOM.config.

To make it more comfortable with list entries, you can specify if you want to replace or extend the default list by means of an optional attribute (Extend)

This is shown by the example of the drop-down list "Unit" of the TSM-mask:


The selection list has the following units for selection by default:


This drop-down list can be edited via the setting <Units> (the units "template", "DB" and "none" are implemented separately).

If this list is to be replaced, the following entry must be made in the HAKOM.Config:

XML
<HAKOMConfiguration>
	<products>
		<TSM>
			<settings>
				<LanguageSpecific lang="en">
					<Units Extend="false"> <!-- Extend="false" specifies that the default values of the list should be replaced by the following ones. -->
						<Unit Work="NewUnit" Power="NewPower" />
					</Units>
				</LanguageSpecific>
			</settings>
		</TSM>
	</products>
</HAKOMConfiguration>


After a restart the drop-down list looks like this:


As you can see, the default values are no longer included.


If the list is to be extended, the following entry must be made in HAKOM.Config:

XML
<Units Extend="true"> <!-- Extend="true" specifies that the drop-down list should be expanded by the following values. -->
	<Unit Work="NewUnit" Power="NewPower" />
</Units>


After a restart the drop-down list looks like this:


As you can see, the default values and the specified values are included in the list.

Support of milliseconds

To activate time series with intervals less than one second, the setting InternalTimeUnit must be added or adjusted

For more information, refer to Framework v3.8.2: Operators - Configuration (en)

XML
<HAKOMConfiguration>
  <products>
    <HAKOMFramework>
      <settings>
        <InternalTimeUnit>2</InternalTimeUnit>
      </settings>
    </HAKOMFramework>
  </products>
</HAKOMConfiguration>

possible values:

  • 0 (default), seconds, beginn: 1972-01-01T00:00:00+01:00

  • 1 seconds, beginn: 1970-01-01T00:00:00Z

  • 2 milliseconds, beginn 1970-01-01T00:00:00Z

If the configuration does not contain this tag, the default value 0 will be used.

Raster Adjustment

In order to display the raster correctly in the user interface, the settings under <Rasters> must also be adjusted:

XML
<HAKOMConfiguration>
  <products>
    <TSM>
      <settings>   
        <LanguageSpecific lang="de-DE">
          <Rasters>
            <Raster Name="1ms" ID="1" />
            <Raster Name="10ms" ID="10" />
            <Raster Name="100ms" ID="100" />
            <Raster Name="1sec" ID="1000" />
            <Raster Name="1min" ID="60000" />
          </Rasters>
      </settings>
    </TSM>
  </products>
</HAKOMConfiguration>

(warning)This setting must be made explicitly for each language to be supported (e.g. "en-EN", "ru-RU").

In addition, a change must also be made to the database. The necessary changes can be found here: .Installing HAKOM TSM Database.

Plug-in specific Configuration

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.