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