How to Use Multiple Temperature Probes with the Apollo Automation TEMP-1
4 min read
The Apollo Automation TEMP-1 Temperature Sensor 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. Ha! These are the steps I used to get my TEMP-1 sensor working with three long temperature probes.
Hardware #
Here is the hardware I’m using to make this work:
- Apollo Automation TEMP-1 Temperature Sensor. Duh.
- As many long temperature probes as you need for your use case. For my aquariums, I need three.
- 3.5mm Stereo Audio Splitter Cable. 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.
-
In Home Assistant, access the ESPHome Builder add-on.
-
Find the device and click Edit.
-
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
DEBUGinstead of adding another line.
sensor:
- platform: dallas_temp
one_wire_id: one_wire_bus
name: "Probe discovery"
update_interval: 10s
logger:
level: DEBUG
- 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.
- Download the log file and look for something like this:
[17:25:25][C][dallas.temp.sensor:034]: Address: 0xa200001073615f28 (DS18B20)
- Record this address.
- 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:
- In Home Assistant, access the ESPHome Builder add-on.
- Find the device and click Edit.
- 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
- Add the splitter and connect all the temperature sensor probes.
- Reboot the TEMP-1 device.
- 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.