Profanity Piggy-Banking using Home-Assistant


… so the toddler is starting to speak. The word count is exploding and where or when the kid is learning new words is very much out of the control of the parents.

It’s time to…

… and since capital punishment is the best punishment, given the raised capital is for a good cause, lets start a profanity counter for everyone in the house! It can be reset by paying into the education fund of the toddler. It’s a bit like a CO2-tax 🙂

Since Home Assistant is a very present UI on everybody’s smartphone, it’s the best way to ensure the counter will be always present and no bad words go unpunished.

Implementation with Home Assistant is super easy, and requires no external code whatsoever – thanks to the integrated Counter function! The best thing: the UI lets you increase the counter by tapping on the poop icon!!!

put this in configuration.yaml:

# profanity counters
counter:
    person_1_profanity_counter:
        name: person_1
        icon: mdi:emoticon-poop
    person_2_profanity_counter:
        name: person_2
        icon: mdi:emoticon-poop
    person_3_profanity_counter:
        name: person_3
        icon: mdi:emoticon-poop
    person_4_profanity_counter:
        name: person_4
        icon: mdi:emoticon-poop
    person_5_profanity_counter:
        name: person_5
        icon: mdi:emoticon-poop
    person_6_profanity_counter:
        name: person_6
        icon: mdi:emoticon-poop

put this in your lovelace configuration:

type: grid
title: Profanity Piggy-Bank
cards:
  - type: button
    tap_action:
      action: call-service
      service: counter.increment
      service_data:
        entity_id: counter.person_1_profanity_counter
    entity: counter.person_1_profanity_counter
    show_state: true
  - type: button
    tap_action:
      action: call-service
      service: counter.increment
      service_data:
        entity_id: counter.person_2_profanity_counter
    entity: counter.person_2_profanity_counter
    show_state: true
  - type: button
    tap_action:
      action: call-service
      service: counter.increment
      service_data:
        entity_id: counter.person_3_profanity_counter
    entity: counter.person_3_profanity_counter
    show_state: true
  - type: button
    tap_action:
      action: call-service
      service: counter.increment
      service_data:
        entity_id: counter.person_4_profanity_counter
    entity: counter.person_4_profanity_counter
    show_state: true
  - type: button
    tap_action:
      action: call-service
      service: counter.increment
      service_data:
        entity_id: counter.person_5_profanity_counter
    entity: counter.person_5_profanity_counter
    show_state: true
  - type: button
    tap_action:
      action: call-service
      service: counter.increment
      service_data:
        entity_id: counter.person_6_profanity_counter
    entity: counter.person_6_profanity_counter
    show_state: true
  - type: markdown
    content: |
      pay 1€ per profanity to reset
columns: 4
square: false