PitDroid: An Android app for your HeaterMeter


 
Cool, I'm interested in giving it a try....
Google Play Store still lists V1.3.1 from Oct 2015 as the current version, where do I download the latest release?
 
OK, got it... I had stopped scrolling down when I hit the user comments, didn't realize the link to join the beta program would be below that... Waiting for the update to push now.
Thanks for your work on this!
 
Just got the update after joining the beta, waiting 10 minutes then going back to the google play store...

I like the dial and new look and feel in general, nice work!

I see one issue already though, with the Pit SetPoint. The dial only allows you to select a setpoint between 50-350F. (unless I missed something?), and the app seems to continually update the pit temp, which could create a couple problems I can foresee...

First, if you use the HM to sear or do pizza's you can't use the app, cause it will change the setpoint to 350 as soon as you touch the dial on the app. I sometimes bake potatoes at 400F and then ramp up to 550F to sear a steak, or cook pizza's between 550-700F. Opening the PitDroid app during one of these cooks would change the setpoint to 350F, your only option is to close the app and change back to the higher setpoint using the HM web interface or directly on the HM.

Second, often when I am done with a cook I close the top vent and change the setpoint to 0 to choke out the fire. This allows me to pull the food from the grill and eat without having to break down the HM rig first, and chokes out the fire efficiently so I can use the coals for the next cook. If the app is loaded it will change the setpoint from 0 to 50F, which unfortunately in my region of the world will result in the fan running at 100% sooner or later.

Third, it seems like it may be easy to accidentally change the pit temp with this setup.

A couple suggestions off the top of my head that could overcome these issues.

First: If you could set the app so it grabs the setpoint from the HM and makes the scale on the app change to reflect what the HM is running at that would be great... so if the HM is running at 400F when you load PitDroid the top end of the scale would be 400F. (rather than 350F) If you could also make it so when you rotate the the setpoint on the app clockwise past the top of the scale it pops up a window allowing you to type a setpoint that would be great. This would allow you to set a high cook temp like 550F, then have the app update the high end of the scale to 550F. These changes would take care of the first issue rather nicely.

Second: If you could make it so when you rotate the setpoint on the app counterclockwise past the lowest end of the scale the pointer goes to the bottom of the dial and it sets the pit to 0 that would allow you to "shut down" the grill and choke out the fire. This would solve the second issue rather nicely and would be a feature I would use after every cook.

Third: If you could make it so any setpoint change made by PitDroid needs to be confirmed somehow that would prevent the accidental change of the setpoint. Perhaps make the pointer blink for a few seconds after a change is made and require you to tap it again to commit the change, that would be pretty slick. Or you could have a "commit change" button pop up after a change that you need to hit. Or make the setpoint go grey after you change it and have a "change setpoint" button at the bottom you have to press to commit the change. Any of these methods would work to prevent the accidental change of the pit temp, I personally prefer the first, having the pointer blink for a few seconds and require you to tap it again to commit.

Thanks again for all of your work creating PitDroid, I hope you find some of my suggestions useful.
 
Last edited:
Yeah, I remembered that there were weirdos out there who wanted to cook outside the default temp range of the :wsm: after I put it up the beta. I always just do low and slow, so that's never an issue for me. The way the code works it should be easy to add user selectable min/max values in the preferences and auto adjust the range on the gauge, I just have to come up with an algorithm to put in a sensible number of ticks and numbered entries. It would probably be easier if I just made the selectable range multiples of 25. The issue you ran into where clamped the pit set temp into the display range on any touch is a bug, I'll fix that.

As for accidentally changing the range, yeah, that could be an issue. One thing I had been thinking of doing was having a display pop up as you drag it, showing the exact temperature you have selected, with some arrows for tweaking it. That way anal people like me can drag it to the general area then tweak it to exactly 225 or whatever. I could just put an ok button on that dialog, so you have to confirm it. I figured it would be neat to actually drag the dial if you want though.
 
