Attribute value crashes when active rules

Hi,

I have a problem. I have a ThermostatAsset with two attributes (temperature and wet) that are being updated with MQTT. I created a rule using the temperature attribute. This rule evaluates the value and when it is between two values it activates the cooling attribute of the same asset. The problem is that when I activate the rule, the value is not updated. If the rule is stopped, the value updates perfectly. The error in the docker console when I use the rule is

manager_1 | 2021-06-28 16: 30: 43.116 WARNING [Messaging-AssetQueue-11] ote.manager.asset.AssetProcessingService: CUSTOMER Processing Error - PROCESSOR_FAILURE (processor ‘RulesService {}’ threw exception): AttributeEvent {timestamp = Mon Jun 28 16: 30: 43 CEST 2021, attributeState = AttributeState {ref = AttributeRef {id = ‘2ekshlPWQnFdADdIFZrvqs’, name = ‘temperature’}, value = 26.7, deleted = false}}

If you got to the logs page in the Manager UI (top right menu) you might get more information about what is going wrong.

This is all the information:

29/06/2021 14:41:42 WARN ASSET Error processing from CLIENT - PROCESSOR_FAILURE (processor ‘RulesService{}’ threw an exception): AttributeEvent{timestamp=Tue Jun 29 14:41:42 CEST 2021, attributeState=AttributeState{ref=AttributeRef{id=‘3aD4PmYzWUcDiMC1ROa545’, name=‘humedad’}, value=41.8, deleted=false}}
29/06/2021 14:41:42 WARN ASSET Error processing from CLIENT - PROCESSOR_FAILURE (processor ‘RulesService{}’ threw an exception): AttributeEvent{timestamp=Tue Jun 29 14:41:42 CEST 2021, attributeState=AttributeState{ref=AttributeRef{id=‘3aD4PmYzWUcDiMC1ROa545’, name=‘temperature’}, value=27.0, deleted=false}}
29/06/2021 14:41:40 WARN ASSET Error processing from CLIENT - PROCESSOR_FAILURE (processor ‘RulesService{}’ threw an exception): AttributeEvent{timestamp=Tue Jun 29 14:41:40 CEST 2021, attributeState=AttributeState{ref=AttributeRef{id=‘3aD4PmYzWUcDiMC1ROa545’, name=‘humedad’}, value=41.8, deleted=false}}
29/06/2021 14:41:40 WARN ASSET Error processing from CLIENT - PROCESSOR_FAILURE (processor ‘RulesService{}’ threw an exception): AttributeEvent{timestamp=Tue Jun 29 14:41:40 CEST 2021, attributeState=AttributeState{ref=AttributeRef{id=‘3aD4PmYzWUcDiMC1ROa545’, name=‘temperature’}, value=27.0, deleted=false}}

This isn’t somewhere I would expect an exception to be thrown, can you make a dump of your DB and I can try and reproduce:

docker ps

Replace 9df with the first 3 characters of the postgresql container ID in the following command:

docker exec -it 9df pg_dump -U postgres -n openremote openremote > db.sql

Assuming there’s nothing sensitive in your setup then upload the db.sql file somewhere (dropbox, etc.) and put the link here for me to download.

Yes, no problem. There is no compromised data.

Here is the download link:

Hi @rich

Something new?

Hi,

Apologies for the delayed response, been a bit busy with development the last few weeks.

I just loaded your DB and your rule works for me (i.e. when the temperature attribute goes above 28 then the cooling attribute gets set to true.

Your log extract mentions humedad attribute but I don’t see any rules relating to this attribute.