The LinkMeter Snapshot and YOU


 

Bryan Mayland

TVWBB Hall of Fame
Between LinkMeter releases, some stuff slowly gets added until I have enough to say "That's a good stopping point!". I've forgotten what's in the current snapshot so I'm making a thread to remind myself.

  • Control probe is no longer PIT, now uses first non-disabled probe. Note that a probe reading "Off" isn't disabled, only probes with their type set to DISABLED count as disabled.
  • Stored up PID sum doesn't reset when changing the I coefficient any more unless you change the PID to 0.
    [*] Updated Pi firmware to support Raspberry Pi B+/A+/Zero.
    [*] Fix alarm scripts page deleting the second script every time you try to add more than one.
    [*] Prevent low current fans from oscillating between very low and very high voltage.
    [*] "Reset Configuration" from the HeaterMeter now resets the OpenWrt configuration back to default as well.
    [*] Option for filtering out 50Hz/60Hz line noise on the probes for more stable readings.
    [*] Last high and low Pit peaks information added to tooltip on home page.
    [*] Ramp (and hold) mode for slowly shutting down the grill at the end of a cook.
    [*] Pushbullet and Pushover notifications for alarms.
    [*] Proper https support in curl utilities if you need that for your scripts.
    [*] Servo now moves a constant speed to its destination and holds for 2 seconds before de-energizing. Small moves are held off for up to 10 seconds from any previous move to reduce servo chatter.
    [*] Replace fan "on at max only" with "fan on above" to allow finer control of when the fan is used.
    [*] Servo can be set to max open at any PID percentage, not just 1% (Full open/close option removed)
    [*] Updated Steinhart coefficients for Maverick ET-732 and Thermoworks TX-1001 based on 1000+ point thermocouple correlation 80F to 400F.
    [*] PID B has been removed from both the UI and the firmware. The PID I term should provide the same functionality
    [*] Prevent the browser from getting bogged down the more times you updated configuration without a page reload occurring
    [*] Register the hostname from the system configuration if one is not specified in the dhcp client configuration
    [*] Added support for loading wifi settings from config.txt
    [*] Added luci-app-commands package for running shell commands without having to ssh in
    [*] Added some small menu acceleration to the HeaterMeter device menu. Holding the button down will get you the first 4 ticks at normal speed, then 4 double speed, and the rest quad speed. e.g. the SetPoint is 5 degrees, 5, 5, 5, then 10 degrees, 10, 10, 10, then 20 degrees, 20, 20, 20...
    [*] Fixed not being able to dismiss graph "tooltip" popup on touch devices.
    [*] The integral sum, PIDI, could go negative when decreasing the setpoint, which would extend undershoot recovery times. Fixed.


To install the snapshot firmware, just go to System -> Backup / Flash Firmware and put the snapshot url in the "Image URL (.gz)" box. This will also update your HeaterMeter's AVR Firmware to the snapshot as well.
http://heatermeter.com/devel/snapshots/bcm2708/openwrt-rpi.gz

Advanced
There are actually multiple possible snapshots. There are three parts to every release
  • AVR Firmware - this runs on the microcontroller and is all of what "HeaterMeter" does. This can be updated by itself from the "AVR Firmware" page in the webui "From online repository"
  • LinkMeter package - this is the service that generates the webui for HeaterMeter, stores the data in the database, and allows you to control it from the web. This can be updated separately from the System -> Software and use the url from the package snapshots directory. Includes an AVR firmware but not necessarily the latest snapshot.
  • The OpenWrt image - This is the whole OS image that replaces all the files on the SD card (except your config if you want to keep it). Includes a LinkMeter package, which is usually the latest snapshot (because they are built at the same time). This can be updated from the System -> Backup Flash Firmware page as detailed above.
 
Last edited:
Thank you for all the work you've been doing on this. I especially appreciate the inclusion of the updates to "Attitude Adjustment" that enable support for the rPi B+! :)
 
Between LinkMeter releases, some stuff slowly gets added until I have enough to say "That's a good stopping point!". I've forgotten what's in the current snapshot so I'm making a thread to remind myself.

Stored up PID sum doesn't reset when changing the I coefficient any more.


First of all thanks for all your work! The only issue with this feature is it was making it hard to PID tune the other day; still never got it. I kept having to unplug the HM to clear I.
 
On the same page, you can click the "Reset AVR" button which clears the I as well.

I removed the clearing of the I because someone else had said the same thing you did, which is that it is easier to tune the I if it doesn't clear. I can see it both ways, so I removed the clearing code because it is simpler and there's a way to clear the Isum but no way to set it.
 
On the same page, you can click the "Reset AVR" button which clears the I as well.

I removed the clearing of the I because someone else had said the same thing you did, which is that it is easier to tune the I if it doesn't clear. I can see it both ways, so I removed the clearing code because it is simpler and there's a way to clear the Isum but no way to set it.

Gotcha, thanks!
 
Have there been any other PID changes in the last few months? I was pretty certain that my PID of 3, 0.008, 3 were my ideal settings, but I had to dial I back to 0.003 to stop those crazy oscillations.

I've even got them saved here from February and it shows "&pidb=0&pidd=8&pidi=0.008&pidp=3"
 
Bryan, didn't you say that there was an auto PID thing going on in the newer snapshot too or is that something else?

Thanks again for all of the hard work.
 
I've updated Steinhart coefficients for Maverick ET-732 and Thermoworks TX-1001 based on 1000+ point thermocouple correlation 80F to 400F as well, this was in the last update Monday. Note that they've changed very slightly and they still don't read the same at room temperature, go figure. You gotta remember that they now correlate better across the entire range, which doesn't necessarily mean they read the same at every temperature.
 
Bryan, didn't you say that there was an auto PID thing going on in the newer snapshot too or is that something else?
I said that the peaks plugin was needed for PID autotuning but autotuning is a maybe-never feature because it just doesn't work. PID tuning works great on things that have reliably reproducible results. In a grill, it takes 5-30 minutes to make one cycle and in that time the conditions inside the fire may have changed which means that the control you started with is different than what you're observing now. Doing step-impulse PID tuning doesn't really work because if I set the blower 100% and wait for it to pass the setpoint, then turn it off and time how long it takes to come back down past the setpoint... you could be looking at an hour and in that time, the fire might have gone out from being choked off completely.

What you can do in the meantime if you want to see how worthless it is, set your P to like 10, I and D to 0. Wait until you start getting oscillations (at least one full high-low-high). Then look in the system log and it will tell you what your PID constants should be.
Code:
Sep  7 23:27:40 OpenWrt user.warn lucid[1228]: New 1 peak @1441668384=246.1 half=135 per=596 amp=4.6 gain=-0.4
Sep  7 23:27:40 OpenWrt user.warn lucid[1228]:   Ziegler P=2.4 I=0.008 D=6.0
A positive gain indicates your P is too high, a negative gain indicates your P is too low. You want at least "some" amp (amplitude), maybe 5? And a gain less than 1 "probably". Everything in quotes here because it doesn't really work manually, so there's no way to program it to be automatic if even a human can't make the right choices.
 
Since you've been delving more into the HM software development these days I thought I would ask, or suggest...
Could you perhaps add a way to select and upload an image to the SD Card so users could customize their background easier? (without having to use PUTTY or whatever)
I was just thinking that it would be nice if members of the HM community could create their own custom HM themes to share, which is super easy now with the addition of the user CSS tool... everything except uploading that custom background image. I guess you can use a web image, but then you need to always have internet access on the HM... and people seem to have trouble posting images here in the forum which is essentially the same skill you would need to make a web background appear on the HM home page.
It would seem much easier if on the User CSS page there were a button to "Upload Image" that would allow you to select an image on your hard drive and upload it to the SD Card to use as the custom background. It's a small and functionally useless detail really, but I think it is something people will enjoy, because they can easily personalize their HM display which is something I think most users would get a kick out of.... if it was as easy as say updating a Facebook Profile Pic. Click, select, done...
 
Using a web image only requires your laptop/phone/tablet to have internet access, as the web browser is making the call for the image, not the heatermeter. This has the added advantage of being able to use a very large, high res image and being able to download it from a fast site like imgur, google, flickr instead of trying to download it directly from the heatermeter when you're remotely monitoring things away from home.
 
That makes no sense to me at all. If you upload an image to the SD card you never have to download it again, so the high res image is better suited this way than having to download it through an internet link.
Like I said before, quite a few folks have a hard time making an image available on the internet, hence the comments you see here regularly "I can't seem to get my pics to show in the forum"... So that is another reason the internet hosted method is less desirable IMHO... and you can still you an image on flickr or whatever if you like, this would just be an easy mechanism for someone to click and select and image from their hard drive and place it on their SD card to be used as the background image.
 
Hi Ralph,

I installed the snapshot. However when I try to set the "on above" or "startup max" settings, it does not save them. It looks like it doesnt seem to detect a change in these settings.
Did I miss to update something?
I did "flash new firmware image" with the link you provided.

Thx
 
