RM error invalid operand type

I'm receiving invalid operand type using increased by over and decreased by over in RM from a 3-axis sensor using the default/system SmartThings Multipurpose Sensor V5 on C7 running 2.5.0.136. Last post with this error @bravenel got involved. Let me know if i forgot to include anything.

Rule:

Logs:

app:18682026-05-19 06:07:19.119 PMerrorinvalid operand type for 151(number) *increased by over* 50(number, error=java.lang.NumberFormatException: Character [ is neither a decimal digit number, decimal point, nor "e" notation exponential mark.)
app:18682026-05-19 06:07:19.105 PMerrorinvalid operand type for 151(number) *decreased by over* 50(number, error=java.lang.NumberFormatException: Character [ is neither a decimal digit number, decimal point, nor "e" notation exponential mark.)
app:18682026-05-19 06:07:19.094 PMinfoEvent: Package Box threeAxis [x:0,y:0,z:151]

That’s an interesting case, as RM doesn’t natively support parsing maps, which is what this type ultimately is, and the error you see is because it apparently sees it as just a string (but it wouldn’t be a number in any case, and that’s the source of your error).

Maybe you could do some string parsing in your actions (nothing built in for this data type there, either, but the format is simple, and the basic string parsing operations should get you there), then store them in a local variable and compare them to the same component from the last execution.

Things may have changed. If this were still the case i would not expect the UI to have an option to specify which key from the map. This looks like it's been designed to expect a map... at least from the UI.

Hmm, you’re right! I must have been thinking of the similar JSON string (where I did run into this recently), not a literal Groovy map. Are you using the stock driver?

Stock driver for this device is the best. I wouldn’t use any other.