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'''
 
|-
 
|-
| 33-62||4-19
+
| 91-180||4-19
 
|}
 
|}
  
: 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). When timer word = 0: Timer is not activated.  
+
: 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 4 (LSB) and 5 (MSB) will specify the timer value for output 0  
 
:Byte 6 (LSB) and 7 (MSB) will specify the timer value for output 1
 
:Byte 6 (LSB) and 7 (MSB) will specify the timer value for output 1
 
:...
 
:...
 
:Byte 18 (LSB) and 19 (MSB) will specify the timer value for output 7
 
:Byte 18 (LSB) and 19 (MSB) will specify the timer value for output 7
 
=== ascii Names outputs ===
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 101: Line 99:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 33-62||20-147
+
| 91-180||20-27
 
|}
 
|}
  
:Byte 20 – 35: ascii name of the first output of this module (16 characters)
+
: Standard Timer values for an output to be used. Each output has a timer type
:Byte 36 – 51: ascii name of the second output of this module (16 characters)
+
:Byte 20 Timer type for output 0
:
+
:Byte 21 Timer type for output 1
:Byte 132 – 147: ascii name of the last output (16 characters)
+
:...
 +
:Byte 27 Timer type for output 7
  
=== Additional Output data ===
+
: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)
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 115: Line 117:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 33-62||149-156
+
| 91-180||28-35
 
|}
 
|}
  
:Byte 149: Output type byte output0 (=0: standard output, >0: Light output)
+
:Byte 28: Output type byte output0 (=0: standard output, >0: Light output)
:Byte 150: Output Type byte output1 (=0: standard output, >0: Light output)
+
:Byte 29: Output Type byte output1 (=0: standard output, >0: Light output)
 
:…
 
:…
:Byte 156: Output Type byte output7 (=0: standard output, >0: Light output)
+
:Byte 35: 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.
  
 +
=== Up/Down Timer settings of an individual Roller/Shutter ===
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 130: Line 133:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 33-62||157-164
+
| 91-180||36-43
|}
 
 
 
:Byte 157: Floor Level of output 0 (=0: main floor, =1: first floor, =2: second floor, =3: third floor etc =255: function not used)
 
:Byte 158: Floor Level of output 1
 
:…
 
:Byte 164: Floor Level of output 7
 
 
 
: Floor level is been used to group lights of a certain floor level and to switch them off together (by using action type 171 for example). To be able to do this, those lights needs to be in the same group and needs to have the Output type Byte>0.
 
 
 
{| class="wikitable sortable" border="1"
 
| align="center" style="background:#f0f0f0;"|'''Page'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
| 33-62||165-172
 
|}
 
 
 
:Byte 165: Menu Position of output 0 (which position will this output get in the pronto menus/PC menus, 255-> no position)
 
:Byte 166: Menu Position of output 1
 
:…
 
:Byte 172: Menu Position of output 7
 
 
 
=== Roller/Shutter Module ID in [[Large Installation]] mode ===
 
 
 
{| class="wikitable sortable" border="1"
 
| align="center" style="background:#f0f0f0;"|'''Page'''
 
| align="center" style="background:#f0f0f0;"|'''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 in [[Large Installation]] mode ===
 
 
 
{| class="wikitable sortable" border="1"
 
| align="center" style="background:#f0f0f0;"|'''Page'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
| 33-62||177-184
 
 
|}
 
|}
  
:Byte 177: Up Timer for Roller/Shutter 0
+
:Byte 36: Up Timer for Roller/Shutter 0
:Byte 178: Down Timer for Roller/Shutter 0
+
:Byte 37: Down Timer for Roller/Shutter 0
:Byte 179: Up Timer for Roller/Shutter 1
+
:Byte 38: Up Timer for Roller/Shutter 1
:Byte 180: Down Timer for Roller/Shutter 1
+
:Byte 39: Down Timer for Roller/Shutter 1
 
 
:Byte 183: Up Timer for Roller/Shutter 3
+
:Byte 42: Up Timer for Roller/Shutter 3
:Byte 184: Down Timer for Roller/Shutter 3
+
:Byte 53: 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.
+
Note: This timer setting is in seconds, when 0 the timer is not in use.
  
