Memory Model AIO

From OpenMotics
Jump to navigation Jump to search

General Configuration Bytes

Page 0 -> Controller specific data
Page Byte
0 1
Number of output modules: This byte specifies the number of output (output, dim control, shutter/curtain ...) modules known by the Master controller on the RS485 bus. Maximum 80.
Page Byte
0 2
Number of input modules: This byte specifies the number of input (input, can control ...) modules known by the Master controller on the RS485 bus. Maximum 80.
Page Byte
0 3
Number of sensor modules: This byte specifies the number of sensor modules known by the Master controller on the RS485 bus. Maximum 16.
Page Byte
0 4
Scan time RS485 sensor modules: This value (between 1 and 254) will indicate the scan time (in 100ms) between a full scan of sensor modules. If the value =255 or =0, the standard value (10) will be taken (=scan every second).

Data output modules

Page 1 – 80 -> Contains data of the output modules (80 modules maximum, 640 outputs -> 0-639)

The output data can be found back from page 1 till page 80. These Pages that contains active data depending on Page0/Byte1.

Every output Module (that can be configured in normal or Roller/Shutter mode) has its own output page which contains the normal output data and the Roller/Shutter data:

Page Byte
1 x
This page is entirely used for output module 0.
Page Byte
2 x
This page is entirely used for output module 1.
Page Byte
3 x
This page is entirely used for output module 2.

...

Page Byte
80 x
This page is entirely used for output module 79.


Every output page has following structure

Output data

Page Byte
1-80 0-3
Byte 0: Type device (more information see document “Technical device information”)
Byte 1: ID1 (ID1, 2, 3 gives the unique ID of the device)
Byte 2: ID2
Byte 3: ID3
Page Byte
1-80 4-6
Byte 4: Firmware Version F1 (Major)
Byte 5: Firmware Version F2 (Minor)
Byte 6: Firmware Version F3 (Built)
Page Byte
1-80 7-22
Standard Timer values for an output to be used. Each timer value has a word format and is programmed in 2 bytes (first byte LSB). The function of this word is decibed in the Timer Type Byte..
Byte 7 (LSB) and 8 (MSB) will specify the timer value for output 0
Byte 9 (LSB) and 10 (MSB) will specify the timer value for output 1
...
Byte 21 (LSB) and 22 (MSB) will specify the timer value for output 7
Page Byte
1-80 23-30
Standard Timer values for an output to be used. Each output has a timer type
Byte 23 Timer type for output 0
Byte 24 Timer type for output 1
...
Byte 30 Timer type for output 7


When Timer Type=0 or 255 -> Timer not active or not configured
When Timer Type=1 -> Timer value contains 100ms value in other words, if for example the Timer value (word) = 6004, the timer is set to 600.4 seconds
When Timer Type=2 -> Timer value contains second value in other words, if for example the Timer value (word) = 6004, the timer is set to 604 seconds
When Timer Type=3 -> Time value contains switch off time (MSB=Hour, LSB=minute)
Page Byte
1-80 31-38
Byte 31: Output type byte output0 (=0: standard output, >0: Light output)
Byte 32: Output Type byte output1 (=0: standard output, >0: Light output)
Byte 38: Output Type byte output7 (=0: standard output, >0: Light output)
Output Type byte will indicate if the indicated output is a light or not. When specific instruction (by using action type 163 for example) to switch off a light will be used, only lights (and not outputs) will be switched off.


Page Byte
1-80 39-46
Byte 39: Minimum output level when dimming for Output 0.
Byte 40: Minimum output level when dimming for Output 0.
Byte 46: Minimum output level when dimming for Output 7.
Note: When the standard value (255) of eeprom is used, the minimum value is set on 8. The programmed value should be between 0 and 62.
Page Byte
1-80 47-54
Byte 47: Maximum output level when dimming for Output 0.
Byte 48: Maximum output level when dimming for Output 0.
Byte 54: Maximum output level when dimming for Output 7.

Up/Down Timer settings of an individual Roller/Shutter

Page Byte
1-80 64-71
Byte 64: Up Timer for Roller/Shutter 0
Byte 65: Down Timer for Roller/Shutter 0
Byte 66: Up Timer for Roller/Shutter 1
Byte 67: Down Timer for Roller/Shutter 1

Byte 70: Up Timer for Roller/Shutter 3
Byte 71: Down Timer for Roller/Shutter 3

