Difference between revisions of "Memory Model AIO"

From OpenMotics
Jump to navigation Jump to search
 
(39 intermediate revisions by 2 users not shown)
Line 112: Line 112:
 
|}
 
|}
  
: Automatic Module Discovery: This value will indicate if the module discovery is enabled (>0) or disabled (=0). When Automatic module discovery is enabled, during startup of the Core/Core+, the system will check for new modules on the RS485 Bus. This feature only works for GEN3 hardware. If GEN2 hardware must be added, Automatic Module Discovery must be disabled and a manual add (by using the init button when the module is in discovery mode) must be executed to add such a module. Once that module is added, Automatic Module Discovery can be enabled again.
+
: Automatic Module Discovery Byte:
 +
: * Automatic Module Discovery.BIT0: This bit will indicate if the module discovery is enabled (>0) or disabled (=0). When Automatic module discovery is enabled, during startup of the Core/Core+, the system will check for new modules on the RS485 Bus. This feature only works for GEN3 hardware. If GEN2 hardware must be added, Automatic Module Discovery must be disabled and a manual add (by using the init button when the module is in discovery mode) must be executed to add such a module. Once that module is added, Automatic Module Discovery can be enabled again.
 +
: * Automatic Module Discovery.BIT1: This bit represents if new (BIT=1) or old (BIT=0) slave firmware is used. This bit should be set correctly whether automatic search or manual discovery is used. These are the firmware versions that are being considered as new:
 +
: ** Output V6.0.15 or higher
 +
: ** Dim Control V6.0.16 or higher
 +
: ** Input V6.0.23 or higher
 +
: ** Temp V6.0.13 or higher
 +
: ** Can Control V6.0.36 or higher
 +
: * Automatic Module Discovery.BIT2: This bit represents if full handshake (BIT=1) needs to be done or that the module can be with limited handshake (BIT=0). This will only work if BIT0=0 and BIT1=1.
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 121: Line 129:
 
|}
 
|}
  
: Termination CAN bus byte: The CAN bus needs a termination at the beginning and the end of the Bus. The Termination of the CAN bus in the Core/Core+ can be set electronically. The Termination at the other side of the Bus must be done by a jumper on the Micro CAN. If the Termination CAN Bus Byte > 0 (default), then the CAN Bus Termination is active, =0 -> Termination is not set.
+
: Termination CAN bus byte: The CAN bus needs a termination at the beginning and the end of the CAN bus. The Termination of the CAN bus in the Core/Core+ can be set electronically. The termination at the other side of the Bus must be done by a jumper on the micro CAN module.
 +
: = 0 -> CAN bus termination is not set
 +
: > 0 -> CAN bus termination is set
 
    
 
    
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 136: Line 146:
 
:* Debug mode.BIT3=0->Disable Health Checker, BIT3=1->Enable (Default setting)
 
:* Debug mode.BIT3=0->Disable Health Checker, BIT3=1->Enable (Default setting)
 
: Please note that enabling the above functionality might slow down the system when large number of BA's are executed.
 
: Please note that enabling the above functionality might slow down the system when large number of BA's are executed.
 +
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 0||14-29
 +
|}
 +
 +
: These 11 bytes represents the CAN configuration bytes. These bytes should be handled with care since a reconfiguration will also reconfigure the CAN slaves. Wrong values could make the CAN bus fail without possibilities to recover. The below bytes will automatically be written when changing the speed with CLI instruction "can speed write".
 +
: Byte 14: BRP value (Brain(+))
 +
: Byte 15: Propagation segment (Brain(+))
 +
: Byte 16: Phase Segment 1 (Brain(+))
 +
: Byte 17: Phase Segment 2 (Brain(+))
 +
: Byte 18: Sync Jump Width (Brain(+))
 +
: Byte 19: CRC8 of Byte 14-18
 +
: Byte 20: BRGCON1 (uCAN)
 +
: Byte 21: BRGCON2 (uCAN)
 +
: Byte 22: BRGCON3 (uCAN)
 +
: Byte 23: CRC8 of Byte 20-22
 +
: Byte 24: CRC8 of Byte 14-23
 +
: Byte 25: Can speed (kbps)
 +
: Byte 26: BRGCON1 (CAN Control)
 +
: Byte 27: BRGCON2 (CAN Control)
 +
: Byte 28: BRGCON3 (CAN Control)
 +
: Byte 29: CRC8 of Byte 26-28
 +
: Byte 30: Result of all integrity checks of all CAN parameters. If Byte 30 == 1 then integrity check is OK, if Byte 30 != 1 then integrity check is NOT OK.
 
   
 
   
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 203: Line 239:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 0||128-255
+
| 0||84
 
|}
 
|}
  
: This part of the Eeprom is write protected and used to store production and testing data
+
: This byte represents the Endless Loop detection Byte: Endless loop is a detection mechanism to detect when a group action will execute itself, or when for example a group action will execute a group which has the output group follow function enabled that executes again the same group action which can result in endless loops making the Master unresponsive. When the Endless loop detection is enabled, group actions with the same action number can only be executed once in 1 execution run. An execution run stops when the BA queue size returns to 0. When this Endless Loop Detection Byte==255 -> Endless loop detection is enabled, !=255 -> Endless loop is disabled.
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 212: Line 248:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 0||232-255
+
| 0||85
 
|}
 
|}
  
: Byte 232: Production site
+
: This byte represents the Reset byte. This byte will be used of the Health Checker can perform a Master reset or not
: Byte 233: Serial number 2
+
: This Reset byte has following bits:
: Byte 234: Serial number 1
+
: * Reset.BIT0: If =1 -> CAN Health Checker can reset the Master Processor, =0 -> No automatic reset when CAN problems are detected
: Byte 235: Serial number 0
+
: * Reset.BIT1: If =1 -> I2C1 Health Checker can reset the Master Processor, =0 -> No automatic reset when I2C1 problems are detected
: Byte 236: CRC16.MSB (Byte232-235)
+
: * Reset.BIT2: If =1 -> I2C2 Health Checker can reset the Master Processor, =0 -> No automatic reset when I2C2 problems are detected
: Byte 237: CRC16.LSB (Byte232-235)
 
: Byte 238: Production Day
 
: Byte 239: Production Month
 
: Byte 240: Production Year
 
: Byte 241: Testing result (number of errors found during testing)
 
: Byte 242: CRC16.MSB (Byte238-241)
 
: Byte 243: CRC16.LSB (Byte238-241)
 
  
== Data output modules (Page 1-80) ==
+
{| class="wikitable sortable" border="1"
;Page 1 – 80 -> Contains data of the output modules (80 modules maximum, 640 outputs -> 0-639)
+
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 0||86-87
 +
|}
  
The output data can be found back from page 1 till page 80. These Pages that contains active data depending on Page0/Byte1.
+
: Byte 86: This is the timeout (MSB) in milliseconds for time machine "Task Immediate Queue".  
 +
: Byte 87: This is the timeout (LSB) in milliseconds for time machine "Task Immediate Queue".
  
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:
+
: Default value is 15000ms when MSB&LSB==255.
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 239: Line 273:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 1||x
+
| 0||88-89
 
|}
 
|}
  
: This page is entirely used for output module 0.
+
: Byte 88: This is the timeout (MSB) in milliseconds for time machine "Task Group Queue".
 +
: Byte 89: This is the timeout (LSB) in milliseconds for time machine "Task Group Queue".
 +
 
 +
: Default value is 15000ms when MSB&LSB==255.
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 248: Line 285:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 2||x
+
| 0||128-255
 
|}
 
|}
  
: This page is entirely used for output module 1.
+
: This part of the Eeprom is write protected and used to store production and testing data
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 257: Line 294:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 3||x
+
| 0||128-129
 
|}
 
|}
  
: This page is entirely used for output module 2.
+
: This byte represents the next logging location. Event and error codes can be logged in EEPROM (see page FRAM 506-511). If the logging location=0 then the 16 bytes will be written starting at EEPROM location Byte506/Byte0, if byte=1 then the 16 bytes will be written at FRAM location Byte506/Byte16 etc
 
+
: Byte128: logging_location.MSB
...
+
: Byte129: logging_location.LSB
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 268: Line 305:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 80||x
+
| 0||232-255
 
|}
 
|}
  
: This page is entirely used for output module 79.
+
: Byte 232: Production site
 
+
: Byte 233: Serial number 2
 
+
: Byte 234: Serial number 1
;Every output page has following structure:
+
: Byte 235: Serial number 0
 +
: Byte 236: CRC16.MSB (Byte232-235)
 +
: Byte 237: CRC16.LSB (Byte232-235)
 +
: Byte 238: Production Day
 +
: Byte 239: Production Month
 +
: Byte 240: Production Year
 +
: Byte 241: Testing result (number of errors found during testing)
 +
: Byte 242: CRC16.MSB (Byte238-241)
 +
: Byte 243: CRC16.LSB (Byte238-241)
 +
 
 +
== Data output modules (Page 1-80) ==
 +
;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.
  
=== Output data ===
+
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:
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 282: Line 332:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 1-80||0-3
+
| 1||x
 
|}
 
|}
  
:Byte 0: Type device (more information see document “Technical device information”)
+
: This page is entirely used for output module 0.
:Byte 1: ID1 (ID1, 2, 3 gives the unique ID of the device)
 
:Byte 2: ID2
 
:Byte 3: ID3
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 294: Line 341:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 1-80||4-6
+
| 2||x
 
|}
 
|}
  
: Byte 4: Firmware Version F1 (Major)
+
: This page is entirely used for output module 1.
: Byte 5: Firmware Version F2 (Minor)
 
: Byte 6: Firmware Version F3 (Built)
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 305: Line 350:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 1-80||7-22
+
| 3||x
 
|}
 
|}
  
: 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..  
+
: This page is entirely used for output module 2.
:Byte 7 (MSB) and 8 (LSB) will specify the timer value for output 0
+
 
:Byte 9 (MSB) and 10 (LSB) will specify the timer value for output 1
+
...
:...
 
:Byte 21 (MSB) and 22 (LSB) will specify the timer value for output 7
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 318: Line 361:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 1-80||23-30
+
| 80||x
 
|}
 
|}
  
: Standard Timer types for an output to be used. Each output has a timer type
+
: This page is entirely used for output module 79.
:Byte 23 Timer type for output 0
+
 
:Byte 24 Timer type for output 1
 
:...
 
:Byte 30 Timer type for output 7
 
  
 +
;Every output page has following structure:
  
:When Timer Type=0 or 255 -> Timer not active or not configured
+
=== Output data ===
: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 6004 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 337: Line 375:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 1-80||31-38
+
| 1-80||0-6
 
|}
 
|}
  
:Byte 31: Output type byte output0 (<128: standard output, >127: Light output)
+
:Byte 0: Type device (more information see document “Technical device information”)
:Byte 32: Output Type byte output1 (<128: standard output, >127: Light output)
+
:Byte 1: ID1 (ID1, 2, 3 gives the unique ID of the device)
:
+
:Byte 2: ID2
:Byte 38: Output Type byte output7 (<128: standard output, >127: Light output)
+
:Byte 3: ID3
 
+
:Byte 4: Module Type: If 0 or 255, the normal modules are used, if 72 ("H"), a Heap pump module is found
: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.
+
:Byte 5:
 
+
:Byte 6:
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 352: Line 390:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 1-80||39-46
+
| 1-80||7-22
 
|}
 
|}
  
:Byte 39: Minimum output level when dimming for Output 0.
+
: 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 40: Minimum output level when dimming for Output 0.
+
:Byte 7 (MSB) and 8 (LSB) will specify the timer value for output 0  
:
+
:Byte 9 (MSB) and 10 (LSB) will specify the timer value for output 1
:Byte 46: Minimum output level when dimming for Output 7.
+
:...
 
+
:Byte 21 (MSB) and 22 (LSB) will specify the timer value 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.
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 366: Line 403:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 1-80||47-54
+
| 1-80||23-30
 
|}
 
|}
  
:Byte 47: Maximum output level when dimming for Output 0.
+
: Standard Timer types for an output to be used. Each output has a timer type
:Byte 48: Maximum output level when dimming for Output 0.
+
:Byte 23 Timer type for output 0  
:
+
:Byte 24 Timer type for output 1
:Byte 54: Maximum output level when dimming for Output 7.
+
:...
 +
:Byte 30 Timer type for output 7
 +
 
  
=== Output Group Follow ===
+
: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 6004 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 380: Line 422:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 1-80||55-70
+
| 1-80||31-38
 
|}
 
|}
  
:Output Group follow: Page 1-80, byte 55-70
+
:Byte 31: Output type byte output0 (<128: standard output, >127: Light output)
:Byte 55: Group nr (MSB) to execute when Output 0 of this module is changing
+
:Byte 32: Output Type byte output1 (<128: standard output, >127: Light output)
:Byte 56: Group nr (LSB) to execute when Output 0 of this module is changing
 
:Byte 57: Group nr (MSB) to execute when Output 1 of this module is changing
 
:Byte 58: Group nr (LSB) to execute when Output 1 of this module is changing
 
 
:…
 
:…
:Byte 69: Group nr (MSB) to execute when Output 7 of this module is changing
+
:Byte 38: Output Type byte output7 (<128: standard output, >127: Light output)
:Byte 70: Group nr (LSB) to execute when Output 7 of this module is changing
 
  
=== DALI: Link Output Nr with Dali Nr ===
+
: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.
  
Every output can be linked to a Dali output with address (0-63) or linked to a Dali group (0-15). When the output is switched ON, OFF or dimmed, the Dali output will follow. Typically, a virtual output module is created and the those virtual outputs are linked to Dali outputs. In the below page, the Dali Output can be programmed for a system output.
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 400: Line 437:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 1-80||71-78
+
| 1-80||39-46
 
|}
 
|}
  
:Byte 71: Output 0 of this module is linked with Dali Output x (when x<64) or with Dali Group x-64 (when x>63 and x<80)
+
:Byte 39: Minimum output level when dimming for Output 0.
:Byte 72: Output 1 of this module is linked with Dali Output x (when x<64) or with Dali Group x-64 (when x>63 and x<80)
+
:Byte 40: Minimum output level when dimming for Output 0.
 
:…
 
:…
:Byte 78: Output 7 of this module is linked with Dali Output x (when x<64) or with Dali Group x-64 (when x>63 and x<80)
+
:Byte 46: Minimum output level when dimming for Output 7.
  
=== ascii Names outputs ===
+
: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.
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 414: Line 451:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 1-80||128-255
+
| 1-80||47-54
 
|}
 
|}
  
:Byte 128 – 143: ascii name of the first output of this module (16 characters)
+
:Byte 47: Maximum output level when dimming for Output 0.
:Byte 144 – 159: ascii name of the second output of this module (16 characters)
+
:Byte 48: Maximum output level when dimming for Output 0.
 
:…
 
:…
:Byte 240 – 255: ascii name of the last output (16 characters)
+
:Byte 54: Maximum output level when dimming for Output 7.
  
== Data input modules (Page 81 - 238) ==
+
=== Output Group Follow ===
;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 contain active data depending on Page0/Byte2.
 
 
 
Every input Module has 2 input pages which contains all the input and configuration data:
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 433: Line 465:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 81-82||x
+
| 1-80||55-70
 
|}
 
|}
  
: These pages are entirely used for input module 0. Page 81 is the first page, 82 the second.
+
:Output Group follow: Page 1-80, byte 55-70
 +
