{"id":21379052,"url":"https://github.com/faserf/ha-foodsharing","last_synced_at":"2026-04-16T19:00:53.271Z","repository":{"id":37391050,"uuid":"504225349","full_name":"FaserF/ha-foodsharing","owner":"FaserF","description":"Homeassistant Integration for foodsharing.de","archived":false,"fork":false,"pushed_at":"2026-04-14T11:03:15.000Z","size":366,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-14T11:25:14.511Z","etag":null,"topics":["hacs-integration","home-assistant","integration"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FaserF.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"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":"faserf","custom":"https://paypal.me/FaserF"}},"created_at":"2022-06-16T16:18:51.000Z","updated_at":"2026-04-14T11:03:19.000Z","dependencies_parsed_at":"2025-01-15T09:04:20.522Z","dependency_job_id":"df4ede24-8010-4c79-818e-9847b00b70a2","html_url":"https://github.com/FaserF/ha-foodsharing","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/FaserF/ha-foodsharing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FaserF%2Fha-foodsharing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FaserF%2Fha-foodsharing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FaserF%2Fha-foodsharing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FaserF%2Fha-foodsharing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FaserF","download_url":"https://codeload.github.com/FaserF/ha-foodsharing/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FaserF%2Fha-foodsharing/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31899986,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"ssl_error","status_checked_at":"2026-04-16T18:21:47.142Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["hacs-integration","home-assistant","integration"],"created_at":"2024-11-22T10:16:47.857Z","updated_at":"2026-04-16T19:00:53.264Z","avatar_url":"https://github.com/FaserF.png","language":"Python","funding_links":["https://github.com/sponsors/faserf","https://paypal.me/FaserF","https://github.com/sponsors/FaserF)"],"categories":[],"sub_categories":[],"readme":"[![hacs_badge](https://img.shields.io/badge/HACS-Default-41BDF5.svg?style=for-the-badge)](https://github.com/hacs/integration)\n[![GitHub Release](https://img.shields.io/github/v/release/FaserF/ha-foodsharing?style=for-the-badge)](https://github.com/FaserF/ha-foodsharing/releases)\n\n# Foodsharing.de Home Assistant Integration 🧺\n\nA comprehensive [Home Assistant](https://www.home-assistant.io/) custom integration for [Foodsharing.de](https://foodsharing.de/) — monitor nearby food baskets, fairteiler locations, pickup schedules, messages, and notifications directly from your smart home dashboard. This integration utilizes the official Foodsharing.de API.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/1/16/Foodsharing-Logo_dunkel_Gabel.png\" alt=\"Foodsharing.de\" width=\"280\"\u003e\n  \u003cbr\u003e\n  \u003cimg src=\"images/sensor.png\" alt=\"Foodsharing.de Sensor\" width=\"300\"\u003e\n\u003c/p\u003e\n\n---\n\n## Features ✨\n\n| Feature | Description |\n|---------|-------------|\n| 🧺 **Basket Sensor** | Monitor the number of available food baskets near your location, with full details as attributes |\n| 📍 **Fairteiler Sensor** | Monitor the number of nearby Fairteiler locations |\n| 📊 **Statistics** | View global, regional, and user-specific Foodsharing statistics (weight saved, rescue missions, etc.) |\n| 👥 **Buddies \u0026 Bananas** | Track your buddy count and received thanks (bananas) |\n| 😴 **Sleeping Hat** | Track your active/sleeping status (vacation mode) |\n| 📍 **Geo-Location** | Baskets and Fairteiler points displayed on the HA map with calculated distances |\n| 📅 **Pickup Calendar** | Your upcoming pickups shown as calendar events |\n| 🔔 **Notifications Sensor** | Track unread bell notifications |\n| 💬 **Messages Sensor** | Track unread conversation messages |\n| 🔘 **Basket Buttons** | Request nearby baskets or close your own baskets with one tap |\n| 🔧 **Service Calls** | `foodsharing.request_basket` service for use in automations |\n| 🌍 **Multi-Location** | Add the integration multiple times with different search areas |\n| 🔑 **Keyword Matching** | Filter baskets by keywords and get events when matches are found |\n| 🩺 **HA Repairs** | Automatic repair notifications for authentication failures or API outages |\n| 📊 **Diagnostics** | Built-in diagnostics support with automatic redaction of sensitive data |\n| 🌐 **Translations** | Full English and German translations |\n\n---\n\n## ❤️ Support This Project\n\n\u003e I maintain this integration in my **free time alongside my regular job** — bug hunting, new features, testing on real devices. Test hardware costs money, and every donation helps me stay independent and dedicate more time to open-source work.\n\u003e\n\u003e **This project is and will always remain 100% free.** There are no \"Premium Upgrades\", paid features, or subscriptions. Every feature is available to everyone.\n\u003e\n\u003e Donations are completely voluntary — but the more support I receive, the less I depend on other income sources and the more time I can realistically invest into these projects. 💪\n\n\u003cdiv align=\"center\"\u003e\n\n[![GitHub Sponsors](https://img.shields.io/badge/Sponsor%20on-GitHub-%23EA4AAA?style=for-the-badge\u0026logo=github-sponsors\u0026logoColor=white)](https://github.com/sponsors/FaserF)\u0026nbsp;\u0026nbsp;\n[![PayPal](https://img.shields.io/badge/Donate%20via-PayPal-%2300457C?style=for-the-badge\u0026logo=paypal\u0026logoColor=white)](https://paypal.me/FaserF)\n\n\u003c/div\u003e\n\n---\n\n## Installation 🛠️\n\n### 1. Using HACS (Recommended)\n\nThis integration is available in the **HACS Default Repository**.\n\n1. Open HACS.\n2. Search for **\"Foodsharing\"**.\n3. Click **Download**.\n4. Restart Home Assistant.\n\n[![Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.](https://my.home-assistant.io/badges/hacs_repository.svg)](https://my.home-assistant.io/redirect/hacs_repository/?owner=FaserF\u0026repository=ha-foodsharing\u0026category=integration)\n\n### 2. Manual Installation\n\n1. Download the latest [Release](https://github.com/FaserF/ha-foodsharing/releases/latest).\n2. Extract the ZIP file.\n3. Copy the `foodsharing` folder to `\u003cconfig\u003e/custom_components/`.\n4. Restart Home Assistant.\n\n---\n\n## Configuration ⚙️\n\n1. Go to **Settings** → **Devices \u0026 Services**.\n2. Click **Add Integration**.\n3. Search for **\"Foodsharing.de\"**.\n4. Enter your credentials and select a location on the map.\n\n### Configuration Options\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| **Email** | Your Foodsharing.de account email | *required* |\n| **Password** | Your Foodsharing.de account password | *required* |\n| **Location** | Pin on the map to set your search center | HA home location |\n| **Search Radius** | Derived from the map circle radius (in km) | 7 km |\n| **Keywords** | Comma-separated filter keywords (optional) | *empty* |\n| **Scan Interval** | How often to poll the API (in minutes) | 2 min |\n\n\u003e [!TIP]\n\u003e You can add the integration multiple times with different locations to monitor several areas at once.\n\nAll options can be changed later via **Settings → Devices \u0026 Services → Foodsharing → Configure**.\n\n---\n\n## Entities Created 📋\n\n### Sensors\n\n\u003e [!NOTE]\n\u003e Statistics and secondary account sensors (Buddies, Bananas, Sleeping Hat, Region Stats) are **disabled by default** to keep your dashboard clean. You can easily enable them in the Home Assistant entity settings if needed.\n\n| Entity | Type | State | Attributes |\n|--------|------|-------|------------|\n| `sensor.foodsharing_baskets_*` | Sensor | Number of nearby baskets | `baskets` (list), `fairteiler` (list), `basket_count`, `fairteiler_count`, `latitude`, `longitude` |\n| `sensor.foodsharing_fairteiler_*` | Sensor | Number of nearby Fairteiler | `fairteiler` (list), `fairteiler_count`, `latitude`, `longitude` |\n| `sensor.foodsharing_unread_messages` | Sensor | Number of unread messages | — |\n| `sensor.foodsharing_notifications` | Sensor | Number of unread bell notifications | — |\n| `sensor.foodsharing_upcoming_pickups` | Sensor | Number of upcoming pickups | `pickups` (list) |\n| `sensor.foodsharing_global_statistics` | Sensor | Total weight saved globally (kg) | `recue_missions`, `foodsavers`, `active_fairteiler`, etc. |\n| `sensor.foodsharing_user_stats_*` | Sensor | Total rescues by user | `weight_saved_kg`, `rating`, `member_since` |\n| `sensor.foodsharing_region_stats_*` | Sensor | Total weight saved in user's region (kg) | `foodsavers`, `corporations`, `fairteiler`, etc. |\n| `sensor.foodsharing_buddies_*` | Sensor | Number of buddies | `buddies` (list) |\n| `sensor.foodsharing_bananas_*` | Sensor | Number of received bananas (thanks) | `given` |\n\n### Binary Sensors\n\n| Entity | Type | Description |\n|--------|------|-------------|\n| `binary_sensor.foodsharing_sleeping_hat_*` | Binary Sensor | **On** if the user is currently in \"sleeping\" mode (vacation). |\n\n### Geo-Location Entities\n\n| Entity | Type | State |\n|--------|------|-------|\n| `geo_location.basket_*` | Geo-Location | Distance from search center (km) |\n| `geo_location.fairteiler_*` | Geo-Location | Distance from search center (km) |\n\n### Calendar\n\n| Entity | Type | Description |\n|--------|------|-------------|\n| `calendar.foodsharing_pickups` | Calendar | Your scheduled pickup events |\n\n### Buttons\n\n| Entity | Type | Description |\n|--------|------|-------------|\n| `button.foodsharing_\u003centry_id\u003e_loc_\u003cidx\u003e_request_basket_\u003cslot\u003e` | Button | **Dynamic**: Requests the N-th available basket (Disabled by default). |\n| `button.foodsharing_\u003cemail\u003e_close_basket_\u003cslot\u003e` | Button | **Dynamic**: Closes the N-th own active basket (Disabled by default). |\n\n### Services\n\n| Service | Description | Fields |\n|---------|-------------|--------|\n| `foodsharing.request_basket` | Request a basket by ID | `basket_id` (required), `email` (optional) |\n| `foodsharing.close_basket` | Close your own active basket by ID | `basket_id` (required), `email` (optional) |\n\n---\n\n## Basket Sensor Attributes 📦\n\nThe basket sensor exposes the full list of baskets as the `baskets` attribute. Each basket in the list contains:\n\n| Key | Description | Example |\n|-----|-------------|---------|\n| `id` | Basket ID | `123456` |\n| `description` | Basket description text | `\"Fresh bread and vegetables\"` |\n| `available_until` | When the basket expires | `\"Sun Feb 23 18:00:00 2025\"` |\n| `picture` | Image URL (or `null`) | `\"https://foodsharing.de/images/...\"` |\n| `latitude` | Basket latitude | `48.1234` |\n| `longitude` | Basket longitude | `11.5678` |\n| `maps` | Google Maps link | `\"https://www.google.com/maps/...\"` |\n| `keyword_match` | Whether it matches your keywords | `true` / `false` |\n\n---\n\n## Events 🔔\n\nThe integration fires custom events that you can use as automation triggers:\n\n| Event | Description | Data |\n|-------|-------------|------|\n| `foodsharing_keyword_match` | A new basket matches your keywords | Full basket data |\n| `foodsharing_new_message` | A new unread message arrived | `conversation_id`, `message` |\n| `foodsharing_new_bell` | A new bell notification | Bell data |\n| `foodsharing_fairteiler_post` | New post on a fairteiler wall | `fairteiler_id`, `fairteiler_name`, `post` |\n\n---\n\n## HA-Whatsapp Support\n\n\u003e [!TIP]\n\u003e This integration works perfectly with the [Home Assistant WhatsApp Integration](https://github.com/FaserF/ha-whatsapp) by the same author!\n\n---\n\n## Automation Examples 🤖\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e📬 Professional Basket Notification (Telegram/Mobile)\u003c/b\u003e\u003c/summary\u003e\n\nThis robust example triggers when the basket count *increases* and handles missing data gracefully. **Note:** For Telegram, the picture link is placed first to ensure it's used for the message preview.\n\n```yaml\nautomation:\n  - alias: \"Foodsharing: New baskets available\"\n    trigger:\n      - platform: state\n        entity_id: sensor.foodsharing_baskets_48_1180_11_6833\n    condition:\n      - condition: template\n        value_template: \u003e\n          {% set to_state = trigger.to_state.state | int(0) %}\n          {% set from_state = trigger.from_state.state | int(0) if trigger.from_state is not none else 0 %}\n          {{ to_state \u003e from_state }}\n    action:\n      - service: telegram_bot.send_message\n        data:\n          target: !secret telegram_group_id\n          parse_mode: html\n          message: |\n            {% set baskets = state_attr(trigger.entity_id, 'baskets') %}\n            {% if baskets and baskets | length \u003e 0 %}\n              {% set b = baskets[0] %}\n              {% if b.picture %}\n              🖼️ \u003ca href=\"{{ b.picture }}\"\u003ePreview Image\u003c/a\u003e\n              {% endif %}\n\n              🧺 \u003cb\u003eNEW FOOD BASKET {% if b.user_name %}FROM {{ b.user_name | upper | e }} {% endif %}AVAILABLE\u003c/b\u003e\n\n              \u003cb\u003eDescription:\u003c/b\u003e\n              {{ b.description | e }}\n\n              {% if b.available_until and b.available_until != 'Unknown' %}\n              ⏰ \u003cb\u003eAvailable until:\u003c/b\u003e {{ b.available_until | e }}\n              {% endif %}\n\n              ---\n              {% if b.maps and b.maps != 'unavailable' and b.latitude and b.longitude %}\n              📍 \u003ca href=\"{{ b.maps }}\"\u003eOpen in Google Maps\u003c/a\u003e\n              {% endif %}\n              \n              🔗 \u003ca href=\"https://foodsharing.de/essenskoerbe/{{ b.id }}\"\u003eOpen on Foodsharing.de\u003c/a\u003e\n\n              ⚖️ \u003ca href=\"https://wiki.foodsharing.network/wiki/Verhaltensregeln:Verhaltensregeln_-_Erl%C3%A4uterungen#B)_Verhalten_bei_Abholungen\"\u003eFoodsharing Conduct Rules\u003c/a\u003e\n            {% endif %}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e🔑 Detailed Keyword Match Notification\u003c/b\u003e\u003c/summary\u003e\n\nReacts to the `foodsharing_keyword_match` event for instant notifications including all available data.\n\n```yaml\nautomation:\n  - alias: \"Foodsharing: Keyword match found\"\n    trigger:\n      - platform: event\n        event_type: foodsharing_keyword_match\n    action:\n      - service: notify.mobile_app_your_phone\n        data:\n          title: \"🎯 Foodsharing Keyword Match!\"\n          message: \u003e\n            {% if trigger.event.data.user_name %}From {{ trigger.event.data.user_name }}: {% endif %}{{ trigger.event.data.description }}\n            {% if trigger.event.data.available_until and trigger.event.data.available_until != 'Unknown' %}\n            (Until {{ trigger.event.data.available_until }})\n            {% endif %}\n          data:\n            {% if trigger.event.data.picture %}\n            image: \"{{ trigger.event.data.picture }}\"\n            {% endif %}\n            clickAction: \"https://foodsharing.de/essenskoerbe/{{ trigger.event.data.id }}\"\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e📋 Detailed basket notification with image\u003c/b\u003e\u003c/summary\u003e\n\n```yaml\nautomation:\n  - alias: \"Foodsharing: Detailed basket alert\"\n    trigger:\n      - platform: numeric_state\n        entity_id: sensor.foodsharing_baskets_48_1180_11_6833\n        above: 0\n    action:\n      - service: notify.mobile_app_your_phone\n        data:\n          title: \"🧺 Foodsharing Basket Available\"\n          message: \u003e-\n            {% set baskets = state_attr('sensor.foodsharing_baskets_48_1180_11_6833', 'baskets') %}\n            {% if baskets | length \u003e 0 %}\n              {% set b = baskets[0] %}\n              {{ b.description }}\n\n              Available until: {{ b.available_until }}\n\n              {% if b.maps != 'unavailable' %}\n              Maps: {{ b.maps }}\n              {% endif %}\n\n              Link: https://foodsharing.de/essenskoerbe/{{ b.id }}\n            {% endif %}\n          data:\n            image: \u003e-\n              {% set baskets = state_attr('sensor.foodsharing_baskets_48_1180_11_6833', 'baskets') %}\n              {% if baskets | length \u003e 0 and baskets[0].picture %}\n                {{ baskets[0].picture }}\n              {% endif %}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e💬 New message notification\u003c/b\u003e\u003c/summary\u003e\n\n```yaml\nautomation:\n  - alias: \"Foodsharing: New message received\"\n    trigger:\n      - platform: event\n        event_type: foodsharing_new_message\n    action:\n      - service: notify.mobile_app_your_phone\n        data:\n          title: \"💬 Foodsharing Message\"\n          message: \"You have a new unread message on Foodsharing.de!\"\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e🔔 Bell notification\u003c/b\u003e\u003c/summary\u003e\n\n```yaml\nautomation:\n  - alias: \"Foodsharing: New notification\"\n    trigger:\n      - platform: numeric_state\n        entity_id: sensor.foodsharing_notifications\n        above: 0\n    action:\n      - service: notify.mobile_app_your_phone\n        data:\n          title: \"🔔 Foodsharing\"\n          message: \u003e-\n            You have {{ states('sensor.foodsharing_notifications') }} unread notification(s).\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e📅 Pickup reminder (1 hour before)\u003c/b\u003e\u003c/summary\u003e\n\n```yaml\nautomation:\n  - alias: \"Foodsharing: Pickup reminder\"\n    trigger:\n      - platform: calendar\n        event: start\n        offset: \"-01:00:00\"\n        entity_id: calendar.foodsharing_pickups\n    action:\n      - service: notify.mobile_app_your_phone\n        data:\n          title: \"📅 Upcoming Pickup\"\n          message: \u003e-\n            Don't forget your bags! \"{{ trigger.calendar_event.summary }}\" starts in 1 hour.\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e🏪 Detailed Fairteiler Update\u003c/b\u003e\u003c/summary\u003e\n\nNotifies you about new posts on a Fairteiler wall (e.g., \"Fairteiler is full\").\n\n```yaml\nautomation:\n  - alias: \"Foodsharing: Fairteiler status update\"\n    trigger:\n      - platform: event\n        event_type: foodsharing_fairteiler_post\n    action:\n      - service: telegram_bot.send_message\n        data:\n          target: !secret telegram_group_id\n          parse_mode: html\n          message: |\n            📢 \u003cb\u003eNEW ENTRY AT FAIRTEILER\u003c/b\u003e\n            \n            🏫 \u003cb\u003eLocation:\u003c/b\u003e {{ trigger.event.data.fairteiler_name | e }}\n            👤 \u003cb\u003eFrom:\u003c/b\u003e {{ (trigger.event.data.post.user_name if trigger.event.data.post.user_name else 'Unknown') | e }}\n\n            \u003cb\u003eMessage:\u003c/b\u003e\n            {{ trigger.event.data.post.body | e }}\n\n            ---\n            🔗 \u003ca href=\"https://foodsharing.de/fairteiler/{{ trigger.event.data.fairteiler_id }}\"\u003eOpen Fairteiler on Foodsharing.de\u003c/a\u003e\n            ⚖️ \u003ca href=\"https://wiki.foodsharing.network/wiki/Verhaltensregeln:Verhaltensregeln_-_Erl%C3%A4uterungen#B)_Verhalten_bei_Abholungen\"\u003eConduct Rules\u003c/a\u003e\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e🔧 Request a basket via service call\u003c/b\u003e\u003c/summary\u003e\n\n```yaml\nautomation:\n  - alias: \"Foodsharing: Auto-request keyword match\"\n    trigger:\n      - platform: event\n        event_type: foodsharing_keyword_match\n    action:\n      - service: foodsharing.request_basket\n        data:\n          basket_id: \"{{ trigger.event.data.id }}\"\n```\n\n\u003c/details\u003e\n\n---\n\n## Blueprints 📘\n\nA ready-to-use **Pickup Reminder** blueprint is included in the `blueprints/` folder. To install it:\n\n1. Copy `blueprints/automation/foodsharing/pickup_reminder.yaml` to your HA `blueprints/automation/` directory.\n2. Go to **Settings → Automations → Blueprints** and configure it.\n\n---\n\n## HA Repairs 🩺\n\nThe integration uses Home Assistant's built-in **Repairs** system to notify you of problems:\n\n| Issue | When it appears | What to do |\n|-------|----------------|------------|\n| **Authentication failed** | Your password was changed or credentials expired | Go to integration options and update email/password |\n| **API offline** | Foodsharing.de returns a 503 error | Wait — data resumes automatically when the API recovers |\n\nRepair items appear in **Settings → System → Repairs**.\n\n---\n\n## Bug Reporting 🐛\n\nOpen an issue at [GitHub Issues](https://github.com/FaserF/ha-foodsharing/issues). Please include a log with debugging enabled.\n\nTo enable debug logging, add this to your `configuration.yaml`:\n\n```yaml\nlogger:\n  logs:\n    custom_components.foodsharing: debug\n```\n\nThen find the log at **Settings → System → Logs** → search for `foodsharing` → **Load full logs**.\n\n---\n\n## API Documentation 📖\n\nThis integration is built on the **official Foodsharing.de API**. For more information, technical details, or to explore available endpoints for testing, visit the official [Foodsharing DevDocs](https://devdocs.foodsharing.de).\n\n---\n\n## Thanks to 🙏\n\nA huge thanks to the great IT Team from [Foodsharing](https://devdocs.foodsharing.de) for their easy-to-use API and great docs, which made this integration possible!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaserf%2Fha-foodsharing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffaserf%2Fha-foodsharing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaserf%2Fha-foodsharing/lists"}