RESOLVED - Old Smartthings Multi sensor stopped updating 2-3 weeks ago - broken standard device handler

My fridge temp stopped logging and updating 2-3 weeks back. I assumed the battery must be dead but replaced it and no diff. It is one of the orginal Centralites, “SmartSense Multi” and has been operating in the fridge for several years with the standard device handler. Today I looked in IDE and see the following reports.

2de678XXX 12:34:48 PM: error java.lang.NumberFormatException: For input string: “40.1” @line 318 (getTempResult)
2de678XXX 12:32:17 PM: error java.lang.NumberFormatException: For input string: “39.6” @line 318 (getTempResult)
2de678XXX 12:29:48 PM: error java.lang.NumberFormatException: For input string: “39.2” @line 318 (getTempResult)

Does that suggest the standard device handler was broken? But another same-model device (on the back door) is still updating temperature with no error in IDE. My other same-model devices with MODIFIED device handlers, are still ok.

Also I noticed in the classic ST phone app it still logs the fridge-door open/close. No battery updates or temperatures.

Is the DH was assigned to the device automatically when you paired it, or was it selected manually? Because you have hit a software bug, which has been overlooked by a recent code change.

The DH what you are using is this one:

And line 318 is this:

def v = value as int

When value is not integer anymore it throws the exception, and it is indeed not an integer. And that is due to the fact that hubcore and appengine-zigbee have been updated recently to report decimal values, but this DH hasn’t been.

This is the comment about the update:

Tagging @steven.green, @dckirker and @tpmanley

1 Like

@ero4444 @GSzabados Thanks for flagging this. We’re looking into it

2 Likes

ok (I’ve read the replies, thanks.)

Device type in IDE is “SmartSense Multi” detected automatically when I enrolled it so many years, 3-4-5 years ago.

FYI new info - the malfunctioning device had a config offset= 5 . When I cleared it then it started updating temperature and battery normally.

That happens only, because it doesn’t execute the if statement with the offset value, where line 318 is. If you want to use the offset, it still has to be fixed by ST.

@ero4444 @GSzabados we released a fix for this about two hours ago. Thanks again for reporting the issue!

3 Likes

@tpmanley, thanks for that! That was an extremely quick fix, and I see that it has been spanned across multiple DHs.

Thanks for the effort for @dckirker, @steven.green and @Zach_Varberg for fixing and reviewing it.

When @ero4444 confirmed that the offset is working or when you see that there isn’t any issue anymore and happy with you changes, could you please close the issue what I have opened on GitHub, just for your tracking reference.

Thanks again for all of you!

yesterday in IDE I edited the fridge-device to change its device handler (DH) to something-Motion, then again changed to “SmartSense Multi” . This was after the standard DH fix, with blank/null offset. Then temperature + battery updated fully.

Today I entered the historical “5” into the blank offset and saved, then temperature updated shortly after, so this aspect looks resolved.

Reported temperature with offset, now looks like higher than history, but now it can be re-offset as needed. No problem.

Thanks
.

1 Like

Thank you for confirming the fix @ero4444

@GSzabados I’ll go close the issue now

2 Likes