Details:
The BACnet driver builds large ReadPropertyMultiple (RPM) requests. Small field controllers can't cope with them and the device never initializes:
  • Controllers with a small response buffer return
    Abort(buffer-overflow)
    — they start a segmented reply, then abort mid-transfer.
  • Slower controllers return
    Abort(application-exceeded-reply-time)
    — they can't compute all the values within the reply window.
In both cases there is
no automatic fallback
— the same large RPM is re-sent every polling cycle and fails identically, so the device stays UNINITIALIZED/flaky.
We hit this on a Siemens Climatix POL908 (IV Produkt AHU, 239 objects → exceeded-reply-time) and a Regin Corrigo (→ buffer-overflow). Third-party BACnet clients read these exact devices fine, because they read conservatively (small batches / single reads). Ignition can't currently match that.
Request:
a per-device setting for
max objects/properties per RPM
, and/or a
"Force single ReadProperty"
toggle. Bonus: on
Abort(buffer-overflow / segmentation-not-supported)
, automatically retry with a smaller batch or single ReadProperty.
Why it matters:
makes a large class of common controllers (Climatix POL6xx/POL9xx, Regin, etc.) readable without any device-side changes.