:Byte 55: Group nr (MSB) to execute when Output 0 of this module is changing
 +
:Byte 56: Group nr (LSB) to execute when Output 0 of this module is changing
 +
:Byte 57: Group nr (MSB) to execute when Output 1 of this module is changing
 +
:Byte 58: Group nr (LSB) to execute when Output 1 of this module is changing
 +
:…
 +
:Byte 69: Group nr (MSB) to execute when Output 7 of this module is changing
 +
:Byte 70: Group nr (LSB) to execute when Output 7 of this module is changing
 +
 
 +
=== DALI: Link Output Nr with Dali Nr ===
 +
 
 +
Every output can be linked to a Dali output with address (0-63) or linked to a Dali group (0-15). When the output is switched ON, OFF or dimmed, the Dali output will follow. Typically, a virtual output module is created and the those virtual outputs are linked to Dali outputs. In the below page, the Dali Output can be programmed for a system output.
 +
 
 +
Below, you can find the Memory locations for Firmware 1.0.110 or higher:
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 442: Line 487:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 83-84||x
+
| 1-80||71-86
 
|}
 
|}
  
: These pages are entirely used for input module 1. Page 83 is the first page, 84 the second.
+
*Byte 71-72: (byte 71->x.MSB, byte 72->x.LSB) Output 0 of this module is linked with Dali Output x.LSB (when x.LSB<64) or with Dali Group x.LSB-64 (when x.LSB>63 and x.LSB<80). When x.MSB==0 -> DALI Bus on Brain(+), x.MSB==1 -> DALI Bus on first CAN Control, x.MSB==2 -> DALI Bus on second CAN Control ...
 +
*Byte 73-74: (byte 73->x.MSB, byte 74->x.LSB) Output 1 of this module is linked with Dali Output x.LSB (when x<64) or with Dali Group x.LSB-64 (when x.LSB>63 and x.LSB<80). When x.MSB==0 -> DALI Bus on Brain(+), x.MSB==1 -> DALI Bus on first CAN Control, x.MSB==2 -> DALI Bus on second CAN Control ...
 +
*…
 +
*Byte 85-86: (byte 85->x.MSB, byte 86->x.LSB) Output 7 of this module is linked with Dali Output x.LSB (when x<64) or with Dali Group x.LSB-64 (when x.LSB>63 and x.LSB<80). When x.MSB==0 -> DALI Bus on Brain(+), x.MSB==1 -> DALI Bus on first CAN Control, x.MSB==2 -> DALI Bus on second CAN Control ...
 +
 
 +
Below, you can find the Memory locations for Firmware 1.0.109 or lower:
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 451: Line 501:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 85-86||x
+
| 1-80||71-78
 
|}
 
|}
  
: These pages are entirely used for input module 2.  Page 85 is the first page, 86 the second.
+
*Byte 71: Output 0 of this module is linked with Dali Output x (when x<64) or with Dali Group x-64 (when x>63 and x<80)
 +
*Byte 72: Output 1 of this module is linked with Dali Output x (when x<64) or with Dali Group x-64 (when x>63 and x<80)
 +
*…
 +
*Byte 78: Output 7 of this module is linked with Dali Output x (when x<64) or with Dali Group x-64 (when x>63 and x<80)
  
...
+
=== DALI: Link Single Output Dali to Dali group ===
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 462: Line 515:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 237-238||x
+
| 1-80||87-102
 
|}
 
|}
  
: These pages are entirely used for input module 78. Page 237 is the first page, 238 the second.
+
Each bit of this 2 byte set of data indicates if an output is linked to an Dali group.
  
 +
consists of 2 bytes per output.
 +
* MSB: Groups 15 - 8 (MSb = Group 15, LSb = Group 8)
 +
* LSB: Groups 7 - 0 (MSb = Group 7, LSb = Group 0)
  
;Every input page has following structure:
+
For example: Byte 87 and 88 = 00001000 00000010 => The output 1 of module (1 - 80) belongs to Dali group 1 and 11.
  
=== Input data ===
+
=== ascii Names outputs ===
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 476: Line 532:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| First page||0-3
+
| 1-80||128-255
 
|}
 
|}
  
:Byte 0: Type device (more information see document “Technical device information”)
+
:Byte 128 – 143: ascii name of the first output of this module (16 characters)
:Byte 1: ID1 (ID1, 2, 3 gives the unique ID of the device)
+
:Byte 144 – 159: ascii name of the second output of this module (16 characters)
:Byte 2: ID2
+
:…
:Byte 3: ID3
+
:Byte 240 – 255: ascii name of the last output (16 characters)
 +
 
 +
== Data input modules (Page 81 - 238) ==
 +
;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 contain active data depending on Page0/Byte2.
 +
 
 +
Every input Module has 2 input pages which contains all the input and configuration data:
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 488: Line 551:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| First page||4-6
+
| 81-82||x
 
|}
 
|}
  
: Byte 4: Firmware Version F1 (Major)
+
: These pages are entirely used for input module 0. Page 81 is the first page, 82 the second.
: Byte 5: Firmware Version F2 (Minor)
 
: Byte 6: Firmware Version F3 (Built)
 
 
 
=== Input configuration ===
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 501: Line 560:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| First page||7-14
+
| 83-84||x
 
|}
 
|}
  
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.
+
: These pages are entirely used for input module 1. Page 83 is the first page, 84 the second.
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 510: Line 569:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| First page||7
+
| 85-86||x
 
|}
 
|}
  
: Configuration Byte of first input (0) of this module:
+
: These pages are entirely used for input module 2.  Page 85 is the first page, 86 the second.
: 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).
+
 
 +
...
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 520: Line 580:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| First page||8
+
| 237-238||x
 
|}
 
|}
  
: Configuration Byte of second input (1) of this module:
+
: These pages are entirely used for input module 78. Page 237 is the first page, 238 the second.
: 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).
+
 
 +
 
 +
;Every input page has following structure:
  
+
=== Input data ===
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 532: Line 594:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| First page||14
+
| First page||0-6
 
|}
 
|}
  
: Configuration Byte of last input (7) of this module:
+
:Byte 0: Type device (more information see document “Technical device information”)
: 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).
+
:Byte 1: ID1 (ID1, 2, 3 gives the unique ID of the device)
 +
:Byte 2: ID2
 +
:Byte 3: ID3
 +
:Byte 4: Module Type: If 0 or 255, the normal modules are used, if 72 ("H"), a Heap pump module is found
 +
:Byte 5:
 +
:Byte 6:
  
=== DALI: Link Input Nr with Dali Nr ===
+
=== Input configuration ===
 
 
Every input can be linked to a Dali input (like motion sensor) with address (0-63). When the Dali Motion sensor detects motion, the linked input will be triggered. Typically, a virtual input module is created and the those virtual inputs are linked to Dali inputs. Lunatone and Helvar inputs are supported. In the below page, the Dali inputs can be programmed to be linked to a system input.
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 546: Line 611:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| First page||15-22
+
| First page||7-14
 
|}
 
|}
  
:Byte 15: Input 0 of this module is linked with Dali Lunatone input x (when x<64) or with Dali Helvar input x-64 (when x>63 and x<128)
+
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.
:Byte 16: Input 1 of this module is linked with Dali Lunatone input x (when x<64) or with Dali Helvar input x-64 (when x>63 and x<128)
 
:…
 
:Byte 22: Input 7 of this module is linked with Dali Lunatone input x (when x<64) or with Dali Helvar input x-64 (when x>63 and x<128)
 
 
 
=== Input action "1 second press" ===
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 560: Line 620:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| First page||32-79
+
| First page||7
 
|}
 
|}
  
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.  
+
: 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).
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 569: Line 630:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| First page||32-37
+
| First page||8
 
|}
 
|}
  
These 6 bytes represents the basic action bytes for input 0 of this module:
+
: Configuration Byte of second input (1) of this module:
: Byte 32: Type
+
: 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).
: Byte 33: Action
+
 
: Byte 34: Device Nr (MSB)
+
: Byte 35: Device Nr (LSB)
 
: Byte 36: Extra Parameter (MSB)
 
: Byte 37: Extra Parameter (LSB) 
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 584: Line 642:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| First page||38-43
+
| First page||14
 
|}
 
|}
  
These 6 bytes represents the basic action bytes for input 1 of this module:
+
: Configuration Byte of last input (7) of this module:
: Byte 38: Type
+
: 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).
: Byte 39: Action
+
 
: Byte 40: Device Nr (MSB)
+
=== DALI: Link Input Nr with Dali Nr ===
: Byte 41: Device Nr (LSB)
 
: Byte 42: Extra Parameter (MSB)
 
: Byte 43: Extra Parameter (LSB) 
 
  
...
+
Every input can be linked to a Dali input (like motion sensor) with address (0-63). When the Dali Motion sensor detects motion, the linked input will be triggered. Typically, a virtual input module is created and the those virtual inputs are linked to Dali inputs. Lunatone and Helvar inputs are supported. In the below page, the Dali inputs can be programmed to be linked to a system input.
  
=== ascii Names inputs ===
+
Below, you can find the Memory locations for Firmware 1.0.110 or higher:
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 603: Line 658:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| First page||128-255
+
| First page||15-30
 
|}
 
|}
  
:Byte 128 – 143: ascii name of the first input of this module (16 characters)
+
*Byte 15-16: (byte 15->x.MSB, byte 16->x.LSB) Input 0 of this module is linked with Dali Lunatone input x.LSB (when x.LSB<64) or with Dali Helvar input x.LSB-64 (when x.LSB>63 and x.LSB<128). When x.MSB==0 -> DALI Bus on Brain(+), x.MSB==1 -> DALI Bus on first CAN Control, x.MSB==2 -> DALI Bus on second CAN Control ...
:Byte 144 – 159: ascii name of the second input of this module (16 characters)
+
*Byte 17-18: (byte 17->x.MSB, byte 18->x.LSB) Input 1 of this module is linked with Dali Lunatone input x.LSB (when x.LSB<64) or with Dali Helvar input x.LSB-64 (when x.LSB>63 and x.LSB<128). When x.MSB==0 -> DALI Bus on Brain(+), x.MSB==1 -> DALI Bus on first CAN Control, x.MSB==2 -> DALI Bus on second CAN Control ...
:
+
*
:Byte 240 – 255: ascii name of the last input (16 characters)
+
*Byte 29-30: (byte 29->x.MSB, byte 30->x.LSB) Input 7 of this module is linked with Dali Lunatone input x.LSB (when x.LSB<64) or with Dali Helvar input x.LSB-64 (when x.LSB>63 and x.LSB<128). When x.MSB==0 -> DALI Bus on Brain(+), x.MSB==1 -> DALI Bus on first CAN Control, x.MSB==2 -> DALI Bus on second CAN Control ...
  
=== Toggle input link ===
+
Below, you can find the Memory locations for Firmware 1.0.109 or lower:
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 617: Line 672:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| Second page||0-15
+
| First page||15-22
 
|}
 
|}
  
For each input, an output or a special function (basic actions) can be linked. This is configured in the following bytes:
+
*Byte 15: Input 0 of this module is linked with Dali Lunatone input x (when x<64) or with Dali Helvar input x-64 (when x>63 and x<128)
 
+
*Byte 16: Input 1 of this module is linked with Dali Lunatone input x (when x<64) or with Dali Helvar input x-64 (when x>63 and x<128)
: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 22: Input 7 of this module is linked with Dali Lunatone input x (when x<64) or with Dali Helvar input x-64 (when x>63 and x<128)
: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
+
=== Input action "1 second press" ===
: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" ===
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 650: Line 686:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| Second page||16-63
+
| First page||32-79
 
|}
 
|}
  
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.  
+
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.  
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 659: Line 695:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| Second page||16-21
+
| First page||32-37
 
|}
 
|}
  
 
These 6 bytes represents the basic action bytes for input 0 of this module:
 
These 6 bytes represents the basic action bytes for input 0 of this module:
: Byte 16: Type
+
: Byte 32: Type
: Byte 17: Action
+
: Byte 33: Action
: Byte 18: Device Nr (MSB)
+
: Byte 34: Device Nr (MSB)
: Byte 19: Device Nr (LSB)
+
: Byte 35: Device Nr (LSB)
: Byte 20: Extra Parameter (MSB)
+
: Byte 36: Extra Parameter (MSB)
: Byte 21: Extra Parameter (LSB)   
+
: Byte 37: Extra Parameter (LSB)   
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 674: Line 710:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| Second page||22-27
+
| First page||38-43
 
|}
 
|}
  
 
These 6 bytes represents the basic action bytes for input 1 of this module:
 
These 6 bytes represents the basic action bytes for input 1 of this module:
: Byte 22: Type
+
: Byte 38: Type
: Byte 23: Action
+
: Byte 39: Action
: Byte 24: Device Nr (MSB)
+
: Byte 40: Device Nr (MSB)
: Byte 25: Device Nr (LSB)
+
: Byte 41: Device Nr (LSB)
: Byte 26: Extra Parameter (MSB)
+
: Byte 42: Extra Parameter (MSB)
: Byte 27: Extra Parameter (LSB)   
+
: Byte 43: Extra Parameter (LSB)   
  
 
...
 
...
  
=== Input action "Release" ===
+
=== Pulse Counter Link ===
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 693: Line 729:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| Second page||64-111
+
| First page||120-127
 
|}
 
|}
  
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.  
+
Maximum 32 Pulse Counters can be assigned. Each pulse counter can be linked to 1 input. Only external Input modules and Brain Built-in inputs support Pulse Counters.
 +
: Byte 120: Pulse counter nr linked to input 0 of this module
 +
: Byte 121: Pulse counter nr linked to input 1 of this module
 +
: Byte 122: Pulse counter nr linked to input 2 of this module
 +
: ...
 +
: Byte 127: Pulse counter nr linked to input 7 of this module
 +
 
 +
=== ascii Names inputs ===
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 702: Line 745:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| Second page||64-69
+
| First page||128-255
 
|}
 
|}
  
These 6 bytes represents the basic action bytes for input 0 of this module:
+
:Byte 128 – 143: ascii name of the first input of this module (16 characters)
: Byte 64: Type
+
:Byte 144 – 159: ascii name of the second input of this module (16 characters)
: Byte 65: Action
+
:
: Byte 66: Device Nr (MSB)
+
:Byte 240 – 255: ascii name of the last input (16 characters)
: Byte 67: Device Nr (LSB)
+
 
: Byte 68: Extra Parameter (MSB)
+
=== Toggle input link ===
: Byte 69: Extra Parameter (LSB)
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 717: Line 759:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| Second page||70-75
+
| Second page||0-15
 
|}
 
|}
  
These 6 bytes represents the basic action bytes for input 1 of this module:
+
For each input, an output or a special function (basic actions) can be linked. This is configured in the following bytes:
: 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) 
 
  
...
+
: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
 +
:…
  
=== Input action "2 second press" ===
+
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
  
