Welcome
Delta Controls is pleased to release O3 firmware V4.19 for the O3 Sense and O3 Edge products. These release notes communicate important technical information about release build 4.19.0.267. This build is unchanged from the beta release. Build b267 is a refreshed 4.19 O3 release to resolve a potential sound level issue with the onboard microphone on the O3-Edge/Sense.
V4.19 O3 firmware continues the regular schedule released on the same V4 platform shared with Red5 and enteliBUS controllers. While these release notes are specific to the O3, please also refer to the V4.19.0 Firmware Release Notes for additional fixes and issues common to all V4 controllers.
General
O3 4.19 firmware adds support for PG Python and Node-RED on a new O3-Edge O3 hardware revision (r1.0g), increasing the memory to support these new features.
4.19 is supported on all existing O3-Edge/Sense hardware, however Node-RED and PG Python are only available with O3-Edge 1.0g+ models. O3 hardware is expected to transition to r1.0g in Q1 2026.
Refer to the O3 Support Site for more information of the different models and supported features including the O3 Model Comparison Table.
New O3 Features in 4.19
O3 Specific Features
Node-RED
Node-RED flow based IoT integration is now supported on r1.0g+ O3-Edge models, functioning the same as with Red5 Plus controllers. See online support linked from the main Node-RED KBA: KbA3362: Node-RED Overview.
Note, Node-RED is not supported on O3-Sense models.
PG Python
PG Python support has been added on r1.0g+ O3-Edge models as a preview feature in 4.19.
Node-RED and PG Python can overwhelm a controller if not implmented correctly, particularly with excessive BACnet read/writes. Refer to below PG Python and Node-Red Recommendations section under the below General heading.
General V4 Specific Features
The O3 does not currently support the Packet Capture feature added to the Red5 products, noted in the V4.19.0 Firmware Release Notes. The NP4 object will show the Network Diagnostics options to save captures, but it is not functional.
System Requirements
Proviso
It is recommended to use Proviso version 2.14, which has workflow improvements for Bluetooth pairing and O3 Firmware upgrading.
See more details in the Release Notes (Mobile Apps - Proviso) and on the Proviso Support Page.
Seymour Connect
Seymour Connect 1.2 or newer is recommended for O3 firmware 4.19.
See more details in the Release Notes (Mobile Apps - Seymour Connect) and on the Seymour Support Page.
enteliWEB
enteliWEB 4.31 or newer is required use Node-Red or PG Python in the O3-Edge controller on new 1.0g hardware.
Installing an O3
To install the O3, follow the Installation Instructions. You can also watch the O3 Installation Tutorial.
Once installed, devices should be secured, following the O3 Edge Hardening Guide.
Upgrading Firmware
Recommended upgrade path from earlier firmware to 4.19
- 4.16/4.17/4.18 → 4.19
- 2.5.3 to 2.7.1 → 4.16 → 4.19
- 1.6.16 to 2.5.0 → 2.7.1 → 4.16 → 4.19
Note: There is an issue upgrading directly from v2.7.1 to v4.19. See SHFW-4385 in below Known Issues section for more details.
O3s running 2.x firmware must be upgraded using the cloud (Internet connected) method. Once upgraded to 4.xx firmware, either the cloud method or eWEB Firmware Loader (.fls file) method can be used to upgrade to another 4.xx firmware.
2.x Cloud Upgrade to 4.16/4.19
The O3 must have an Internet connection to download firmware via the cloud method.
Follow the above recommended upgrade paths which represent the the methods that have been thoroughly tested. When upgrading to intermediate builds, refer to the upgrade procedure from the relevant release notes.
Upgrading from O3 V2.x firmware to V4.xx is a one way procedure, it is not possible to downgrade back to V2.x firmware. It is recommended to test upgrading a single O3 prior to upgrading a network of O3's.
Node-Red DLMs are not supported in V4.xx firmware. Any Node-Red DLM modules installed in V2.x firmware will be lost on a V4.xx upgrade. For hardware that does not support open Node-Red (<1.0g), Python DLMs can be used for IoT integration. Contact PDS for more details on Python DLMs.
It can take over 1/2hr to update a controller from 2.x to 4.xx, depending on its database size. Do not unplug or reboot an O3 during a firmware upgrade. Once an upgrade begins, allow it to complete without interruption. Do not command reset an O3 for at least 5mins after upgrading.
To perform the upgrade, follow the Firmware Upgrade Guide.
Note: Proviso versions earlier than 2.14 may not display the O3 4.16 firmware in the list of available firmware versions and will need to be entered manually.
Proviso
- if step upgrading to version 4.16 select 4.16.0.2100
- if upgrading to 4.19, select 4.19.0.267
BACnet
- BACnet method, manually command CSV43 value:
- if step upgrading to 4.16: {"version":"4.16.0.2100"}
- if upgrading to 4.19: {"version":"4.19.0.267"}
- CSV43 description field will be updated with progress
If step upgrading to build V4.16, enteliWEB Firmware Loader method can also be used to finish the upgrade to 4.19 using the .fls firmware file.
Local enteliWEB Firmware Loader upgrade
An O3 running 4.16+ firmware can be upgraded using enteliWEB Administrator Manage Device Firmware. The required .fls file can be downloaded from TS Support.
For more details please refer to the enteliWEB Manage Device Firmware support pages.
Downgrading an O3
It is not possible to downgrade an O3 from version 4.x back to 2.x firmware.
r1.0g O3’s require 4.19+ and will not allow downgrade. eWEB Firmware Loader will fail at the ready to apply stage and cloud attempts will reboot to the current version.
If downgrading from 4.19 to an earlier 4.x version, it is recommended to factory reset the O3 after downgrading (Proviso - NFC connection).
enteliWEB Firmware Loader can be used to downgrade an r1.0f and earlier O3 from 4.19 to 4.18/4.17/4.16. See the 4.16/4.17/4.18 Release notes for more details on those versions.
Be aware of known issue SHFW-4072 - BACnet/IP (NP6) or BACnet/SC (NP9) network connections are disabled when downgrading from 4.18/4.19
General
AV, BV and MV variable object instances 1-999 are reserved for internal use and must not be created or used for other purposes. Creating objects with the same instance as existing database objects will cause object to not function correctly.
See the following documentation for database objects used in the O3 and the complete list of reserved instances.
- BACnet Objects in the O3
- Reserved Object Instance Ranges
eWEB database manipulation operations (create/delete/modify/clear etc) should not be made until the O3 if fully booted, roughly 5mins after boot and indicated when the DEV status has changed from “Operational-Read-Only' to Operational or database corruption could occur.
PG Python and Node-RED Overview and Recommendations
General
- See Delta Controls Integrations support page for general information, including how to enable and access these features.
- PG Python and Node-RED are supported on r1.0g+ O3-Edge models running 4.19 firmware.
- enteliWEB 4.31 or later is required to use PG Python and Node-Red.
- PG Python is a preview features in 4.19 for testing and feedback and not recommended on live customer sites.
- After a controller bootup or restart, allow the DEV Object to transition to ‘Operational’ status. This ensures background processes and services have fully started prior to loading in databases or working with the Node-RED or PG Python editors
Monitoring the controller health is critical in order to not overload the CPU or Memory usage.
It is highly recommended to keep average overall O3 CPU usage under 65%
A high CPU usage will impact other controller functions, particularly other resource intensive operations such as database save/load and firmware upgrades. These operations may fail to complete or trigger a watchdog reset. CPU usage may spike when first enabling PG Python / Node-RED.
A recent graph of the CPU usage can be viewed by clicking on the O3 in navigator and selecting the Network | Statistics tabs. Alternately, the CPU usage can be read via GCL (AVxxxxx = DBI<BACnet ID>.Statistics[3].value), and the AV can be monitored by a TL object.
In eWEB 4.31, the DEV object object Controller Health has been updated to break down % memory and CPU usage of PG Python and Node-RED.
PG Python CPU Use Recommendations
- Avoid using PG Python on O3’s already CPU loaded with GCL/Node-Red. Monitor overall O3 CPU use
- Halt/delete PGs running PG Python rather than comment all out
- Avoid using Print statements, these add significant CPU usage in 4.19
- Limit the number of PG instances. Combining PGs can significantly reduce CPU usage particularly with BACnet reads and writes.
Node-RED CPU Use Recommendations
Review general Node-RED recommendations and best practices KBA: KbA3367: Node-RED – Limitations
- Use lightweight widgets, functions and processes
- With dashboards, reduce frequent UI updates, limit graph history and sampling intervals.
- Injection frequency and sampling interval are critical and can dramatically impact CPU usage, particularly when reading/writing BACnet objects.
- Accessing the O3 database via BACnet or MQTT can be CPU intensive. Generally, reading via a MQTT node uses less resources than a BACnet node
- Remove or disable debug nodes after finalizing flows to minimize CPU usage
- The node-red editor will significantly increase overall average CPU usage, close when not in use.
Resolved Issues
The following issue has been resolved in 4.19.0.267 since the beta & original 4.19 release 4.19.0.266
| Reference | Description |
| SHFW-4419 |
Sound level may not function correctly on some hardware and may report unrealistic high values.
|
The following notable O3-Edge/Sense issues are fixed in version 4.19.0.266 since 4.18 release (b119)
Please refer to Red5 general V4.19.0 Firmware Release Notes for additional resolved issues common to the O3.
| Reference | Description |
| SHFW-4061 | Motion Latch Time (AV52) restricted from 1 to 10s |
| SHFW-3905 | NP.SC_Hub_Connector_State remains in connected state when NP is set out of service |
| V4FW-13316 | MT Object: CSV export will be empty if the "Time Span" isn't set |
| SHFW-4157 |
Show Swap Memory statistics in DBI Statistics. Total memory available/used is a combination of Dynamic (RAM) shown in DEV object and Swap (flash) Memory
Note below issue EWEB-48761 |
| SHFW-3857 | SC failover connection causing continued watchdog resets when database cleared or network cable removed |
| SHFW-4128 | CE 4.18 Virtual device DEV value always show “Operational Read-Only' and never change to Operational |
| SHFW-4148 | When NP13 'MQTT Broker' is disabled, MQTT Explorer can still access the internal MQTT client after a factory reset |
| SHFW-4182 | MQTT reads incorrect status when it's enabled via Proviso |
| SHFW-2749 | ATZ/BTZ objects do not reset stats when commanded to reset. |
| SHFW-4054 | Upgrading firmware with a specific database may cause the upgrade process to fail and roll back to the previous firmware. |
| EWEB-48761 |
Statistics properties are not visible for DBI object in eWEB 4.31 beta (b169) |
Known Issues
The below table lists notable issues for the O3-Edge/Sense.
Please refer to Red5 general V4.19.0 Firmware Release Notes for additional known issues common to the O3.
| Reference | Description | Target Fix Version |
| SHFW-4419 |
Sound level may report unrealistic high value
|
4.19 post release patch |
| SHFW-4385 |
Upgrading 2.7.1 to 4.19 will set Eth/IP/SC Network Numbers to 0 or possibly disable Ethernet connection.
|
4.20 |
| V4FW-14218 SHFW-4317 |
Embedded web Node-RED enable option sometimes cannot be re-enabled.
|
tbd |
| SHFW-4380 |
The ‘Synchronize Node-RED on Database Save’, to include Node-Red flows in a database, is not actually enabled on a freshly programmed board or after factory reset, even though it is set to be on by default.
|
tbd |
| SHFW-4349 | Loading a database on a large database already running Node-Red could trigger a watchdog reset after the new database load. | 4.20 |
| SHFW-4240 |
Clear Database does not remove Node-Red flows when Node-Red is disabled
|
tbd |
| SHFW-4050 |
O3 default database does not get recreated consistently (corrupted database) when a database is cleared right after it comes online after bootup.
|
n/a |
| EWEB-47819 |
Reading DEV and DBI object from eWEB causes scan rate slow downs
|
tbd post 4.31 release |
| SHFW-3653 |
BV1 in database causes input/output objects to go into fault and not function
|
n/a |
| SHFW-4072 |
BACnet/IP (NP6) or BACnet/SC (NP9) network connections are disabled when downgrading from 4.18/4.19
|
n/a |
| SHFW-3481 GCL-207 |
PG: Referencing a binary SCH with a default value of "NULL" in GCL will cause the PG to go into Fault
|
4.20 eWEB 4.32 |
| SHFW-4398 | Packet capture feature is not included in O3-Edge firmware | tbd |
Comments
0 comments
Article is closed for comments.