SEARCH
TOOLBOX
LANGUAGES
MLEchelonThermo Plugin

MLEchelonThermo Plugin

From Tallus LLC Wiki

Jump to: navigation, search

Contents

About

The MLEchelonThermo plugin supports an Echelon commercial controller based HVAC system. Due to the highly customized capability of the Echelon controller, the MLEchelonThermo plugin may or may not work with a particular system.

This plug-in supports a heating and air conditioning system connected via the Echelon system. It supports the following functionality:

• Ability to support multiple zones (thermostat)
• Ability to turn on and off the various HVAC devices
• Get / Set various parameters like heat point, cool point etc
• Ability to increase / decrease temperatures where applicable
• Settings panel to setup communication parameters and other settings
• Is a member of the MLServer family concept



Hardware Requirements

Echelon Controller


Download Link

[MLEchelonThermo Trial]

The plugin installs in a 30 day trial mode. Once you have decided to purchase it from [Tallus's shopping cart], just apply the software license you will receive from Tallus via email on purchase of the plugin. After the plugin is installed, the license is then applied to MLServer3's Software Registration Menu (in MLServer: Help/Manage License Keys) which you must then Activate to that PC by sending your purchased license, your MLServer's Hardware ID (found at bottom of the Registration Menu window) to: info(at)talluscorp.com. You will soon receive an Activation code via email that is applied to the Registration Menu which makes that plugin permenant to that PC.

You should perform the above within the 30 day trial period to enjoy uninterrupted usage of the plugin with no rework needed between trial and licensed useage. Please allow up to two days for Tallus processing time for your requests. Most requests are processed within a few hours.

Software Requirements

MLServer3 v 3.0.559 and later

MLEchelonThermo plugin

.NET Framework

Installation

Shutdown MLServer3

Ensure PC has .NET framework installed.

Download and launch the MLEchelonThermo_Setup.exe file.

Run the installable executable or follow the instructions below for manual installation.

The installer will copy MLEchelonThermo.dll file into MLServer plug-in folder. It will copy MLEchelonThermo.mdb file into MLServer data folder and copy or create MLEchelonThermo.ini in the MLServer folder.

Start MLServer. Various MLEchelonThermo variables will be initialized which can be seen in MLServer Server Variable window. Any error during startup will be recorded in mlechelonthermo_lasterror variable. MLEchelonThermo.log files created in the MLServer installation folder can be used for further troubleshooting.

Change the LogLevel to 2 under [Log] section of MLEchelonThermo.ini file to record all log messages.


Simulation mode simulates echelon controller locally. Any data point value written to the controller goes to a table. Any data point value read comes from that table. It was developed to assist with testing. Note that Simulation mode is not controllable via UI.

By default the plugin is not in the simulation mode.


You may get a "...thread error" suggesting time out. This is because it is not able to connect to the IP address for the existing aliases. You can change the simulation mode to true in the MLEchelonThermo.ini to view the plugin functions without being connected to the Echelon controller.



Components:

MLEchelonThermo.dll – This is the heart of the plug-in and is installed to the MLServer\Plugins directory.

MLEchelonThermo.tlb – This works with the .dll plug-in.

MLEchelonThermo.ini – This file is located in the MLServer installation folder. Create a new MLEchelonThermo.ini if it doesn’t exist. It has the following directives:


LogLevel
Sets the log level Set:
0 for error
1 for warn
2 for info
3 for debug.

Example
LogLevel=3 for debug level


VisualLog
Turns on or off the visual log setting. Set True to enable visual logging and False to disable.

VisualLog=true


Simulation
Turns on or turns off plug-in simulation mode. This is for debugging purpose.
True to enable simulation and false to disable simulation.

Simulation=false


Example ini file settings:

[Log]
LogLevel=3
VisualLog=true
[iLON]
Simulation=false

MLEchelonThermo.log – This file is located in the MLServer installation folder. It records all the logs. The log level is specified in the MLEchelonThermo.ini file.

MLEchelonThermo.mdb – This file is a MS Access database file located in the data folder of MLServer installation folder. It has the necessary tables to hold the plug-in and user defined data.


Settings

This plug-in uses Echelon’s Web Services interface for communication. It uses the following data points in the specific format,

Data Point Name Purpose
NVE_{0}_temp Current Temperature
NVE_{0}_mode_status Current Thermostat Mode
NVE_{0}_rel_hum Current Humidity
NVE_{0}_hvac_mode HVAC Mode
NVE_{0}_day_htg_sp Daytime Heating Set Point
NVE_{0}_night_htg_sp Nighttime Heating Set Point
NVE_{0}_day_clg_sp Daytime Cooling Set Point
NVE_{0}_night_clg_sp Nighttime Cooling Set Point
NVE_{0}_hum_sp Humidity Set Point
NVE_{0}_htg_sp Heating Set Point

Where {0} is the name of the room. The Alias Name defined on the Settings panel should exactly match the name of the room.

Image:MLEchelonThermo Settings.jpg
The tabs are enabled by either selecting an existing alias or adding a new alias.


Description of Settings Fields

Field
Name
Purpose

Alias ID
This number is auto generated. Alias ID used within MLServer variable names and while sending command to the plug-in.


Alias Name (required)
Alias Name should exactly match the name of room specified in the data point name.


Thermostat IP Address (required)
IP Address of the Echelon Controller


Thermostat Port (optional)
Specify port number only if the Echelon Web Services are running on a different port other than port 80.


Administrator Username (optional)
Web Services Username.


Administrator Password (optional)
Web Services Password.


Update interval
The plugin will update MLServer variable for specified interval.


Display Unit
Temperature unit for display purpose.


Image:MLEchelonThermo Control.jpg
Settings Control Screen


Image:MLEchelonThermo State.jpg
Plug-in State Screen


Image:MLEchelonThermo Log.jpg
Plug-in Log Screen

MLServer Commands

MLEchelonThermo commands (direct):


Command
Parameters
Description
Example


MLServeCmd.MLEchelonThermo|ToggleTempDisplay~<<ID>>
ID
This command toggles the temperature display between Fahrenheit and Celsius.

MLServeCmd.MLEchelonThermo|ToggleTempDisplay~1


MLServeCmd.MLEchelonThermo|SetTempDisplay~<<Display>>~<<ID>>
ID, Display
This command sets the temperature display to the specified scale.

MLServeCmd.MLEchelonThermo|SetTempDisplay~F~1

MLServeCmd.MLEchelonThermo|SetTempDisplay~C~1


MLServeCmd.MLEchelonThermo|UpdateThermostatInfo~<<ID>>
ID
This command gets all thermostat information from the device.
MLServeCmd.MLEchelonThermo|UpdateThermostatInfo~1


MLServeCmd.MLEchelonThermo|HVAC~<<State>>~<<ID>>
ID, State
This command sets the thermostat to the specified HVAC state.
When next is specified, next state is set. When prev is specified, previous state is set.

The state cycle is as follows:
OFF -> HEAT -> COOL -> AUTO -> OFF

MLServeCmd.MLEchelonThermo|HVAC~Off~1

MLServeCmd.MLEchelonThermo|HVAC~Heat~1


MLServeCmd.MLEchelonThermo|DayHeatPoint~<<Point>>~<<ID>>
ID, Point
This command sets the day heat point for the thermostat. When the temp display is set to Fahrenheit 45.0 95.0 is the range of acceptable temperatures.

When the temp display is set to Celsius 7.2 35.0 is the range of acceptable temperatures. When up is specified for the Point, the heat point will be incremented by 1 degree. When down is specified for the Point, the heat point will be decremented by 1 degree.

MLServeCmd.MLEchelonThermo|DayHeatPoint~50~1

MLServeCmd.MLEchelonThermo|DayHeatPoint~Up~1


MLServeCmd.MLEchelonThermo|NightHeatPoint~<<Point>>~<<ID>>
ID, Point
This command sets the night heat point for the thermostat. When the temp display is set to Fahrenheit 45.0 95.0 is the range of acceptable temperatures. When the temp display is set to Celsius 7.2 35.0 is the range of acceptable temperatures. When up is specified for the Point, the heat point will be incremented by 1 degree. When down is specified for the Point, the heat point will be decremented by 1 degree.

MLServeCmd.MLEchelonThermo|NightHeatPoint~50~1

MLServeCmd.MLEchelonThermo|NightHeatPoint~Up~1


MLServeCmd.MLEchelonThermo|DayCoolPoint~<<Point>>~<<ID>>
ID, Point
This command sets the day cool point for the thermostat. When the temp display is set to Fahrenheit 45.0 95.0 is the range of acceptable temperatures. When the temp display is set to Celsius 7.2 35.0 is the range of acceptable temperatures. When up is specified for the Point, the cool point will be incremented by 1 degree. When down is specified for the Point, the cool point will be decremented by 1 degree.

MLServeCmd.MLEchelonThermo|DayCoolPoint~50~1

MLServeCmd.MLEchelonThermo|DayCoolPoint~Up~1


MLServeCmd.MLEchelonThermo|NightCoolPoint~<<Point>>~<<ID>>
ID, Point
This command sets the night cool point for the thermostat. When the temp display is set to Fahrenheit 45.0 95.0 is the range of acceptable temperatures. When the temp display is set to Celsius 7.2 35.0 is the range of acceptable temperatures. When up is specified for the Point, the cool point will be incremented by 1 degree. When down is specified for the Point, the cool point will be decremented by 1 degree.

MLServeCmd.MLEchelonThermo|NightCoolPoint~50~1

MLServeCmd.MLEchelonThermo|NightCoolPoint~Up~1


MLServeCmd.MLEchelonThermo|HumidityPoint~<<Point>>~<<ID>>
ID, Point
This command sets the humidity point for the thermostat. When up is specified for the Point, the humidity cool point will be incremented by 1 degree. When down is specified for the Point, the humidity cool point will be decremented by 1 degree.

MLServeCmd.MLEchelonThermo|HumidityPoint~50~1

MLServeCmd.MLEchelonThermo|HumidityPoint~Up~1


MLServeCmd.MLEchelonThermo|HeatPoint~<<Point>>~<<ID>>
ID, Point
This command sets the heat point for the thermostat. When the temp display is set to Fahrenheit 45.0 95.0 is the range of acceptable temperatures.

When the temp display is set to Celsius 7.2 35.0 is the range of acceptable temperatures. When up is specified for the Point, the heat point will be incremented by 1 degree. When down is specified for the Point, the heat point will be decremented by 1 degree.

MLServeCmd.MLEchelonThermo|HeatPoint~50~1

MLServeCmd.MLEchelonThermo|HeatPoint~Up~1


Parameter
Description
Values


ID
The ID or alias of the thermostat unit to control.
1,2


Display
The new display scale
F = Fahrenheit, C = Celsius


State (HVAC)
The new HVAC state.
Off, Heat, Cool, Auto


Point (Hear / Cool)
The new heat / cool point for the thermostat.
45.0 95.0F, 7.2 35 C, Up, Down


Point (Humidity)
The new humidity point for the thermostat.
5 95 %, Up, Down

  • Support for the MLEchelonThermo commands and variable discussed above are subject to the Echelon Controller support.


MLEchelonThermo commands (family):

Command
Parameters
Description
Example


HVAC.<<ID>>|ToggleTempDisplay
ID
This command toggles the temperature display between Fahrenheit and Celsius.

HVAC.1|ToggleTempDisplay


HVAC.<<ID>>|SetTempDisplay~<<Display>>
ID, Display
This command sets the temperature display to the specified scale.

HVAC.1| SetTempDisplay~F

HVAC.1| SetTempDisplay~C

HVAC.<<ID>>|UpdateThermostatInfo
ID
This command gets all thermostat information from the device.
HVAC.1|UpdateThermostatInfo

HVAC.<<ID>>|HVAC~<<State>>
ID, State
This command sets the thermostat to the specified HVAC state.
When next is specified, next state is set.
When prev is specified, previous state is set.
The state cycle is as follows:
OFF -> HEAT -> COOL -> AUTO -> OFF

HVAC.1|HVAC~Off

HVAC.1|HVAC~Heat


HVAC.<<ID>>|DayHeatPoint~<<Point>>
ID, Point
This command sets the day heat point for the thermostat. When the temp display is set to Fahrenheit 45.0 95.0 is the range of acceptable temperatures. When the temp display is set to Celsius 7.2 35.0 is the range of acceptable temperatures. When up is specified for the Point, the heat point will be incremented by 1 degree. When down is specified for the Point, the heat point will be decremented by 1 degree.

HVAC.1|DayHeatPoint~50

HVAC.1|DayHeatPoint~Up

HVAC.1|DayHeatPoint~Down


HVAC.<<ID>>|NightHeatPoint~<<Point>>
ID, Point
This command sets the night heat point for the thermostat. When the temp display is set to Fahrenheit 45.0 95.0 is the range of acceptable temperatures. When the temp display is set to Celsius 7.2 35.0 is the range of acceptable temperatures. When up is specified for the Point, the heat point will be incremented by 1 degree. When down is specified for the Point, the heat point will be decremented by 1 degree.

HVAC.1|NightHeatPoint~50

HVAC.1|NightHeatPoint~Up


HVAC.<<ID>>|DayCoolPoint~<<Point>>
ID, Point
This command sets the day cool point for the thermostat. When the temp display is set to Fahrenheit 45.0 95.0 is the range of acceptable temperatures. When the temp display is set to Celsius 7.2 35.0 is the range of acceptable temperatures. When up is specified for the Point, the cool point will be incremented by 1 degree. When down is specified for the Point, the cool point will be decremented by 1 degree.

HVAC.1|DayCoolPoint~50

HVAC.1|DayCoolPoint~Up


HVAC.<<ID>>|NightCoolPoint~<<Point>>
ID, Point
This command sets the night cool point for the thermostat. When the temp display is set to Fahrenheit 45.0 95.0 is the range of acceptable temperatures. When the temp display is set to Celsius 7.2 35.0 is the range of acceptable temperatures. When up is specified for the Point, the cool point will be incremented by 1 degree. When down is specified for the Point, the cool point will be decremented by 1 degree.

HVAC.1|NightCoolPoint~50

HVAC.1|NightCoolPoint~Up


HVAC.<<ID>>|HumidityPoint~<<Point>>
ID, Point
This command sets the humidity point for the thermostat. When up is specified for the Point, the humidity cool point will be incremented by 1 degree. When down is specified for the Point, the humidity cool point will be decremented by 1 degree.

HVAC.1|HumidityPoint~50

HVAC.1|HumidityPoint~Up


HVAC.<<ID>>|HeatPoint~<<Point>>
ID, Point
This command sets the heat point for the thermostat. When the temp display is set to Fahrenheit 45.0 95.0 is the range of acceptable temperatures. When the temp display is set to Celsius 7.2 35.0 is the range of acceptable temperatures. When up is specified for the Point, the heat point will be incremented by 1 degree. When down is specified for the Point, the heat point will be decremented by 1 degree.

HVAC.1|HeatPoint~50

HVAC.1|HeatPoint~Up


Parameter
Description
Values


ID
The ID or alias of the thermostat unit to control.
1,2

Display
The new display scale
F = Fahrenheit, C = Celsius

State (HVAC)
The new HVAC state.
Off, Heat, Cool, Auto

Point (Hear / Cool)
The new heat / cool point for the thermostat.
45.0 95.0F, 7.2 35 C, Up, Down


Point (Humidity)
The new humidity point for the thermostat.
5 95 %, Up, Down

  • Support for the MLEchelonThermo commands and variable discussed above are subject to the Echelon Controller support.

MLServer Variables

Variable Name
Description
Example


MLEchelonThermo_<<ID>>_Current_Temperature
Current temperature of the thermostat. F or C at the end denotes Fahrenheit or Celsius.
66.0 F, 23.0 C

MLEchelonThermo_<<ID>>_Daytime_Heating_Set_Point
Daytime Heating Set Point. F or C at the end denotes Fahrenheit or Celsius. This variable is also used for thermostat with only Heating Set Point.
66.0 F, 23.0 C

MLEchelonThermo_<<ID>>_Nighttime_Heating_Set_Point
Nighttime Heating Set Point. F or C at the end denotes Fahrenheit or Celsius.
66.0 F, 23.0 C

MLEchelonThermo_<<ID>>_ Daytime_Cooling_Set_Point
Daytime Cooling Set Point. F or C at the end denotes Fahrenheit or Celsius.
66.0 F, 23.0 C

MLEchelonThermo_<<ID>>_Nighttime_Cooling_Set_Point
Nighttime Cooling Set Point. F or C at the end denotes Fahrenheit or Celsius.
66.0 F, 23.0 C

MLEchelonThermo_<<ID>>_Humidity_Set_Point
Humidity Set Point in percentage
70%

MLEchelonThermo_<<ID>>_Temperature_Unit
Current unit used for displaying temperature values
Fahrenheit or Celsius

MLEchelonThermo_<<ID>>_Current_Thermostat_State
Current thermostat state.
Daytime Heating, Night Heating, Daytime Cooling, Night Cooling

MLEchelonThermo_<<ID>>_Current_Humidity_Level
Current humidity level in percentage
75%

MLEchelonThermo_<<ID>>_HVAC_Mode
HVAC Mode
AUTO, HEAT, COOL, OFF


ID = The ID or alias of the thermostat unit.

Bugs

New Feature Requests