Difference between revisions of "Memory Model AIO"

From OpenMotics
Jump to navigation Jump to search
Line 86: Line 86:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 1-80||4-19
+
| 1-80||4-6
 +
|}
 +
 
 +
 
 +
: Byte 4: Firmware Version F1 (Major)
 +
: Byte 5: Firmware Version F2 (Minor)
 +
: Byte 6: Firmware Version F3 (Built)
 +
 
 +
 
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''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..  
 
: 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 4 (LSB) and 5 (MSB) will specify the timer value for output 0  
+
:Byte 7 (LSB) and 8 (MSB) will specify the timer value for output 0  
:Byte 6 (LSB) and 7 (MSB) will specify the timer value for output 1
+
:Byte 9 (LSB) and 10 (MSB) will specify the timer value for output 1
 
:...
 
:...
:Byte 18 (LSB) and 19 (MSB) will specify the timer value for output 7
+
:Byte 21 (LSB) and 22 (MSB) will specify the timer value for output 7
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 99: Line 112:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 1-80||20-27
+
| 1-80||23-30
 
|}
 
|}
  
 
: Standard Timer values for an output to be used. Each output has a timer type  
 
: Standard Timer values for an output to be used. Each output has a timer type  
:Byte 20 Timer type for output 0  
+
:Byte 23 Timer type for output 0  
:Byte 21 Timer type for output 1
+
:Byte 24 Timer type for output 1
 
:...
 
:...
:Byte 27 Timer type for output 7
+
:Byte 30 Timer type for output 7
  
  
Line 118: Line 131:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 1-80||28-35
+
| 1-80||31-38
 
|}
 
|}
  
:Byte 28: Output type byte output0 (=0: standard output, >0: Light output)
+
:Byte 31: Output type byte output0 (=0: standard output, >0: Light output)
:Byte 29: Output Type byte output1 (=0: standard output, >0: Light output)
+
:Byte 32: Output Type byte output1 (=0: standard output, >0: Light output)
 
:…
 
:…
:Byte 35: Output Type byte output7 (=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.
 
: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.
Line 134: Line 147:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 1-80||36-43
+
| 1-80||39-46
 
|}
 
|}
  
:Byte 36: Up Timer for Roller/Shutter 0
+
:Byte 39: Up Timer for Roller/Shutter 0
:Byte 37: Down Timer for Roller/Shutter 0
+
:Byte 40: Down Timer for Roller/Shutter 0
:Byte 38: Up Timer for Roller/Shutter 1
+
:Byte 41: Up Timer for Roller/Shutter 1
:Byte 39: Down Timer for Roller/Shutter 1
+
:Byte 42: Down Timer for Roller/Shutter 1
 
 
:Byte 42: Up Timer for Roller/Shutter 3
+
:Byte 45: Up Timer for Roller/Shutter 3
:Byte 53: Down Timer for Roller/Shutter 3
+
:Byte 46: Down Timer for Roller/Shutter 3
  
 
Note: This timer setting is in seconds, when 0 the timer is not in use.
 
Note: This timer setting is in seconds, when 0 the timer is not in use.
Line 153: Line 166:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 1-80||54-57
+
| 1-80||47-50
 
|}
 
|}
  
:Byte 54: config byte for Roller/Shutter0.
+
:Byte 47: 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
 
:* 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
 
:* BIT1: Not used yet
Line 166: Line 179:
 
:* BIT7 (Most significant): Not used yet
 
:* BIT7 (Most significant): Not used yet
  
:Byte 55: config byte for Roller/Shutter1.
+
:Byte 48: 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
 
:* 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
 
:* BIT1: Not used yet
Line 176: Line 189:
 
:* BIT7 (Most significant): Not used yet
 
:* BIT7 (Most significant): Not used yet
  
:Byte 56: config byte for Roller/Shutter2.
+
:Byte 49: 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
 
:* 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
 
:* BIT1: Not used yet
Line 186: Line 199:
 
:* BIT7 (Most significant): Not used yet
 
:* BIT7 (Most significant): Not used yet
  
:Byte 57: config byte for Roller/Shutter3.
+
:Byte 50: 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
 
:* 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
 
:* BIT1: Not used yet

Revision as of 15:35, 10 December 2017

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, temperature, can control ...) modules known by the Master controller on the RS485 bus. Maximum 80.

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/Byte2.

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.

Up/Down Timer settings of an individual Roller/Shutter

Page Byte
1-80 39-46
Byte 39: Up Timer for Roller/Shutter 0
Byte 40: Down Timer for Roller/Shutter 0
Byte 41: Up Timer for Roller/Shutter 1
Byte 42: Down Timer for Roller/Shutter 1

Byte 45: Up Timer for Roller/Shutter 3
Byte 46: 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 47-50
Byte 47: 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 48: 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 49: 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 50: 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)