HeaterMeter integration

Would like to see some integration of the project HeaterMeter (https://heatermeter.myshopify.com/).
HeaterMeter is a PID controller for barbecueing, which works with a Raspberry Pi.

Believe it or not, that’s on my todo list. Heatermeter exposes its data via JSON so it should be fairly simple to write.

Started working on this and currently am able to get heatermeter data into HA. Still working on some things like being able to change set points, PID values, etc.

Am also trying to figure out a good way of bringing in alarm data or if it’s even needed.

Hoping to have an initial release within a week.

Very cool! Thank you for your work!

Any news? :slight_smile:

Right now, I can get fan speed %, lid open/close timer, pit set point, probes, alarm high/low, alarm status and PID values into HA. Additionally, there are services for changing the probe names, pit set point, alarm high/low set point and the PID values.

I’ve also written some code for NetDisco which will allow HA to auto-discover the HM. I need to work on this feature a bit more as I can’t get the username/password from the config in the .yaml file when using autodiscovery. Need the username/password to be able to change values.

So, most of the functionality is there. Now, I need to go back, do some refactoring/cleanup of code. I’m hoping to have something for you in a few days.

Out of curiosity, what features/functions do you want to see with a HM platform?

Sounds great!
Well, basically what you already mentioned :slight_smile:

Awesome, I know this post is a bit old but is the code available anywhere?

Any progress on this? Or maybe a link to a Github?

I’ve been thinking about doing this as well, but if code already exists it would be nice to have a starting point.

Wooo, this would be so hot if available! Need any beta testers?

I’m interested in testing also,

That’s some crazy timing. My HeaterMeter kit just arrived. Once I get it built I will be trying it out with your plugin and I’ll be happy to provide feedback.

I’ve only played around with it for a few minutes so far but it seems to work as expected. A couple small bugs that I’ve found so far.

  1. All the entities are named ‘heatmeter’ instead of ‘heatermeter’.
  2. The probes all correctly show in Fahrenheit however the set point shows in Celsius. I do have my configuration for Home Assistant set to C as I’m in Canada but I still prefer to cook using F.

A couple more bugs. May be related to me having my units set to Metric.

The service to change the setpoint doesn’t seem to work at all. I tried manually calling it from the HASS dev tools and it gives a ‘set-cookie’ error message.

The other thing is the history graph. It says it’s in F but the actual temps shown are in C. Even weirder is that it will create a separate graph that’s in C when I plug a probe in. Both graphs show the exact same data, just the type one shows the °F symbol in the top right despite showing the temps in C.

Is this still working for anyone? I set it up but I’m getting an error when I restarted. Before I see if it was something that I did I thought I’d check to see if something has broken it since it was created.

I just installed it and it worked perfectly right out of the door! I did it during a slow cook in fact - so it was nice to see, track, and even make some Grafana graphs for it!

I’ve forked fancygaphtrn component and made some changes.

Changed the degree to C’ (will add config value to allow both F and C).

Correct the “heatmeter” to “heatermeter”.

Support the newer rest API for HeaterMeter, use the API key from LinkMeter config page, see here:

That will fix the 'set-cookie’ error message.
The code should work on older versions too, but I can’t test it as I’m updated to to latest snapshot.

Get it here:



Thanks for your work. I have been trying to find the time to make some of the changes that you already have. Do you have a list of your plans for developing this further? could you share those plans?

A short list of the stuff I would like to see added/going to attempt to add:

HACS support, to make it easier to maintain/upgrade as features are added.

SSDP support (as long as your on one of the newer snapshots, SSDP works) and would ideally eliminate the log spam when the device is not plugged in (I run mine on battery, but even if I didn’t - why would I keep it plugged in 24/7/365) - ZeroConf is also an option, but that requires someone to setup the Zeroconf integration vs SSDP is enabled out of the box.

Removal of the heatermeter domain. It would be nice if the probes could be identified as sensor.heatermeter_probeX or such. This would allow people using the Alexa/HA Cloud to activate these, where currently the heatermeter domain can not be added. (there are ways to work around it)

Adding support for setting temperatures for the probes/alarms.

I will try your version over the next few days to see how it works. I do use F; but can test everything and just ignore the temps for now.

Thank you,

Unfortunately I’m not a real HA developer, not even close.

I did those modification with some basic python knowledge.

regarding your requests.
HACS should be straight forward as a custom repository, I’ll look into it.

I don’t know what’s SSDP, maybe in the long run if I keep modding this integration.

Removal of the heatermeter domain - not sure how to do it, if you have example of an component that uses that schema I’ll look it it’s source code.

support for setting temperatures for the probes/alarms -
I’m actully using some basic automation to send me telegram messages for the temps.
but I can add any setting set via the command in the link below very easily:

So to sum it up,
the next thing I’m going to add are:

  1. Selection for the unit (that’s only a visual effect, doesn’t have any effect on the behaviour).
  2. Implementing the scan interval

after that i’ll add the setting for the probes0-3 alarms and see about integrating with HACS.

Looks like the original integration developer responded with some README changes on my initial issue in github, so he’s alive and implies he’s up for more coding. You could try submitting a pull request (after you catch up to his readme changes) and suggest what things remain.