Do you find yourself manually transferring money every week for the kids' allowances? Or maybe you've promised yourself you'll save money for that vacation, but somehow it never happens? What if I told you that your Home Assistant setup could automatically handle your money management, making transfers based on completed chores, workout achievements, or even energy savings?

I just finished my latest project, the Sparebank1 Pengerobot, that lets you automate money transfers between your Norwegian bank accounts directly from Home Assistant. Combined with for example the household chore system I've written about earlier, this opens up incredible possibilities for gamifying and automating your family's finances.

Why automate banking?

Let's face it - manual money management is tedious and error-prone. How many times have you forgotten to transfer the kids' allowance, or promised to put money aside for savings but never got around to it?

With Home Assistant controlling your bank transfers, you can:

  • Automatically pay allowances based on completed chores
  • Save for vacations tied to your fitness goals
  • Reward energy efficiency by moving saved electricity money to a gadgets fund
  • Never forget transfers - everything happens automatically

It's all transparent and traceable through Home Assistant's event system - and you can easily notify yourself on every movement made by the system.

Setting up Sparebank1 Pengerobot

First, you'll need to install the Sparebank1 Pengerobot integration. The setup requires creating OAuth credentials with Sparebank1, but the integration guides you through this process smoothly. On caveat - the credential manager in home assistant can be REALLY slow. So be patient opening it!

Once installed and configured, you can easily transfer money between your accounts using simple service calls:

service: sparebank1_pengerobot.transfer_debit
data:
  device_id: "your_device_id"
  from_account: "sensor.checking_account"
  to_account: "sensor.kids_allowance_account"
  amount: "50.00"
  message: "Weekly allowance - well done!"

⚠️ Currency Costs: The integration supports multiple currencies, but choosing currencies other than NOK may incur additional transfer costs from your bank.

Gamified allowances: From chores to cash

Remember the household chore system I wrote about? Now we can take it to the next level by automatically transferring money based on completed tasks.

Let's extend the existing chore system with automatic payments:

# Calculate weekly allowance based on points
template:
  - sensor:
      - name: "Emma Weekly Allowance"
        unit_of_measurement: "NOK"
        state: >
          {% set points = states('sensor.household_chores_emma_points') | int %}
          {% if points >= 15 %}
            {{ 100 }}
          {% elif points >= 10 %}
            {{ 75 }}
          {% elif points >= 7 %}
            {{ 50 }}
          {% elif points >= 4 %}
            {{ 25 }}
          {% else %}
            {{ 0 }}
          {% endif %}

# Automatic allowance transfer every Sunday
automation:
  - alias: "Weekly Allowance - Emma"
    trigger:
      - platform: time
        at: "09:00:00"
    condition:
      - condition: time
        weekday:
          - sun
      - condition: template
        value_template: "{{ states('sensor.emma_weekly_allowance') | int > 0 }}"
    action:
      - service: sparebank1_pengerobot.transfer_debit
        data:
          device_id: "abc123def456"
          from_account: "sensor.main_account"
          to_account: "sensor.emma_savings_account"
          amount: "{{ states('sensor.emma_weekly_allowance') }}"
          message: "Weekly allowance - {{ states('sensor.household_chores_emma_points') }} points earned!"

      # Reset points for new week
      - service: input_number.set_value
        target:
          entity_id: input_number.household_chores_emma
        data:
          value: 0

      # Send notification
      - service: notify.mobile_app_emma_phone
        data:
          title: "💰 Allowance Transferred!"
          message: "{{ states('sensor.emma_weekly_allowance') }} NOK transferred for {{ states('sensor.household_chores_emma_points') }} points this week!"

The beauty of this system is that it's completely transparent. Kids can see their progress in real-time, and parents never have to remember to make transfers manually. Admittedly, a little scary too!

Vacation savings: Fitness meets finance

Want to motivate yourself to work out while saving for that dream vacation? Let's create an automation that transfers money to your vacation fund based on your fitness achievements.

Assuming you have fitness data in Home Assistant (via Apple Health, Google Fit, or a fitness tracker):

# Track monthly fitness goals
template:
  - binary_sensor:
      - name: "Monthly Fitness Goal Met"
        state: >
          {% set steps_goal = 10000 * now().day %}
          {% set current_steps = states('sensor.daily_steps') | int * now().day %}
          {{ current_steps >= steps_goal }}

  - sensor:
      - name: "Fitness Bonus Amount"
        unit_of_measurement: "NOK"
        state: >
          {% set workout_count = states('sensor.weekly_workouts') | int %}
          {% if workout_count >= 5 %}
            {{ 500 }}
          {% elif workout_count >= 3 %}
            {{ 300 }}
          {% elif workout_count >= 1 %}
            {{ 100 }}
          {% else %}
            {{ 0 }}
          {% endif %}