Note: This timer setting is in seconds, when 0 the timer is not in use.

Roller/Shutter config byte

Page Byte
1-80 72-75
Byte 72: 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 used yet
  • BIT2: Not used yet
  • BIT3: Not used yet
  • BIT4: Not used yet
  • BIT5: Not used yet
  • BIT6: Not used yet
  • BIT7 (Most significant): Not used yet
Byte 73: 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 used yet
  • BIT2: Not used yet
  • BIT3: Not used yet
  • BIT4: Not used yet
  • BIT5: Not used yet
  • BIT6: Not used yet
  • BIT7 (Most significant): Not used yet
Byte 74: 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 used yet
  • BIT2: Not used yet
  • BIT3: Not used yet
  • BIT4: Not used yet
  • BIT5: Not used yet
  • BIT6: Not used yet
  • BIT7 (Most significant): Not used yet
Byte 75: 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 used yet
  • BIT2: Not used yet
  • BIT3: Not used yet
  • BIT4: Not used yet
  • BIT5: Not used yet
  • BIT6: Not used yet
  • BIT7 (Most significant): Not used yet

ascii Names outputs

Page Byte
1-80 128-255
Byte 128 – 143: ascii name of the first output of this module (16 characters)
Byte 144 – 159: ascii name of the second output of this module (16 characters)
Byte 240 – 255: ascii name of the last output (16 characters)

Data input modules

Page 81 – 238 -> Contains data of the input modules (79 modules maximum, 632 inputs -> 0-631)

The input data can be found back from page 81 till page 238, each input module has 2 pages. These Pages that contains active data depending on Page0/Byte2.

Every input Module has 2 input pages which contains all the input and configuration data:

Page Byte
81-82 x
These pages are entirely used for input module 0. Page 81 is the first page, 82 the second.
Page Byte
83-84 x
These pages are entirely used for input module 1. Page 83 is the first page, 84 the second.
Page Byte
85-86 x
These pages are entirely used for input module 2. Page 85 is the first page, 86 the second.

...

Page Byte
237-238 x
These pages are entirely used for input module 78. Page 237 is the first page, 238 the second.


Every input page has following structure

Input data

Page Byte
First page 0-3
Byte 0: Type device (more information see document “Technical device information”)
Byte 1: ID1 (ID1, 2, 3 gives the unique ID of the device)
Byte 2: ID2
Byte 3: ID3
Page Byte
First page 4-6
Byte 4: Firmware Version F1 (Major)
Byte 5: Firmware Version F2 (Minor)
Byte 6: Firmware Version F3 (Built)

Input configuration

Page Byte
First page 7-14

Each input has 1 configuration byte, 8 configuration bytes per module. Each BIT of the configuration byte represents an input configuration. BIT0 is the least significant BIT of the configuration BYTE, BIT7 is the most significant BIT.

Page Byte
First page 7
Configuration Byte of first input (0) of this module:
BIT0: On the different inputs of the OpenMotics system, both NC (normally close, BIT0=0) and NO (normally open, BIT0=1) switches can be connected. In this byte, in BIT0, you can program for each input if the input is NO or NC. Standard, all inputs are programmed as NO (BIT0=1).
Page Byte
First page 8
Configuration Byte of second input (1) of this module:
BIT0: On the different inputs of the OpenMotics system, both NC (normally close, BIT0=0) and NO (normally open, BIT0=1) switches can be connected. In this byte, in BIT0, you can program for each input if the input is NO or NC. Standard, all inputs are programmed as NO (BIT0=1).

Page Byte
First page 14
Configuration Byte of last input (7) of this module:
BIT0: On the different inputs of the OpenMotics system, both NC (normally close, BIT0=0) and NO (normally open, BIT0=1) switches can be connected. In this byte, in BIT0, you can program for each input if the input is NO or NC. Standard, all inputs are programmed as NO (BIT0=1).

ascii Names inputs

Page Byte
First page 128-255
Byte 128 – 143: ascii name of the first input of this module (16 characters)
Byte 144 – 159: ascii name of the second input of this module (16 characters)
Byte 240 – 255: ascii name of the last input (16 characters)

Toggle input link

Page Byte
Second page 0-15

For each input, an output or a special function (basic actions) can be linked. This is configured in the following bytes:

