michaelharley.net

How to Use Multiple Temperature Probes with the Apollo Automation TEMP-1

4 min read

The Apollo Automation TEMP-1 Temperature Sensor (opens in a new tab) is a pretty cool device. It’s ESPHome-based and uses sensor probes to measure temperature. It integrates very well with Home Assistant. It only has a port for a single sensor probe, though, and I have two use cases where I want a single device with multiple sensor probes:

  • I want to monitor the temperature in my freezer and fridge. Instead of buying two TEMP-1 sensor devices, I want to buy a single device with two probes. One will go into the freezer, and one will go into the fridge.
  • I have three aquariums in my office, and I want to monitor the temperature in each aquarium. Again, I’d like to use a single TEMP-1 device but with three probes attached, one for each aquarium.

Brandon at Apollo Automation responded to a support email I submitted and told me this was possible by using Dallas indexing (opens in a new tab). Ha! These are the steps I used to get my TEMP-1 sensor working with three long temperature probes (opens in a new tab).

Hardware #

Here is the hardware I’m using to make this work:

  1. Apollo Automation TEMP-1 Temperature Sensor (opens in a new tab). Duh.
  2. As many long temperature probes (opens in a new tab) as you need for your use case. For my aquariums, I need three.
  3. 3.5mm Stereo Audio Splitter Cable (opens in a new tab). I’m unsure of the exact specs required here, as there are apparently different types. Brandon from Apollo Automation sent me an example, and I based my selection on that. I paid particular attention to the size (3.5mm), the male-to-female type, and whether it was TRS or TRRS. Brandon’s example said TRS, so that’s the one I got.

Discover Sensor Probe Addresses #

Each probe has its own 64-bit hardware address, and in order to use the splitter, we must specify the hardware addresses of our devices. To discover the hardware address, we set up a temporary sensor device in the configuration YAML for the TEMP-1 sensor, reboot the sensor, and the address is reported during boot.

Note: These steps assume the TEMP-1 sensor has already been set up and added to Home Assistant and the ESPHome Builder add-on.

Add Temporary Discovery Sensor #

To start, add a temporary sensor to use for discovery.

  1. In Home Assistant, access the ESPHome Builder add-on.

  2. Find the device and click Edit.

  3. Add the following YAML code and install it onto your TEMP-1 device.

    Note: You may already have a logger level defined. If so, you can just change it to DEBUG instead of adding another line.

sensor:
  - platform: dallas_temp
    one_wire_id: one_wire_bus
    name: "Probe discovery"
    update_interval: 10s

logger:
  level: DEBUG
  1. If you’ve not already done so, plug the first sensor probe directly (don’t use the splitter yet) into the TEMP-1 and reboot your device. I did this by simply unplugging the power, waiting a couple of seconds, then plugging it back in.
  2. Download the log file and look for something like this:
[17:25:25][C][dallas.temp.sensor:034]: Address: 0xa200001073615f28 (DS18B20)
  1. Record this address.
  2. Power down your TEMP-1 device, switch the sensor probe, and go back to step 4. Repeat this process until you have recorded the address for each probe.

Configure the Probes #

With the addresses recorded, configure the devices like so:

  1. In Home Assistant, access the ESPHome Builder add-on.
  2. Find the device and click Edit.
  3. Replace the Probe discovery sensor with the following entries:
sensor:
  - platform: dallas_temp
    one_wire_id: one_wire_bus
    address: 0xa200001073615f28
    name: "Probe 1"
    update_interval: 10s

  - platform: dallas_temp
    one_wire_id: one_wire_bus
    address: 0xc800001073434228
    name: "Probe 2"
    update_interval: 10s

  - platform: dallas_temp
    one_wire_id: one_wire_bus
    address: 0x9300001073ccf928
    name: "Probe 3"
    update_interval: 10s

logger:
  level: INFO
  1. Add the splitter and connect all the temperature sensor probes.
  2. Reboot the TEMP-1 device.
  3. There are now new entries reported on the TEMP-1 device in Home Assistant.

Here is the full YAML file for my device.

substitutions:
  name: apollo-temp-1-r2-95d518
  friendly_name: Tech Cave Apollo TEMP-1

packages:
  Apollo.TEMP-1_R2: github://ApolloAutomation/TEMP-1/Integrations/ESPHome/TEMP-1_Minimal_R2.yaml

esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}

api:
  encryption:
    key: ***

sensor:
  - platform: dallas_temp
    one_wire_id: one_wire_bus
    address: 0xa200001073615f28
    name: "Probe 1"
    update_interval: 10s

  - platform: dallas_temp
    one_wire_id: one_wire_bus
    address: 0xc800001073434228
    name: "Probe 2"
    update_interval: 10s

  - platform: dallas_temp
    one_wire_id: one_wire_bus
    address: 0x9300001073ccf928
    name: "Probe 3"
    update_interval: 10s

logger:
  level: INFO

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

Conclusion #

And that’s it! If you’re not future me reading these words, I do enjoy hearing when people find things I’ve written interesting. If you find a mistake or something isn’t clear enough, just shout it out, and I’ll do my best to improve it.

Signal

Join the conversation