{| class="wikitable sortable" border="1"
+
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" ===
 +
 
 +
{| class="wikitable sortable" border="1"
 
| align="center" style="background:#f0f0f0;"|'''Page'''
 
| align="center" style="background:#f0f0f0;"|'''Page'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| Second page||160-207
+
| Second page||16-63
 
|}
 
|}
  
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.  
+
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.  
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 745: Line 801:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| Second page||160-165
+
| Second page||16-21
 
|}
 
|}
  
 
These 6 bytes represents the basic action bytes for input 0 of this module:
 
These 6 bytes represents the basic action bytes for input 0 of this module:
: Byte 160: Type
+
: Byte 16: Type
: Byte 161: Action
+
: Byte 17: Action
: Byte 162: Device Nr (MSB)
+
: Byte 18: Device Nr (MSB)
: Byte 163: Device Nr (LSB)
+
: Byte 19: Device Nr (LSB)
: Byte 164: Extra Parameter (MSB)
+
: Byte 20: Extra Parameter (MSB)
: Byte 165: Extra Parameter (LSB)   
+
: Byte 21: Extra Parameter (LSB)   
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 760: Line 816:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| Second page||166-171
+
| Second page||22-27
 
|}
 
|}
  
 
These 6 bytes represents the basic action bytes for input 1 of this module:
 
These 6 bytes represents the basic action bytes for input 1 of this module:
: Byte 166: Type
+
: Byte 22: Type
: Byte 167: Action
+
: Byte 23: Action
: Byte 168: Device Nr (MSB)
+
: Byte 24: Device Nr (MSB)
: Byte 169: Device Nr (LSB)
+
: Byte 25: Device Nr (LSB)
: Byte 170: Extra Parameter (MSB)
+
: Byte 26: Extra Parameter (MSB)
: Byte 171: Extra Parameter (LSB)   
+
: Byte 27: Extra Parameter (LSB)   
  
 
...
 
...
  
=== Input action "double press" ===
+
=== Input action "Release" ===
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 779: Line 835:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| Second page||208-255
+
| Second page||64-111
 
|}
 
|}
  
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.  
+
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.  
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 788: Line 844:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| Second page||208-213
+
| Second page||64-69
 
|}
 
|}
  
 
These 6 bytes represents the basic action bytes for input 0 of this module:
 
These 6 bytes represents the basic action bytes for input 0 of this module:
: Byte 208: Type
+
: Byte 64: Type
: Byte 209: Action
+
: Byte 65: Action
: Byte 210: Device Nr (MSB)
+
: Byte 66: Device Nr (MSB)
: Byte 211: Device Nr (LSB)
+
: Byte 67: Device Nr (LSB)
: Byte 212: Extra Parameter (MSB)
+
: Byte 68: Extra Parameter (MSB)
: Byte 213: Extra Parameter (LSB)   
+
: Byte 69: Extra Parameter (LSB)   
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 803: Line 859:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| Second page||214-219
+
| Second page||70-75
 
|}
 
|}
  
 
These 6 bytes represents the basic action bytes for input 1 of this module:
 
These 6 bytes represents the basic action bytes for input 1 of this module:
: Byte 214: Type
+
: Byte 70: Type
: Byte 215: Action
+
: Byte 71: Action
: Byte 216: Device Nr (MSB)
+
: Byte 72: Device Nr (MSB)
: Byte 217: Device Nr (LSB)
+
: Byte 73: Device Nr (LSB)
: Byte 218: Extra Parameter (MSB)
+
: Byte 74: Extra Parameter (MSB)
: Byte 219: Extra Parameter (LSB)   
+
: Byte 75: Extra Parameter (LSB)   
  
 
...
 
...
  
== Data Sensor modules (Page 239 - 254) ==
+
=== Input action "2 second press" ===
;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 contain active data depending on Page0/Byte3.
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 825: Line 878:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 239||x
+
| Second page||160-207
 
|}
 
|}
  
: This page is entirely used for sensor module 0.
+
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.  
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 834: Line 887:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 240||x
+
| Second page||160-165
 
|}
 
|}
  
: This page is entirely used for sensor module 1.
+
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) 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 843: Line 902:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 241||x
+
| Second page||166-171
 
|}
 
|}
  
: This page is entirely used for sensor module 2.
+
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" ===
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 854: Line 921:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 254||x
+
| Second page||208-255
 
|}
 
|}
  
: This page is entirely used for sensor module 15.
+
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.  
 
 
 
 
;Every sensor page has following structure:
 
 
 
=== Sensor data ===
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 868: Line 930:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 239-254||0-3
+
| Second page||208-213
 
|}
 
|}
  
:Byte 0: Type device (more information see document “Technical device information”)
+
These 6 bytes represents the basic action bytes for input 0 of this module:
:Byte 1: ID1 (ID1, 2, 3 gives the unique ID of the device)
+
: Byte 208: Type
:Byte 2: ID2
+
: Byte 209: Action
:Byte 3: ID3
+
: Byte 210: Device Nr (MSB)
 +
: Byte 211: Device Nr (LSB)
 +
: Byte 212: Extra Parameter (MSB)
 +
: Byte 213: Extra Parameter (LSB) 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 880: Line 945:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 239-254||4-6
+
| Second page||214-219
 
|}
 
|}
  
: Byte 4: Firmware Version F1 (Major)
+
These 6 bytes represents the basic action bytes for input 1 of this module:
: Byte 5: Firmware Version F2 (Minor)
+
: Byte 214: Type
: Byte 6: Firmware Version F3 (Built)
+
: Byte 215: Action
 
+
: Byte 216: Device Nr (MSB)
=== Temperature Group Follow ===
+
: Byte 217: Device Nr (LSB)
 +
: Byte 218: Extra Parameter (MSB)
 +
: Byte 219: Extra Parameter (LSB)
 +
 
 +
...
 +
 
 +
== Data Sensor modules (Page 239 - 254) ==
 +
;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 contain active data depending on Page0/Byte3.
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 893: Line 967:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 239-254||8-23
+
| 239||x
 
|}
 
|}
  
:Byte 8: Group nr (MSB) to execute when temperature 0 of this module is changing
+
: This page is entirely used for sensor module 0.
:Byte 9: Group nr (LSB) to execute when temperature 0 of this module is changing
 
:Byte 10: Group nr (MSB) to execute when temperature 1 of this module is changing
 
:Byte 11: Group nr (LSB) to execute when temperature 1 of this module is changing
 
:…
 
:Byte 22: Group nr (MSB) to execute when temperature 7 of this module is changing
 
:Byte 23: Group nr (LSB) to execute when temperature 7 of this module is changing
 
 
 
=== Humidity Group Follow ===
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 910: Line 976:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 239-254||24-36
+
| 240||x
 
|}
 
|}
  
:Byte 24: Group nr (MSB) to execute when humidity 0 of this module is changing
+
: This page is entirely used for sensor module 1.
:Byte 25: Group nr (LSB) to execute when humidity 0 of this module is changing
 
:Byte 26: Group nr (MSB) to execute when humidity 1 of this module is changing
 
:Byte 27: Group nr (LSB) to execute when humidity 1 of this module is changing
 
:…
 
:Byte 38: Group nr (MSB) to execute when humidity 7 of this module is changing
 
:Byte 39: Group nr (LSB) to execute when humidity 7 of this module is changing
 
 
 
=== Brightness Group Follow ===
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 927: Line 985:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 239-254||40-55
+
| 241||x
 
|}
 
|}
  
:Byte 40: Group nr (MSB) to execute when brightness 0 of this module is changing
+
: This page is entirely used for sensor module 2.
:Byte 41: Group nr (LSB) to execute when brightness 0 of this module is changing
 
:Byte 42: Group nr (MSB) to execute when brightness 1 of this module is changing
 
:Byte 43: Group nr (LSB) to execute when brightness 1 of this module is changing
 
:…
 
:Byte 54: Group nr (MSB) to execute when brightness 7 of this module is changing
 
:Byte 55: Group nr (LSB) to execute when brightness 7 of this module is changing
 
  
=== Air Quality (CO2) Group Follow ===
+
...
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 944: Line 996:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 239-254||56-71
+
| 254||x
 
|}
 
|}
  
:Byte 56: Group nr (MSB) to execute when air quality (CO2) 0 of this module is changing
+
: This page is entirely used for sensor module 15.
:Byte 57: Group nr (LSB) to execute when air quality (CO2) 0 of this module is changing
+
 
:Byte 58: Group nr (MSB) to execute when air quality (CO2) 1 of this module is changing
 
:Byte 59: Group nr (LSB) to execute when air quality (CO2) 1 of this module is changing
 
:…
 
:Byte 70: Group nr (MSB) to execute when air quality (CO2) 7 of this module is changing
 
:Byte 71: Group nr (LSB) to execute when air quality (CO2) 7 of this module is changing
 
  
=== DALI: Link sensor Nr with Dali Nr ===
+
;Every sensor page has following structure:
  
Every sensor can be linked to a Dali input (with sensor capabilities) with address (0-63). Some Dali motion sensors also have built-in temperature sensors and by some models also a built-in Lux meter. These values can be used to take smart actions. Typically, a virtual sensor module is created and the those virtual sensors are linked to the available Dali sensors. Lunatone is supported. In the below page, the Dali sensors can be programmed to be linked to a virtual system sensor.
+
=== Sensor data ===
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 963: Line 1,010:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 239-254||72-79
+
| 239-254||0-6
 
|}
 
|}
  
:Byte 72: Sensor 0 of this module is linked with Dali Sensor x (when x<64).
+
:Byte 0: Type device (more information see document “Technical device information”)
:Byte 73: Sensor 1 of this module is linked with Dali Sensor x (when x<64).
+
:Byte 1: ID1 (ID1, 2, 3 gives the unique ID of the device)
:
+
:Byte 2: ID2
:Byte 79: Sensor 7 of this module is linked with Dali Sensor x (when x<64).
+
:Byte 3: ID3
 +
:Byte 4: Module Type: If 0 or 255, the normal modules are used, if 72 ("H"), a Heap pump module is found
 +
:Byte 5:
 +
:Byte 6:
  
=== ascii Names Sensors ===
+
=== Temperature Group Follow ===
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 977: Line 1,027:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 239-254||128-255
+
| 239-254||8-23
 
|}
 
|}
  
:Byte 128 – 143: ascii name of the first sensor of this module (16 characters)
+
:Byte 8: Group nr (MSB) to execute when temperature 0 of this module is changing
:Byte 144 – 159: ascii name of the second sensor of this module (16 characters)
+
:Byte 9: Group nr (LSB) to execute when temperature 0 of this module is changing
 +
:Byte 10: Group nr (MSB) to execute when temperature 1 of this module is changing
 +
:Byte 11: Group nr (LSB) to execute when temperature 1 of this module is changing
 
:…
 
:…
:Byte 240 – 255: ascii name of the last sensor (16 characters)
+
:Byte 22: Group nr (MSB) to execute when temperature 7 of this module is changing
 
+
:Byte 23: Group nr (LSB) to execute when temperature 7 of this module is changing
== Can Control modules (Page 255) ==
+
 
;Page 255 -> Contains data of maximum 16 Can Control modules
+
=== Humidity Group Follow ===
 
+
 
In this page, every Can Control has 16 bytes to keep the most important configuration data.
+
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 239-254||24-36
 +
|}
 +
 
 +
:Byte 24: Group nr (MSB) to execute when humidity 0 of this module is changing
 +
:Byte 25: Group nr (LSB) to execute when humidity 0 of this module is changing
 +
:Byte 26: Group nr (MSB) to execute when humidity 1 of this module is changing
 +
:Byte 27: Group nr (LSB) to execute when humidity 1 of this module is changing
 +
:…
 +
:Byte 38: Group nr (MSB) to execute when humidity 7 of this module is changing
 +
:Byte 39: Group nr (LSB) to execute when humidity 7 of this module is changing
 +
 
 +
=== Brightness Group Follow ===
 +
 
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 239-254||40-55
 +
|}
 +
 
 +
:Byte 40: Group nr (MSB) to execute when brightness 0 of this module is changing
 +
:Byte 41: Group nr (LSB) to execute when brightness 0 of this module is changing
 +
:Byte 42: Group nr (MSB) to execute when brightness 1 of this module is changing
 +
:Byte 43: Group nr (LSB) to execute when brightness 1 of this module is changing
 +
:…
 +
:Byte 54: Group nr (MSB) to execute when brightness 7 of this module is changing
 +
:Byte 55: Group nr (LSB) to execute when brightness 7 of this module is changing
 +
 
 +
=== Air Quality (CO2) Group Follow ===
 +
 
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 239-254||56-71
 +
|}
 +
 
 +
:Byte 56: Group nr (MSB) to execute when air quality (CO2) 0 of this module is changing
 +
:Byte 57: Group nr (LSB) to execute when air quality (CO2) 0 of this module is changing
 +
:Byte 58: Group nr (MSB) to execute when air quality (CO2) 1 of this module is changing
 +
:Byte 59: Group nr (LSB) to execute when air quality (CO2) 1 of this module is changing
 +
:…
 +
:Byte 70: Group nr (MSB) to execute when air quality (CO2) 7 of this module is changing
 +
:Byte 71: Group nr (LSB) to execute when air quality (CO2) 7 of this module is changing
 +
 
 +
=== DALI: Link sensor Nr with Dali Nr ===
 +
 
 +
Every sensor can be linked to a Dali input (with sensor capabilities) with address (0-63). Some Dali motion sensors also have built-in temperature sensors and by some models also a built-in Lux meter. These values can be used to take smart actions. Typically, a virtual sensor module is created and the those virtual sensors are linked to the available Dali sensors. Lunatone is supported. In the below page, the Dali sensors can be programmed to be linked to a virtual system sensor.
 +
 
 +
Below, you can find the Memory locations for Firmware 1.0.110 or higher:
 +
 
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 239-254||72-87
 +
|}
 +
 
 +
*Byte 72-73: (byte 72->x.MSB, byte 73->x.LSB) Sensor 0 of this module is linked with Dali Sensor x.LSB (when x.LSB<64). When x.MSB==0 -> DALI Bus on Brain(+), x.MSB==1 -> DALI Bus on first CAN Control, x.MSB==2 -> DALI Bus on second CAN Control ...
 +
*Byte 74-75: (byte 74->x.MSB, byte 75->x.LSB) Sensor 1 of this module is linked with Dali Sensor x.LSB (when x.LSB<64). When x.MSB==0 -> DALI Bus on Brain(+), x.MSB==1 -> DALI Bus on first CAN Control, x.MSB==2 -> DALI Bus on second CAN Control ...
 +
*…
 +
*Byte 86-87: (byte 86->x.MSB, byte 87->x.LSB) Sensor 7 of this module is linked with Dali Sensor x.LSB (when x.LSB<64). When x.MSB==0 -> DALI Bus on Brain(+), x.MSB==1 -> DALI Bus on first CAN Control, x.MSB==2 -> DALI Bus on second CAN Control ...
 +
 
 +
Below, you can find the Memory locations for Firmware 1.0.109 or lower:
 +
 
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 239-254||72-79
 +
|}
 +
 
 +
*Byte 72: Sensor 0 of this module is linked with Dali Sensor x (when x<64).
 +
*Byte 73: Sensor 1 of this module is linked with Dali Sensor x (when x<64).
 +
*…
 +
*Byte 79: Sensor 7 of this module is linked with Dali Sensor x (when x<64).
 +
 
 +
=== ascii Names Sensors ===
 +
 
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''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)
 +
 
 +
== Can Control modules (Page 255) ==
 +
;Page 255 -> Contains data of maximum 16 Can Control modules
 +
 
 +
In this page, every Can Control has 16 bytes to keep the most important configuration data.
 +
 
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 255||0-15
 +
|}
 +
 
 +
:Byte 0: Type device (more information see document “Technical device information”) of the first Can Control module
 +
:Byte 1: ID1 (ID1, 2, 3 gives the unique ID of the device)
 +
:Byte 2: ID2
 +
:Byte 3: ID3
 +
:Byte 4:
 +
:Byte 5: 
 +
:Byte 6: 
 +
:Byte 7:
 +
:Byte 8:
 +
:Byte 9:
 +
:Byte 10:
 +
:Byte 11:
 +
:Byte 12:
 +
:Byte 13:
 +
:Byte 14:
 +
:Byte 15:
 +
 
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 255||16-31
 +
|}
 +
 
 +
:Byte 16: Type device (more information see document “Technical device information”) of the second Can Control module
 +
:Byte 17: ID1 (ID1, 2, 3 gives the unique ID of the device)
 +
:Byte 18: ID2
 +
:Byte 19: ID3
 +
:Byte 20:
 +
:Byte 21: 
 +
:Byte 22: 
 +
:Byte 23:
 +
:Byte 24:
 +
:Byte 25:
 +
:Byte 26:
 +
:Byte 27:
 +
:Byte 28:
 +
:Byte 29:
 +
:Byte 30:
 +
:Byte 31:
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 994: Line 1,192:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 255||0-15
+
| 255||32-47
 
|}
 
|}
  
:Byte 0: Type device (more information see document “Technical device information”) of the first Can Control module
+
:...
:Byte 1: ID1 (ID1, 2, 3 gives the unique ID of the device)
+
 
:Byte 2: ID2
+
== Group Actions Pages (Page 256 - 382) ==
:Byte 3: ID3
+
 
:Byte 4:  
+
A Group Action is a list of Basic Actions (BA's) to be executed together.
:Byte 5: 
+
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.
:Byte 6: 
+
 
:Byte 7:
+
Group Actions are configured in Eeprom and consist of 3 eeprom sections:
:Byte 8:
+
* Page 256-259: GAT (Group Allocation table): This table indicates the start and end address of the BA's of each group action
:Byte 9:
+
* Page 261-276: Contains the Group names of each Group Action
:Byte 10:
+
* Page 281-380: Contains all the BA's of each Group
:Byte 11:
+
 
:Byte 12:
+
=== Group Action GAT Pages ===
:Byte 13:
+
 
:Byte 14:
+
The Group Allocation Table (GAT) will define the start and end address of each Group Action. These 4 pages defines the start and end addresses of 256 (0-255) group actions.
:Byte 15:
+
 
 +
;Page 256 – 259 -> Contains the Start Address and end addresses of 256 Group Actions
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,018: Line 1,217:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 255||16-31
+
| 256||0-1
 
|}
 
|}
  
:Byte 16: Type device (more information see document “Technical device information”) of the second Can Control module
+
: These 2 bytes contains the start address of Group Action 0 (0->MSB, 1->LSB)
:Byte 17: ID1 (ID1, 2, 3 gives the unique ID of the device)
+
 
:Byte 18: ID2
+
{| class="wikitable sortable" border="1"
:Byte 19: ID3
+
| align="center" style="background:#f0f0f0;"|'''Page'''
:Byte 20:
+
| align="center" style="background:#f0f0f0;"|'''Byte'''
:Byte 21: 
+
|-
:Byte 22: 
+
| 256||2-3
:Byte 23:
+
|}
:Byte 24:
+
 
:Byte 25:
+
: These 2 bytes contains the end address of Group Action 0 (2->MSB, 3->LSB)
:Byte 26:
 
:Byte 27:
 
:Byte 28:
 
:Byte 29:
 
:Byte 30:
 
:Byte 31:
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,042: Line 1,235:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 255||32-47
+
| 256||4-5
 
|}
 
|}
  
:...
+
: These 2 bytes contains the start address of Group Action 1 (4->MSB, 5->LSB)
  
== Group Actions Pages (Page 256 - 382) ==
+
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 256||6-7
 +
|}
  
A Group Action is a list of Basic Actions (BA's) to be executed together.
+
: These 2 bytes contains the end address of Group Action 1 (6->MSB, 7->LSB)
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-259: GAT (Group Allocation table): This table indicates the start and end address of the BA's of each group action
 
* Page 261-276: Contains the Group names of each Group Action
 
* Page 281-380: Contains all the BA's of each Group
 
  
=== Group Action GAT Pages ===
+
=== Group Action Name Page ===
  
The Group Allocation Table (GAT) will define the start and end address of each Group Action. These 4 pages defines the start and end addresses of 256 (0-255) group actions.
+
;Page 261 276 -> Contains the Group Actions name.
 
 
;Page 256 259 -> Contains the Start Address and end addresses of 256 Group Actions
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,067: Line 1,259:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 256||0-1
+
| 261-276||0-255
 
|}
 
|}
  
: These 2 bytes contains the start address of Group Action 0 (0->MSB, 1->LSB)
+
:Page 261 Byte 0 – 15: ascii name of Group Action 0 (16 characters)
 
+
:Page 261 Byte 16 – 31: ascii name of Group Action 1 (16 characters)
 +
:Page 261 Byte 32 – 47: aascii name of Group Action 2 (16 characters)
 +
:...
 +
:Page 261 Byte 240 – 255: ascii name of Group Action 15 (16 characters)
 +
:Page 261 Byte 0 – 15: ascii name of Group Action 16 (16 characters)
 +
:...
 +
 
 +
;Page 277 – 280 -> Reserved for extension Group Action Names.
 +
 
 +
=== Group Action BA Pages ===
 +
 
 +
Each Page contains 42 BA's. Each BA is made of 6 bytes. The first BA of each page is written in Byte 0-5, the second BA is written in Byte 6-11 etc
 +
 
 +
;Page 281 – 380 -> Contains data of 4200 BA's.
 +
 
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
 
| align="center" style="background:#f0f0f0;"|'''Page'''
 
| align="center" style="background:#f0f0f0;"|'''Page'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 256||2-3
+
| 281||0-125
 
|}
 
|}
  
