Repository: mampfes/hacs_waste_collection_schedule

Issue:
[Bug]: Collection events for sbazv_de double in calendar
### I Have A Problem With:

A specific source

### What's Your Problem

Collection dates and types are pulled correctly into the calendar but events show up twice per day. Sensor for next collection ('AbfallTermin') reads 'Gelber Sack, Gelber Sack in 7 Tagen'. Config and logs look ok.
![calendar](https://github.com/mampfes/hacs_waste_collection_schedule/assets/153497296/361fa025-6043-4c12-9f2f-7749d7e68e4a)



### Source (if relevant)

sbazv_de

### Logs

```Shell
no relevant logs
```


### Relevant Configuration

```YAML
waste_collection_schedule:
  sources:
    - name: sbazv_de
      args:
        city: Schönefeld
        district: Großziethen
        street: Kxxxxxxxx
      customize:
        - type: Restmülltonnen
          alias: Restmuell
          icon: mdi:trash-can   
        - type: Gelbe Säcke
          alias: GelberSack
          icon: mdi:recycle
        - type: Papiertonnen
          alias: Altpapier
          icon: mdi:file-document
        - type: Laubsäcke
          alias: Laubsack
          icon: mdi:trash-can
          use_dedicated_calendar: false
          dedicated_calendar_title: SBAZV
  fetch_time: "04:00"
  day_switch_time: "12:00"

sensor:
  # ------- Waste Collection Schedule ------- 
  # Nächster Abholtermin
  - platform: waste_collection_schedule
    name: "AbfallTermin"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} Tagen{% endif %}'
```


### 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.


Discussion:

Resolving patch:
diff --git a/custom_components/waste_collection_schedule/waste_collection_schedule/source/sbazv_de.py b/custom_components/waste_collection_schedule/waste_collection_schedule/source/sbazv_de.py
--- a/custom_components/waste_collection_schedule/waste_collection_schedule/source/sbazv_de.py
+++ b/custom_components/waste_collection_schedule/waste_collection_schedule/source/sbazv_de.py
@@ -6,7 +6,12 @@
 DESCRIPTION = "SBAZV Brandenburg, Deutschland"
 URL = "https://www.sbazv.de"
 TEST_CASES = {
-    "Wildau": {"city": "wildau", "district": "Wildau", "street": "Miersdorfer Str."}
+    "Wildau": {"city": "wildau", "district": "Wildau", "street": "Miersdorfer Str."},
+    "Schönefeld": {
+        "city": "Schönefeld",
+        "district": "Großziethen",
+        "street": "kleistring",
+    },
 }
 
 ICON_MAP = {
@@ -47,7 +52,11 @@ def fetch(self):
         for d in dates:
             waste_type = d[1].strip()
             next_pickup_date = d[0]
-
+            # remove duplicates
+            if any(
+                e.date == next_pickup_date and e.type == waste_type for e in entries
+            ):
+                continue
             entries.append(
                 Collection(
                     date=next_pickup_date,


Test patch: