Latest Software: LinkMeter v13 and firmware

Bryan Mayland

TVWBB Hall of Fame
Tragedy + Time = Comedy they say and if there was anything awful about LinkMeter v12, we'd all be laughing about it now. The current stable version of HeaterMeter software is now version 13, over a year from the last release. The release zip file includes the OpenWrt host operating system, LinkMeter daemon, and HeaterMeter AVR firmware.

HeaterMeter AVR Firmware Update 20160204
  • 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. All the temperatures on the web homepage will still be in the same places they were, regardless of which probe is controlling the pit.
  • 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).
  • 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.
  • "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.
  • 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...
  • PID B has been removed from both the UI and the firmware. The PID I term should provide the same functionality
  • Prevent low current fans from oscillating between very low and very high voltage.
  • Stored up PID sum doesn't reset when changing the I coefficient any more unless you change the PID to 0.
    [*] The integral sum, PIDI, could go negative when decreasing the setpoint, which would extend undershoot recovery times. Fixed.


OpenWrt Firmware LinkMeter v13
  • Updated Pi firmware to support Raspberry Pi B+/A+/Zero.
  • Ramp (and hold) mode for slowly shutting down the grill at the end of a cook.
  • Added support for loading wifi settings from config.txt
  • Fix alarm scripts page deleting the second script every time you try to add more than one.
  • Last high and low Pit peaks information added to tooltip on home page.
  • Pushbullet and Pushover notifications for alarms.
  • Proper https support in curl utilities if you need that for your scripts.
  • Updated Steinhart coefficients for Maverick ET-732 and Thermoworks TX-1001 based on 1000+ point thermocouple correlation 80F to 400F.
  • 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 luci-app-commands package for running shell commands without having to ssh in
  • Fixed not being able to dismiss graph "tooltip" popup on touch devices.

Wifi Settings via config.txt
As mentioned above, there's now an easy way to set your wifi configuration before you even boot the HeaterMeter for the first time. Just edit the config.txt file in the DOS/FAT partition (the one you see when you insert the SD card into a windows PC). At the bottom of that file there's now a Wifi configuration section.
Code:
##
## wifi configuration
##
# SSID (network name)
#wifi_ssid=heatermeter
# Password for encryption
#wifi_password=password
# Encryption mode psk2 (WPA2-PSK default), psk, wep, none
#wifi_encryption=psk2
# Mode ap (Access Point) or sta (Client mode, default). Must be lowercase!
#wifi_mode=ap
# wifi channel, only used in AP mode
#wifi_channel=6

Regular wifi client mode with WPA2 security:
Just uncomment out (remove the # at the beginning of the line) for the wifi_ssid and wifi_password.

The configuration takes place at the end of boot, after the network has already been initialized, so you'll see it pop up in the original mode first, then switch to the desired mode. This is because it needs to take place after the configuration restore has occurred (if it is going to). Once the wifi settings are loaded, it will automatically comment out all the wifi values in config.txt so it won't reset them again. Note: If your wifi SSID or password contains quotes (single ' or double ") then you're going to experience a nightmare trying to get this to work. E.g. your SSID is "Bryan's Wifi" = mal tiempo.

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

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.
 

NickMV

TVWBB Fan
Hey Bryan, I noticed that my dynamic DNS module/add-on disappeared after updating my software with the link/guide you provided.

Upon trying to update the packages list, I get the following error:

Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/brcm2708/generic/packages/Packages.gz.
wget: server returned error: HTTP/1.1 404 Not Found
Collected errors:
* opkg_download: Failed to download http://downloads.openwrt.org/attitude_adjustment/12.09/brcm2708/generic/packages/Packages.gz, wget returned 1.


Any ideas what's up? Does the opkg config script need to be updated? I noticed it references 12.09.


UPDATE: nevermind, it appears that openwrt.org's Historic Releases are all 404'ing. I hope this isn't a bad sign for the future and is only temporary. Is there a way, in the mean time, to get the luci-app-ddns pkg installed through other means?
 
Last edited:

Steve_M

TVWBB Guru
It's still using OpenWrt 12.09, though it seems like the OpenWrt folks are doing a lot of housekeeping lately, so I wouldn't be surprised if more and more stuff keeps going missing, especially with regards to older OpenWrt versions.

If you go to http://downloads.openwrt.org/ only the link to Chaos Calmer 15.05 works. All the rest error out with 404.

What dynamic DNS service do you use? It's probably easy enough to come up with a quick curl script to POST the data.
 

Steve_M

TVWBB Guru
That's not a replacement dir, that's the opkg repo for ip45, which is why you only see that 1 package file.

Silly question: Why not just use your home router for ddns?
 

Steve_M

TVWBB Guru
Looks like there's a server problem according to this.

Change your /etc/opkg.conf to use a mirror:

Code:
#src/gz attitude_adjustment http://downloads.openwrt.org/attitude_adjustment/12.09/brcm2708/generic/packages
src/gz attitude_adjustment http://ba.mirror.garr.it/mirrors/openwrt/attitude_adjustment/12.09/brcm2708/generic/packages
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay

You should now be able to run "opkg update" and "opkg install luci-app-ddns"
 

NickMV

TVWBB Fan
Awesome, thanks for the info Steve! I'll get it installed at lunchtime, before that link somehow goes down too, haha.

Cheers!
 

MKader

TVWBB Member
Oddly enough. I just updated my HM and this is the FIRST time I've ever been about to download the luci-app-ddns package.

Which is nice now, I don't have to setup DNS on my router, just forward the correct port.

Does this new software affect setting up the HM where it will default to AP mode if it doesn't find the network? That's something I'm still hoping to get setup.
 
Last edited:

Steve_M

TVWBB Guru
Your router is always on and should really be the place to run a ddns client. Regardless of what device you run the ddns client on, all devices on your home network are behind the same external IP.
 

MKader

TVWBB Member
Your router is always on and should really be the place to run a ddns client. Regardless of what device you run the ddns client on, all devices on your home network are behind the same external IP.

The reason I did this (and correct me if this is a bad idea), is that at times I've wanted to take the HM to the in-laws. To get the same external functionality I should only need to forward port 80 on their router for whatever local IP my HM ends up as. This saves me from having to set up a DDNS Client as well.
 

Steve_M

TVWBB Guru
The reason I did this (and correct me if this is a bad idea), is that at times I've wanted to take the HM to the in-laws. To get the same external functionality I should only need to forward port 80 on their router for whatever local IP my HM ends up as. This saves me from having to set up a DDNS Client as well.

That's a perfectly good reason for running the client on the HM!
 

DPackham

TVWBB Member
can the HM code do a reverse SSH tunnel to somewhere so that our remove clients can connect to a central site for access?? ex: my nest thermostat outbound ssh's to google and the nest android app gets all its info there?
 

Steve_M

TVWBB Guru
Nest doesn't use reverse ssh, it uses REST streaming over HTTPS.

What I like doing is using my "basement" raspberry pi, which runs 24x7 and runs all sorts of schedule jobs and such for me, as a reverse HTTPS proxy.

You can setup nginx or apache ( I prefer nginx ) as a reverse HTTPS proxy to easily remote into your HM or anything else on the network over HTTPS. Thanks to the folks at Let’s Encrypt, I don't even have to pay for certs! I know nginx has support for SNI by default, I'm not sure if apache does or not. What SNI does is allows you to run multiple HTTPS sites with a single IP. I actually have around 8 or 10

nginx conf example:
Code:
upstream hm424 { server 192.168.1.88; }

server {
        listen                  443 ssl;
        server_name             bbq.example.com;
        ssl_certificate         /etc/nginx/letsencrypt/certs/example.com/fullchain.pem;
        ssl_certificate_key     /etc/nginx/letsencrypt/certs/example.com/privkey.pem;
	ssl_ciphers 		'AES128+EECDH:AES128+EDH:!aNULL';
	ssl_protocols		TLSv1.2;

        location / {
        proxy_pass              http://hm424/;
        proxy_http_version      1.1;
        proxy_buffering         off;
        }
}
 

DPackham

TVWBB Member
Very cool. I knew it was something like that :)

I have a few neighbors that built a HM when I did but none of them have public IP's like i do and are all jealous of the way I can monitor my smokes via cell networks :)

the ISP they have is double natted so without a public IP they can even do DDNS to get back in...

Thanks for the learning

Dave P
 

DPackham

TVWBB Member
REALLY like the RAMP mode... works awesome... kept my last brisket at 205 perfectly +-2 ish degrees

Awesome work
 

Top