Giter Site home page Giter Site logo

ynab's Introduction

ynab

YNAB component for Home Assistant This component will retreieve the following data from your YNAB budget

  1. To be budgeted amount
  2. Current month's budgeted amount
  3. Current month's remaining balance of any specified category
  4. Current month's budgeted amount of any specific category
  5. Current balance of any specified account
  6. Number of transactions needing approval
  7. Number of uncleared transactions
  8. Number of overspent categories

Update Frequency & YNAB API Rate Limit

To keep api usage low, the sensor updates every 5 minutes which equates to 12 times per hour. YNAB has a rate limit (https://api.ynab.com/#rate-limiting) of 200 requests per hour and that number resets every hour on the hour.

Installation

HACS

  1. Open HACS > Settings
  2. In ADD CUSTOM REPOSITORY box paste this git's URL https://github.com/wxt9861/ynab and select type Integration
  3. Click INSTALL
  4. Make necessary modifications to your configuration.yaml
  5. Restart Home Assistant

Manual install

  1. Using the tool of choice open the directory (folder) for your HA configuration (where you find configuration.yaml).
  2. If you do not have a custom_components directory (folder) there, you need to create it.
  3. In the custom_components directory (folder) create a new folder called ynab.
  4. Download all the files from the custom_components/ynab/ directory (folder) in this repository.
  5. Place the files you downloaded in the new directory (folder) you created.
  6. Add ynab: to your HA configuration (see examples below)
  7. Restart Home Assistant

Configuration options

Key Type Required Default Description
api_key string True None YNAB API key (see instructions below)
name string False sensor.ynab Custom name for the sensor
budget string False last-used Budget ID to use if you have multiple budgets. If none specified, your last used budget will be used
currency string False $ Currency to use as unit of measurement
categories list False None List of YNAB categories to include in the sensor. These are CASE SENSITIVE
accounts list False None List of YNAB accounts to include in the sensor. These are CASE SENSITIVE

Example default configuration.yaml

ynab:
  api_key: <api_key_here>

Example: configuration.yaml with options

ynab:
  api_key: <api_key_here>
  name: "My YNAB Budget"
  budget: <budget_id_here>
  currency: "$"
  categories:
    - "HASS Budget"
    - "Vacation Budget"
  accounts:
    - "Savings Account"

To enable debug

logger:
  logs:
    custom_components.ynab: debug

Generate YNAB API key / Get budget ID

API:

  1. Log on to YNAB
  2. Go to My Budget > My Account > Developer Settings
  3. Click on New Token
  4. Enter your password and click Generate
  5. Copy the token that appears at the top of the page

Budget ID: The budget ID is the combination between the slashes after the URL https://app.youneedabudget.com If you only have one budget, you can omit the budget option, if you have multiple budgets pick a budget you want the sensor to report on. At this time only 1 budget is retrieved.

ynab's People

Contributors

wxt9861 avatar birdwing avatar cameri avatar alasdairh avatar arretx avatar quinnhosler avatar bazgear avatar burnnat avatar rghunter avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.