: These 2 bytes contains the end address of Group Action 0 (2->MSB, 3->LSB)
+
: This half page is entirely used for BA 0 - 20.
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,085: Line 1,291:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 256||4-5
+
| 281||128-253
 
|}
 
|}
  
: These 2 bytes contains the start address of Group Action 1 (4->MSB, 5->LSB)
+
: This half page is entirely used for BA 21 - 41.
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,094: Line 1,300:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 256||6-7
+
| 282||0-125
 
|}
 
|}
  
: These 2 bytes contains the end address of Group Action 1 (6->MSB, 7->LSB)
+
: This half page is entirely used for BA 42 - 62.
  
:...
+
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 282||128-253
 +
|}
  
=== Group Action Name Page ===
+
: This half page is entirely used for BA 63 - 83.
 
 
;Page 261 – 276 -> Contains the Group Actions name.
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,109: Line 1,318:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 261-276||0-255
+
| 283||0-125
 
|}
 
|}
  
:Page 261 Byte 0 – 15: ascii name of Group Action 0 (16 characters)
+
: This half page is entirely used for BA 84 - 104.
:Page 261 Byte 16 – 31: ascii name of Group Action 1 (16 characters)
+
...
:Page 261 Byte 32 – 47: aascii name of Group Action 2 (16 characters)
 
:...
 
:Page 261 Byte 240 – 255: ascii name of Group Action 15 (16 characters)
 
:Page 261 Byte 0 – 15: ascii name of Group Action 16 (16 characters)
 
:...
 
  
;Page 277 – 280 -> Reserved for extension Group Action Names.
+
== CAN slave modules (Page 383 - 390) ==
 
+
=== CAN slave configuration ===
=== Group Action BA Pages ===
+
;Page 383-390 -> Contains the configuration data of the CAN slave modules (128 modules maximum)
 
 
Each Page contains 42 BA's. Each BA is made of 6 bytes. The first BA of each page is written in Byte 0-5, the second BA is written in Byte 6-11 etc
 
 
 
;Page 281 – 380 -> Contains data of 4200 BA's.
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,132: Line 1,332:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 281||0-125
+
| 383||x
 
|}
 
|}
  
: This half page is entirely used for BA 0 - 20.
+
: This page is entirely used for the configuration data of the CAN slave modules 0-15.
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,141: Line 1,341:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 281||128-253
+
| 384||x
 
|}
 
|}
  
: This half page is entirely used for BA 21 - 41.
+
: This page is entirely used for the configuration data of the CAN slave modules 16-31.
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,150: Line 1,350:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 282||0-125
+
| 385||x
 
|}
 
|}
  
: This half page is entirely used for BA 42 - 62.
+
: This page is entirely used for the configuration data of the CAN slave modules 32-47.
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,159: Line 1,359:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 282||128-253
+
| 386||x
 
|}
 
|}
  
: This half page is entirely used for BA 63 - 83.
+
: This page is entirely used for the configuration data of the CAN slave modules 48-63.
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,168: Line 1,368:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 283||0-125
+
| 387||x
 
|}
 
|}
  
: This half page is entirely used for BA 84 - 104.
+
: This page is entirely used for the configuration data of the CAN slave modules 64-79.
...
 
 
 
== CAN slave modules (Page 383 - 390) ==
 
=== CAN slave configuration ===
 
;Page 383-390 -> Contains the configuration data of the CAN slave modules (128 modules maximum)
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,182: Line 1,377:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 383||x
+
| 388||x
 
|}
 
|}
  
: This page is entirely used for the configuration data of the CAN slave modules 0-15.
+
: This page is entirely used for the configuration data of the CAN slave modules 80-95.
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,191: Line 1,386:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 384||x
+
| 389||x
 
|}
 
|}
  
: This page is entirely used for the configuration data of the CAN slave modules 16-31.
+
: This page is entirely used for the configuration data of the CAN slave modules 96-111.
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,200: Line 1,395:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 385||x
+
| 390||x
 
|}
 
|}
  
: This page is entirely used for the configuration data of the CAN slave modules 32-47.
+
: This page is entirely used for the configuration data of the CAN slave modules 112-127.
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,209: Line 1,404:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 386||x
+
| 383-390||0-15
 
|}
 
|}
  
: This page is entirely used for the configuration data of the CAN slave modules 48-63.
+
:Byte 0: ID_2 of the first CAN module of this page
 
+
:Byte 1: ID_1 of the first CAN module of this page
{| class="wikitable sortable" border="1"
+
:Byte 2: ID_0 of the first CAN module of this page
| align="center" style="background:#f0f0f0;"|'''Page'''
+
:Byte 3: Module link Type:
| align="center" style="background:#f0f0f0;"|'''Byte'''
+
:* Module link type:
|-
+
:** Type = 100: This CAN slave is linked to the internal CAN bus of the Core/Core+
| 387||x
+
:** Type = 0: This CAN slave is linked to the first CAN Control
|}
+
:** Type = 1: This CAN slave is linked to the second CAN Control
 
+
:** ...
: This page is entirely used for the configuration data of the CAN slave modules 64-79.
+
:Byte 4: Sensor Link 0 of the first CAN module of this page
 +
:Byte 5: Sensor Link 1 of the first CAN module of this page
 +
:Byte 6: Input Link 0 of the first CAN module of this page
 +
:Byte 7: Input Link 1 of the first CAN module of this page
 +
:Byte 8: Input Link 2 of the first CAN module of this page
 +
:Byte 9: Input Link 3 of the first CAN module of this page
 +
:Byte 10: Input Link 4 of the first CAN module of this page
 +
:Byte 11: Input Link 5 of the first CAN module of this page
 +
:Byte 12: Modbus Address of the Modbus device connected to the uCAN - See [[Modbus Parameters]]
 +
:Byte 13: Modbus Type - See [[Modbus Parameters]]
 +
:Byte 14: Modbus Model - See [[Modbus Parameters]]
 +
:Byte 15: Modbus Speed - See [[Modbus Parameters]]
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,227: Line 1,433:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 388||x
+
| 383-390||16-31
 
|}
 
|}
  
: This page is entirely used for the configuration data of the CAN slave modules 80-95.
+
:Byte 16: ID_2 of the second CAN module of this page
 +
:Byte 17: ID_1 of the second CAN module of this page
 +
:Byte 18: ID_0 of the second CAN module of this page
 +
:Byte 19: Module link Type:
 +
:* Module link type:
 +
:** Type = 0: This CAN slave is linked to the internal CAN bus of the Core/Core+
 +
:** Type = 1: This CAN slave is linked to the first CAN Control
 +
:** Type = 2: This CAN slave is linked to the second CAN Control
 +
:** ...
 +
:Byte 20: Sensor Link 0 of the second CAN module of this page
 +
:Byte 21: Sensor Link 1 of the second CAN module of this page
 +
:Byte 22: Input Link 0 of the second CAN module of this page
 +
:Byte 23: Input Link 1 of the second CAN module of this page
 +
:Byte 24: Input Link 2 of the second CAN module of this page
 +
:Byte 25: Input Link 3 of the second CAN module of this page
 +
:Byte 26: Input Link 4 of the second CAN module of this page
 +
:Byte 27: Input Link 5 of the second CAN module of this page
 +
:Byte 28: Modbus Address of the Modbus device connected to the uCAN - See [[Modbus Parameters]]
 +
:Byte 29: Modbus Type - See [[Modbus Parameters]]
 +
:Byte 30: Modbus Model - See [[Modbus Parameters]]
 +
:Byte 31: Modbus Speed - See [[Modbus Parameters]]
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,236: Line 1,462:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 389||x
+
| 383-390||32-...
 
|}
 
|}
  
: This page is entirely used for the configuration data of the CAN slave modules 96-111.
+
:...
 +
 
 +
== Roller/Shutter (Page 391 - 414) ==
 +
 
 +
=== Link Shutter Nr with Output Nr ===
 +
 
 +
Every set of (2 consecutive) outputs can be configured as output or as Roller/Shutter. When configured as Roller/Shutter, those outputs can never be ON at the same time and a time and a delay will be applied between one output going OFF and the other going ON. Every Roller/Shutter has a number that is linked to a set of outputs. The below page will set this link.
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,245: Line 1,477:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 390||x
+
| 391||0-255
 
|}
 
|}
  
: This page is entirely used for the configuration data of the CAN slave modules 112-127.
+
:Byte 0: Shutter 0 is linked with Output x*2 and (x*2)+1 (x is the value stored in this byte)
 +
:Byte 1: Shutter 1 is linked with Output x*2 and (x*2)+1 (x is the value stored in this byte)
 +
:Byte 2: Shutter 2 is linked with Output x*2 and (x*2)+1 (x is the value stored in this byte)
 +
:Byte 3: Shutter 3 is linked with Output x*2 and (x*2)+1 (x is the value stored in this byte)
 +
:…
 +
:Byte 254: Shutter 254 is linked with Output x*2 and (x*2)+1 (x is the value stored in this byte)
 +
:Byte 255: Shutter 255 is linked with Output x*2 and (x*2)+1 (x is the value stored in this byte)
 +
 
 +
Example: When in this Page, 7 is stored in byte 10, Output 14 and 15 are linked to Roller/Shutter nr 10.
 +
 
 +
Note: The outputs that can be used range from 0 to 511.
 +
 
 +
=== Configure Roller/Shutter Outputs ===
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,254: Line 1,498:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 383-390||0-15
+
| 392||0-79
 
|}
 
|}
  