# Weekly fitness-based savings transfer
automation:
  - alias: "Vacation Savings - Fitness Reward"
    trigger:
      - platform: time
        at: "20:00:00"
    condition:
      - condition: time
        weekday:
          - sun
      - condition: template
        value_template: "{{ states('sensor.fitness_bonus_amount') | int > 0 }}"
    action:
      - service: sparebank1_pengerobot.transfer_debit
        data:
          device_id: "abc123def456"
          from_account: "sensor.checking_account"
          to_account: "sensor.vacation_savings_account"
          amount: "{{ states('sensor.fitness_bonus_amount') }}"
          message: "Fitness reward - {{ states('sensor.weekly_workouts') }} workouts completed!"

      - service: notify.mobile_app_your_phone
        data:
          title: "🏃‍♂️ Fitness Bonus Saved!"
          message: "{{ states('sensor.fitness_bonus_amount') }} NOK transferred to vacation fund for {{ states('sensor.weekly_workouts') }} workouts this week!"

Energy efficiency rewards: Smart savings

Here's a clever idea: automatically save the money you didn't spend on electricity into a separate "gadgets fund" for smart home purchases. Make it fun to freeze, saving money! (I know, it's a stretch).

# Calculate energy savings compared to previous month or any other benchmark you choose
template:
  - sensor:
      - name: "Monthly Energy Savings"
        unit_of_measurement: "NOK"
        state: >
          {% set current_cost = states('sensor.monthly_energy_cost') | float %}
          {% set target_cost = 800 %}  # Your monthly energy budget
          {% set savings = target_cost - current_cost %}
          {{ [0, savings] | max | round(0) }}

# Monthly energy savings transfer
automation:
  - alias: "Energy Savings to Gadgets Fund"
    trigger:
      - platform: time
        at: "10:00:00"
    condition:
      - condition: template
        value_template: "{{ now().day == 1 }}"  # First day of month
      - condition: template
        value_template: "{{ states('sensor.monthly_energy_savings') | float > 50 }}"
    action:
      - service: sparebank1_pengerobot.transfer_debit
        data:
          device_id: "abc123def456"
          from_account: "sensor.checking_account"
          to_account: "sensor.gadgets_savings_account"
          amount: "{{ states('sensor.monthly_energy_savings') }}"
          message: "Energy efficiency bonus - saved {{ states('sensor.monthly_energy_savings') }} NOK on electricity!"

      - service: persistent_notification.create
        data:
          title: "💡 Energy Savings Bonus"
          message: "Great job on energy efficiency! {{ states('sensor.monthly_energy_savings') }} NOK transferred to your gadgets fund."

Smart notifications and transparency

A really nice feature of the Sparebank1 integration is its event system. Every transfer generates detailed events that you can use for notifications and logging:

# Comprehensive transfer logging
automation:
  - alias: "Log All Money Transfers"
    trigger:
      - platform: event
        event_type: sparebank1_pengerobot_money_transferred
    action:
      - service: logbook.log
        data:
          name: "Family Money Transfer"
          message: >
            {% if trigger.event.data.success %}
              ✅ {{ trigger.event.data.amount }} {{ trigger.event.data.currency }}
              transferred from {{ trigger.event.data.from_account }}
              to {{ trigger.event.data.to_account }}
              {% if trigger.event.data.description %}
              Reason: {{ trigger.event.data.description }}
              {% endif %}
              {% if trigger.event.data.warnings %}
              ⚠️ Warnings: {{ trigger.event.data.warnings | join(', ') }}
              {% endif %}
            {% else %}
              ❌ Transfer failed: {{ trigger.event.data.failure_reason }}
              {% if trigger.event.data.error_codes %}
              Error codes: {{ trigger.event.data.error_codes | join(', ') }}
              {% endif %}
            {% endif %}

Security and best practices

Before implementing automated banking, consider these important points:

  • Start Small: Begin with small amounts to test your automations
  • Set Limits: Configure maximum transfer amounts in the integration settings
  • Monitor Events: Keep track of all transfers through Home Assistant's event system
  • Test Thoroughly: Use due dates for scheduled transfers to review them before execution
  • Backup Strategy: Always have manual override capabilities

Wrapping up

Automating your family's finances with Home Assistant and the Sparebank1 Pengerobot integration transforms money management from a chore into an engaging, transparent system. Kids learn the value of work through automated allowances, parents stay motivated with fitness-based savings, and everyone benefits from energy efficiency rewards.

The key is starting simple and building complexity over time. Begin with one automation - perhaps the weekly allowance system - and expand from there.

Previous Post