ThermoWorks Smoke


The thermoworks_smoke sensor platform pulls data for your ThermoWorks Smoke Thermometer. This requires a Smoke WiFi Gateway with an internet connection.

You will need to have previously registered your smoke to your account via the mobile app and provide the email and password you used to in the configuration for this sensor in order to connect and pull your data.

Configuration

To add the sensors to your installation, add the following to your configuration.yaml file:

# Example configuration.yaml entry
sensor:
  - platform: thermoworks_smoke
    email: "your email here"
    password: !secret thermoworks_pass

Configuration Variables

email string Required

The email address with the device registered in the thermoworks smoke mobile app.

password string Required

The password registered in the thermoworks smoke mobile app.

monitored_conditions list (Optional)

The sensors to add. Default is probe1 and probe2. The full list is probe1, probe2, probe1_min, probe1_max, probe2_min, probe2_max.

exclude list (Optional)

Device serial numbers to ignore.

Examples

This section includes some examples of how to use this sensor.

Only Probe 1

This will show only Probe 1 with min and max data.

# Example configuration.yaml entry
sensor:
  - platform: thermoworks_smoke
    email: "your email here"
    password: !secret thermoworks_pass
    monitored_conditions:
    - probe1
    - probe1_min
    - probe1_max

Ignore a Device

This will exclude a device from creating sensors. You would replace "00:00:00:00:00:00" with your device’s serial number.

# Example configuration.yaml entry
sensor:
  - platform: thermoworks_smoke
    email: "your email here"
    password: !secret thermoworks_pass
    exclude:
    - "00:00:00:00:00:00"

Notify when Probe 1 goes above a certain temperature

This will use an automation to trigger a notification when Probe 1 goes above a temperature stored in an input_number variable. By default, your smoke is named “My Smoke” in the app. If you have changed it you will need to change the sensor name from my_smoke_probe_1 to your_name_probe_1.

# Example configuration.yaml entry
sensor:
  - platform: thermoworks_smoke
    email: "your email here"
    password: !secret thermoworks_pass

input_number:
  smoke_probe_1_threshold:
    name: Smoke Probe 1 Threshold
    min: -40
    max: 500
    step: 0.5
    unit_of_measurement: "°F"
    icon: mdi:thermometer

automation:
  - alias: "Alert when My Smoke Probe 1 is above threshold"
    trigger:
      platform: template
      value_template: >-
        {% if (states("sensor.my_smoke_probe_1") | float) > (states("input_number.smoke_probe_1_threshold") | float) %}
          True
        {% else %}
          False
        {% endif %}
    action:
      - service: notify.all
        data:
          message: >
            {{- state_attr('sensor.my_smoke_probe_1','friendly_name') }} is above
            {{- ' '+states("input_number.smoke_probe_1_threshold") -}}
            {{- state_attr('sensor.my_smoke_probe_1','unit_of_measurement') }} at
            {{- ' '+states("sensor.my_smoke_probe_1") -}}
            {{- state_attr('sensor.my_smoke_probe_1','unit_of_measurement') }}