-
Type:
Suggestion
-
Resolution: Unresolved
-
None
-
Component/s: Assets - Core experiences
-
1
-
1
It looks like the current post function only allows updating a single attribute (attribute with cardinality set to 1). With conditionals on each post function this is a lot of maintenance and extra processing that isn't necessary. Additionally, this can cause the assets automation to be triggered multiple time. Also, it seems just as likely that you'd need to update more than one attribute value as you would for a single attribute. Here is an example when we enable debug logging :
2026-07-08 14:08:39,245 [insight-event-1] | Found 1 rules for event type(OBJECT_UPDATED), objectBean: Device-1 (TES-1) 2026-07-08 14:08:39,246 [insight-event-1] | Rule automation object schemaId 2, object key(TES-1) 2026-07-08 14:08:39,246 [insight-event-1] | Got rule and event for insightObjectAsyncEvent: null, id: 1 - InsightObjectEvent eventType: OBJECT_UPDATED, rule id: 1, name: test aut, isActive true, objectRuleEvent id: 1 and object: Device-1 (TES-1) 2026-07-08 14:08:39,253 [insight-event-1] | doAction(), called for event class: InsightObjectUpdatedEvent 2026-07-08 14:08:39,253 [insight-event-1] | Object name: Device-1, id: 1 2026-07-08 14:08:39,253 [insight-event-1] | Execute Rule action (AutomationAttributeValueAction): Start, id: 1, event [id: 1, aql: No aql], condition: objectType = "Device" 2026-07-08 14:08:39,253 [insight-event-1] | AutomationAttributeValueAction, data: {"attributeName":"Log","value":"this was changed"} 2026-07-08 14:08:39,254 [insight-event-1] | AutomationAttributeValueAction, got attributeName: Log, value: this was changed 2026-07-08 14:08:39,289 [insight-event-1] | Execute Rule action (AutomationAttributeValueAction): Done, id:1, event [id: 1, aql: No aql, condition: objectType = "Device" 2026-07-08 14:09:04,303 [insight-event-0] | Found 1 rules for event type(OBJECT_UPDATED), objectBean: Device-1 (TES-1) 2026-07-08 14:09:04,303 [insight-event-0] | Rule automation object schemaId 2, object key(TES-1) 2026-07-08 14:09:04,303 [insight-event-0] | Got rule and event for insightObjectAsyncEvent: null, id: 1 - InsightObjectEvent eventType: OBJECT_UPDATED, rule id: 1, name: test aut, isActive true, objectRuleEvent id: 1 and object: Device-1 (TES-1) 2026-07-08 14:09:04,314 [insight-event-0] | doAction(), called for event class: InsightObjectUpdatedEvent 2026-07-08 14:09:04,314 [insight-event-0] | Object name: Device-1, id: 1 2026-07-08 14:09:04,314 [insight-event-0] | Execute Rule action (AutomationAttributeValueAction): Start, id: 1, event [id: 1, aql: No aql], condition: objectType = "Device" 2026-07-08 14:09:04,314 [insight-event-0] | AutomationAttributeValueAction, data: {"attributeName":"Log","value":"this was changed"} 2026-07-08 14:09:04,315 [insight-event-0] | AutomationAttributeValueAction, got attributeName: Log, value: this was changed 2026-07-08 14:09:04,340 [insight-event-0] | Execute Rule action (AutomationAttributeValueAction): Done, id:1, event [id: 1, aql: No aql, condition: objectType = "Device" 2026-07-08 14:09:04,360 [insight-event-1] | Found 1 rules for event type(OBJECT_UPDATED), objectBean: Device-1 (TES-1) 2026-07-08 14:09:04,360 [insight-event-1] | Rule automation object schemaId 2, object key(TES-1) 2026-07-08 14:09:04,360 [insight-event-1] | Got rule and event for insightObjectAsyncEvent: null, id: 1 - InsightObjectEvent eventType: OBJECT_UPDATED, rule id: 1, name: test aut, isActive true, objectRuleEvent id: 1 and object: Device-1 (TES-1) 2026-07-08 14:09:04,371 [insight-event-1] | doAction(), called for event class: InsightObjectUpdatedEvent 2026-07-08 14:09:04,371 [insight-event-1] | Object name: Device-1, id: 1 2026-07-08 14:09:04,371 [insight-event-1] | Execute Rule action (AutomationAttributeValueAction): Start, id: 1, event [id: 1, aql: No aql], condition: objectType = "Device" 2026-07-08 14:09:04,371 [insight-event-1] | AutomationAttributeValueAction, data: {"attributeName":"Log","value":"this was changed"} 2026-07-08 14:09:04,371 [insight-event-1] | AutomationAttributeValueAction, got attributeName: Log, value: this was changed 2026-07-08 14:09:04,389 [insight-event-1] | Execute Rule action (AutomationAttributeValueAction): Done, id:1, event [id: 1, aql: No aql, condition: objectType = "Device" 2026-07-08 14:09:04,418 [insight-event-0] | Found 1 rules for event type(OBJECT_UPDATED), objectBean: Device-1 (TES-1) 2026-07-08 14:09:04,418 [insight-event-0] | Rule automation object schemaId 2, object key(TES-1) 2026-07-08 14:09:04,418 [insight-event-0] | Got rule and event for insightObjectAsyncEvent: null, id: 1 - InsightObjectEvent eventType: OBJECT_UPDATED, rule id: 1, name: test aut, isActive true, objectRuleEvent id: 1 and object: Device-1 (TES-1) 2026-07-08 14:09:04,428 [insight-event-0] | doAction(), called for event class: InsightObjectUpdatedEvent 2026-07-08 14:09:04,428 [insight-event-0] | Object name: Device-1, id: 1 2026-07-08 14:09:04,428 [insight-event-0] | Execute Rule action (AutomationAttributeValueAction): Start, id: 1, event [id: 1, aql: No aql], condition: objectType = "Device" 2026-07-08 14:09:04,428 [insight-event-0] | AutomationAttributeValueAction, data: {"attributeName":"Log","value":"this was changed"} 2026-07-08 14:09:04,428 [insight-event-0] | AutomationAttributeValueAction, got attributeName: Log, value: this was changed 2026-07-08 14:09:04,442 [insight-event-0] | Execute Rule action (AutomationAttributeValueAction): Done, id:1, event [id: 1, aql: No aql, condition: objectType = "Device"
there are 3 post-functions firing from a single issue transition, each triggering the automation separately. As we can see, one transition results in 3 OBJECT_UPDATED events and 3 automation events. Updates are not batched.
Feature request
It would be good to batch the updates to avoid multiple automation triggers.
- links to