:Byte 0: ID_2 of the first CAN module of this page
+
:Byte 0: Roller/Shutter setting for Output Module 0 (and the 8 outputs representing this module)
:Byte 1: ID_1 of the first CAN module of this page
+
:Byte 1: Roller/Shutter setting for Output Module 1
:Byte 2: ID_0 of the first CAN module of this page
+
:Byte 2: Roller/Shutter setting for Output Module 2
:Byte 3: Module link Type:
+
:...
:* Module link type:
+
:Byte 79: Roller/Shutter setting for Output Module 79
:** Type = 100: This CAN slave is linked to the internal CAN bus of the Core/Core+
+
 
:** Type = 0: This CAN slave is linked to the first CAN Control
+
Every Roller/shutter setting has following bit representation:
:** Type = 1: This CAN slave is linked to the second CAN Control
 
:** ...
 
:Byte 4: Sensor Link 0 of the first CAN module of this page
 
:Byte 5: Sensor Link 1 of the first CAN module of this page
 
:Byte 6: Input Link 0 of the first CAN module of this page
 
:Byte 7: Input Link 1 of the first CAN module of this page
 
:Byte 8: Input Link 2 of the first CAN module of this page
 
:Byte 9: Input Link 3 of the first CAN module of this page
 
:Byte 10: Input Link 4 of the first CAN module of this page
 
:Byte 11: Input Link 5 of the first CAN module of this page
 
:Byte 12: Modbus Address of the Modbus device connected to the uCAN - See [[Modbus Parameters]]
 
:Byte 13: Modbus Type - See [[Modbus Parameters]]
 
:Byte 14: Modbus Model - See [[Modbus Parameters]]
 
