Context

Original inspiration: probably Tim Ferris with Jim Collins Most recent inspiration: Cal Newport with David Dewane

I have dabbled with this idea for quite a while, and finally got around to actually implementing this. I wanted it to be done within 30 minutes and I landed on this solution:

  1. Create an entity in Home Assistant for tracking it.
  2. Use a notification from the phone app to remind me, and set the value from the notification if possible.

Code

Entity code:

# configuration.yaml

input_number:
  collins_scale_rating:
    name: Daily Collins Scale Rating
    initial: 0
    min: -2
    max: 2
    step: 1
    mode: box # Use 'slider' if you prefer a slider in the UI
    icon: mdi:scale # Optional icon

Automation code:

# automations.yaml

- id: 'daily_collins_scale_prompt'
  alias: Daily Collins Scale Prompt
  description: Send a daily notification to rate the day on the Collins scale.
  trigger:
    - platform: time
      at: "22:00:00" 
  condition: []
  action:
    - service: notify.mobile_app_YOUR_DEVICE_ID 
      data:
        message: "Rate your day on the Collins Scale (-2 to +2)"
        title: "Daily Check-in"
        data:
          actions:
            - action: "-1"
              title: "-1 (Bad)"
            - action: "0"
              title: "0 (Okay)"
            - action: "1"
              title: "+1 (Good)"
  mode: single
# automations.yaml

- id: 'set_collins_scale_from_notification'
  alias: Set Collins Scale from Notification
  description: Sets the Collins scale rating using the value from the notification action button tap.
  trigger:
    - platform: event
      event_type: mobile_app_notification_action
  condition: []
  action:
    - service: input_number.set_value
      target:
        entity_id: input_number.collins_scale_rating
      data:
        # Get the action string (e.g., "-2", "0", "1") from the trigger event
        # and convert it to an integer number for the service call
        value: ""
  mode: single

Problems and future

  • I only get 3 notification buttons, so I trimmed it to be -1, 0, and +1 and I go into the dashboard for the more extreme cases.
  • I will at some point want to move this out into my own CSV file in the diary section of the notes, but this is the next step.