Latest Software: LinkMeter v12 and firmware


 

Bryan Mayland

TVWBB Hall of Fame
I've been putting tons of time in at work so HeaterMeter hasn't had much work done on it. I'm going to put out what I've got here, because there are a couple of nice features. I think the next version will be based on OpenWrt BarrierBreaker 14.07 so there will be a lot of internal changes and there's no use holding these features up for internal changes.

AVR firmware update 20141003B
  • Support for a separate Max Blower Speed for startup. When the set point is changed, HeaterMeter is in "startup mode" until the first time it reaches temperature. This allows for 100% blower operation for fast startups, and then limiting the speed for normal operation. Set the "startup max" and "max" to the same value to disable this behavior.
  • Actual blower speed output in serial data, in addition to PID output level. Note that LinkMeter v12 or above is required for firmware 20141003B, LinkMeter v11 will discard all data from this AVR firmware as being invalid.
  • Fix D term inaccurate and no alarms with native RF pit probe. The temperature derivative was only being calculated for probes which called calcTemp(adc), so RF probes were getting very slowly changing D values and native RF probes (which set their temperature directly) never got D.

OpenWrt firmware LinkMeter v12
  • Add support for fan startup max and with additional LED indicators.
  • Add linkmeterd support for current fan speed, and a separate graphical indicator on the home page (#fanf for fan fan speed). "Blower Output" renamed to just "Output" on the home page.
  • Allow cross-site access to JSON lmdata. You can now make JSON requests from other web pages to integrate your HeaterMeter data into them if you so desire.
  • Fix linkmeterd continuously trying to avrupdate after the first time fails, which may cause the system to become unresponsive.
  • Alarms can now be set to "keep ringing", "silence once", or "disable" when they ring.
  • Wiki links added for some help on the configuration page
  • The latest AVR firmware is now uploaded on new installs/full openwrt upgrades, even if a version of HeaterMeter is already on the AVR (previously would not overwrite).
  • HeaterMeter Device Manager support

HeaterMeter Device Manager
This is the big feature of the release. On first boot up there is a lot of confusion as to what address to enter into your web browser to get to HeaterMeter for the first time and if you need to change your IP address or join the HeaterMeter network. If the device has internet access it will register all of its interface addresses with heatermeter.com. Now after bootup you just go to
http://heatermeter.com/devices/



Your browser will check each interface address and any address you can access will become a clickable link to get to the device. More information about it, as well as how to "opt out" of registration are included in the wiki.

Upgrading
To upgrade from a HeaterMeter with internet access, just go to System -> Backup/Flash Firmware and paste the link to the v12 .gz release into the "Image URL" box. The AVR firmware should update automatically to 20141003B.

This update can also be written to the SD card directly and for fresh installations, use Win32DiskImager (windows) following the instructions in the wiki. HeaterMeter 4.x Software.
 
Last edited:
HeaterMeter "startup mode" until the first time it reaches temperature. Is this every time the temp set point is changed? Or just after powering up?

Since the trigger is changing the set point. I see a potential problem with how it is implemented. When doing a cook and you decide to increase temperature, this would reactivate blower 100 percent possibly causing temp overshoot. I think this should have some sort of trigger other than or in addition to changing the temp, using the 4 way button or home page toggle such as the lid open.
 
Last edited:
HeaterMeter "startup mode" until the first time it reaches temperature. I see a potential problem with how it is implemented. When doing a cook and you decide to increase temperature, this would reactivate blower 100 percent possibly causing temp overshoot.
It is every time you change the setpoint, because there is no actual "startup" for the HeaterMeter. I don't see it as being a problem unless you're doing something like running 100% max in startup mode and 25% max in normal mode. If that's the case I'd say your blower is way too big.

In small temperature changes, like 5-10 degrees, you're not going to hit the max anyway or you're in it for such a short period of time that it doesn't make a difference. If the change is a large change (say 50 degrees), then you're going to want the max and any overshoot can be compensated for by the Integral cut, Pid D term, or the fact the actual grill temp lags behind the air temperature.

I see no problem and will not be adding any additional toggles or configuration items for it.
 
It is every time you change the setpoint, because there is no actual "startup" for the HeaterMeter. I don't see it as being a problem unless you're doing something like running 100% max in startup mode and 25% max in normal mode. If that's the case I'd say your blower is way too big.

In small temperature changes, like 5-10 degrees, you're not going to hit the max anyway or you're in it for such a short period of time that it doesn't make a difference. If the change is a large change (say 50 degrees), then you're going to want the max and any overshoot can be compensated for by the Integral cut, Pid D term, or the fact the actual grill temp lags behind the air temperature.

I see no problem and will not be adding any additional toggles or configuration items for it.

I would not be able to use it like this either, as I am normal 30% and do hit a max of 100% from time to time on long smokes(ash build up) and sometimes the temp can be just 5 degrees from setpoint and the UDS is slow to react and hit 100%. Are you able to turn off the feature?
 
Last edited:
Just set your max and max startup speed to be the same then. Edited first post to include this information.
 
Last edited:
I see you committed the Arduino code changes to Github ( more like I tripped over them hard ). Any chance you could commit the OpenWrt changes?
 
first time setting the temp with the button, I was only able to get it to change in increments of 5. Is there a way to change that back to 1 degree at a time?
 
I see you committed the Arduino code changes to Github ( more like I tripped over them hard ). Any chance you could commit the OpenWrt changes?
All the changes have been in github as far as I know. Am I missing something?

Note that because I rebase the arduino changes vs the openwrt changes, they can appear out of order in the git log.
 
with the new startup % setting. Lets say I set the max blower speed to 50% on start up and max blower speed. Then later while at the smoker you want to manually or change the max blower speed to something higher then the start up blower speed, like 100%. It wont go higher then the start up speed of 50% regardless of what you do in manual mode or if you change it via the lcd. Now if you want to change the blower speed max you need to change both the max blower speed and the start up blower %.

I was at the local sports bar today I was having an issue and wanted to raise my blower speed higher then my usual 30%. from what I could tell from the internet screen the blower was at 100%, but my temp was not going up and I could not figure it out until I got home and relized the blower was not going at 100% but it was stuck at a max off 30% still regardless of the percentage I put in as the max. I then realized I needed to change the Start up blower percentage from 30% to 100% to be able to raise the blower higher then my usual 30%.
 
Last edited:
You really should create a new thread for something like this so it wouldn't get lost.

There is some non-intuitive interaction between the manual fan mode and fan maxes. The issue is because there's still a startup mode vs normal mode so you still get two different fan speeds depending on if you've passed the old automatic setpoint. I'll revisit this and decide what the behavior should be and clean it up. Probably should always use the non-startup fan limits if in manual mode. Is that what you'd expect?
 
V.12 update problem

Built my Heatermeter back in summer and have been using this hapily once or twice a week ever since.

However, when I attempt to update to v.12, through the AVR firmware update, using the online repository, I go from...
This:
OpenWrt | OpenWrt Attitude Adjustment 12.09 | Load: 0.08 0.06 0.03
to This:
OpenWrt | OpenWrt Attitude Adjustment 12.09 | Load: 0.16 0.07 0.03

The machine fails to work normally,
All data collection stops, there is no setpoint.
If I go to the configuration tab, the setpoint box is blank.
If I attempt to add a setpoint, it refuses to save, it just sits there and doesn't flash the confirmation screen.
It is continuing to blow as if it is working, but with no visual indicators using the web gui.

I have to revert back to the original firmware and it'll pick up right where it left off.
Is there something I'm missing?
 
Yes, you only are updating the AVR firmware, not the LinkMeter firmware. When you load the new version the old linkmeterd can't process the data coming out of the device any more because it is too strict about the format.

To upgrade, you need to upgrade the OpenWrt firmware as noted in the first post
To upgrade from a HeaterMeter with internet access, just go to System -> Backup/Flash Firmware and paste the link to the v12 .gz release into the "Image URL" box. The AVR firmware should update automatically to 20141003B.
http://capnbry.net/linkmeter/release/bcm2708/12/openwrt-rpi.gz

It will still say Attitude Adjustment 12.09, that's the OpenWrt version.
 
Bryan, have you added any way to upload a custom background image to the HM without using PUTTY or transferring the file directly to the SD card? If not, that would be a nice feature to have....
 
It's a url so just host it somewhere else, like on imgur or something. It doesn't have to be on the device at all.
 

 

Back
Top