:Byte 15: Modbus Speed - See [[Modbus Parameters]]
 
  
{| class="wikitable sortable" border="1"
+
:BIT7: =1-> Output 7 and 6 of this module configured as Output, =0-> Output 7 and 6 configured as Roller/Shutter.
 +
:BIT6: =1-> Output 5 and 4 of this module configured as Output, =0-> Output 5 and 4 configured as Roller/Shutter.
 +
:BIT5: =1-> Output 3 and 2 of this module configured as Output, =0-> Output 3 and 2 configured as Roller/Shutter.
 +
:BIT4: =1-> Output 1 and 0 of this module configured as Output, =0-> Output 1 and 0 configured as Roller/Shutter.
 +
:BIT3: =1-> Output 7 configured as UP, Output 6 configured as DOWN, =0-> Output 6 configured as UP, Output 7 configured as DOWN.
 +
:BIT2: =1-> Output 5 configured as UP, Output 4 configured as DOWN, =0-> Output 4 configured as UP, Output 5 configured as DOWN.
 +
:BIT1: =1-> Output 3 configured as UP, Output 2 configured as DOWN, =0-> Output 2 configured as UP, Output 3 configured as DOWN.
 +
:BIT0: =1-> Output 1 configured as UP, Output 0 configured as DOWN, =0-> Output 0 configured as UP, Output 1 configured as DOWN.
 +
 
 +
=== Up Timer settings of an individual Roller/Shutter ===
 +
 
 +
{| class="wikitable sortable" border="1"
 
| align="center" style="background:#f0f0f0;"|'''Page'''
 
| align="center" style="background:#f0f0f0;"|'''Page'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 383-390||16-31
+
| 393-394||0-255
 
|}
 
|}
  
:Byte 16: ID_2 of the second CAN module of this page
+
:Page 393 Byte 0: Up Timer for Roller/Shutter 0 (MSB)
:Byte 17: ID_1 of the second CAN module of this page
+
:Page 393 Byte 1: Up Timer for Roller/Shutter 0 (LSB)
:Byte 18: ID_0 of the second CAN module of this page
+
:Page 393 Byte 2: Up Timer for Roller/Shutter 1 (MSB)
:Byte 19: Module link Type:
+
:Page 393 Byte 3: Up Timer for Roller/Shutter 1 (LSB)
:* Module link type:
+
:
:** Type = 0: This CAN slave is linked to the internal CAN bus of the Core/Core+
+
:Page 394 Byte 254: Up Timer for Roller/Shutter 255 (MSB)
:** Type = 1: This CAN slave is linked to the first CAN Control
+
:Page 394 Byte 255: Up Timer for Roller/Shutter 255 (LSB)
:** Type = 2: This CAN slave is linked to the second CAN Control
+
 
:** ...
+
Note: This timer setting is in 100ms value, when 0 the timer is not in use.
:Byte 20: Sensor Link 0 of the second CAN module of this page
+
 
:Byte 21: Sensor Link 1 of the second CAN module of this page
+
=== Down Timer settings of an individual Roller/Shutter ===
:Byte 22: Input Link 0 of the second CAN module of this page
 
:Byte 23: Input Link 1 of the second CAN module of this page
 
:Byte 24: Input Link 2 of the second CAN module of this page
 
:Byte 25: Input Link 3 of the second CAN module of this page
 
:Byte 26: Input Link 4 of the second CAN module of this page
 
:Byte 27: Input Link 5 of the second CAN module of this page
 
:Byte 28: Modbus Address of the Modbus device connected to the uCAN - See [[Modbus Parameters]]
 
:Byte 29: Modbus Type - See [[Modbus Parameters]]
 
:Byte 30: Modbus Model - See [[Modbus Parameters]]
 
:Byte 31: Modbus Speed - See [[Modbus Parameters]]
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,312: Line 1,543:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 383-390||32-...
+
| 395-396||0-255
 
|}
 
|}
  
:...
+
:Page 395 Byte 0: Down Timer for Roller/Shutter 0 (MSB)
 
+
:Page 395 Byte 1: Down Timer for Roller/Shutter 0 (LSB)
== Roller/Shutter (Page 391 - 414) ==
+
:Page 395 Byte 2: Down Timer for Roller/Shutter 1 (MSB)
 +
:Page 395 Byte 3: Down Timer for Roller/Shutter 1 (LSB)
 +
:…
 +
:Page 396 Byte 254: Down Timer for Roller/Shutter 255 (MSB)
 +
:Page 396 Byte 255: Down Timer for Roller/Shutter 255 (LSB)
 +
 
 +
Note: This timer setting is in 100ms value, when 0 the timer is not in use.
  
=== Link Shutter Nr with Output Nr ===
+
=== Name of a Roller/Shutter ===
  
Every set of (2 consecutive) outputs can be configured as output or as Roller/Shutter. When configured as Roller/Shutter, those outputs can never be ON at the same time and a time and a delay will be applied between one output going OFF and the other going ON. Every Roller/Shutter has a number that is linked to a set of outputs. The below page will set this link.
+
Every Roller/Shutter can have a name of max 16 characters.
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,327: Line 1,564:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 391||0-255
+
| 397-412||0-255
 
|}
 
|}
  
:Byte 0: Shutter 0 is linked with Output x*2 and (x*2)+1 (x is the value stored in this byte)
+
:Page 395 Byte 0-15: Name of Roller/Shutter 0
:Byte 1: Shutter 1 is linked with Output x*2 and (x*2)+1 (x is the value stored in this byte)
+
:Page 395 Byte 16-31: Name of Roller/Shutter 1
:Byte 2: Shutter 2 is linked with Output x*2 and (x*2)+1 (x is the value stored in this byte)
+
:Page 395 Byte 32-47: Name of Roller/Shutter 2
:Byte 3: Shutter 3 is linked with Output x*2 and (x*2)+1 (x is the value stored in this byte)
 
 
:…
 
:…
:Byte 254: Shutter 254 is linked with Output x*2 and (x*2)+1 (x is the value stored in this byte)
+
:Page 410 Byte 240-255: Name of Roller/Shutter 255
:Byte 255: Shutter 255 is linked with Output x*2 and (x*2)+1 (x is the value stored in this byte)
 
  
Example: When in this Page, 7 is stored in byte 10, Output 14 and 15 are linked to Roller/Shutter nr 10.
+
=== Shutter Nr linked to shutter group ===
  
Note: The outputs that can be used range from 0 to 511.
+
Every Shutter can be linked to 16 (0-15) Shutter groups. Every Shutter has an associated shutter group value (word->16 bits). This shutter group value contains 16 bits which represents the 16 existing shutter groups:
 
+
* If BIT0=1 -> the shutter is not part of Group 0
=== Configure Roller/Shutter Outputs ===
+
* If BIT0=0 -> the shutter is part of Group 0
 +
* If BIT1=1 -> the shutter is not part of Group 1
 +
* If BIT1=0 -> the shutter is part of Group 1
 +
...
 +
* If BIT15=1 -> the shutter is not part of Group 15
 +
* If BIT15=0 -> the shutter is part of Group 15
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,348: Line 1,588:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 392||0-79
+
| 413-414||0-255
 
|}
 
|}
  
:Byte 0: Roller/Shutter setting for Output Module 0 (and the 8 outputs representing this module)
+
:Page 413 Byte 0: Shutter Group Value for Roller/Shutter 0 (MSB)
:Byte 1: Roller/Shutter setting for Output Module 1
+
:Page 413 Byte 1: Shutter Group Value for Roller/Shutter 0 (LSB)
:Byte 2: Roller/Shutter setting for Output Module 2
+
:Page 413 Byte 2: Shutter Group Value for Roller/Shutter 1 (MSB)
:...
+
:Page 413 Byte 3: Shutter Group Value for Roller/Shutter 1 (LSB)
:Byte 79: Roller/Shutter setting for Output Module 79
+
:
 +
:Page 414 Byte 254: Shutter Group Value for Roller/Shutter 255 (MSB)
 +
:Page 414 Byte 255: Shutter Group Value for Roller/Shutter 255 (LSB)
  
Every Roller/shutter setting has following bit representation:
+
== Sensor Extra (Page 471 - 479) ==
  
:BIT7: =1-> Output 7 and 6 of this module configured as Output, =0-> Output 7 and 6 configured as Roller/Shutter.
+
=== Sensor Extra Group Follow ===
:BIT6: =1-> Output 5 and 4 of this module configured as Output, =0-> Output 5 and 4 configured as Roller/Shutter.
 
:BIT5: =1-> Output 3 and 2 of this module configured as Output, =0-> Output 3 and 2 configured as Roller/Shutter.
 
:BIT4: =1-> Output 1 and 0 of this module configured as Output, =0-> Output 1 and 0 configured as Roller/Shutter.
 
:BIT3: =1-> Output 7 configured as UP, Output 6 configured as DOWN, =0-> Output 6 configured as UP, Output 7 configured as DOWN.
 
:BIT2: =1-> Output 5 configured as UP, Output 4 configured as DOWN, =0-> Output 4 configured as UP, Output 5 configured as DOWN.
 
:BIT1: =1-> Output 3 configured as UP, Output 2 configured as DOWN, =0-> Output 2 configured as UP, Output 3 configured as DOWN.
 
:BIT0: =1-> Output 1 configured as UP, Output 0 configured as DOWN, =0-> Output 0 configured as UP, Output 1 configured as DOWN.
 
 
 
=== Up Timer settings of an individual Roller/Shutter ===
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,374: Line 1,607:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 393-394||0-255
+
| 471||0-255
 
|}
 
|}
  
:Page 393 Byte 0: Up Timer for Roller/Shutter 0 (MSB)
+
:Byte 0: Group nr (MSB) to execute when Sensor Extra 0 is changing
:Page 393 Byte 1: Up Timer for Roller/Shutter 0 (LSB)
+
:Byte 1: Group nr (LSB) to execute when Sensor Extra 0 is changing
:Page 393 Byte 2: Up Timer for Roller/Shutter 1 (MSB)
+
:Byte 2: Group nr (MSB) to execute when Sensor Extra 1 is changing
:Page 393 Byte 3: Up Timer for Roller/Shutter 1 (LSB)
+
:Byte 3: Group nr (LSB) to execute when Sensor Extra 1 is changing
 
:…
 
:…
:Page 394 Byte 254: Up Timer for Roller/Shutter 255 (MSB)
+
:Byte 254: Group nr (MSB) to execute when Sensor Extra 127 is changing
:Page 394 Byte 255: Up Timer for Roller/Shutter 255 (LSB)
+
:Byte 255: Group nr (LSB) to execute when Sensor Extra 127 is changing
  
Note: This timer setting is in 100ms value, when 0 the timer is not in use.
+
=== Sensor Extra Name Page ===
  
=== Down Timer settings of an individual Roller/Shutter ===
+
;Page 472 – 479 -> Contains the Name (16 characters Max) of each extra sensor used. The system can contain maximum 64 sensors that can be freely used. 4 pages are reserved for future use
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,393: Line 1,626:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 395-396||0-255
+
| 472-479||0-255
 
|}
 
|}
  
:Page 395 Byte 0: Down Timer for Roller/Shutter 0 (MSB)
+
:Page 472 Byte 0 – 15: ascii name of Sensor 0 (16 characters)
:Page 395 Byte 1: Down Timer for Roller/Shutter 0 (LSB)
+
:Page 472 Byte 16 – 31: ascii name of Sensor 1 (16 characters)
:Page 395 Byte 2: Down Timer for Roller/Shutter 1 (MSB)
+
:Page 472 Byte 32 – 47: ascii name of Sensor 2 (16 characters)
:Page 395 Byte 3: Down Timer for Roller/Shutter 1 (LSB)
+
:...
:
+
:Page 472 Byte 240 – 255: ascii name of Sensor 15 (16 characters)
:Page 396 Byte 254: Down Timer for Roller/Shutter 255 (MSB)
+
:Page 473 Byte 0 – 15: ascii name of Sensor 16 (16 characters)
:Page 396 Byte 255: Down Timer for Roller/Shutter 255 (LSB)
+
:...
  
Note: This timer setting is in 100ms value, when 0 the timer is not in use.
+
== Validation Bit (Page 480 - 497)==
  
=== Name of a Roller/Shutter ===
+
=== Validation Bit Group Follow ===
  
Every Roller/Shutter can have a name of max 16 characters.
+
;Page 480 – 481 -> Contains the Group Nr's (0-254) that needs to be executed when the validation bits (0-255) are changing.
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,414: Line 1,647:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 397-412||0-255
+
| 480-481||0-255
 
|}
 
|}
  
:Page 395 Byte 0-15: Name of Roller/Shutter 0
+
:Page 480 Byte 0: Group nr (MSB) to execute when Validation Bit 0 is changing
:Page 395 Byte 16-31: Name of Roller/Shutter 1
+
:Page 480 Byte 1: Group nr (LSB) to execute when Validation Bit 0 is changing
:Page 395 Byte 32-47: Name of Roller/Shutter 2
+
:Page 480 Byte 2: Group nr (MSB) to execute when Validation Bit 1 is changing
 +
:Page 480 Byte 3: Group nr (LSB) to execute when Validation Bit 1 is changing
 
:…
 
:…
:Page 410 Byte 240-255: Name of Roller/Shutter 255
+
:Page 480 Byte 254: Group nr (MSB) to execute when Validation Bit 127 is changing
 +
:Page 480 Byte 255: Group nr (LSB) to execute when Validation Bit 127 is changing
 +
:Page 481 Byte 0: Group nr (MSB) to execute when Validation Bit 128 is changing
 +
:Page 481 Byte 1: Group nr (LSB) to execute when Validation Bit 128 is changing
 +
:...
  
=== Shutter Nr linked to shutter group ===
+
=== Validation Bit Name Page ===
  
Every Shutter can be linked to 16 (0-15) Shutter groups. Every Shutter has an associated shutter group value (word->16 bits). This shutter group value contains 16 bits which represents the 16 existing shutter groups:
+
;Page 482 – 497 -> Contains the Name (16 characters Max) of each Validation Bit (0-255).
* If BIT0=1 -> the shutter is not part of Group 0
 
* If BIT0=0 -> the shutter is part of Group 0
 
* If BIT1=1 -> the shutter is not part of Group 1
 
* If BIT1=0 -> the shutter is part of Group 1
 
...
 
* If BIT15=1 -> the shutter is not part of Group 15
 
* If BIT15=0 -> the shutter is part of Group 15
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,438: Line 1,669:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 413-414||0-255
+
| 482-497||0-255
 +
|}
 +
 
 +
:Page 482 Byte 0 – 15: ascii name of Validation Bit 0 (16 characters)
 +
:Page 482 Byte 16 – 31: ascii name of Validation Bit 1 (16 characters)
 +
:Page 482 Byte 32 – 47: ascii name of Validation Bit 2 (16 characters)
 +
:...
 +
:Page 482 Byte 240 – 255: ascii name of Validation Bit 15 (16 characters)
 +
:Page 483 Byte 0 – 15: ascii name of Validation Bit 16 (16 characters)
 +
:...
 +
 
 +
== Error & Event Logging (Page 506 - 511)==
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 506-511||0-255
 
|}
 
|}
  
:Page 413 Byte 0: Shutter Group Value for Roller/Shutter 0 (MSB)
+
Some Error and Event codes (like health checker info, startup system, some errors) will be logged in EEPROM (see also FRAM that has logging page too). Each logging item consist of 16 bytes:
:Page 413 Byte 1: Shutter Group Value for Roller/Shutter 0 (LSB)
+
* Date and Time: 6 bytes
:Page 413 Byte 2: Shutter Group Value for Roller/Shutter 1 (MSB)
+
* Type of logging: 2 bytes
:Page 413 Byte 3: Shutter Group Value for Roller/Shutter 1 (LSB)
+
* Event and error data: 8 bytes
:
+
* 16 logging items per EEPROM page, 6 pages: 96 logging items
:Page 414 Byte 254: Shutter Group Value for Roller/Shutter 255 (MSB)
+
The logging location for the next logging item is written in EEPROM at Page0/Byte83(MSB)-84(LSB): If the logging location=0 then the 16 bytes will be written starting at EEPROM location Byte506/Byte0, if logging location=1 then the 16 bytes will be written at FRAM location Byte506/Byte16 etc. After each 16 byte write operation, the logging location is updated (Page 0/Byte83-84).
:Page 414 Byte 255: Shutter Group Value for Roller/Shutter 255 (LSB)
 
  
== Sensor Extra (Page 471 - 479) ==
+
When all 16 FRAM pages are written, the oldest location is overwritten.
  
=== Sensor Extra Group Follow ===
+
;Page 506 -> Contains 16 logging items
 +
;Page 507 -> Contains 16 logging items
 +
;Page 508 -> Contains 16 logging items
 +
;etc
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,457: Line 1,706:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 471||0-255
+
| 506||0-15
 
|}
 
|}
  
:Byte 0: Group nr (MSB) to execute when Sensor Extra 0 is changing
+
: Page 506 Byte 0: Year
:Byte 1: Group nr (LSB) to execute when Sensor Extra 0 is changing
+
: Page 506 Byte 1: Month
:Byte 2: Group nr (MSB) to execute when Sensor Extra 1 is changing
+
: Page 506 Byte 2: Day
:Byte 3: Group nr (LSB) to execute when Sensor Extra 1 is changing
+
: Page 506 Byte 3: Hour
:
+
: Page 506 Byte 4: Minute
:Byte 254: Group nr (MSB) to execute when Sensor Extra 127 is changing
+
: Page 506 Byte 5: Second
:Byte 255: Group nr (LSB) to execute when Sensor Extra 127 is changing
+
: Page 506 Byte 6: Logging Type1
 
+
: Page 506 Byte 7: Logging Type2
=== Sensor Extra Name Page ===
+
: Page 506 Byte 8-15: Data0-7
 
 
;Page 472 – 479 -> Contains the Name (16 characters Max) of each extra sensor used. The system can contain maximum 64 sensors that can be freely used. 4 pages are reserved for future use
 
  
 
{| class="wikitable sortable" border="1"
 
{| class="wikitable sortable" border="1"
Line 1,476: Line 1,723:
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
|-
| 472-479||0-255
+
| 506||16-31
 
|}
 
|}
  
:Page 472 Byte 0 – 15: ascii name of Sensor 0 (16 characters)
+
: Page 506 Byte 16: Year
:Page 472 Byte 16 – 31: ascii name of Sensor 1 (16 characters)
+
: Page 506 Byte 17: Month
:Page 472 Byte 32 – 47: ascii name of Sensor 2 (16 characters)
+
: Page 506 Byte 18: Day
:...
+
: Page 506 Byte 19: Hour
:Page 472 Byte 240 – 255: ascii name of Sensor 15 (16 characters)
+
: Page 506 Byte 20: Minute
:Page 473 Byte 0 – 15: ascii name of Sensor 16 (16 characters)
+
: Page 506 Byte 21: Second
:...
+
: Page 506 Byte 22: Logging Type1
 
+
: Page 506 Byte 23: Logging Type2
== Validation Bit (Page 480 - 497)==
+
: Page 506 Byte 24-31: Data0-
  
=== Validation Bit Group Follow ===
+
...
 
 
;Page 480 – 481 -> Contains the Group Nr's (0-254) that needs to be executed when the validation bits (0-255) are changing.
 
 
 
{| class="wikitable sortable" border="1"
 
| align="center" style="background:#f0f0f0;"|'''Page'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
| 480-481||0-255
 
|}
 
 
 
:Page 480 Byte 0: Group nr (MSB) to execute when Validation Bit 0 is changing
 
:Page 480 Byte 1: Group nr (LSB) to execute when Validation Bit 0 is changing
 
:Page 480 Byte 2: Group nr (MSB) to execute when Validation Bit 1 is changing
 
:Page 480 Byte 3: Group nr (LSB) to execute when Validation Bit 1 is changing
 
:…
 
:Page 480 Byte 254: Group nr (MSB) to execute when Validation Bit 127 is changing
 
:Page 480 Byte 255: Group nr (LSB) to execute when Validation Bit 127 is changing
 
:Page 481 Byte 0: Group nr (MSB) to execute when Validation Bit 128 is changing
 
:Page 481 Byte 1: Group nr (LSB) to execute when Validation Bit 128 is changing
 
:...
 
 
 
=== Validation Bit Name Page ===
 
 
 
;Page 482 – 497 -> Contains the Name (16 characters Max) of each Validation Bit (0-255).
 
 
 
{| class="wikitable sortable" border="1"
 
| align="center" style="background:#f0f0f0;"|'''Page'''
 
| align="center" style="background:#f0f0f0;"|'''Byte'''
 
|-
 
| 482-497||0-255
 
|}
 
 
 
:Page 482 Byte 0 – 15: ascii name of Validation Bit 0 (16 characters)
 
:Page 482 Byte 16 – 31: ascii name of Validation Bit 1 (16 characters)
 
:Page 482 Byte 32 – 47: ascii name of Validation Bit 2 (16 characters)
 
:...
 
:Page 482 Byte 240 – 255: ascii name of Validation Bit 15 (16 characters)
 
:Page 483 Byte 0 – 15: ascii name of Validation Bit 16 (16 characters)
 
:...
 
  
== Logging Pages (Page 506 - 511)==
+
Note:
 +
* If Logging Type1='E' and Logging Type2='V' -> Event
 +
* If Logging Type1='E' and Logging Type2='R' -> Error
 +
* If Logging Type1='B' and Logging Type2='A' -> Basic Action

Latest revision as of 11:45, 15 July 2022

Contents

Introduction

The AIO has an onboard Eeprom connected via I2C to the DSPIC33E (The Master). This document describes the Eeprom memory locations used. When changes are made by using CLI instruction "Eeprom write", do not forget the use the CLI instruction "Eeprom activate" to activate the changes that have been made.

General Configuration Bytes (Page 0)

Page 0 -> Controller specific data
Page Byte
0 0
When this value = 255, Automatic detection (detected via the Front Panel Hardware) will be done if this module is a Core or a Core+ module. When this value = 0 the system is forced to act as a Core, when this value = 1 the system is forced to act as a Core+ without any hardware detection.
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 each of the sensor module values of the individual modules. If the value =255 or =0, the standard value (50) will be taken (=value scan every 5 seconds). The more sensor modules, the lower this value can be set.
Page Byte
0 5
Nr of CAN Inputs: This value indicate the number of CAN inputs found on the CAN bus. When this value is 0 or 255 then no inputs have been found yet.
Page Byte
0 6
Nr of CAN sensors: This value indicate the number of CAN sensors found on the CAN bus. When this value is 0 or 255 then no sensors have been found yet.
Page Byte
0 7
Nr of CAN modules: This value indicate the number of CAN modules found on the CAN bus. When this value is 0 or 255 then no CAN modules have been found yet.
Page Byte
0 8
Scan time RS485 Bus: This value (between 1 and 254) will indicate the scan time (in ms) between each individual module. If the value =255 or =0, the standard value (8) will be taken (=scan time 8ms between 2 communication sessions). Higher value will slow down the bus, too low values can increase the error rate on the Bus.
Page Byte
0 9
Nr of CAN Control modules: This value (max 16) indicates the number of CAN Control modules found on the RS485 Bus. When this value is 0 or 255 then no CAN Control modules have been found yet.
Page Byte
0 10
Scan time RS485 Can Control modules: This value (between 1 and 254) will indicate the scan time (in 100ms) between each of the Can Control modules. If the value =255 or =0, the standard value (50) will be taken (=value scan every 5 seconds).
Page Byte
0 11
Automatic Module Discovery Byte:
* Automatic Module Discovery.BIT0: This bit will indicate if the module discovery is enabled (>0) or disabled (=0). When Automatic module discovery is enabled, during startup of the Core/Core+, the system will check for new modules on the RS485 Bus. This feature only works for GEN3 hardware. If GEN2 hardware must be added, Automatic Module Discovery must be disabled and a manual add (by using the init button when the module is in discovery mode) must be executed to add such a module. Once that module is added, Automatic Module Discovery can be enabled again.
* Automatic Module Discovery.BIT1: This bit represents if new (BIT=1) or old (BIT=0) slave firmware is used. This bit should be set correctly whether automatic search or manual discovery is used. These are the firmware versions that are being considered as new:
** Output V6.0.15 or higher
** Dim Control V6.0.16 or higher
** Input V6.0.23 or higher
** Temp V6.0.13 or higher
** Can Control V6.0.36 or higher
* Automatic Module Discovery.BIT2: This bit represents if full handshake (BIT=1) needs to be done or that the module can be with limited handshake (BIT=0). This will only work if BIT0=0 and BIT1=1.
Page Byte
0 12
Termination CAN bus byte: The CAN bus needs a termination at the beginning and the end of the CAN bus. The Termination of the CAN bus in the Core/Core+ can be set electronically. The termination at the other side of the Bus must be done by a jumper on the micro CAN module.
= 0 -> CAN bus termination is not set
> 0 -> CAN bus termination is set
Page Byte
0 13
Debug Mode byte: This byte will configure if Debug mode is ON for FRAM logging and/or BB forwarding (API Instruction 'EV'):
  • Debug Mode.BIT0=0->Enable BB debug BA forwarding via API Instruction 'EV' (Every BA executed will be forwarded), BIT0=1->disable (default setting)
  • Debug mode.BIT1=0->Enable FRAM BA logging (Every BA executed will be stored in FRAM, see also CLI instruction "logging list"), BIT1=1->disable (default setting)
  • Debug mode.BIT2=0->Disable Error FRAM logging (Errors generated by the system will not be stored in FRAM), BIT2=1->Enable (default setting)
  • Debug mode.BIT3=0->Disable Health Checker, BIT3=1->Enable (Default setting)
Please note that enabling the above functionality might slow down the system when large number of BA's are executed.
Page Byte
0 14-29
These 11 bytes represents the CAN configuration bytes. These bytes should be handled with care since a reconfiguration will also reconfigure the CAN slaves. Wrong values could make the CAN bus fail without possibilities to recover. The below bytes will automatically be written when changing the speed with CLI instruction "can speed write".
Byte 14: BRP value (Brain(+))
Byte 15: Propagation segment (Brain(+))
Byte 16: Phase Segment 1 (Brain(+))
Byte 17: Phase Segment 2 (Brain(+))
Byte 18: Sync Jump Width (Brain(+))
Byte 19: CRC8 of Byte 14-18
Byte 20: BRGCON1 (uCAN)
Byte 21: BRGCON2 (uCAN)
Byte 22: BRGCON3 (uCAN)
Byte 23: CRC8 of Byte 20-22
Byte 24: CRC8 of Byte 14-23
Byte 25: Can speed (kbps)
Byte 26: BRGCON1 (CAN Control)
Byte 27: BRGCON2 (CAN Control)
Byte 28: BRGCON3 (CAN Control)
Byte 29: CRC8 of Byte 26-28
Byte 30: Result of all integrity checks of all CAN parameters. If Byte 30 == 1 then integrity check is OK, if Byte 30 != 1 then integrity check is NOT OK.
Page Byte
0 50-51
Byte 50: This is the group nr (MSB) of the follow group action that will be executed when output all off is triggered
Byte 51: This is the group nr (LSB) of the follow group action that will be executed when output all off is triggered
Page Byte
0 52-53
Byte 52: This is the group nr (MSB) of the startup group action that will be executed at startup or reset of the processor
Byte 53: This is the group nr (LSB) of the startup group action that will be executed at startup or reset of the processor
Page Byte
0 54-55
Byte 54: This is the group nr (MSB) that will be executed when the time (minutes) is changed.
Byte 55: This is the group nr (LSB) that will be executed when the time (minutes) is changed.
Page Byte
0 56-57
Byte 56: This is the group nr (MSB) that will be executed when the time (hours) is changed.
Byte 57: This is the group nr (LSB) that will be executed when the time (hours) is changed.
Page Byte
0 58-59
Byte 58: This is the group nr (MSB) that will be executed when the date (days) is changed.
Byte 59: This is the group nr (LSB) that will be executed when the date (days) is changed.
Page Byte
0 60-61
Byte 60: This is the group nr (MSB) that will be executed when any of the outputs have been changed.
Byte 61: This is the group nr (LSB) that will be executed when any of the outputs have been changed.
Important note: This group action cannot contain any output action since it will create a loop so please avoid using any other BA's that will switch outputs.
Page Byte
0 84
This byte represents the Endless Loop detection Byte: Endless loop is a detection mechanism to detect when a group action will execute itself, or when for example a group action will execute a group which has the output group follow function enabled that executes again the same group action which can result in endless loops making the Master unresponsive. When the Endless loop detection is enabled, group actions with the same action number can only be executed once in 1 execution run. An execution run stops when the BA queue size returns to 0. When this Endless Loop Detection Byte==255 -> Endless loop detection is enabled, !=255 -> Endless loop is disabled.
Page Byte
0 85
This byte represents the Reset byte. This byte will be used of the Health Checker can perform a Master reset or not
This Reset byte has following bits:
* Reset.BIT0: If =1 -> CAN Health Checker can reset the Master Processor, =0 -> No automatic reset when CAN problems are detected
* Reset.BIT1: If =1 -> I2C1 Health Checker can reset the Master Processor, =0 -> No automatic reset when I2C1 problems are detected
* Reset.BIT2: If =1 -> I2C2 Health Checker can reset the Master Processor, =0 -> No automatic reset when I2C2 problems are detected
Page Byte
0 86-87
Byte 86: This is the timeout (MSB) in milliseconds for time machine "Task Immediate Queue".
Byte 87: This is the timeout (LSB) in milliseconds for time machine "Task Immediate Queue".
Default value is 15000ms when MSB&LSB==255.
Page Byte
0 88-89
Byte 88: This is the timeout (MSB) in milliseconds for time machine "Task Group Queue".
Byte 89: This is the timeout (LSB) in milliseconds for time machine "Task Group Queue".
Default value is 15000ms when MSB&LSB==255.
Page Byte
0 128-255
This part of the Eeprom is write protected and used to store production and testing data
Page Byte
0 128-129
This byte represents the next logging location. Event and error codes can be logged in EEPROM (see page FRAM 506-511). If the logging location=0 then the 16 bytes will be written starting at EEPROM location Byte506/Byte0, if byte=1 then the 16 bytes will be written at FRAM location Byte506/Byte16 etc
Byte128: logging_location.MSB
Byte129: logging_location.LSB
Page Byte
0 232-255
Byte 232: Production site
Byte 233: Serial number 2
Byte 234: Serial number 1
Byte 235: Serial number 0
Byte 236: CRC16.MSB (Byte232-235)
Byte 237: CRC16.LSB (Byte232-235)
Byte 238: Production Day
Byte 239: Production Month
Byte 240: Production Year
Byte 241: Testing result (number of errors found during testing)
Byte 242: CRC16.MSB (Byte238-241)
Byte 243: CRC16.LSB (Byte238-241)

Data output modules (Page 1-80)

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-6
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
Byte 4: Module Type: If 0 or 255, the normal modules are used, if 72 ("H"), a Heap pump module is found
Byte 5:
Byte 6:
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 (MSB) and 8 (LSB) will specify the timer value for output 0
Byte 9 (MSB) and 10 (LSB) will specify the timer value for output 1
...
Byte 21 (MSB) and 22 (LSB) will specify the timer value for output 7
Page Byte
1-80 23-30
Standard Timer types 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 6004 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 (<128: standard output, >127: Light output)
Byte 32: Output Type byte output1 (<128: standard output, >127: Light output)
Byte 38: Output Type byte output7 (<128: standard output, >127: 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.

Output Group Follow

Page Byte
1-80 55-70
Output Group follow: Page 1-80, byte 55-70
Byte 55: Group nr (MSB) to execute when Output 0 of this module is changing
Byte 56: Group nr (LSB) to execute when Output 0 of this module is changing
Byte 57: Group nr (MSB) to execute when Output 1 of this module is changing
Byte 58: Group nr (LSB) to execute when Output 1 of this module is changing
Byte 69: Group nr (MSB) to execute when Output 7 of this module is changing
Byte 70: Group nr (LSB) to execute when Output 7 of this module is changing

DALI: Link Output Nr with Dali Nr

Every output can be linked to a Dali output with address (0-63) or linked to a Dali group (0-15). When the output is switched ON, OFF or dimmed, the Dali output will follow. Typically, a virtual output module is created and the those virtual outputs are linked to Dali outputs. In the below page, the Dali Output can be programmed for a system output.

Below, you can find the Memory locations for Firmware 1.0.110 or higher:

Page Byte
1-80 71-86
  • Byte 71-72: (byte 71->x.MSB, byte 72->x.LSB) Output 0 of this module is linked with Dali Output x.LSB (when x.LSB<64) or with Dali Group x.LSB-64 (when x.LSB>63 and x.LSB<80). When x.MSB==0 -> DALI Bus on Brain(+), x.MSB==1 -> DALI Bus on first CAN Control, x.MSB==2 -> DALI Bus on second CAN Control ...
  • Byte 73-74: (byte 73->x.MSB, byte 74->x.LSB) Output 1 of this module is linked with Dali Output x.LSB (when x<64) or with Dali Group x.LSB-64 (when x.LSB>63 and x.LSB<80). When x.MSB==0 -> DALI Bus on Brain(+), x.MSB==1 -> DALI Bus on first CAN Control, x.MSB==2 -> DALI Bus on second CAN Control ...
  • Byte 85-86: (byte 85->x.MSB, byte 86->x.LSB) Output 7 of this module is linked with Dali Output x.LSB (when x<64) or with Dali Group x.LSB-64 (when x.LSB>63 and x.LSB<80). When x.MSB==0 -> DALI Bus on Brain(+), x.MSB==1 -> DALI Bus on first CAN Control, x.MSB==2 -> DALI Bus on second CAN Control ...

Below, you can find the Memory locations for Firmware 1.0.109 or lower:

Page Byte
1-80 71-78
  • Byte 71: Output 0 of this module is linked with Dali Output x (when x<64) or with Dali Group x-64 (when x>63 and x<80)
  • Byte 72: Output 1 of this module is linked with Dali Output x (when x<64) or with Dali Group x-64 (when x>63 and x<80)
  • Byte 78: Output 7 of this module is linked with Dali Output x (when x<64) or with Dali Group x-64 (when x>63 and x<80)

DALI: Link Single Output Dali to Dali group

Page Byte
1-80 87-102

Each bit of this 2 byte set of data indicates if an output is linked to an Dali group.

consists of 2 bytes per output.

  • MSB: Groups 15 - 8 (MSb = Group 15, LSb = Group 8)
  • LSB: Groups 7 - 0 (MSb = Group 7, LSb = Group 0)

For example: Byte 87 and 88 = 00001000 00000010 => The output 1 of module (1 - 80) belongs to Dali group 1 and 11.

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)

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 contain 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-6
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
Byte 4: Module Type: If 0 or 255, the normal modules are used, if 72 ("H"), a Heap pump module is found
Byte 5:
Byte 6:

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).