Dragging the dial is kinda neat... If it showed the precise temp somewhere as you moved it that would make it even better.
You didn't comment on the counterclockwise wipe to 0, is that doable? It would be really nice to just drag the pointer counterclockwise to the 6 o'clock position to shut down the HM by setting the pit temp to 0.
 
Last edited:
Loving the app, was lying in bed at 2am last night swapping between Pitdroid and my security cameras - It was great.
I did have one config issue or maybe a bug I wouldn't mind checking on.
I had an alarm set for when probe 2 reached 90C, I set it at 2am and went to sleep. When I woke up at 6am, I picked up my phone, unlocked it and then immediately the alarm went off as the temp at reached 94C.
It seemed like the app stopped updating once it had gone to sleep, the background update setting was at 5 min but the meat was over 90C for about 45min before I woke up.
Do not disturb wasn't on and I cant find any settings on my phone that would stop the alarm, Is there anything i'm missing?
 
It's probably doze mode from Android 6.0. If it thinks you aren't using your phone it'll shut down unimportant tasks like PitDroid. I've got a fix for that in the beta version if you want to give that a try. Hope your meat turned out ok.
 
Hi there,
Downloaded the app....did a lot of reading here and searching google, but if i try to change the pit temp. it says authentication failed. I saw some answers here, but it's a lot of abracadabra for me (sorry). I have the HM working (wifi and ext.) on my laptop (Windows). Dit setup a password there, but Pitdroid still says authentication failed. Does anybody know what i have to do to make this work? Sorry if i am interfering, but i thought this would be the suitable place to ask...
Fred
 
It's probably doze mode from Android 6.0. If it thinks you aren't using your phone it'll shut down unimportant tasks like PitDroid. I've got a fix for that in the beta version if you want to give that a try. Hope your meat turned out ok.

Meat was great - I've just signed up to be a tester, hopefully ill be of some help.
F
 
I've enjoyed testing out the beta app, but I am going to be "that guy" here and say that I'm not a fan of the dial design. It just feels like a feature for the sake of having a feature, without really adding much to the use of the app. When I'm using it, I want to be able to just pop open the app, see the numbers, quickly set something if I have to, and put my phone away. Maybe the future refinements you've mentioned would add back in some of those elements, but for now I just feel like it's a little clunky.

I want to emphasize that I'm not trying to harsh on you or tear you down. I always appreciate those that innovate and push things forward, so I appreciate your work on the app. I know how text online can sometimes come off not how we mean it to.
 
Hi there,
Downloaded the app....did a lot of reading here and searching google, but if i try to change the pit temp. it says authentication failed. I saw some answers here, but it's a lot of abracadabra for me (sorry). I have the HM working (wifi and ext.) on my laptop (Windows). Dit setup a password there, but Pitdroid still says authentication failed. Does anybody know what i have to do to make this work? Sorry if i am interfering, but i thought this would be the suitable place to ask...
Fred

I'm getting the same thing. Wonder if this app doesn't line up with the current version of hm. What's weird is the stats load so I know it's getting to the right address, just can't do admin stuff.

I noticed the logs below in the syslog, seems to line up with when I try and put my password in on the app. I've experienced this in both the release and beta versions.