=== Roller/Shutter config byte in [[Large Installation]] mode ===
+
=== Roller/Shutter config byte ===
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 191: Line 152:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 33-62||185-188
+
| 91-180||54-57
 
|}
 
|}
  
:Byte 185: config byte for Roller/Shutter0.
+
:Byte 54: 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 204: Line 165:
 
:* BIT7 (Most significant): Not used yet
 
:* BIT7 (Most significant): Not used yet
  
:Byte 186: config byte for Roller/Shutter1.
+
:Byte 55: 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 214: Line 175:
 
:* BIT7 (Most significant): Not used yet
 
:* BIT7 (Most significant): Not used yet
  
:Byte 187: config byte for Roller/Shutter2.
+
:Byte 56: 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 224: Line 185:
 
:* BIT7 (Most significant): Not used yet
 
:* BIT7 (Most significant): Not used yet
  
:Byte 188: config byte for Roller/Shutter3.
+
:Byte 57: 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
Line 234: Line 195:
 
:* BIT7 (Most significant): Not used yet
 
:* BIT7 (Most significant): Not used yet
  
=== ascii name for each Roller/Shutter in [[Large Installation]] mode ===
+
=== ascii Names outputs ===
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 240: Line 201:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 33-62||189-252
+
| 91-180||128-255
 
|}
 
|}
  
:Byte 189-204: ascii name of Roller/Shutter0
+
:Byte 128 – 143: ascii name of the first output of this module (16 characters)
:Byte 205-220: ascii name of Roller/Shutter1
+
:Byte 144 – 159: ascii name of the second output of this module (16 characters)
:Byte 221-236: ascii name of Roller/Shutter2
+
:
:Byte 237-252: ascii name of Roller/Shutter3
+
:Byte 240 – 255: ascii name of the last output (16 characters)

Revision as of 14:37, 9 December 2017

General Configuration Bytes

Page 0 -> Controller specific data
Page Byte
0 1
Number of input modules: This byte specifies the number of input (input, temperature, oled ...) modules known by the Master controller on the RS485 bus.
Page Byte
0 2
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.

Data output modules

Page 91 – 180 -> Contains data of the output modules (90 modules maximum, 720 outputs -> 0-719)

The output data can be found back from page 91 till page 180. 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
91 x
This page is entirely used for output module 0.
Page Byte
92 x
This page is entirely used for output module 1.
Page Byte
93 x
This page is entirely used for output module 2.

...

Page Byte
180 x
This page is entirely used for output module 89.


Every output page has following structure

Output data

Page Byte
91-180 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
91-180 4-19
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 6 (LSB) and 7 (MSB) will specify the timer value for output 1
...
Byte 18 (LSB) and 19 (MSB) will specify the timer value for output 7
Page Byte
91-180 20-27
Standard Timer values for an output to be used. Each output has a timer type
Byte 20 Timer type for output 0
Byte 21 Timer type for output 1
...
Byte 27 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
91-180 28-35
Byte 28: Output type byte output0 (=0: standard output, >0: Light output)
Byte 29: Output Type byte output1 (=0: standard output, >0: Light output)
Byte 35: 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
91-180 36-43
Byte 36: Up Timer for Roller/Shutter 0
Byte 37: Down Timer for Roller/Shutter 0
Byte 38: Up Timer for Roller/Shutter 1
Byte 39: Down Timer for Roller/Shutter 1

Byte 42: Up Timer for Roller/Shutter 3
Byte 53: 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
91-180 54-57
Byte 54: 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 55: 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 56: 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 57: 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
91-180 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)