DALI: Link Input Nr with Dali Nr

Every input can be linked to a Dali input (like motion sensor) with address (0-63). When the Dali Motion sensor detects motion, the linked input will be triggered. Typically, a virtual input module is created and the those virtual inputs are linked to Dali inputs. Lunatone and Helvar inputs are supported. In the below page, the Dali inputs can be programmed to be linked to a system input.

Below, you can find the Memory locations for Firmware 1.0.110 or higher:

Page Byte
First page 15-30
  • Byte 15-16: (byte 15->x.MSB, byte 16->x.LSB) Input 0 of this module is linked with Dali Lunatone input x.LSB (when x.LSB<64) or with Dali Helvar input x.LSB-64 (when x.LSB>63 and x.LSB<128). When x.MSB==0 -> DALI Bus on Brain(+), x.MSB==1 -> DALI Bus on first CAN Control, x.MSB==2 -> DALI Bus on second CAN Control ...
  • Byte 17-18: (byte 17->x.MSB, byte 18->x.LSB) Input 1 of this module is linked with Dali Lunatone input x.LSB (when x.LSB<64) or with Dali Helvar input x.LSB-64 (when x.LSB>63 and x.LSB<128). When x.MSB==0 -> DALI Bus on Brain(+), x.MSB==1 -> DALI Bus on first CAN Control, x.MSB==2 -> DALI Bus on second CAN Control ...
  • Byte 29-30: (byte 29->x.MSB, byte 30->x.LSB) Input 7 of this module is linked with Dali Lunatone input x.LSB (when x.LSB<64) or with Dali Helvar input x.LSB-64 (when x.LSB>63 and x.LSB<128). When x.MSB==0 -> DALI Bus on Brain(+), x.MSB==1 -> DALI Bus on first CAN Control, x.MSB==2 -> DALI Bus on second CAN Control ...

Below, you can find the Memory locations for Firmware 1.0.109 or lower:

Page Byte
First page 15-22
  • Byte 15: Input 0 of this module is linked with Dali Lunatone input x (when x<64) or with Dali Helvar input x-64 (when x>63 and x<128)
  • Byte 16: Input 1 of this module is linked with Dali Lunatone input x (when x<64) or with Dali Helvar input x-64 (when x>63 and x<128)
  • Byte 22: Input 7 of this module is linked with Dali Lunatone input x (when x<64) or with Dali Helvar input x-64 (when x>63 and x<128)

Input action "1 second press"

Page Byte
First page 32-79

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
First page 32-37

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

Byte 32: Type
Byte 33: Action
Byte 34: Device Nr (MSB)
Byte 35: Device Nr (LSB)
Byte 36: Extra Parameter (MSB)
Byte 37: Extra Parameter (LSB)
Page Byte
First page 38-43

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

Byte 38: Type
Byte 39: Action
Byte 40: Device Nr (MSB)
Byte 41: Device Nr (LSB)
Byte 42: Extra Parameter (MSB)
Byte 43: Extra Parameter (LSB)

...

Pulse Counter Link

Page Byte
First page 120-127

Maximum 32 Pulse Counters can be assigned. Each pulse counter can be linked to 1 input. Only external Input modules and Brain Built-in inputs support Pulse Counters.

Byte 120: Pulse counter nr linked to input 0 of this module
Byte 121: Pulse counter nr linked to input 1 of this module
Byte 122: Pulse counter nr linked to input 2 of this module
...
Byte 127: Pulse counter nr linked to input 7 of this module

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 "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)

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 contain 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-6
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
Byte 4: Module Type: If 0 or 255, the normal modules are used, if 72 ("H"), a Heap pump module is found
Byte 5:
Byte 6:

Temperature Group Follow

Page Byte
239-254 8-23
Byte 8: Group nr (MSB) to execute when temperature 0 of this module is changing
Byte 9: Group nr (LSB) to execute when temperature 0 of this module is changing
Byte 10: Group nr (MSB) to execute when temperature 1 of this module is changing
Byte 11: Group nr (LSB) to execute when temperature 1 of this module is changing
Byte 22: Group nr (MSB) to execute when temperature 7 of this module is changing
Byte 23: Group nr (LSB) to execute when temperature 7 of this module is changing

Humidity Group Follow

Page Byte
239-254 24-36
Byte 24: Group nr (MSB) to execute when humidity 0 of this module is changing
Byte 25: Group nr (LSB) to execute when humidity 0 of this module is changing
Byte 26: Group nr (MSB) to execute when humidity 1 of this module is changing
Byte 27: Group nr (LSB) to execute when humidity 1 of this module is changing
Byte 38: Group nr (MSB) to execute when humidity 7 of this module is changing
Byte 39: Group nr (LSB) to execute when humidity 7 of this module is changing

Brightness Group Follow

Page Byte
239-254 40-55
Byte 40: Group nr (MSB) to execute when brightness 0 of this module is changing
Byte 41: Group nr (LSB) to execute when brightness 0 of this module is changing
Byte 42: Group nr (MSB) to execute when brightness 1 of this module is changing
Byte 43: Group nr (LSB) to execute when brightness 1 of this module is changing
Byte 54: Group nr (MSB) to execute when brightness 7 of this module is changing
Byte 55: Group nr (LSB) to execute when brightness 7 of this module is changing

Air Quality (CO2) Group Follow

Page Byte
239-254 56-71
Byte 56: Group nr (MSB) to execute when air quality (CO2) 0 of this module is changing
Byte 57: Group nr (LSB) to execute when air quality (CO2) 0 of this module is changing
Byte 58: Group nr (MSB) to execute when air quality (CO2) 1 of this module is changing
Byte 59: Group nr (LSB) to execute when air quality (CO2) 1 of this module is changing
Byte 70: Group nr (MSB) to execute when air quality (CO2) 7 of this module is changing
Byte 71: Group nr (LSB) to execute when air quality (CO2) 7 of this module is changing

DALI: Link sensor Nr with Dali Nr

Every sensor can be linked to a Dali input (with sensor capabilities) with address (0-63). Some Dali motion sensors also have built-in temperature sensors and by some models also a built-in Lux meter. These values can be used to take smart actions. Typically, a virtual sensor module is created and the those virtual sensors are linked to the available Dali sensors. Lunatone is supported. In the below page, the Dali sensors can be programmed to be linked to a virtual system sensor.

Below, you can find the Memory locations for Firmware 1.0.110 or higher:

Page Byte
239-254 72-87
  • Byte 72-73: (byte 72->x.MSB, byte 73->x.LSB) Sensor 0 of this module is linked with Dali Sensor x.LSB (when x.LSB<64). When x.MSB==0 -> DALI Bus on Brain(+), x.MSB==1 -> DALI Bus on first CAN Control, x.MSB==2 -> DALI Bus on second CAN Control ...
  • Byte 74-75: (byte 74->x.MSB, byte 75->x.LSB) Sensor 1 of this module is linked with Dali Sensor x.LSB (when x.LSB<64). When x.MSB==0 -> DALI Bus on Brain(+), x.MSB==1 -> DALI Bus on first CAN Control, x.MSB==2 -> DALI Bus on second CAN Control ...
  • Byte 86-87: (byte 86->x.MSB, byte 87->x.LSB) Sensor 7 of this module is linked with Dali Sensor x.LSB (when x.LSB<64). When x.MSB==0 -> DALI Bus on Brain(+), x.MSB==1 -> DALI Bus on first CAN Control, x.MSB==2 -> DALI Bus on second CAN Control ...

Below, you can find the Memory locations for Firmware 1.0.109 or lower:

Page Byte
239-254 72-79
  • Byte 72: Sensor 0 of this module is linked with Dali Sensor x (when x<64).
  • Byte 73: Sensor 1 of this module is linked with Dali Sensor x (when x<64).
  • Byte 79: Sensor 7 of this module is linked with Dali Sensor x (when x<64).

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)

Can Control modules (Page 255)

Page 255 -> Contains data of maximum 16 Can Control modules

In this page, every Can Control has 16 bytes to keep the most important configuration data.

Page Byte
255 0-15
Byte 0: Type device (more information see document “Technical device information”) of the first Can Control module
Byte 1: ID1 (ID1, 2, 3 gives the unique ID of the device)
Byte 2: ID2
Byte 3: ID3
Byte 4:
Byte 5:
Byte 6:
Byte 7:
Byte 8:
Byte 9:
Byte 10:
Byte 11:
Byte 12:
Byte 13:
Byte 14:
Byte 15:
Page Byte
255 16-31
Byte 16: Type device (more information see document “Technical device information”) of the second Can Control module
Byte 17: ID1 (ID1, 2, 3 gives the unique ID of the device)
Byte 18: ID2
Byte 19: ID3
Byte 20:
Byte 21:
Byte 22:
Byte 23:
Byte 24:
Byte 25:
Byte 26:
Byte 27:
Byte 28:
Byte 29:
Byte 30:
Byte 31:
Page Byte
255 32-47
...

Group Actions Pages (Page 256 - 382)

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-259: GAT (Group Allocation table): This table indicates the start and end address of the BA's of each group action
  • Page 261-276: Contains the Group names of each Group Action
  • Page 281-380: Contains all the BA's of each Group

Group Action GAT Pages

The Group Allocation Table (GAT) will define the start and end address of each Group Action. These 4 pages defines the start and end addresses of 256 (0-255) group actions.