Since you've been delving more into the HM software development these days I thought I would ask, or suggest...
Could you perhaps add a way to select and upload an image to the SD Card so users could customize their background easier? (without having to use PUTTY or whatever)
I'm with Steve. Just put a URL in there. You have to download it to the device that's displaying the page anyway. What does it matter if it comes from the internet or the HeaterMeter? Using the HeaterMeter in AP mode versus connected to the internet is a much less common use case. I'd add this but it invokes feature creep because you need a way to upload it, the template needs to check for the presence of the file vs the standard, you'll need a way to remove it, people will want to make it not wrap / not repeat / etc and at that point you're just better off editing the usercss because things have gotten complicated. I'll put it on the todo list though to keep in mind.
 
I installed the snapshot. However when I try to set the "on above" or "startup max" settings, it does not save them. It looks like it doesnt seem to detect a change in these settings.
Did I miss to update something?
Are the values filled in at all when you come into the page or are they blank? Also what is the HeaterMeter version on the bottom of the page?
 
I'm with Steve. Just put a URL in there. You have to download it to the device that's displaying the page anyway. What does it matter if it comes from the internet or the HeaterMeter? Using the HeaterMeter in AP mode versus connected to the internet is a much less common use case. I'd add this but it invokes feature creep because you need a way to upload it, the template needs to check for the presence of the file vs the standard, you'll need a way to remove it, people will want to make it not wrap / not repeat / etc and at that point you're just better off editing the usercss because things have gotten complicated. I'll put it on the todo list though to keep in mind.

I am not asking to change the way the HM display is customized, the User CSS method is fine, great actually. You can save your custom code in a text file to share or paste in after your HM is reset or whatever. The only thing I am asking for is an easy way for the HM to upload an image to the SD Card to use as a background.
What brought this idea to light (again) for me is all the snapshots I've been loading lately. My custom background image keeps getting wiped out and I have to load PUTTY to transfer it back to the SD card. I thought since some people have a hard time getting an image hosted on the internet, and have a hard time getting a program like PUTTY to connect to the HM to transfer the file and/or know where to put the file if they do. It would just be easier if you can click an "upload image" button and select an image from your hard drive to transfer to the SD Card.
 
Last edited:
Email your background picture to upload@imgur.com and you will get a reply with a link to your newly uploaded photo.

Click on the link and then click on your picture and you'll see the proper link to the image ie: http://i.imgur.com/3XVnYkb.jpg

Now all you have to do is add/change 1 line in the User CSS:

Code:
#backimage { background: url(http://i.imgur.com/3XVnYkb.jpg); }

Since User CSS is backed up and restored as part of the config, if you're swapping between HM snapshots, you don't need to re-upload a new file to overwrite the fire.png that's on the HM.
 
Last edited:
Email your background picture to upload@imgur.com and you will get a reply with a link to your newly uploaded photo.

Click on the link and then click on your picture and you'll see the proper link to the image ie: http://i.imgur.com/3XVnYkb.jpg

Now all you have to do is add/change 1 line in the User CSS:

Code:
#backimage { background: url(http://i.imgur.com/3XVnYkb.jpg); }

Since User CSS is backed up and restored as part of the config, if you're swapping between HM snapshots, you don't need to re-upload a new file to overwrite the fire.png that's on the HM.

That's a great solution... now if we can just make everyone that would attempt to do this in the future know this information universally that would work. But hardly anyone is going to know to do that...

I guess if the HM User CSS page had a button that would send the email and allow you to select the attachment and upload an image that would be training wheels enough to make it a universal solution. That is assuming the email functions of the HM are working, and the internet access etc.

Though I have a feeling a good number of people get their HM working and their HM Home Page loaded and never take the next couple steps to make the email and internet access work... and if you are cooking away from your home WIFi or using the HM in Access Point mode you wont have the internet connection to download the image on your tablet or whatever.

TBHWY I didn't think it was a big deal, it's just a simple suggestion for something that would make it easier for some people to customize their HM display page that I didn't think would take a mountain of programming to achieve.
 
I don't think you're giving people enough credit to perform these tasks. In terms of finding this information, it can easily be added to the heatermeter wiki. Being in IT for 20+ years, I can tell you, it doesn't matter how idiot proof you make something, there will always be a small portion of people that are unable to perform even the most basic tasks.

You don't need to configure any internet access on the heatermeter for the background image to be loaded through CSS. The heatermeter doesn't download it and send it to the web browser. The heatermeter sends the text of the CSS to the web browser and then the web browser fetches the image from the URL listed in the "#backimage" line. The only scenario this won't work is using the HM in AP mode, which I'm guessing almost nobody is doing.
 
Last edited:

 

Back
Top