Difference between revisions of "AIO Release Notes"

From OpenMotics
Jump to navigation Jump to search
(One intermediate revision by the same user not shown)
Line 25: Line 25:
 
* Front panel leds
 
* Front panel leds
 
** ON/OFF/Blinking functionality has been added
 
** ON/OFF/Blinking functionality has been added
 +
** Event type 252 has been added that will be sent with every change of the Front panel leds (ON/OFF)
 
* Detection Core/Core+
 
* Detection Core/Core+
 
** Depending on the hardware, detection will be made if it's a Core or Core+ module
 
** Depending on the hardware, detection will be made if it's a Core or Core+ module

Revision as of 09:13, 25 March 2020

General

The Master firmware for the AIO will be published as Open Source once the module goes on sale.

This firmware is based on the new hardware of the AIO. This Master processor of the AIO is from the Microchip DSPIC33E family and the firmware is written in C

The firmware updates happening in the Openmotics portal (Settings - Update) contain not only the firmware update of the Master, but also the firmware of other modules as well as the updates for the Beagle Bone Black. All these different firmware updates are assembled in a package which get's a general version number. This version number which you see in the portal is not the same as the Firmware Version of the Master. To check which firmware version is installed on the Master, in the Openmotics portal, go to Settings - Maintenance and open maintenance mode by pressing the Connect button. Type the instruction firmware version to read the Master Firmware version.

V1.0.45

Date: In development

Resolved bugs

Added functionality

  • Power switching:
    • Added BA253 0 -> Switch ON/OFF power of the RS485 Bus
    • Added BA253 1 -> Switch ON/OFF power of the CAN bus
    • Firmware will make sure that all communication is stopped before switching OFF one of the busses
    • API Instruction "GC" (Info_type=0) has been modified to include the power state of the RS485 and CAN bus
    • Event type 253 has been added to indicate a power change status
  • I2C
    • I2C has been rewritten to more easily integrate different kind of chips
    • Blocking and non-blocking routines work on the same framework now
  • Front panel leds
    • ON/OFF/Blinking functionality has been added
    • Event type 252 has been added that will be sent with every change of the Front panel leds (ON/OFF)
  • Detection Core/Core+
    • Depending on the hardware, detection will be made if it's a Core or Core+ module

V1.0.44

Date: 20/02/2020

Resolved bugs

Added functionality

  • The necessary modifications are made to support the Can Control module
    • "C" module has been added, separate module scanning for the CAN Control has been introduced
    • Health status for CAN module
    • Adapted CLI instructions like "error list" to display the CAN Control modules
    • BA204 has been added
    • Documentation

V1.0.43

Date: 23/01/2020

Resolved bugs

Added functionality

  • This release extend the MODBUS support, see MODBUS AIO for configuration example
    • API Instruction "CS" has been added
    • CLI Instruction "input search can id" has been added
    • Documentation

V1.0.42

Date: 15/01/2020

Resolved bugs