Page 256 – 259 -> Contains the Start Address and end addresses of 256 Group Actions
Page Byte
256 0-1
These 2 bytes contains the start address of Group Action 0 (0->MSB, 1->LSB)
Page Byte
256 2-3
These 2 bytes contains the end address of Group Action 0 (2->MSB, 3->LSB)
Page Byte
256 4-5
These 2 bytes contains the start address of Group Action 1 (4->MSB, 5->LSB)
Page Byte
256 6-7
These 2 bytes contains the end address of Group Action 1 (6->MSB, 7->LSB)
...

Group Action Name Page

Page 261 – 276 -> Contains the Group Actions name.
Page Byte
261-276 0-255
Page 261 Byte 0 – 15: ascii name of Group Action 0 (16 characters)
Page 261 Byte 16 – 31: ascii name of Group Action 1 (16 characters)
Page 261 Byte 32 – 47: aascii name of Group Action 2 (16 characters)
...
Page 261 Byte 240 – 255: ascii name of Group Action 15 (16 characters)
Page 261 Byte 0 – 15: ascii name of Group Action 16 (16 characters)
...
Page 277 – 280 -> Reserved for extension Group Action Names.

Group Action BA Pages

Each Page contains 42 BA's. Each BA is made of 6 bytes. The first BA of each page is written in Byte 0-5, the second BA is written in Byte 6-11 etc

Page 281 – 380 -> Contains data of 4200 BA's.
Page Byte
281 0-125
This half page is entirely used for BA 0 - 20.
Page Byte
281 128-253
This half page is entirely used for BA 21 - 41.
Page Byte
282 0-125
This half page is entirely used for BA 42 - 62.
Page Byte
282 128-253
This half page is entirely used for BA 63 - 83.
Page Byte
283 0-125
This half page is entirely used for BA 84 - 104.

...

CAN slave modules (Page 383 - 390)

CAN slave configuration

Page 383-390 -> Contains the configuration data of the CAN slave modules (128 modules maximum)
Page Byte
383 x
This page is entirely used for the configuration data of the CAN slave modules 0-15.
Page Byte
384 x
This page is entirely used for the configuration data of the CAN slave modules 16-31.
Page Byte
385 x
This page is entirely used for the configuration data of the CAN slave modules 32-47.
Page Byte
386 x
This page is entirely used for the configuration data of the CAN slave modules 48-63.
Page Byte
387 x
This page is entirely used for the configuration data of the CAN slave modules 64-79.
Page Byte
388 x
This page is entirely used for the configuration data of the CAN slave modules 80-95.
Page Byte
389 x
This page is entirely used for the configuration data of the CAN slave modules 96-111.
Page Byte
390 x
This page is entirely used for the configuration data of the CAN slave modules 112-127.
Page Byte
383-390 0-15
Byte 0: ID_2 of the first CAN module of this page
Byte 1: ID_1 of the first CAN module of this page
Byte 2: ID_0 of the first CAN module of this page
Byte 3: Module link Type:
  • Module link type:
    • Type = 100: This CAN slave is linked to the internal CAN bus of the Core/Core+
    • Type = 0: This CAN slave is linked to the first CAN Control
    • Type = 1: This CAN slave is linked to the second CAN Control
    • ...
Byte 4: Sensor Link 0 of the first CAN module of this page
Byte 5: Sensor Link 1 of the first CAN module of this page
Byte 6: Input Link 0 of the first CAN module of this page
Byte 7: Input Link 1 of the first CAN module of this page
Byte 8: Input Link 2 of the first CAN module of this page
Byte 9: Input Link 3 of the first CAN module of this page
Byte 10: Input Link 4 of the first CAN module of this page
Byte 11: Input Link 5 of the first CAN module of this page
Byte 12: Modbus Address of the Modbus device connected to the uCAN - See Modbus Parameters
Byte 13: Modbus Type - See Modbus Parameters
Byte 14: Modbus Model - See Modbus Parameters
Byte 15: Modbus Speed - See Modbus Parameters
Page Byte
383-390 16-31
Byte 16: ID_2 of the second CAN module of this page
Byte 17: ID_1 of the second CAN module of this page
Byte 18: ID_0 of the second CAN module of this page
Byte 19: Module link Type:
  • Module link type:
    • Type = 0: This CAN slave is linked to the internal CAN bus of the Core/Core+
    • Type = 1: This CAN slave is linked to the first CAN Control
    • Type = 2: This CAN slave is linked to the second CAN Control
    • ...
Byte 20: Sensor Link 0 of the second CAN module of this page
Byte 21: Sensor Link 1 of the second CAN module of this page
Byte 22: Input Link 0 of the second CAN module of this page
Byte 23: Input Link 1 of the second CAN module of this page
Byte 24: Input Link 2 of the second CAN module of this page
Byte 25: Input Link 3 of the second CAN module of this page
Byte 26: Input Link 4 of the second CAN module of this page
Byte 27: Input Link 5 of the second CAN module of this page
Byte 28: Modbus Address of the Modbus device connected to the uCAN - See Modbus Parameters
Byte 29: Modbus Type - See Modbus Parameters
Byte 30: Modbus Model - See Modbus Parameters
Byte 31: Modbus Speed - See Modbus Parameters
Page Byte
383-390 32-...
...

Roller/Shutter (Page 391 - 414)

Link Shutter Nr with Output Nr

Every set of (2 consecutive) outputs can be configured as output or as Roller/Shutter. When configured as Roller/Shutter, those outputs can never be ON at the same time and a time and a delay will be applied between one output going OFF and the other going ON. Every Roller/Shutter has a number that is linked to a set of outputs. The below page will set this link.

Page Byte
391 0-255
Byte 0: Shutter 0 is linked with Output x*2 and (x*2)+1 (x is the value stored in this byte)
Byte 1: Shutter 1 is linked with Output x*2 and (x*2)+1 (x is the value stored in this byte)
Byte 2: Shutter 2 is linked with Output x*2 and (x*2)+1 (x is the value stored in this byte)
Byte 3: Shutter 3 is linked with Output x*2 and (x*2)+1 (x is the value stored in this byte)
Byte 254: Shutter 254 is linked with Output x*2 and (x*2)+1 (x is the value stored in this byte)
Byte 255: Shutter 255 is linked with Output x*2 and (x*2)+1 (x is the value stored in this byte)

Example: When in this Page, 7 is stored in byte 10, Output 14 and 15 are linked to Roller/Shutter nr 10.

Note: The outputs that can be used range from 0 to 511.

Configure Roller/Shutter Outputs

Page Byte
392 0-79
Byte 0: Roller/Shutter setting for Output Module 0 (and the 8 outputs representing this module)
Byte 1: Roller/Shutter setting for Output Module 1
Byte 2: Roller/Shutter setting for Output Module 2
...
Byte 79: Roller/Shutter setting for Output Module 79

Every Roller/shutter setting has following bit representation:

BIT7: =1-> Output 7 and 6 of this module configured as Output, =0-> Output 7 and 6 configured as Roller/Shutter.
BIT6: =1-> Output 5 and 4 of this module configured as Output, =0-> Output 5 and 4 configured as Roller/Shutter.
BIT5: =1-> Output 3 and 2 of this module configured as Output, =0-> Output 3 and 2 configured as Roller/Shutter.
BIT4: =1-> Output 1 and 0 of this module configured as Output, =0-> Output 1 and 0 configured as Roller/Shutter.
BIT3: =1-> Output 7 configured as UP, Output 6 configured as DOWN, =0-> Output 6 configured as UP, Output 7 configured as DOWN.
BIT2: =1-> Output 5 configured as UP, Output 4 configured as DOWN, =0-> Output 4 configured as UP, Output 5 configured as DOWN.
BIT1: =1-> Output 3 configured as UP, Output 2 configured as DOWN, =0-> Output 2 configured as UP, Output 3 configured as DOWN.
BIT0: =1-> Output 1 configured as UP, Output 0 configured as DOWN, =0-> Output 0 configured as UP, Output 1 configured as DOWN.

Up Timer settings of an individual Roller/Shutter

Page Byte
393-394 0-255
Page 393 Byte 0: Up Timer for Roller/Shutter 0 (MSB)
Page 393 Byte 1: Up Timer for Roller/Shutter 0 (LSB)
Page 393 Byte 2: Up Timer for Roller/Shutter 1 (MSB)
Page 393 Byte 3: Up Timer for Roller/Shutter 1 (LSB)
Page 394 Byte 254: Up Timer for Roller/Shutter 255 (MSB)
Page 394 Byte 255: Up Timer for Roller/Shutter 255 (LSB)

Note: This timer setting is in 100ms value, when 0 the timer is not in use.

Down Timer settings of an individual Roller/Shutter

Page Byte
395-396 0-255
Page 395 Byte 0: Down Timer for Roller/Shutter 0 (MSB)
Page 395 Byte 1: Down Timer for Roller/Shutter 0 (LSB)
Page 395 Byte 2: Down Timer for Roller/Shutter 1 (MSB)
Page 395 Byte 3: Down Timer for Roller/Shutter 1 (LSB)
Page 396 Byte 254: Down Timer for Roller/Shutter 255 (MSB)
Page 396 Byte 255: Down Timer for Roller/Shutter 255 (LSB)

Note: This timer setting is in 100ms value, when 0 the timer is not in use.

Name of a Roller/Shutter

Every Roller/Shutter can have a name of max 16 characters.

Page Byte
397-412 0-255
Page 395 Byte 0-15: Name of Roller/Shutter 0
Page 395 Byte 16-31: Name of Roller/Shutter 1
Page 395 Byte 32-47: Name of Roller/Shutter 2
Page 410 Byte 240-255: Name of Roller/Shutter 255

Shutter Nr linked to shutter group

Every Shutter can be linked to 16 (0-15) Shutter groups. Every Shutter has an associated shutter group value (word->16 bits). This shutter group value contains 16 bits which represents the 16 existing shutter groups:

  • If BIT0=1 -> the shutter is not part of Group 0
  • If BIT0=0 -> the shutter is part of Group 0
  • If BIT1=1 -> the shutter is not part of Group 1
  • If BIT1=0 -> the shutter is part of Group 1

...

  • If BIT15=1 -> the shutter is not part of Group 15
  • If BIT15=0 -> the shutter is part of Group 15
Page Byte
413-414 0-255
Page 413 Byte 0: Shutter Group Value for Roller/Shutter 0 (MSB)
Page 413 Byte 1: Shutter Group Value for Roller/Shutter 0 (LSB)
Page 413 Byte 2: Shutter Group Value for Roller/Shutter 1 (MSB)
Page 413 Byte 3: Shutter Group Value for Roller/Shutter 1 (LSB)
Page 414 Byte 254: Shutter Group Value for Roller/Shutter 255 (MSB)
Page 414 Byte 255: Shutter Group Value for Roller/Shutter 255 (LSB)

Sensor Extra (Page 471 - 479)

Sensor Extra Group Follow

Page Byte
471 0-255
Byte 0: Group nr (MSB) to execute when Sensor Extra 0 is changing
Byte 1: Group nr (LSB) to execute when Sensor Extra 0 is changing
Byte 2: Group nr (MSB) to execute when Sensor Extra 1 is changing
Byte 3: Group nr (LSB) to execute when Sensor Extra 1 is changing
Byte 254: Group nr (MSB) to execute when Sensor Extra 127 is changing
Byte 255: Group nr (LSB) to execute when Sensor Extra 127 is changing

Sensor Extra Name Page

Page 472 – 479 -> Contains the Name (16 characters Max) of each extra sensor used. The system can contain maximum 64 sensors that can be freely used. 4 pages are reserved for future use
Page Byte
472-479 0-255
Page 472 Byte 0 – 15: ascii name of Sensor 0 (16 characters)
Page 472 Byte 16 – 31: ascii name of Sensor 1 (16 characters)
Page 472 Byte 32 – 47: ascii name of Sensor 2 (16 characters)
...
Page 472 Byte 240 – 255: ascii name of Sensor 15 (16 characters)
Page 473 Byte 0 – 15: ascii name of Sensor 16 (16 characters)
...

Validation Bit (Page 480 - 497)

Validation Bit Group Follow

Page 480 – 481 -> Contains the Group Nr's (0-254) that needs to be executed when the validation bits (0-255) are changing.
Page Byte
480-481 0-255
Page 480 Byte 0: Group nr (MSB) to execute when Validation Bit 0 is changing
Page 480 Byte 1: Group nr (LSB) to execute when Validation Bit 0 is changing
Page 480 Byte 2: Group nr (MSB) to execute when Validation Bit 1 is changing
Page 480 Byte 3: Group nr (LSB) to execute when Validation Bit 1 is changing
Page 480 Byte 254: Group nr (MSB) to execute when Validation Bit 127 is changing
Page 480 Byte 255: Group nr (LSB) to execute when Validation Bit 127 is changing
Page 481 Byte 0: Group nr (MSB) to execute when Validation Bit 128 is changing
Page 481 Byte 1: Group nr (LSB) to execute when Validation Bit 128 is changing
...

Validation Bit Name Page

Page 482 – 497 -> Contains the Name (16 characters Max) of each Validation Bit (0-255).
Page Byte
482-497 0-255
Page 482 Byte 0 – 15: ascii name of Validation Bit 0 (16 characters)
Page 482 Byte 16 – 31: ascii name of Validation Bit 1 (16 characters)
Page 482 Byte 32 – 47: ascii name of Validation Bit 2 (16 characters)
...
Page 482 Byte 240 – 255: ascii name of Validation Bit 15 (16 characters)
Page 483 Byte 0 – 15: ascii name of Validation Bit 16 (16 characters)
...

Error & Event Logging (Page 506 - 511)

Page Byte
506-511 0-255

Some Error and Event codes (like health checker info, startup system, some errors) will be logged in EEPROM (see also FRAM that has logging page too). Each logging item consist of 16 bytes:

  • Date and Time: 6 bytes
  • Type of logging: 2 bytes
  • Event and error data: 8 bytes
  • 16 logging items per EEPROM page, 6 pages: 96 logging items

The logging location for the next logging item is written in EEPROM at Page0/Byte83(MSB)-84(LSB): If the logging location=0 then the 16 bytes will be written starting at EEPROM location Byte506/Byte0, if logging location=1 then the 16 bytes will be written at FRAM location Byte506/Byte16 etc. After each 16 byte write operation, the logging location is updated (Page 0/Byte83-84).

When all 16 FRAM pages are written, the oldest location is overwritten.

Page 506 -> Contains 16 logging items
Page 507 -> Contains 16 logging items
Page 508 -> Contains 16 logging items
etc
Page Byte
506 0-15
Page 506 Byte 0: Year
Page 506 Byte 1: Month
Page 506 Byte 2: Day
Page 506 Byte 3: Hour
Page 506 Byte 4: Minute
Page 506 Byte 5: Second
Page 506 Byte 6: Logging Type1
Page 506 Byte 7: Logging Type2
Page 506 Byte 8-15: Data0-7
Page Byte
506 16-31
Page 506 Byte 16: Year
Page 506 Byte 17: Month
Page 506 Byte 18: Day
Page 506 Byte 19: Hour
Page 506 Byte 20: Minute
Page 506 Byte 21: Second
Page 506 Byte 22: Logging Type1
Page 506 Byte 23: Logging Type2
Page 506 Byte 24-31: Data0-7

...

Note:

  • If Logging Type1='E' and Logging Type2='V' -> Event
  • If Logging Type1='E' and Logging Type2='R' -> Error
  • If Logging Type1='B' and Logging Type2='A' -> Basic Action