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?