#:########################################################################################:#
# Package: Refrigerator Temperature MQTT Publishing
# File:    fridge_temperatures.yaml
# Version: v1.0.0
# Date:    2024-09-04
#
# Purpose:
#   Publishes refrigerator and freezer temperature changes to household MQTT
#   status topics for use by external displays and consumers.
#
# Behaviour:
#   - Publishes the source sensor state whenever a valid temperature changes.
#   - Suppresses unknown and unavailable source states.
#   - Covers the drinks fridge, drinks freezer, and main kitchen fridge.
#
# Dependencies:
#   - The three configured Home Assistant temperature sensors.
#   - Home Assistant MQTT integration and broker connectivity.
#
# Version History:
#   - v1.0.0 (2024-09-04): Initial refrigerator temperature publishing package.
#:########################################################################################:#

automation:
  - id: publish_fridge_temps_drinks_fridge
    alias: publish_fridge_temps_drinks_fridge
    trigger:
      - platform: state
        entity_id: sensor.drinks_fridge_environment_lcd_btt01_temperature
        not_to:
          - "unavailable"
          - "unknown"
    action:
      - service: mqtt.publish
        data:
          topic: "viewroad-status/fridges/drinks-fridge"
          payload: "{{ trigger.to_state.state }}"
    mode: single

  - id: publish_freezer_temps_drinks_fridge
    alias: pub_freezer_temps_drinks_fridge
    trigger:
      - platform: state
        entity_id: sensor.drinks_freezer_environment_lcd_btt02_temperature
        not_to:
          - "unavailable"
          - "unknown"
    action:
      - service: mqtt.publish
        data:
          topic: "viewroad-status/fridges/drinks-freezer"
          payload: "{{ trigger.to_state.state }}"
    mode: single

  - id: publish_main_kitchen_fridge_temp_zth08
    alias: publish_main_kitchen_fridge_temp_zth08
    trigger:
      - platform: state
        entity_id: sensor.main_kitchen_fridge_temp_zth08
        not_to:
          - "unavailable"
          - "unknown"
    action:
      - service: mqtt.publish
        data:
          topic: "viewroad-status/fridges/mainkitchen_fridge"
          payload: "{{ trigger.to_state.state }}"
    mode: single
