We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
[Bug]: fetch failed for source Stavanger Kommune
### I Have A Problem With:

A specific source

### What's Your Problem

Unable to fetch data for Stavanger Norway. Have worked flawless a while, but no there is no data.

### Source (if relevant)

stavanger_no

### Logs

```Shell
This error originated from a custom integration.

Logger: waste_collection_schedule.source_shell
Source: custom_components/waste_collection_schedule/waste_collection_schedule/source_shell.py:136
Integration: waste_collection_schedule (documentation)
First occurred: 11:08:21 (2 occurrences)
Last logged: 11:13:26

fetch failed for source Stavanger Kommune: Traceback (most recent call last): File "/config/custom_components/waste_collection_schedule/waste_collection_schedule/source_shell.py", line 134, in fetch entries = self._source.fetch() ^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/waste_collection_schedule/waste_collection_schedule/source/stavanger_no.py", line 49, in fetch r.raise_for_status() File "/usr/local/lib/python3.12/site-packages/requests/models.py", line 1021, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: https://www.stavanger.kommune.no/renovasjon-og-miljo/tommekalender/finn-kalender/show?id=###removed###
```


### Relevant Configuration

_No response_

### Checklist Source Error

- [X] Use the example parameters for your source (often available in the documentation) (don't forget to restart Home Assistant after changing the configuration)
- [X] Checked that the website of your service provider is still working
- [X] Tested my attributes on the service provider website (if possible)
- [X] I have tested with the latest version of the integration (master) (for HACS in the 3 dot menu of the integration click on "Redownload" and choose master as version)

### Checklist Sensor Error

- [X] Checked in the Home Assistant Calendar tab if the event names match the types names (if types argument is used)

### Required

- [X] I have searched past (closed AND opened) issues to see if this bug has already been reported, and it hasn't been.
- [X] I understand that people give their precious time for free, and thus I've done my very best to make this problem as easy as possible to investigate.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `custom_components/waste_collection_schedule/waste_collection_schedule/source/stavanger_no.py`
Content:
```
1 from datetime import datetime
2 
3 import requests
4 from bs4 import BeautifulSoup
5 from waste_collection_schedule import Collection  # type: ignore[attr-defined]
6 
7 TITLE = "Stavanger Kommune"
8 DESCRIPTION = "Source for Stavanger Kommune, Norway"
9 URL = "https://www.stavanger.kommune.no/"
10 TEST_CASES = {
11     "TestcaseI": {
12         "id": "57bf9d36-722e-400b-ae93-d80f8e354724",
13         "municipality": "Stavanger",
14         "gnumber": "57",
15         "bnumber": "922",
16         "snumber": "0",
17     },
18 }
19 
20 ICON_MAP = {
21     "Restavfall": "mdi:trash-can",
22     "Papp/papir": "mdi:recycle",
23     "Bio": "mdi:leaf",
24     "Juletre": "mdi:pine-tree",
25 }
26 
27 
28 class Source:
29     def __init__(self, id, municipality, gnumber, bnumber, snumber):
30         self._id = id
31         self._municipality = municipality
32         self._gnumber = gnumber
33         self._bnumber = bnumber
34         self._snumber = snumber
35 
36     def fetch(self):
37         url = "https://www.stavanger.kommune.no/renovasjon-og-miljo/tommekalender/finn-kalender/show"
38         headers = {"referer": "https://www.stavanger.kommune.no"}
39 
40         params = {
41             "id": self._id,
42             "municipality": self._municipality,
43             "gnumber": self._gnumber,
44             "bnumber": self._bnumber,
45             "snumber": self._snumber,
46         }
47 
48         r = requests.get(url, params=params, headers=headers)
49         r.raise_for_status()
50 
51         soup = BeautifulSoup(r.text, "html.parser")
52 
53         tag = soup.find_all("option")
54         entries = []
55         for tag in soup.find_all("tr", {"class": "waste-calendar__item"}):
56             if tag.text.strip() == "Dato og dag\nAvfallstype":
57                 continue
58 
59             year = tag.parent.attrs["data-month"].split("-")[1]
60             date = tag.text.strip().split(" - ")
61             date = datetime.strptime(date[0] + "." + year, "%d.%m.%Y").date()
62 
63             for img in tag.find_all("img"):
64                 waste_type = img.get("title")
65                 entries.append(
66                     Collection(date, waste_type, icon=ICON_MAP.get(waste_type))
67                 )
68 
69         return entries
70
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/custom_components/waste_collection_schedule/waste_collection_schedule/source/stavanger_no.py b/custom_components/waste_collection_schedule/waste_collection_schedule/source/stavanger_no.py
--- a/custom_components/waste_collection_schedule/waste_collection_schedule/source/stavanger_no.py
+++ b/custom_components/waste_collection_schedule/waste_collection_schedule/source/stavanger_no.py
@@ -38,6 +38,7 @@
         headers = {"referer": "https://www.stavanger.kommune.no"}
 
         params = {
+            "ids": self._id,
             "id": self._id,
             "municipality": self._municipality,
             "gnumber": self._gnumber,

{"golden_diff": "diff --git a/custom_components/waste_collection_schedule/waste_collection_schedule/source/stavanger_no.py b/custom_components/waste_collection_schedule/waste_collection_schedule/source/stavanger_no.py\n--- a/custom_components/waste_collection_schedule/waste_collection_schedule/source/stavanger_no.py\n+++ b/custom_components/waste_collection_schedule/waste_collection_schedule/source/stavanger_no.py\n@@ -38,6 +38,7 @@\n         headers = {\"referer\": \"https://www.stavanger.kommune.no\"}\n \n         params = {\n+            \"ids\": self._id,\n             \"id\": self._id,\n             \"municipality\": self._municipality,\n             \"gnumber\": self._gnumber,\n", "issue": "[Bug]: fetch failed for source Stavanger Kommune\n### I Have A Problem With:\n\nA specific source\n\n### What's Your Problem\n\nUnable to fetch data for Stavanger Norway. Have worked flawless a while, but no there is no data.\n\n### Source (if relevant)\n\nstavanger_no\n\n### Logs\n\n```Shell\nThis error originated from a custom integration.\r\n\r\nLogger: waste_collection_schedule.source_shell\r\nSource: custom_components/waste_collection_schedule/waste_collection_schedule/source_shell.py:136\r\nIntegration: waste_collection_schedule (documentation)\r\nFirst occurred: 11:08:21 (2 occurrences)\r\nLast logged: 11:13:26\r\n\r\nfetch failed for source Stavanger Kommune: Traceback (most recent call last): File \"/config/custom_components/waste_collection_schedule/waste_collection_schedule/source_shell.py\", line 134, in fetch entries = self._source.fetch() ^^^^^^^^^^^^^^^^^^^^ File \"/config/custom_components/waste_collection_schedule/waste_collection_schedule/source/stavanger_no.py\", line 49, in fetch r.raise_for_status() File \"/usr/local/lib/python3.12/site-packages/requests/models.py\", line 1021, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: https://www.stavanger.kommune.no/renovasjon-og-miljo/tommekalender/finn-kalender/show?id=###removed###\n```\n\n\n### Relevant Configuration\n\n_No response_\n\n### Checklist Source Error\n\n- [X] Use the example parameters for your source (often available in the documentation) (don't forget to restart Home Assistant after changing the configuration)\n- [X] Checked that the website of your service provider is still working\n- [X] Tested my attributes on the service provider website (if possible)\n- [X] I have tested with the latest version of the integration (master) (for HACS in the 3 dot menu of the integration click on \"Redownload\" and choose master as version)\n\n### Checklist Sensor Error\n\n- [X] Checked in the Home Assistant Calendar tab if the event names match the types names (if types argument is used)\n\n### Required\n\n- [X] I have searched past (closed AND opened) issues to see if this bug has already been reported, and it hasn't been.\n- [X] I understand that people give their precious time for free, and thus I've done my very best to make this problem as easy as possible to investigate.\n", "before_files": [{"content": "from datetime import datetime\n\nimport requests\nfrom bs4 import BeautifulSoup\nfrom waste_collection_schedule import Collection  # type: ignore[attr-defined]\n\nTITLE = \"Stavanger Kommune\"\nDESCRIPTION = \"Source for Stavanger Kommune, Norway\"\nURL = \"https://www.stavanger.kommune.no/\"\nTEST_CASES = {\n    \"TestcaseI\": {\n        \"id\": \"57bf9d36-722e-400b-ae93-d80f8e354724\",\n        \"municipality\": \"Stavanger\",\n        \"gnumber\": \"57\",\n        \"bnumber\": \"922\",\n        \"snumber\": \"0\",\n    },\n}\n\nICON_MAP = {\n    \"Restavfall\": \"mdi:trash-can\",\n    \"Papp/papir\": \"mdi:recycle\",\n    \"Bio\": \"mdi:leaf\",\n    \"Juletre\": \"mdi:pine-tree\",\n}\n\n\nclass Source:\n    def __init__(self, id, municipality, gnumber, bnumber, snumber):\n        self._id = id\n        self._municipality = municipality\n        self._gnumber = gnumber\n        self._bnumber = bnumber\n        self._snumber = snumber\n\n    def fetch(self):\n        url = \"https://www.stavanger.kommune.no/renovasjon-og-miljo/tommekalender/finn-kalender/show\"\n        headers = {\"referer\": \"https://www.stavanger.kommune.no\"}\n\n        params = {\n            \"id\": self._id,\n            \"municipality\": self._municipality,\n            \"gnumber\": self._gnumber,\n            \"bnumber\": self._bnumber,\n            \"snumber\": self._snumber,\n        }\n\n        r = requests.get(url, params=params, headers=headers)\n        r.raise_for_status()\n\n        soup = BeautifulSoup(r.text, \"html.parser\")\n\n        tag = soup.find_all(\"option\")\n        entries = []\n        for tag in soup.find_all(\"tr\", {\"class\": \"waste-calendar__item\"}):\n            if tag.text.strip() == \"Dato og dag\\nAvfallstype\":\n                continue\n\n            year = tag.parent.attrs[\"data-month\"].split(\"-\")[1]\n            date = tag.text.strip().split(\" - \")\n            date = datetime.strptime(date[0] + \".\" + year, \"%d.%m.%Y\").date()\n\n            for img in tag.find_all(\"img\"):\n                waste_type = img.get(\"title\")\n                entries.append(\n                    Collection(date, waste_type, icon=ICON_MAP.get(waste_type))\n                )\n\n        return entries\n", "path": "custom_components/waste_collection_schedule/waste_collection_schedule/source/stavanger_no.py"}], "after_files": [{"content": "from datetime import datetime\n\nimport requests\nfrom bs4 import BeautifulSoup\nfrom waste_collection_schedule import Collection  # type: ignore[attr-defined]\n\nTITLE = \"Stavanger Kommune\"\nDESCRIPTION = \"Source for Stavanger Kommune, Norway\"\nURL = \"https://www.stavanger.kommune.no/\"\nTEST_CASES = {\n    \"TestcaseI\": {\n        \"id\": \"57bf9d36-722e-400b-ae93-d80f8e354724\",\n        \"municipality\": \"Stavanger\",\n        \"gnumber\": \"57\",\n        \"bnumber\": \"922\",\n        \"snumber\": \"0\",\n    },\n}\n\nICON_MAP = {\n    \"Restavfall\": \"mdi:trash-can\",\n    \"Papp/papir\": \"mdi:recycle\",\n    \"Bio\": \"mdi:leaf\",\n    \"Juletre\": \"mdi:pine-tree\",\n}\n\n\nclass Source:\n    def __init__(self, id, municipality, gnumber, bnumber, snumber):\n        self._id = id\n        self._municipality = municipality\n        self._gnumber = gnumber\n        self._bnumber = bnumber\n        self._snumber = snumber\n\n    def fetch(self):\n        url = \"https://www.stavanger.kommune.no/renovasjon-og-miljo/tommekalender/finn-kalender/show\"\n        headers = {\"referer\": \"https://www.stavanger.kommune.no\"}\n\n        params = {\n            \"ids\": self._id,\n            \"id\": self._id,\n            \"municipality\": self._municipality,\n            \"gnumber\": self._gnumber,\n            \"bnumber\": self._bnumber,\n            \"snumber\": self._snumber,\n        }\n\n        r = requests.get(url, params=params, headers=headers)\n        r.raise_for_status()\n\n        soup = BeautifulSoup(r.text, \"html.parser\")\n\n        tag = soup.find_all(\"option\")\n        entries = []\n        for tag in soup.find_all(\"tr\", {\"class\": \"waste-calendar__item\"}):\n            if tag.text.strip() == \"Dato og dag\\nAvfallstype\":\n                continue\n\n            year = tag.parent.attrs[\"data-month\"].split(\"-\")[1]\n            date = tag.text.strip().split(\" - \")\n            date = datetime.strptime(date[0] + \".\" + year, \"%d.%m.%Y\").date()\n\n            for img in tag.find_all(\"img\"):\n                waste_type = img.get(\"title\")\n                entries.append(\n                    Collection(date, waste_type, icon=ICON_MAP.get(waste_type))\n                )\n\n        return entries\n", "path": "custom_components/waste_collection_schedule/waste_collection_schedule/source/stavanger_no.py"}]}