The Work Satisfaction Logger

Every six months I have a meeting with my boss about how things are going at work. There are different areas of focus that I’m supposed to track. Such as: Do I find meaning, mastery and independence. So I made an ESPHome device with linear pot sliders that track those variables in real time, any time I feel like updating them. Those numbers are read into Home Assistant and pushed to a Google Sheets document, where they are summed up and meaned. And of course there’s a graph I can also bring to the meeting, showing how things are going over time. Good for the boss, but it’s interesting to track how it’s going, I think.

Not for everyone this thing, but maybe you can derive some cool ideas from it.

This thing is in Norwegian, FYI.

ESPHome:

esphome:

  name: work-satisfaction-tracker

esp32:

  board: esp32dev

  framework:

    type: arduino

# Enable logging

logger:

# Enable Home Assistant API

api:

  encryption:

    key: "secret_key"

ota:

  password: "OTA_Password"

wifi:

  ssid: !secret wifi_ssid

  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails

  ap:

    ssid: "Work-Satisfaction-Tracker"

    password: "Fallback_Password"

captive_portal:

   

sensor:

  - platform: adc

    pin: 33

    name: "Mestring"

    update_interval: 10s

    attenuation: auto

    unit_of_measurement: "%"

    accuracy_decimals: 0

    filters:

      - calibrate_linear:

          - 0.075 -> 0.0

          - 3.13752 -> 100

  - platform: adc

    pin: 34

    name: "Uavhengighet"

    update_interval: 10s

    attenuation: auto

    unit_of_measurement: "%"

    accuracy_decimals: 0

    filters:

      - calibrate_linear:

          - 0.075 -> 0.0

          - 3.13752 -> 100

  - platform: adc

    pin: 35

    name: "Mening"

    update_interval: 10s

    attenuation: auto

    unit_of_measurement: "%"

    accuracy_decimals: 0

    filters:

      - calibrate_linear:

          - 0.075 -> 0.0

          - 3.13752 -> 100

Automation in HA:

alias: Push Work Satisfaction to Google Sheets
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.mening
      - sensor.mestring
      - sensor.uavhengighet
    for:
      hours: 0
      minutes: 1
      seconds: 0
    enabled: false
  - platform: time_pattern
    minutes: /30
condition:
  - condition: time
    before: "16:00:00"
    after: "08:00:00"
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri
action:
  - service: google_sheets.append_sheet
    data:
      config_entry: entry_id
      worksheet: Work Satisfaction Logger
      data:
        Mening: "{{ states('sensor.mening') }}"
        Mestring: "{{ states('sensor.mestring')}}"
        Uavhengighet: "{{ states('sensor.uavhengighet')}}"
mode: single
3 Likes