{"id":26667575,"url":"https://github.com/dogmatic69/open-banking-homeassistant","last_synced_at":"2025-04-11T23:50:55.446Z","repository":{"id":43335084,"uuid":"382372877","full_name":"dogmatic69/open-banking-homeassistant","owner":"dogmatic69","description":"Home assistant integration for Open Banking data using the GoCardless APIs (previously Nordigen)","archived":false,"fork":false,"pushed_at":"2025-03-19T20:47:14.000Z","size":212,"stargazers_count":22,"open_issues_count":14,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-19T21:39:56.905Z","etag":null,"topics":["banking","hacs","hacs-integration","home-assistant","homeassistant","integration","nordigen","open-banking","openbanking","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dogmatic69.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-02T14:33:27.000Z","updated_at":"2025-03-19T20:39:34.000Z","dependencies_parsed_at":"2024-10-30T08:42:35.621Z","dependency_job_id":null,"html_url":"https://github.com/dogmatic69/open-banking-homeassistant","commit_stats":null,"previous_names":["dogmatic69/open-banking-homeassistant"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dogmatic69%2Fopen-banking-homeassistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dogmatic69%2Fopen-banking-homeassistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dogmatic69%2Fopen-banking-homeassistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dogmatic69%2Fopen-banking-homeassistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dogmatic69","download_url":"https://codeload.github.com/dogmatic69/open-banking-homeassistant/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248497890,"owners_count":21113984,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["banking","hacs","hacs-integration","home-assistant","homeassistant","integration","nordigen","open-banking","openbanking","python"],"created_at":"2025-03-25T19:38:54.074Z","updated_at":"2025-04-11T23:50:55.415Z","avatar_url":"https://github.com/dogmatic69.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nordigen Home Assistant integration\n\n[![GitHub](https://img.shields.io/github/license/dogmatic69/nordigen-homeassistant)](LICENSE)\n[![CodeFactor](https://www.codefactor.io/repository/github/dogmatic69/nordigen-homeassistant/badge)](https://www.codefactor.io/repository/github/dogmatic69/nordigen-homeassistant)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=dogmatic69_nordigen-homeassistant\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=dogmatic69_nordigen-homeassistant)\n[![CI](https://github.com/dogmatic69/nordigen-homeassistant/actions/workflows/pr.yaml/badge.svg)](https://github.com/dogmatic69/nordigen-homeassistant/actions/workflows/pr.yaml)\n\nThis integration will allow you to have access to banking data for most banks\nin the EU.\n\n\n## Installation\n\nHACS coming soon!\n\nYou will need to register on Nordigen and get an API key before you can run this\nintegration. At this time there is only support for one API key per HA instance.\n\n![Example bank sensor](/pics/sensor-examle.png)\n\n### Installation\n1. Copy / clone this integration into `./config/custom_components/nordigen`\n1. Restart Home Assistant to get the integration loaded\n\n### Configuraiton\n1. Add your config to `./config/configuration.yaml` or similar\n1. Validate the config using UI or CLI.\n1. Restart Home Assistant\n\n### Authentication\n\n![Unauthenticated sensor](/pics/initiate.png)\n\n1. Check the developer section for sensors, there should be a sensor with the account number / reference containing a link to authenticate your account.\n1. Click the link and follow the instructions\n1. Restart Home Assistant one last time\n\nIn the future I hope to be able to make the system a bit more dynamic and user\nfriendly for account onboarding :)\n\n## Configuration\n\n| Name              | Type    | Requirement     | Description                                          |\n| ----------------- | ------- | ------------    | -------------------------------------------          |\n| token             | string  | **Required**    | Your secret API token from Nordigen (use `!secret`!) |\n| requisitions      | array   | **Required**    | List of banking institutions that will be connected  |\n| debug             | boolean | **Optional**    | Still connects to the bank for account name, but balance is randomly generated witout connecting to the bank. (default `False`)  |\n\nThis integration pairs a \"user id\" with a banking institution. Each banking\ninstitution will return one or more accounts, each of which can have multiple\ntypes of balances.\n\nEach requisition can contain the following options:\n\n| Name                | Type    | Requirement     | Description                                          |\n| ------------------- | ------- | ------------    | -------------------------------------------          |\n| enduser_id          | string  | **Required**    | A unique (to your HA install) identifier for the user these accounts will belong to. Generally a UUID |\n| aspsp_id            | string  | **Required**    | The bank code for the institution being connected. This can be found either in the API examples on Nordigen or using the Client Libs (there are hundreds)  |\n| refresh_rate        | integer | **Optional**    | Time in minutes between refresh (default is `240` min / 4 hours). Some banks are limited to 4 requests / day  |\n| ignore_accounts     | array   | **Optional**    | List of account numbers to ignore. For example might add accounts for 2 partners including a joint account (which would show up twice, once for each user).   |\n| available_balance   | boolean | **Optional**    | Create a sensor based on the available balance (default `True`) |\n| booked_balance      | boolean | **Optional**    | Create a sensor based on the booked balance (pending transactions) (default `True`)  |\n| max_historical_days | integer | **Optional**    | Maximum days of history to collect (default `30`) |\n| icon                | string  | **Optional**    | Icon to use for the sensor, defaults to the currency symbol or USD when not available as an icon (default `mdi:currency-usd-circle`) |\n\n### Example Config\n\nAssuming you bank with a single institution, your config may look like this.\n\n```yaml\nnordigen:\n  token: !secret nordigen\n  requisitions:\n    - enduser_id: user-id-1\n      aspsp_id: BANK_A\n```\n\nShould you have more than one institution you use (credit cards are often apart from current acounts)\n\n```yaml\nnordigen:\n  token: !secret nordigen\n  requisitions:\n    - enduser_id: user-id-1\n      aspsp_id: BANK_A\n    - enduser_id: user-id-1\n      aspsp_id: BANK_B\n```\n\nMultiple users with the same institution, but ignoring an account\n\n```yaml\nnordigen:\n  token: !secret nordigen\n  requisitions:\n    - enduser_id: user-id-1\n      aspsp_id: BANK_A\n    - enduser_id: user-id-2\n      aspsp_id: BANK_A\n      ignore_accounts:\n        - ACCOUNT_ID_1234\n```\n\n### Derivative Sensors\n\nYou can build derivative sensors to view your total wealth for example\n\n```yaml\nsensor:\n  - platform: template\n    sensors:\n      my_wealth:\n        unit_of_measurement: SEK\n        value_template: |\n          {{\n            (\n              (states('sensor.account_123_available') | float) +\n              (states('sensor.account_456_available') | float) +\n              (states('sensor.account_789_available') | float) +\n            ) | round(2)\n          }}\n```\n\n### Automations\n\nTurn off your outside lights when your account balance is getting low.\n\n```yaml\nautomation:\n  - alias: \"broke\"\n    trigger:\n      - platform: numeric_state\n          entity_id: sensor.account_123_available\n          below: 2500\n    action:\n    - service: light.turn_off\n        target:\n        entity_id: light.exterior_lighting\n```\n\n## Technical details\n\nI wanted to have good test coverage and could not find a good way to do it within\nthis integration so I've abstracted out all the code into a [standalone python lib].\n\nThat in turn uses a generic API [clinet lib] for Nordigen\n\n## About Nordigen\n\n[Nordigen] is an all-in-one banking data API for building powerful banking, lending\nand finance apps. They offer a free API for fetching account info, balances and\ntransactions. They also handle all the authentication between the banks and do\na little bit of data nomilisation.\n\nCheck out the [Nordigen API] for full details.\n\n\n\n[standalone python lib]: https://pypi.org/project/nordigen-ha-lib/\n[client lib]: https://pypi.org/project/nordigen-python/\n\n[Nordigen]: https://nordigen.com/\n[Nordigen API]: https://nordigen.com/en/account_information_documenation/api-documention/overview/\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdogmatic69%2Fopen-banking-homeassistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdogmatic69%2Fopen-banking-homeassistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdogmatic69%2Fopen-banking-homeassistant/lists"}