Oil Tank monitoring

After having a bit of a close call with a missed oil delivery to a vacation home this winter, I decided to find a way to monitor fuel oil levels remotely. There aren’t many devices out there to do that, but I did find the Rollie WTG-BT tank gauge. It is WiFi-enabled, reports oil levels back to a portal, and sends alerts via SMS and email. It all works perfectly well, but I wanted to ST enable it! The DTH I built is available here;

It provides current oil level and some basic usage information. Hope folks find it useful!

5 Likes

Hi,

Great job, just got this working. I’m seeing an error in the logs:
ava.text.ParseException: Unparseable date: " " @ line 280
Any idea on what’s going on?

Is any data showing in the device? How many days of history are showing up in the Rollie app page? I’ll have to dig a bit deeper, but I suspect I made some assumptions about how much history was available.

HI,

Have 4 days, the last three then missing tow and one more. The fist day (the gap) was them testing it.
In smartthings I only see gallons and inches if that helps nothing in the today, yesterday, etc.

Kris

Can you send me a screenshot of page in the app showing the current values? If you’re willing, I could set my app to point to your login if you wanted to set a temporary password. That would allow me to see the problem up close - all my testing was limited to my account, so there could be some variability in the Rollie page that I’m not aware of.

I can set up a login, can you send me an email address to send you the information.

Yes can test with 2162 test

Thanks for the info. I took a look and think I found the cause - there is a “pid” value that looks to be unique to each user. I had hard-coded the value in the device handler, but that looks to have been only valid for my account. You can enter your value (“28”) in the setup of the new device handler I just uploaded to github (v0.4):

https://raw.githubusercontent.com/dlaporte/SmartThings/master/DeviceHandlers/rollie-gauge/rollie-gauge.groovy

I’ll work on a way to detect and set that value automatically in the handler settings, but for now you can just manually enter it. It should be persistent, so it’s a set-and-forget option.

Dave

Great, thanks. Seems to have done the trick. Question I change the value in line 223 from 275 to 330 since that’s my tank
size for the Actiontiles kludge. Do you think that will cause a problem, figured it would need to match the tanks size for humidity value to be correct.

Kris

Yep, that’s correct. I’ll try to clean that up and make it automatic in the next version.
Dave

Could you give the new version available? It should automatically calculate the % for ActionTiles, although you will still need to manually enter the PID

https://raw.githubusercontent.com/dlaporte/SmartThings/master/DeviceHandlers/rollie-gauge/rollie-gauge.groovy

thanks,
Dave

Hi,

Just installed it and it seems to be correct. Last version didn’t seem to update the last week values, but
I figured it hasn’t been long enough time using it and was sure if it update on a certain day. One observation,
I commented out the icon on the multiAttributeTile because it was making the text had to read and couldn’t
figure out if I could move the icon or the text so they didn’t overlap. Any thoughts?

Thanks,
Kris

If I remember correctly, you might be be able to add a few newlines before the value to push it below the icon. Otherwise, it’s a standard templated format and isn’t easily changed.

Dave

HI,

Seeing some errors in the logs again. I didn’t think to check the logs on the last update. Any thoughts.

Kris

6cfb7dda-9aa0-497b-9d68-47d3c8941d0e 7:41:03 AM: debug Request was successful, 200
6cfb7dda-9aa0-497b-9d68-47d3c8941d0e 7:41:03 AM: debug parseHistory called
6cfb7dda-9aa0-497b-9d68-47d3c8941d0e 7:41:03 AM: error groovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.math.BigDecimal#.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class [C]
[class java.lang.String] @ line 218
6cfb7dda-9aa0-497b-9d68-47d3c8941d0e 7:41:03 AM: debug Request was successful, 200

Hi,

A little more info, it’s stop updating any values, I remarked out line 218 and it seems to be working again.

Kris

I neglected to mention that, since you’re coming from an old version, you need to hit the configure button once to populate the tank_capacity state variable. I suspect that will fix the problem you’re seeing - let me know if you’re able to test.

thanks,
Dave

That fixed the error. I’ll let you know if I find anything else. Thanks

Hi,

A little follow up. My week value is blank, just shows — —. Any ideas?

Thanks
Kris

Also seeing this in the log java.lang.NumberFormatException
and the last update was about 6 days ago.

Sorry for the delay. These issues can be difficult to diagnose from afar as they typically involve a parsing issue that is only occasionally seen. If you’re willing to share it, I would be happy to set my device handler up using your serial and password (reset it for the duration of the testing) and get to the root cause of the problem.

What or where is my PID?
Thanks