Sat Apr 8 17:38:16 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/http/protocol.lua:447: attempt to perform arithmetic on a nil value
Sat Apr 8 17:38:16 2017 daemon.err uhttpd[347]: stack traceback:
Sat Apr 8 17:38:16 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/http/protocol.lua:447: in function 'snk'
Sat Apr 8 17:38:16 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/ltn12.lua:300: in function 'step'
Sat Apr 8 17:38:16 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/ltn12.lua:309: in function </usr/lib/lua/luci/ltn12.lua:305>
Sat Apr 8 17:38:16 2017 daemon.err uhttpd[347]: (tail call): ?
Sat Apr 8 17:38:16 2017 daemon.err uhttpd[347]: (tail call): ?
Sat Apr 8 17:38:16 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/http.lua:126: in function '_parse_input'
Sat Apr 8 17:38:16 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/http.lua:39: in function </usr/lib/lua/luci/http.lua:37>
Sat Apr 8 17:38:16 2017 daemon.err uhttpd[347]: (tail call): ?
Sat Apr 8 17:38:16 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/dispatcher.lua:105: in function 'authen'
Sat Apr 8 17:38:16 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/dispatcher.lua:363: in function 'dispatch'
Sat Apr 8 17:38:16 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/dispatcher.lua:141: in function </usr/lib/lua/luci/dispatcher.lua:140>
Sat Apr 8 17:38:38 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/http/protocol.lua:447: attempt to perform arithmetic on a nil value
Sat Apr 8 17:38:38 2017 daemon.err uhttpd[347]: stack traceback:
Sat Apr 8 17:38:38 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/http/protocol.lua:447: in function 'snk'
Sat Apr 8 17:38:38 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/ltn12.lua:300: in function 'step'
Sat Apr 8 17:38:38 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/ltn12.lua:309: in function </usr/lib/lua/luci/ltn12.lua:305>
Sat Apr 8 17:38:38 2017 daemon.err uhttpd[347]: (tail call): ?
Sat Apr 8 17:38:38 2017 daemon.err uhttpd[347]: (tail call): ?
Sat Apr 8 17:38:38 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/http.lua:126: in function '_parse_input'
Sat Apr 8 17:38:38 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/http.lua:39: in function </usr/lib/lua/luci/http.lua:37>
Sat Apr 8 17:38:38 2017 daemon.err uhttpd[347]: (tail call): ?
Sat Apr 8 17:38:38 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/dispatcher.lua:105: in function 'authen'
Sat Apr 8 17:38:38 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/dispatcher.lua:363: in function 'dispatch'
Sat Apr 8 17:38:38 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/dispatcher.lua:141: in function </usr/lib/lua/luci/dispatcher.lua:140>
Sat Apr 8 17:38:50 2017 daemon.err uhttpd[347]: wc: /proc/net/nf_conntrack: No such file or directory
Sat Apr 8 17:38:50 2017 daemon.err uhttpd[347]: sysctl: error: 'net.nf_conntrack_max' is an unknown key
Sat Apr 8 17:41:10 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/http/protocol.lua:447: attempt to perform arithmetic on a nil value
Sat Apr 8 17:41:10 2017 daemon.err uhttpd[347]: stack traceback:
Sat Apr 8 17:41:10 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/http/protocol.lua:447: in function 'snk'
Sat Apr 8 17:41:10 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/ltn12.lua:300: in function 'step'
Sat Apr 8 17:41:10 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/ltn12.lua:309: in function </usr/lib/lua/luci/ltn12.lua:305>
Sat Apr 8 17:41:10 2017 daemon.err uhttpd[347]: (tail call): ?
Sat Apr 8 17:41:10 2017 daemon.err uhttpd[347]: (tail call): ?
Sat Apr 8 17:41:10 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/http.lua:126: in function '_parse_input'
Sat Apr 8 17:41:10 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/http.lua:39: in function </usr/lib/lua/luci/http.lua:37>
Sat Apr 8 17:41:10 2017 daemon.err uhttpd[347]: (tail call): ?
Sat Apr 8 17:41:10 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/dispatcher.lua:105: in function 'authen'
Sat Apr 8 17:41:10 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/dispatcher.lua:363: in function 'dispatch'
Sat Apr 8 17:41:10 2017 daemon.err uhttpd[347]: /usr/lib/lua/luci/dispatcher.lua:141: in function </usr/lib/lua/luci/dispatcher.lua:140>
Sat Apr 8 18:15:46 2017 daemon.err uhttpd[347]: wc: /proc/net/nf_conntrack: No such file or directory
Sat Apr 8 18:15:46 2017 daemon.err uhttpd[347]: sysctl: error: 'net.nf_conntrack_max' is an unknown key
 
Sorry, I just haven't had any time to work on the app lately, but I did cook 2 briskets with it about a month ago with no issues. I was using the beta version, but I don't think that should make a difference for the auth. You may be right that it's something in the latest HeaterMeter software though, I'm probably a bit out of date. I'll try to get mine updated and test it this week.
 

 

Back
Top