Byte 0: MSB of the input link word of input 0 of this input module
Byte 1: LSB of the input link word of input 0 of this input module
Byte 2: MSB of the input link word of input 1 of this input module
Byte 3: LSB of the input link word of input 1 of this input module
Byte 4: MSB of the input link word of input 2 of this input module
Byte 5: LSB of the input link word of input 2 of this input module

The input link word has following configuration:

  • BIT 0-9: These bits contains the output number of the output to be toggled by input x (only works when BIT10,12,13,14,15=0)
  • BIT10: 0->Toggle output in BIT0-9 is used, 1->"input action press" basic actions, "input action release" basic actions etc are being used
  • BIT11: 1-> Dimming up when the BIT10=0 and BIT0-9 contains a dimmer output, 0->Dimming down when the BIT10=0 and BIT0-9 contains a dimmer output (this bit can be ignored when programming the input link word)
  • BIT12: 1-> 1 second press & hold function is programmed, 0-> 1 second press & hold function is not programmed
  • BIT13: 1-> 2 second press & hold function is programmed, 0-> 2 second press & hold function is not programmed
  • BIT14: Not used
  • BIT15: 1-> Double press is programmed, 0-> Double press is not programmed

Notes:

  • When Input link BIT10=1, the PRESS and RELEASE basic action will work.
  • For the 1SEC, 2SEC or DOUBLE PRESS actions to work BIT10=0 and BIT(12 and/or 13 and/or 15)=1
  • When 1SEC or 2SEC or DOUBLE PRESS actions is activated, the RELEASE action will work but not the PRESS action

Input action "Press"

Page Byte
Second page 16-63

Each input can be linked to a basic action (6 bytes) when the input is pressed. See Action Types AIO for more details about the possible basic actions that can be used.

Page Byte
Second page 16-21

These 6 bytes represents the basic action bytes for input 0 of this module:

Byte 16: Type
Byte 17: Action
Byte 18: Device Nr (MSB)
Byte 19: Device Nr (LSB)
Byte 20: Extra Parameter (MSB)
Byte 21: Extra Parameter (LSB)
Page Byte
Second page 22-27

These 6 bytes represents the basic action bytes for input 1 of this module:

Byte 22: Type
Byte 23: Action
Byte 24: Device Nr (MSB)
Byte 25: Device Nr (LSB)
Byte 26: Extra Parameter (MSB)
Byte 27: Extra Parameter (LSB)

...

Input action "Release"

Page Byte
Second page 64-111

Each input can be linked to a basic action (6 bytes) when the input is released. See Action Types AIO for more details about the possible basic actions that can be used.

Page Byte
Second page 64-69

These 6 bytes represents the basic action bytes for input 0 of this module:

Byte 64: Type
Byte 65: Action
Byte 66: Device Nr (MSB)
Byte 67: Device Nr (LSB)
Byte 68: Extra Parameter (MSB)
Byte 69: Extra Parameter (LSB)
Page Byte
Second page 70-75

These 6 bytes represents the basic action bytes for input 1 of this module:

Byte 70: Type
Byte 71: Action
Byte 72: Device Nr (MSB)
Byte 73: Device Nr (LSB)
Byte 74: Extra Parameter (MSB)
Byte 75: Extra Parameter (LSB)

...

Input action "1 second press"

Page Byte
Second page 112-159

Each input can be linked to a basic action (6 bytes) when the input is pressed for 1 second. See Action Types AIO for more details about the possible basic actions that can be used.

Page Byte
Second page 112-117

These 6 bytes represents the basic action bytes for input 0 of this module:

Byte 112: Type
Byte 113: Action
Byte 114: Device Nr (MSB)
Byte 115: Device Nr (LSB)
Byte 116: Extra Parameter (MSB)
Byte 117: Extra Parameter (LSB)
Page Byte
Second page 118-123

These 6 bytes represents the basic action bytes for input 1 of this module:

Byte 118: Type
Byte 119: Action
Byte 120: Device Nr (MSB)
Byte 121: Device Nr (LSB)
Byte 122: Extra Parameter (MSB)
Byte 123: Extra Parameter (LSB)

...

Input action "2 second press"

Page Byte
Second page 160-207

Each input can be linked to a basic action (6 bytes) when the input is pressed for 2 seconds. See Action Types AIO for more details about the possible basic actions that can be used.

Page Byte
Second page 160-165

These 6 bytes represents the basic action bytes for input 0 of this module:

Byte 160: Type
Byte 161: Action
Byte 162: Device Nr (MSB)
Byte 163: Device Nr (LSB)
Byte 164: Extra Parameter (MSB)
Byte 165: Extra Parameter (LSB)
Page Byte
Second page 166-171

These 6 bytes represents the basic action bytes for input 1 of this module:

Byte 166: Type
Byte 167: Action
Byte 168: Device Nr (MSB)
Byte 169: Device Nr (LSB)
Byte 170: Extra Parameter (MSB)
Byte 171: Extra Parameter (LSB)

...

Input action "double press"

Page Byte
Second page 208-255

Each input can be linked to a basic action (6 bytes) when the input is double pressed. if an input is single pressed, the action "Release" will be executed. See Action Types AIO for more details about the possible basic actions that can be used.

Page Byte
Second page 208-213

These 6 bytes represents the basic action bytes for input 0 of this module:

Byte 208: Type
Byte 209: Action
Byte 210: Device Nr (MSB)
Byte 211: Device Nr (LSB)
Byte 212: Extra Parameter (MSB)
Byte 213: Extra Parameter (LSB)
Page Byte
Second page 214-219

These 6 bytes represents the basic action bytes for input 1 of this module:

Byte 214: Type
Byte 215: Action
Byte 216: Device Nr (MSB)
Byte 217: Device Nr (LSB)
Byte 218: Extra Parameter (MSB)
Byte 219: Extra Parameter (LSB)

...

Data Sensor modules

Page 239 – 254 -> Contains data of the Sensor modules (16 modules maximum, 128 Sensors -> 0-127)

The sensor data can be found back from page 229 till page 254. These Pages that contains active data depending on Page0/Byte3.

Page Byte
239 x
This page is entirely used for sensor module 0.
Page Byte
240 x
This page is entirely used for sensor module 1.
Page Byte
241 x
This page is entirely used for sensor module 2.

...

Page Byte
254 x
This page is entirely used for sensor module 15.


Every sensor page has following structure

Sensor data

Page Byte
239-254 0-3
Byte 0: Type device (more information see document “Technical device information”)
Byte 1: ID1 (ID1, 2, 3 gives the unique ID of the device)
Byte 2: ID2
Byte 3: ID3
Page Byte
239-254 4-6
Byte 4: Firmware Version F1 (Major)
Byte 5: Firmware Version F2 (Minor)
Byte 6: Firmware Version F3 (Built)

ascii Names Sensors

Page Byte
239-254 128-255
Byte 128 – 143: ascii name of the first sensor of this module (16 characters)
Byte 144 – 159: ascii name of the second sensor of this module (16 characters)
Byte 240 – 255: ascii name of the last sensor (16 characters)

Group Actions Pages

A Group Action is a list of Basic Actions (BA's) to be executed together. Group actions are implemented in a flexible way in other words, a group action can contain a flexible number of BA's. As an example, you can configure Group Action 0 to be able to contain 7 BA's, Group Action 1 for 33 BA's.

Group Actions are configured in Eeprom and consist of 3 eeprom sections:

  • Page 256-257: GAT (Group Allocation table): This table indicates the start and end address of the BA's of each group action
  • Page 259-274: Contains the Group names of each Group Action
  • Page 283-382: Contains all the BA's of each Group

Group Action GAT Pages

Group Action BA Pages

Page 256 – 305 -> Contains data of 200 Group Actions. Each Group Action contains 8 Basic Actions.
Page Byte
256 x
This page is entirely used for Group Action 0 - 3.
Page Byte
257 x
This page is entirely used for Group Action 4 - 7.
Page Byte
258 x
This page is entirely used for Group Action 8 - 11.

...

Page Byte
305 x
This page is entirely used for Group Action 196 - 199.

Group Action Name Page

Page Byte
259-274 0-255
Page 259 Byte 0 – 15: ascii name of Group Action 0 (16 characters)
Page 259 Byte 16 – 31: ascii name of Group Action 1 (16 characters)
Page 259 Byte 32 – 47: aascii name of Group Action 2 (16 characters)
...
Page 259 Byte 240 – 255: ascii name of Group Action 15 (16 characters)
Page 260 Byte 0 – 15: ascii name of Group Action 16 (16 characters)
Byte 128 – 143: ascii name of third Group Action of this page (16 characters)
...