Large Installation

From OpenMotics
Jump to: navigation, search

Introduction

Large Installation is available in Master firmware version 3.140.129 or higher

This is a technical introduction how the Large Installation option is programmed in the Master controller. Please note that this configuration is seamlessly integrated in the OpenMotics cloud.

In a standard configuration, 30 input (input, temp and Oled modules) and 30 output modules (Dim control and output modules) can be used which will be part of the Normal Installation List. The output module can be configured as Standard Output or as Roller/Shutter Module. When this wouldn’t be enough (when for example a large number of Roller/Shutters are used), the Normal Installation List can be extended with 30 modules. This extended list will only contain Roller/Shutter modules. In other words, when the large installation mode is enabled, all Roller/Shutter modules will be placed in a separate list also called the Large Installation List.

Each output module (with 8 relays) that is configured as Roller/Shutter module is able to connect 4 (RS0-3) Roller/Shutters. Each Roller/Shutter has following configuration options which needs to be programmed in eeprom:

  1. Define which output is Up and which is Down
  2. Define the timer setting for automatic switch off per port for the Up direction
  3. Define the timer setting for automatic switch off per port for the down direction
  4. Define to which group (max 2 per Roller/Shutter) each Roller/Shutter belongs to to execute group Up,Down and stop commands
  5. Define ascii name per Roller/Shutter

The standard commands to change an output state cannot be used for the output modules (configured as Roller/Shutter) which are member of the Large Installation list. These Roller/Shutters can only be controller by using 12 Basic Actions (100-111). These basic actions will only work for Roller/Shutter Modules part of the Large Installation list.

Individual Roller/Shutter basic actions (100-103,108-109) exist to execute actions on individual Roller/shutters. However, when an action on a group of Roller/shutters (a complete floor for example) must be executed, group Basic Action exist (104-107,110-111) to command a group of Roller/shutters. Each Roller/Shutter can be part of 2 groups (maximum 30 groups).

Every Roller/Shutter has 2 timer settings, 1 for going up and 1 for going down. When a group Basic action is executed, the individual roller/shutter timers are ignored and the group timer setting (1 timer setting for up and 1 for down) will be used.

Important Note: To remember the up/down state of an individual Roller/Shutter when using Basic Action 103, validation bit 120-239 are used. To remember the up/down state of a Roller/shutter group when using Basic Action 107, validation bit 90-119 are used. This means that, when Large Installation mode is enabled, the use of validation bit 90-239 should be avoided.

Adding Modules in the Large Installation List

When a larger number of Roller/Shutter modules are used or when you want to make use of the special Basic Actions (100-111) to control the Roller/shutter modules, the large installation mode should be enabled before adding any Roller/Shutter modules.

  1. First enable the Large Installation mode by changing the eeprom value Page0/Byte27 to 0. This can be done by using the CLI command eeprom write
  2. Execute the CLI command eeprom activate or the similar command in API mode
  3. Make sure the Output modules that you want to add in the Large Installation list are in Roller/Shutter mode
  4. Put the modules in discovery mode by using the CLI command module discover start and add the Roller/Shutter modules 1 per 1.
  5. End discovery mode by using the CLI command module discover stop
  6. The modules that are added in Large Installation list can be seen by using the CLI command error list

API instructions for Large Installation mode

SO -> Read Output Roller/Shutter in Large Installation mode

This function will read the output status of an output module that is configured as Shutter/Roller in Large Installation mode.

Please note that this instruction will not sent back the status of the Output modules that are not added in Large Installation mode. To know the status of those modules, please use instruction RO.

Request G->M
' 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
STR S O CID Module Nr 0 0 0 0 0 0 0 0 0 0 0 0 13 10
  • CID: Byte 2 will always contain the Communication ID. When the Gateway sends a request to the Master, the Gateway will add the communication ID (communication sequence) in byte2. The Master will always answer the request of the Gateway with the same communication ID. CID is set between 1 and 255. When CID is set to 0, it is not used.
  • Module Nr: Indicates the Module Nr (0-29) of the Roller/Shutter for which the data is requested
  • This message can also be sent automatically without any request, see explanation below.
Response M->G
' 0 1 2 3 4 5 6 7 8 9
STR S O CID Module Nr 0 0 0 Output Status 13 10
  • Module Nr: Indicates the Module Nr (0-29) of the Roller/Shutter for which the data is being sent out
  • Output Status: Gives the Output status (1 bit per output) of the Roller/Shutter of Module Nr
  • The “SO” response can also be automatically sent when an output has changed state (and thus without sending the “SO” instruction first). To enable this, byte 28 on page 0 of the eeprom must be below 255 (See Memory Model). This can be easily checked by following CLI instruction: eeprom read 0 28. If the result is 255, then the automatic SO response is not enabled. To enable the automatic “SO” sent, please use following 2 CLI instructions: eeprom write 0 28 0 and eeprom activate.
  • When an automatic “SO” response is sent (and thus without sending the “SO” instruction first), the CID of that instruction will be 0.
  • The automatic responses will only be sent in API mode

MI -> Module initialize message

Automatic send