Added functionality

  • This release extended the MODBUS support, see MODBUS AIO for configuration example
    • Modbus Speed, Type and Model have been added, see Modbus Parameters
    • BA20 23 has been added
    • BA20 24 has been added
    • BA20 25 has been added
    • BA20 28 has been added
    • BA20 29 has been added
    • API Event 20 0 has been added (Event will be sent when mode and/or setpoint has been changed by slave device (=Modbus thermostat))
    • API Event 20 1 has been added (Event will be sent when mode and/or setpoint has been changed by master device (=BB or by applying certain BA's))
    • API Instruction "mR" has been added: Modbus Read
    • API Instruction "CD" has been adapted

V1.0.40

Date: 26/12/2019

Resolved bugs

Added functionality

  • This release supports MODBUS thermostats
    • See MODBUS AIO
    • Sensor list instruction has been modified to include the thermostat setpoint and the thermostat mode.
    • The non-standard sensors (like T67xx (CO2), CCS811 (eCO2, VOC) and LUX sensor) are being automatically requested from the Micro CAN
    • BA20 26 has been added
    • BA20 27 has been added
    • CLI instruction “can ping list” has been modified to display the Modbus information
    • CLI instruction “can eeprom list” has been modified to display the Modbus information
    • In Memory model: Page 383-386: Modbus bytes have been added
  • I2C hw reset code has been improved and made more robust

V1.0.39

Date: 27/10/2019

Resolved bugs

  • Helvar and Lunatone uses a different address scheme in their application. To avoid confusion, the Lunatone Dali addressing is used and the code is adapted accordingly.
  • The startup time/date and hours online were not recorded correctly anymore, this bug is resolved

Added functionality

  • The necessary code has been added to read the onboard temperature sensor so monitoring of the base PCB can be done.
    • Temperature is measured every minute
    • API "EV" is sent every minute to update the temperature
    • CLI instruction "error list" has been modified so the board temperature is displayed as well
    • API or CLI instruction "eeprom activate" will read the onboard temperature immediately.
  • Roller/Shutters
    • When a virtual or normal Output module is added, the output type will be checked and the correct type is automatically linked to all outputs.

V1.0.38

Date: 21/10/2019

Resolved bugs

Added functionality

  • Basic Actions
    • BA21 0 has been added: DALI output OFF
    • BA21 1 has been added: DALI output ON
    • BA21 2 has been added: DALI Group OFF
    • BA21 3 has been added: DALI Group ON
    • BA21 20 has been added: Output linked with DALI Output or DALI Group
    • BA21 21 has been added: Input linked with DALI (Lunatone or Helvar) input.
    • BA21 22 has been added: Sensor linked with DALI (Lunatone) sensor.
  • DALI
    • Receive protocol has been made robust so even when garbage is received, the correct DALI message are filtered and processed
    • Support of DALI motion sensors has been added
    • Support of DALI outputs (dimmed and non-dimmed) has been added
    • Some Lunatone motion sensors have built-in temperature sensors. The firmware supports polling of these temperature sensors and linking them to a virtual system temperature sensor.
    • Some Lunatone motion sensors have built-in LUX sensors. The firmware supports polling of these LUX sensors and linking them to a virtual system brightness sensor.
    • The use of DALI is described in following page: Dali AIO
  • API instructions
    • Instruction "FM" is modified and will now always respond even when no answer is received on the CAN bus
    • Instruction "IC" is modified and now also contains the Dali Input Link bytes
    • Instruction "OD" is modified and now also contains the Dali Output Link bytes
    • Instruction "SI" is modified:
      • VOC information can be requested
      • CO2 information can be requested
      • Extra sensor information can be requested
      • Sensor configuration
      • Extra Sensor configuration

V1.0.37

Date: 8/10/2019

Resolved bugs

  • API instruction "FS": In the "FS" response, the order in which data0..2 was sent in the wrong order

Added functionality

  • Basic Actions
    • BA0 13, BA0 14 and BA0 15: These BA's will store their values (timer value and timer type) in the appropriate eeprom locations now.
    • BA10 0 has been added: Shutter x stop
    • BA10 1 has been added: Shutter x up
    • BA10 2 has been added: Shutter x down
    • BA10 3 has been added: Shutter x up-stop-up-stop...
    • BA10 4 has been added: Shutter x down-stop-down-stop...
    • BA10 5 has been added: Shutter x up-stop-down-stop...
    • BA10 20 has been added: Shutter x locked
    • BA10 21 has been added: Shutter x stopped & locked
    • BA10 22 has been added: Shutter x up & locked
    • BA10 23 has been added: Shutter x down & locked
    • BA10 24 has been added: Shutter x unlocked
    • BA10 100 has been added: Shutter x is linked to output duo nr y
    • BA10 101 has been added: For shutter x, if y=0 -> first output of duo is UP, second is DOWN, if y=1 -> first output of duo is DOWN, second is UP
    • BA10 102 has been added: For shutter x, set timer y (in seconds, max 255) for direction UP (time needed from 100% to 0%)
    • BA10 103 has been added: For shutter x, set timer y (in seconds, max 255) for direction DOWN (time needed from 0% to 100%)
    • BA10 104 has been added: For output duo x, set duo as OUTPUT when y=1, set duo as SHUTTER when y=0
    • BA10 105 has been added: Link shutter x with shutter group y
    • BA10 106 has been added: Unlink shutter x with shutter group y
  • CLI instructions
    • CLI instruction "shutter list" has been added
    • CLI instruction "shutter group link list" has been added
    • CLI instruction "shutter name read" has been added
    • CLI instruction "shutter name write" has been added
  • Output module in Roller/shutter mode
    • When an output module is added in Roller/Shutter mode, the output status of the 8 output is automatically changed to Shutter mode (BA10 104)
  • Shutter groups
    • Max 16 shutter groups can exist, every shutter can be part of 1 or more shutter groups (or even can be part of all shutter groups)
    • Shutters that are linked to a shutter group can be lock/unlocked together or moved (up/down/stop) together
    • When moving a group of shutters, first will be checked if any shutters of this group are already moving, then those shutters will be stopped and a delay of 500ms will be applied before those shutters are activated (up or down) again.
    • Shutter can be locked and shutter groups can be locked. When a shutter group is locked, the individual group and the shutters inside that group can't be used anymore until unlocked.
  • API instructions
    • Instruction response "GC" info_type=1 has 2 extra parameters: Max_shutters and Max_group_shutters
    • API instruction "sD" has been added

V1.0.36

Date: 21/9/2019

Resolved bugs

  • API instruction "FS" reported the wrong length

Added functionality

  • Roller/Shutter functionality
    • A consecutive set of 2 outputs (0&1, 2&3, 4&5, 6&7 etc) can be used as normal outputs or as Roller/shutter outputs (never both can be ON at the same time). When the user tries to switch ON both, those outputs will be switched off.
    • Eeprom Page 391 is used to link the Roller shutter Nr with the Output Nr
    • When an output duo is configured as roller/shutter and no shutter timer has been set, standard 255 seconds will be applied.
  • 32K PSV memory limit
    • The PSV memory has a limit of 32k to store all constants. Since this stores the text information of the BA's as well as the CLI instruction, this limit was reached
    • In this release, The CLI instructions are stored in ROM in stead of PSV.
  • FRAM functionality
    • Roller shutter data like lock status, movement direction, position etc is stored in FRAM and retrieved at reset
    • The timer values of all outputs are kept in FRAM when a light/output is ON. When a reset occurred, the timer is kept and the count down is continued after startup.
  • API instructions

V1.0.35

Date: 6/8/2019

Resolved bugs

  • Functions like "output all off" didn't always switch off all outputs on the RS485 modules.
  • API commands "DL" and "GC" didn't respond.
  • When an input was pressed or released, the same API "EV" was sent.
  • API command "EV" did report the wrong timer value when an output was changed.
  • API command "MR" was missing 1 byte in the response string

Added functionality

  • FRAM support:
    • Add queueing for FRAM writes
    • Status outputs (status + dimmer value) are stored in FRAM
    • At startup, the FRAM Output Status values are retrieved and the outputs are restored in the status (including dimmer value) before the reset or power outage
    • At startup, the current Time and Date is written so we know when the last startup or system reset has occurred
    • The number of uptime hours are being kept in FRAM. Every hours, this is written in FRAM.
    • Uptime, firmware version & startup time/date is displayed in "error list".
    • Page 0 is protected now and can't be changed by using CLI/API instructions.
  • RS485 bus stability
    • The bus was acting too fast and giving the modules not always enough time to answer resulting in some bus errors
    • Eeprom value (Page0 Byte8) has been added which gives the number of ms between each scan of a module
    • With this value, the Bus speed can be modified and tuned if needed.
    • The standard value works for the most common environments
  • Module Type
    • Module type has been added so the BB knows which kind of module is initialised
    • Module type has been added in "error list"
    • Module type has been added in API instruction "MC"

V1.0.34

Date: 28/7/2019

Resolved bugs

Added functionality

V1.0.33

Date: 25/7/2019

Resolved bugs

  • Removing CAN bus when AIO was in ON state and after 10 minutes, reconnecting didn't bring back the CAN bus. CAN bus now comes back after +/-1 minute.
  • When the power was applied and the date was not yet set for the first time, the Clock always started at 00:00:00. This release fixes this issue.
  • With the CLI instruction "sensor list", in rare events, ghost values appeared (strange values for non connected sensor). The values remained correct in memory but were wrongly displayed. This release fixes this issue.

Added functionality

  • API instruction "EV" (Event) has been added, see https://wiki.openmotics.com/index.php/API_Reference_Guide_AIO
  • API instruction "ER" (Error) has been added, see https://wiki.openmotics.com/index.php/API_Reference_Guide_AIO
  • API instruction "SI" (Sensor Information) has been added, see https://wiki.openmotics.com/index.php/API_Reference_Guide_AIO
  • API instruction "MR" (Memory (Eeprom) Read) has been added, see https://wiki.openmotics.com/index.php/API_Reference_Guide_AIO
  • API instruction "MW" (Memory (Eeprom) Write) has been added, see https://wiki.openmotics.com/index.php/API_Reference_Guide_AIO
  • New state machine checks sensor health every 2 minutes, if a sensor is not responding, API message ERR will be send
    • This has been added for uCAN sensors
    • This has been added for sensors connected to the Openmotics Temperature module
  • If a sensor is not responding, the sensor value will be put on NA
  • CLI instruction "health debug on" and "health debug off" has been added, see https://wiki.openmotics.com/index.php/CLI_Reference_Guide_AIO
    • When a sensor is not reporting a value, this will be printed on the console when health debug is on
    • When a sensor is not reporting a value, an API ER message will always be sent to the BB even when health debug is off
  • CLI instruction "change debug on" and "change debug off" has been added, see https://wiki.openmotics.com/index.php/CLI_Reference_Guide_AIO
    • When a sensor has received a value that is changed towards the old known value, and change debug is on, a message will be printed on the console
    • When a sensor has received a value that is changed towards the old known value, an API EV message will always be sent to the BB even when the debug function is off.
    • When an output receives a trigger to update his values (output state, timer, dimmer), and change debug is on, a message will be printed on the console.
    • When an output receives a trigger to update his values (output state, timer, dimmer), an API EV message will always be sent to the BB even when the debug function is off.
  • Sensor (temperature, humidity, brightness) follow function for non-can sensors has been added including the debug functions.