Sauna ready notification with light (Saunum)

Description

Get notified on your phone and automatically turn on the sauna light when your sauna reaches the target temperature. Works with any Saunum sauna controller.

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

What it does

  1. Watches for your sauna session to start (climate entity switches from off to heat)
  2. Waits until the current temperature reaches the target temperature you set
  3. Turns on the sauna light
  4. Sends a mobile notification to let you know your sauna is ready

Inputs

Input Description Default
Sauna climate entity The climate entity that controls your sauna Required
Sauna light entity The light entity in your sauna Required
Mobile device Device to send notification to (Mobile App) Required
Notification title Title for the notification “Sauna is Ready!”
Notification message Message body (use {target_temperature} as placeholder) “Your sauna has reached {target_temperature}°C. Enjoy!”

Requirements

Blueprint import

blueprint:
  name: "Sauna ready notification with light"
  description: >-
    Sends a notification and turns on the sauna light when the target
    temperature is reached.
  domain: automation
  input:
    sauna_climate:
      name: "Sauna climate entity"
      description: "The climate entity that controls your sauna"
      selector:
        entity:
          domain: climate
    sauna_light:
      name: "Sauna light entity"
      description: "The light entity in your sauna"
      selector:
        entity:
          domain: light
    notify_device:
      name: "Mobile device"
      description: "Device to send notification to"
      selector:
        device:
          filter:
            - integration: mobile_app
    notification_title:
      name: "Notification title"
      description: "Title for the notification"
      default: "Sauna is ready!"
      selector:
        text:
    notification_message:
      name: "Notification message"
      description: "Message body"
      default: "Your sauna has reached {target_temperature}°C. Enjoy!"
      selector:
        text:
          multiline: true

mode: restart

variables:
  sauna_climate: !input sauna_climate
  notification_message: !input notification_message

triggers:
  - trigger: state
    entity_id: !input sauna_climate
    to: heat
    from: "off"
    id: session_start

actions:
  - wait_template: >-
      {% set current = state_attr(sauna_climate, 'current_temperature') | float(0) %}
      {% set target = state_attr(sauna_climate, 'temperature') | float(0) %}
      {{ current >= target }}
    continue_on_timeout: false
  - action: light.turn_on
    target:
      entity_id: !input sauna_light
  - device_id: !input notify_device
    domain: mobile_app
    type: notify
    title: !input notification_title
    message: >-
      {% set target_temperature = state_attr(sauna_climate, 'temperature') | int %}
      {{ notification_message.replace('{target_temperature}', target_temperature | string) }}