Combustion integration

I’ve been working on a custom integration for Combustion predictive thermometers. It automatically discovers all probes that are reachable via Bluetooth, either via direct connection or via a Meatnet repeater. It currently creates a device for each discovered probe, with each device having the following sensors:

  • Core Temperature
  • Ambient Temperature
  • Surface Temperature
  • Battery Status

There are also 8 additional temperature sensors that can be optionally enabled, one for each of the thermistors in the probe.

Give it a try and let me know what you think: GitHub - legrego/homeassistant-combustion: Integrate Combustion thermometers with Home Assistant

4 Likes

This looks pretty neat!
Any chance you could get this into HACS?

Yes, I have a PR open awaiting review: Adds new integration [legrego/homeassistant-combustion] by legrego · Pull Request #2226 · hacs/default · GitHub

Thanks @legrero for making this. It works well, I’ll have to setup a dashboard for now it :slight_smile:

HACS does work, just need to add the repo. The only thing i noticed missing was some of the predictive timers, but I didnt look super hard so far.

Works great as a conditional card on my main dashboard. I have it set to only appear when the core temp goes above 90. Thank you!

How active is this development? Is it something I should rely upon?

I have a vested interest in maintaining this for my own needs. My limited time is currently dedicated to another one of my integrations (homeassistant-elasticsearch), but I plan on returning to this once I wrap up a few enhancements on the other one.

Is there a way to change the polling / refresh rate? I’d like to build a temperature controller on top of this. I looked into the python code inside the custom_components folder but I couldn’t find anything obvious. I am not too familiar with this type of python / bluetooth interface coding.

err I take that back. It updates plenty fast. Thanks, awesome integration! Painless :slight_smile:

Is there anyway of using home assistant to act as a meatnet relay to send the data to the cloud ie act as the wifi repeater rather than a phone. Does combustion inc even allow this function in the api?

BTW thanks for building this integration it will be so useful for alerts

1 Like

Is there anyway of using home assistant to act as a meatnet relay to send the data to the cloud ie act as the wifi repeater rather than a phone. Does combustion inc even allow this function in the api?

@vijaykbhatia not at this time. I’m not aware of a public API for the MeatNet Cloud.

1 Like

I turned on my full set of Combustion equipment (two thermometers, one repeater, one display) and this integration took out Home Assistant (2024.10.1, HAOS): Web interface wouldn’t connect, ESPHome devices lost their connection, automations stopped, etc. Just was filling the log with this message over and over:

2024-10-05 16:06:26.852 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up combustion.binary_sensor
2024-10-05 16:06:26.855 INFO (MainThread) [homeassistant.components.sensor] Setting up combustion.sensor
2024-10-05 16:06:26.856 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up combustion.binary_sensor
2024-10-05 16:06:26.856 INFO (MainThread) [homeassistant.components.sensor] Setting up combustion.sensor
2024-10-05 16:06:26.857 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up combustion.binary_sensor
2024-10-05 16:06:26.857 INFO (MainThread) [homeassistant.components.sensor] Setting up combustion.sensor
2024-10-05 16:06:26.858 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up combustion.binary_sensor
2024-10-05 16:06:26.858 INFO (MainThread) [homeassistant.components.sensor] Setting up combustion.sensor
2024-10-05 16:06:26.859 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up combustion.binary_sensor
2024-10-05 16:06:26.859 INFO (MainThread) [homeassistant.components.sensor] Setting up combustion.sensor

I restarted HA from the CLI, and it started to come up, but then it tried to set up the Combustion integration and flooded the log with messages like:

2024-10-05 16:14:44.410 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up combustion.binary_sensor
2024-10-05 16:14:44.410 INFO (MainThread) [homeassistant.components.sensor] Setting up combustion.sensor
2024-10-05 16:14:44.473 ERROR (MainThread) [homeassistant.components.sensor] Error adding entity sensor.predictive_thermometer_old_core_temperature for domain sensor with platform com
bustion
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 595, in _async_add_entities
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 909, in _async_add_entity
    await entity.add_to_platform_finish()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1366, in add_to_platform_finish
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1005, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1130, in _async_write_ha_state
    self.__async_calculate_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1067, in __async_calculate_state
    state = self._stringify_state(available)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1011, in _stringify_state
    if (state := self.state) is None:
                 ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 542, in state
    value = self.native_value
            ^^^^^^^^^^^^^^^^^
  File "/config/custom_components/combustion/sensor.py", line 235, in native_value
    (id, temp) = self.probe_manager.probe_data(self.device_serial_number).core_sensor
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/combustion/probe_manager.py", line 59, in probe_data
    return self.data[serial_number]
           ~~~~~~~~~^^^^^^^^^^^^^^^
KeyError: '100018ce'

(there are a bunch of similar ones, for all the sensors on both thermometers; the “old” in there is what I call one of my thermometers). A lot of them—the log is over 200MB from them.

This time, the CLI command didn’t work, and I had to kill it with a docker from HAOS debug SSH. I disabled the integration and HA is working again.

Did 2024.10 break the integration? I had used it with 2024.09.x and it was fine.

1 Like

I just upgraded Home Assistant and have run into the same issue of Home Assistant not fully starting and see similar log messages. I’ve no idea whether the fact I was using a probe earlier this evening had any impact.

Yikes. I’m unplugging my HA bluetooth proxy as a precaution until we know more.

I reluctantly removed this integration over a month ago as I had been encountering the same issues described here - I turn my Combustion devices on and my entire HAOS instance becomes completely unresponsive and inaccessible until I pull power, cycle repeats until Combustion devices are stowed/off again.

Has anyone discovered a fix?

Can you share the commands you used to kill core. Disable the integration and start core again?

Did you not create an issue for the integration? I just did so that future people do not have to encounter these crashes: Combustion Inc. Integration crashes home assistant core · Issue #68 · legrego/homeassistant-combustion · GitHub

For me, I sshed into the machine ssh root@homeassistant (or whatever hostname/ip is assigned for your ha machine)

And then ha host restart. Which reboots the whole machine.

Supposedly ha core restart is supposed to only restart the core, but for me it just printed:
Error: Another job is running for job group home_assistant_core
So, ha host restart was needed.

There may be a more graceful way… but I think this is at least more graceful than pulling the power…

@legrego is this abandoned?
Just received a combustion to replace a broken Meater+ and would prefer to continue using HA to monitor what’s going on.

1 Like

I had the same thing happen to me.

There is a github issue discussing this here:

I submitted a pull request to add better error handling to the integration, which MIGHT fix this issue:

I haven’t tested the changes with an actual home assistant install to see if the issue is fixed yet. I feel like I need to setup a new dev instance and move one of my bluetooth proxies over to it to do so with actual combustion hardware.