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.

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.

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 – 240 -> Contains data of the input modules (80 modules maximum, 640 inputs -> 0-639)

The input data can be found back from page 81 till page 240, 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
239-240 x
These pages are entirely used for input module 79. Page 239 is the first page, 240 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:
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:
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:
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

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)

...

Data Sensor modules

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

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

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

...

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


Every output page has following structure

Sensor data

Page Byte
240-255 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
240-255 4-6
Byte 4: Firmware Version F1 (Major)
Byte 5: Firmware Version F2 (Minor)
Byte 6: Firmware Version F3 (Built)

ascii Names outputs

Page Byte
240-255 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)