{"id":39448019,"url":"https://github.com/geertmeersman/cloudlibrary","last_synced_at":"2026-01-18T04:26:40.296Z","repository":{"id":212720951,"uuid":"732152906","full_name":"geertmeersman/cloudlibrary","owner":"geertmeersman","description":"Home Assistant integration for Cloud Library","archived":false,"fork":false,"pushed_at":"2025-12-15T11:12:52.000Z","size":928,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-17T06:48:03.894Z","etag":null,"topics":["cloud-library","cloudlibrary","home-assistant","homeassistant","homeassistant-integration"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/geertmeersman.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"geertmeersman","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":["https://www.buymeacoffee.com/geertmeersman"]}},"created_at":"2023-12-15T19:23:53.000Z","updated_at":"2025-12-15T11:12:56.000Z","dependencies_parsed_at":"2023-12-15T21:49:22.925Z","dependency_job_id":"4f4f8519-d287-46f5-b7bc-e08aaf4e3c19","html_url":"https://github.com/geertmeersman/cloudlibrary","commit_stats":null,"previous_names":["geertmeersman/cloudlibrary"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/geertmeersman/cloudlibrary","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geertmeersman%2Fcloudlibrary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geertmeersman%2Fcloudlibrary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geertmeersman%2Fcloudlibrary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geertmeersman%2Fcloudlibrary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geertmeersman","download_url":"https://codeload.github.com/geertmeersman/cloudlibrary/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geertmeersman%2Fcloudlibrary/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28529551,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cloud-library","cloudlibrary","home-assistant","homeassistant","homeassistant-integration"],"created_at":"2026-01-18T04:26:39.688Z","updated_at":"2026-01-18T04:26:40.290Z","avatar_url":"https://github.com/geertmeersman.png","language":"Python","funding_links":["https://github.com/sponsors/geertmeersman","https://www.buymeacoffee.com/geertmeersman"],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://github.com/geertmeersman/cloudlibrary/raw/main/images/brand/logo.png\"\n     alt=\"cloudLibrary\"\n     align=\"right\"\n     style=\"width: 200px;margin-right: 10px;\" /\u003e\n\n# cloudLibrary for Home Assistant\n\nA Home Assistant integration to monitor cloudLibrary\n\n## Features\n\ncloudLibrary sensors for\n\n- current(): Fetches the current patron items.\n- history(): Retrieves the patron's borrowing history.\n- holds(): Retrieves the patron's holds.\n- saved(): Retrieves the patron's saved items.\n- featured(): Retrieves the patron's featured items.\n- email(): Retrieves the patron's email settings.\n- notifications(): Retrieves patron notifications (unread or archived).\n\n---\n\n\u003c!-- [START BADGES] --\u003e\n\u003c!-- Please keep comment here to allow auto update --\u003e\n\n[![maintainer](https://img.shields.io/badge/maintainer-Geert%20Meersman-green?style=for-the-badge\u0026logo=github)](https://github.com/geertmeersman)\n[![buyme_coffee](https://img.shields.io/badge/Buy%20me%20an%20Omer-donate-yellow?style=for-the-badge\u0026logo=buymeacoffee)](https://www.buymeacoffee.com/geertmeersman)\n[![discord](https://img.shields.io/discord/1094198226493636638?style=for-the-badge\u0026logo=discord)](https://discord.gg/QhvcnzjYzA)\n\n[![MIT License](https://img.shields.io/github/license/geertmeersman/cloudlibrary?style=flat-square)](https://github.com/geertmeersman/cloudlibrary/blob/master/LICENSE)\n[![hacs_badge](https://img.shields.io/badge/HACS-Default-41BDF5.svg?style=flat-square)](https://github.com/hacs/integration)\n\n[![Open your Home Assistant instance and open the repository inside the Home Assistant Community Store.](https://my.home-assistant.io/badges/hacs_repository.svg?style=flat-square)](https://my.home-assistant.io/redirect/hacs_repository/?owner=geertmeersman\u0026repository=cloudlibrary\u0026category=integration)\n\n[![GitHub issues](https://img.shields.io/github/issues/geertmeersman/cloudlibrary)](https://github.com/geertmeersman/cloudlibrary/issues)\n[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/geertmeersman/cloudlibrary.svg)](http://isitmaintained.com/project/geertmeersman/cloudlibrary)\n[![Percentage of issues still open](http://isitmaintained.com/badge/open/geertmeersman/cloudlibrary.svg)](http://isitmaintained.com/project/geertmeersman/cloudlibrary)\n[![PRs Welcome](https://img.shields.io/badge/PRs-Welcome-brightgreen.svg)](https://github.com/geertmeersman/cloudlibrary/pulls)\n\n[![Hacs and Hassfest validation](https://github.com/geertmeersman/cloudlibrary/actions/workflows/validate.yml/badge.svg)](https://github.com/geertmeersman/cloudlibrary/actions/workflows/validate.yml)\n[![Python](https://img.shields.io/badge/Python-FFD43B?logo=python)](https://github.com/geertmeersman/cloudlibrary/search?l=python)\n\n[![manifest version](https://img.shields.io/github/manifest-json/v/geertmeersman/cloudlibrary/master?filename=custom_components%2Fcloudlibrary%2Fmanifest.json)](https://github.com/geertmeersman/cloudlibrary)\n[![github release](https://img.shields.io/github/v/release/geertmeersman/cloudlibrary?logo=github)](https://github.com/geertmeersman/cloudlibrary/releases)\n[![github release date](https://img.shields.io/github/release-date/geertmeersman/cloudlibrary)](https://github.com/geertmeersman/cloudlibrary/releases)\n[![github last-commit](https://img.shields.io/github/last-commit/geertmeersman/cloudlibrary)](https://github.com/geertmeersman/cloudlibrary/commits)\n[![github contributors](https://img.shields.io/github/contributors/geertmeersman/cloudlibrary)](https://github.com/geertmeersman/cloudlibrary/graphs/contributors)\n[![github commit activity](https://img.shields.io/github/commit-activity/y/geertmeersman/cloudlibrary?logo=github)](https://github.com/geertmeersman/cloudlibrary/commits/main)\n\n\u003c!-- [END BADGES] --\u003e\n\n## Table of contents\n\n- [cloudLibrary for Home Assistant](#cloudlibrary-for-home-assistant)\n  - [Features](#features)\n  - [Table of contents](#table-of-contents)\n  - [Installation](#installation)\n    - [Using HACS (recommended)](#using-hacs-recommended)\n    - [Manual](#manual)\n  - [Configuration](#configuration)\n  - [Contributions are welcome!](#contributions-are-welcome)\n  - [Troubleshooting](#troubleshooting)\n    - [Enable debug logging](#enable-debug-logging)\n    - [Disable debug logging and download logs](#disable-debug-logging-and-download-logs)\n  - [Lovelace examples](#lovelace-examples)\n\n## Installation\n\n### Using [HACS](https://hacs.xyz/) (recommended)\n\n**Click on this button:**\n\n[![Open your Home Assistant instance and open the repository inside the Home Assistant Community Store.](https://my.home-assistant.io/badges/hacs_repository.svg?style=flat-square)](https://my.home-assistant.io/redirect/hacs_repository/?owner=geertmeersman\u0026repository=cloudlibrary\u0026category=integration)\n\n**or follow these steps:**\n\n1. Simply search for `cloudLibrary` in HACS and install it easily.\n2. Restart Home Assistant\n3. Add the 'cloudLibrary' integration via HA Settings \u003e 'Devices and Services' \u003e 'Integrations'\n4. Provide your Robonect account details\n\n### Manual\n\n1. Copy the `custom_components/cloudlibrary` directory of this repository as `config/custom_components/cloudlibrary` in your Home Assistant installation.\n2. Restart Home Assistant\n3. Add the 'cloudLibrary' integration via HA Settings \u003e 'Devices and Services' \u003e 'Integrations'\n4. Provide your cloudLibrary account details\n\nThis integration will set up the following platforms.\n\n| Platform       | Description                               |\n| -------------- | ----------------------------------------- |\n| `cloudlibrary` | Home Assistant component for cloudLibrary |\n\n## Configuration\n\nThe integration needs 3 inputs:\n\n- barcode: Your cloudLibrary login\n- pin: Your cloudLibrary password\n- library id: Your cloudLibrary ID (this you can fetch from the url when you connect to the website: https://ebook.yourcloudlibrary.com/library/\u003c HERE YOU FIND THE LIBRARY ID \u003e/mybooks/current)\n\n## Contributions are welcome!\n\nIf you want to contribute to this please read the [Contribution guidelines](CONTRIBUTING.md)\n\n## Troubleshooting\n\n### Enable debug logging\n\nTo enable debug logging, go to Settings -\u003e Devices \u0026 Services and then click the triple dots for the cloudLibrary integration and click Enable Debug Logging.\n\n![enable-debug-logging](https://raw.githubusercontent.com/geertmeersman/cloudlibrary/main/images/screenshots/enable-debug-logging.gif)\n\n### Disable debug logging and download logs\n\nOnce you enable debug logging, you ideally need to make the error happen. Run your automation, change up your device or whatever was giving you an error and then come back and disable Debug Logging. Disabling debug logging is the same as enabling, but now you will see Disable Debug Logging. After you disable debug logging, it will automatically prompt you to download your log file. Please provide this logfile.\n\n![disable-debug-logging](https://raw.githubusercontent.com/geertmeersman/cloudlibrary/main/images/screenshots/disable-debug-logging.gif)\n\n## Lovelace examples\n\n![current-books](https://raw.githubusercontent.com/geertmeersman/cloudlibrary/main/images/screenshots/current_books.png)\n\n\u003cdetails\u003e\u003csummary\u003eShow markdown code\u003c/summary\u003e\n\n```yaml\ntype: markdown\ntitle: Current books\ncontent: \u003e-\n  \u003ctable\u003e {% for item in\n  states.sensor.cloudlibrary_current.attributes.patron_items -%}\n      \u003ctr\u003e\n          \u003ctd width=\"140\"\u003e\n              \u003cimg height=\"180px\" alt=\"{{ item.title }}\" src=\"{{ item.imageLink }}\"\u003e\n          \u003c/td\u003e\n          \u003ctd valign=\"top\"\u003e\n              \u003cstrong\u003e{{ item.title }}\u003c/strong\u003e\u003cbr\u003e\n              {% for author in item.contributors -%}\n                  {% if 'name' in author -%}\n                      \u003cu\u003e{{ author.name }}\u003c/u\u003e\u0026nbsp;\n                  {% endif -%}\n              {% endfor -%}\n              \u003cbr\u003e\u003cbr\u003e\n              {% if item.borrowedDate != None -%}\n                  Borrowed on \u003cstrong\u003e{{ item.borrowedDate }}\u003c/strong\u003e\u003cbr\u003e\n              {% endif -%}\n              {% if item.returnedDate != None -%}\n                  Returned on \u003cstrong\u003e{{ item.returnedDate }}\u003c/strong\u003e\u003cbr\u003e\n              {% endif -%}\n              {% if item.dueDate != None -%}\n                  Due on \u003cstrong\u003e{{ item.dueDate }}\u003c/strong\u003e\u003cbr\u003e\n              {% endif -%}\n              {% if item.holdAvailableDate != None -%}\n                  Available on \u003cstrong\u003e{{ item.holdAvailableDate }}\u003c/strong\u003e\u003cbr\u003e\n              {% endif -%}\n          \u003c/td\u003e\n      \u003c/tr\u003e\n  {% endfor %} \u003c/table\u003e\n```\n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeertmeersman%2Fcloudlibrary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeertmeersman%2Fcloudlibrary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeertmeersman%2Fcloudlibrary/lists"}