When the Bus is in discovery mode (see API instruction “DA”), a new module can be added or an existing can be detected. By pushing the init button on an input/output/dim control/temperature etc module, the module will sent an init message to the master and the Master will sent the “MI” instruction to the Gateway. “MI” messages are never requested by the Gateway and will be automatically sent but only when the system is in discovery mode (or init mode). When a new module is found, 2 “MI” messages will be sent, the first one that a new module is found, the second “MI” message that the module has become an existing module in the list.

Please note that this instruction already existed, but for the Large Installation implementation, the IO Type has been added in this instruction.

Automatic sent M->G
' 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
STR M I 0 ID0 ID1 ID2 ID3 Instruction Module Nr Data IO Type 0 0 0 0 0 13 10
  • ID0..ID3: address ID of the module detected, ID0 is always the module type
    • ID0 =“I” for Input module, “R” for Restricted/shutter Output, “O” for output, “D” for Dim control, “T” for Temperature module, “L” for Oled etc
  • Instruction: “N” -> New module found (byte 8 to 15 can be ignored), “E” -> Module exists in database (Module Nr and Data are used) of the Master Controller, “D” -> Duplicate address is found (the user needs to re-push the init button).
  • Module Nr: This is the Module ranking number in the system of the individual module (between 0-29).
    • 2 module lists exists:
      • input modules (ID0: “I”,”T”,”L” etc)
      • output modules (ID0: “O”,”D”, “R” etc).
  • IO Type: This indicates which type of IO is received
    • IO Type=0: Roller/Shutter module in Large Installation mode
    • IO Type=1: Any Output module except Roller/Shutter module when Large Installation mode is enabled.
    • IO Type=2: Any Input module
  • Data: data (byte) that will be read out of the selected module (input that’s being pressed for example).
  • CID is not used.

Basic Actions for the Roller/Shutters in a Large Installation

All Roller/Shutters that are part of the Large installation list can only be activated by the below Basic Action instruction set, all other commands available in the system to activate outputs will NOT work on output modules part of the Large Installation list. Also, below instruction set cannot be used for output module not part of the Large Installation list.

Action Byte Description
100
Roller/Shutter x up (only to be used in Large Installation mode, x<120)
101
Roller/Shutter x down (only to be used in Large Installation mode, x<120)
102
Roller/Shutter x stop (only to be used in Large Installation mode, x<120)
103
Roller/Shutter x up/stop/down/stop... (only to be used in Large Installation mode, x<120)
104
All Roller/Shutters of group x up (only to be used in Large Installation mode, x<30)
105
All Roller/Shutters of group x down (only to be used in Large Installation mode, x<30)
106
All Roller/Shutters of group x stop (only to be used in Large Installation mode, x<30)
107
All Roller/Shutters of group x up/stop/down/stop... (only to be used in Large Installation mode, x<30)
108
Roller/Shutter x up/stop/up/stop... (only to be used in Large Installation mode, x<120)
109
Roller/Shutter x down/stop/down/stop... (only to be used in Large Installation mode, x<120)
110
All Roller/Shutters of group x up/stop/up/stop... (only to be used in Large Installation mode, x<30)
111
All Roller/Shutters of group x down/stop/down/stop... (only to be used in Large Installation mode, x<30)

Eeprom Memory Model for Large Installation

Enable/Disable Large Installation mode

Page Byte
0 27
Large Installation Mode: This byte specifies if the Large Installation mode is enabled (byte<255) or disabled (byte=255).
Note: When a Larger number of Roller/Shutter modules are expected, please enable the Large installation mode before adding any modules to the system. Also, when you want to make use of the special basic actions (100-107), you must enable the Large Installation mode before adding any Roller/Shutter modules to the system.

Enable/Disable Automatic API "SO" sent in Large Installation mode

Page Byte
0 28
Automatic response byte SO: When the system is in API mode, every time an output configured as Roller/Shutter in Large Installation mode changes, the system reports through his serial connection these changes. When the automatic response byte SO<255, the “automatic send” instruction “SO” will be sent and will report the output status of that Roller/Shutter module. For more information on the instructions “SO”, please see API Reference Guide.

Number of modules in the Large Installation List

Page Byte
0 3
Number of Roller/shutter modules: This byte specifies the number of Roller/Shutters that can be found back in the Large Installation List when Large Installation is enabled (see also Page 0/byte 27).
When the Large Installation mode is enabled and a new Roller/shutter module is added, this module will be added in the Large Installation List. The number of modules that are activated in the Large Installation List can be found back in the Master Eeprom in this byte.

Eeprom Output pages

The Roller/Shutter data for Large Installation can be found back from page 33 till page 62. These Pages contains active data which entirely depends on the number of Roller/Shutter modules defined in Page0/Byte3.

Please Note that the Normal Output data and the Large Installation data are written in the same pages. The data for the Normal outputs ranges from byte 0 to 172, the Large Installation data starts at byte 173. The data of the normal outputs and the data of the Large installation are not related to each other and are different modules.

Every output Module has its own output page which contains the normal output data and the Large installation data of the Roller/Shutter modules:

Page Byte
33 x
This page is entirely used for output module 0.
Page Byte
34 x
This page is entirely used for output module 1.
Page Byte
35 x
This page is entirely used for output module 2.

...

Page Byte
62 x
This page is entirely used for output module 29.

Roller/Shutter Module ID in Large Installation mode

Page Byte
33-62 173-176
Byte 173: Type device (Should be always “R”)
Byte 174: ID1 (ID1, 2, 3 gives the unique ID of the device)
Byte 175: ID2
Byte 176: ID3

Up/Down Timer settings of an individual Roller/Shutter

Page Byte
33-62 177-184
Byte 177: Up Timer for Roller/Shutter 0
Byte 178: Down Timer for Roller/Shutter 0
Byte 179: Up Timer for Roller/Shutter 1
Byte 180: Down Timer for Roller/Shutter 1

Byte 183: Up Timer for Roller/Shutter 3
Byte 184: Down Timer for Roller/Shutter 3

Note: When the timer setting is 255, the Master controller will set the default timer setting which is 249 seconds. Timer setting 250-254 cannot be used.

Roller/Shutter config byte

Page Byte
33-62 185-188
Byte 185: config byte for Roller/Shutter0.
  • BIT0 (Least significant): UP/DOWN config BIT: If BIT0=1 then the first output of the 2 outputs will be the UP direction (and the other output will be the DOWN direction), if BIT0=0 then the second output will be the UP direction
  • BIT1: Not yet used
  • BIT2: Not yet used
  • BIT3: Not yet used
  • BIT4: Not yet used
  • BIT5: Not yet used
  • BIT6: Not yet used
  • BIT7 (Most significant): Not yet used
Byte 186: config byte for Roller/Shutter1.
  • BIT0 (Least significant): UP/DOWN config BIT: If BIT0=1 then the first output of the 2 outputs will be the UP direction (and the other output will be the DOWN direction), if BIT0=0 then the second output will be the UP direction
  • BIT1: Not yet used
  • BIT2: Not yet used
  • BIT3: Not yet used
  • BIT4: Not yet used
  • BIT5: Not yet used
  • BIT6: Not yet used
  • BIT7 (Most significant): Not yet used
Byte 187: config byte for Roller/Shutter2.
  • BIT0 (Least significant): UP/DOWN config BIT: If BIT0=1 then the first output of the 2 outputs will be the UP direction (and the other output will be the DOWN direction), if BIT0=0 then the second output will be the UP direction
  • BIT1: Not yet used
  • BIT2: Not yet used
  • BIT3: Not yet used
  • BIT4: Not yet used
  • BIT5: Not yet used
  • BIT6: Not yet used
  • BIT7 (Most significant): Not yet used
Byte 188: config byte for Roller/Shutter3.
  • BIT0 (Least significant): UP/DOWN config BIT: If BIT0=1 then the first output of the 2 outputs will be the UP direction (and the other output will be the DOWN direction), if BIT0=0 then the second output will be the UP direction
  • BIT1: Not yet used
  • BIT2: Not yet used
  • BIT3: Not yet used
  • BIT4: Not yet used
  • BIT5: Not yet used
  • BIT6: Not yet used
  • BIT7 (Most significant): Not yet used

ascii name for each Roller/Shutter

Page Byte
33-62 189-252
Byte 189-204: ascii name of RS0
Byte 205-220: ascii name of RS1
Byte 221-236: ascii name of RS2
Byte 237-252: ascii name of RS3

Group page

Page Byte
63 0-239

Each Roller/Shutter in a Large Installation can be part of a group (0-29). When a Roller/shutter group action (104-107) is executed, all Roller/shutters that contain to that group will be activated.

Byte 0: First group assignment for Roller/Shutter 0
Byte 1: Second group assignment for Roller/Shutter 0
Byte 2: First group assignment for Roller/Shutter 1
Byte 3: Second group assignment for Roller/Shutter 1
Byte 4: First group assignment for Roller/Shutter 2
Byte 5: Second group assignment for Roller/Shutter 2
Byte 6: First group assignment for Roller/Shutter 3
Byte 7: Second group assignment for Roller/Shutter 3

Up/Down Timer settings of a group of Roller/Shutters

Page Byte
64 0-59

When Basic Action 104-107 is used, the group of Roller/shutters will use the below timer values.

Byte 0: Group 0 Timer up value (0-249s)
Byte 1: Group 0 Timer down value (0-249s)
Byte 2: Group 1 Timer up value (0-249s)
Byte 3: Group 1 Timer down value (0-249s)
Byte 4: Group 2 Timer up value (0-249s)
Byte 5: Group 2 Timer down value (0-249s)
Byte 6: Group 3 Timer up value (0-249s)
Byte 7: Group 3 Timer down value (0-249s)

Note: When the timer setting is 255, the Master controller will set the default timer setting which is 249 seconds. Timer setting 250-254 cannot be used.

Error Codes in Large Installation mode

Error Code Description
28
RS485 error: Output Device configured as Roller/Shutter in Large Installation mode is responding but not with “OK” message or wrong module is answering