Skip to content

Commit db72d7e

Browse files
authored
Merge pull request #1837 from robbrad/feb26_release
February 2026 Release - Consolidated Council Fixes
2 parents 274152f + bc28f2e commit db72d7e

36 files changed

Lines changed: 1297 additions & 1125 deletions

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,6 @@ __pycache__
4444
!.devcontainer
4545
uk_bin_collection/.DS_Store
4646
uk_bin_collection/uk_bin_collection/.DS_Store
47-
!scripts
47+
!scripts
48+
!.kiro
49+
ISSUE_RESOLUTION_PROGRESS.md

custom_components/uk_bin_collection/strings.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
"name": "Location name",
99
"council": "Council",
1010
"manual_refresh_only":"Automatically refresh the sensor",
11-
"icon_color_mapping": "JSON to map Bin Type for Colour and Icon see: https://github.com/robbrad/UKBinCollectionData"
11+
"icon_color_mapping": "JSON to map Bin Type for Colour and Icon (see documentation)"
1212
},
13-
"description": "Please see [here](https://github.com/robbrad/UKBinCollectionData#requesting-your-council) if your council isn't listed"
13+
"description": "Please see the documentation if your council isn't listed"
1414
},
1515
"council": {
1616
"title": "Provide council details",
@@ -27,7 +27,7 @@
2727
"local_browser": "Don't run on remote Selenium server, use local install of Chrome instead",
2828
"submit": "Submit"
2929
},
30-
"description": "Please refer to your council's [wiki](https://github.com/robbrad/UKBinCollectionData/wiki/Councils) entry for details on what to enter.\n{selenium_message}"
30+
"description": "Please refer to your council's wiki entry for details on what to enter.\n{selenium_message}"
3131
},
3232
"reconfigure_confirm": {
3333
"title": "Update council details",
@@ -43,17 +43,17 @@
4343
"headless": "Run Selenium in headless mode (recommended)",
4444
"local_browser": "Don't run on remote Selenium server, use local install of Chrome instead",
4545
"manual_refresh_only":"Automatically refresh the sensor",
46-
"icon_color_mapping": "JSON to map Bin Type for Colour and Icon see: https://github.com/robbrad/UKBinCollectionData",
46+
"icon_color_mapping": "JSON to map Bin Type for Colour and Icon (see documentation)",
4747
"submit": "Submit"
4848
},
49-
"description": "Please refer to your council's [wiki](https://github.com/robbrad/UKBinCollectionData/wiki/Councils) entry for details on what to enter."
49+
"description": "Please refer to your council's wiki entry for details on what to enter."
5050
}
5151
},
5252
"error": {
5353
"name": "Please enter a location name",
5454
"council": "Please select a council",
55-
"selenium_unavailable": "Selenium server is not accessible. Please ensure it is running at http://localhost:4444 or http://selenium:4444. [Setup Guide](https://example.com/selenium-setup)",
56-
"chromium_not_found": "Chromium browser is not installed. Please install Chromium or Google Chrome. [Installation Guide](https://example.com/chromium-install)"
55+
"selenium_unavailable": "Selenium server is not accessible. Please ensure it is running at localhost:4444 or selenium:4444",
56+
"chromium_not_found": "Chromium browser is not installed. Please install Chromium or Google Chrome"
5757
}
5858
}
5959
}

custom_components/uk_bin_collection/translations/en.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
"name": "Location name",
99
"council": "Council",
1010
"manual_refresh_only":"Automatically refresh the sensor",
11-
"icon_color_mapping": "JSON to map Bin Type for Colour and Icon see: https://github.com/robbrad/UKBinCollectionData"
11+
"icon_color_mapping": "JSON to map Bin Type for Colour and Icon (see documentation)"
1212
},
13-
"description": "Please see [here](https://github.com/robbrad/UKBinCollectionData#requesting-your-council) if your council isn't listed"
13+
"description": "Please see the documentation if your council isn't listed"
1414
},
1515
"council": {
1616
"title": "Provide council details",
@@ -27,7 +27,7 @@
2727
"local_browser": "Don't run on remote Selenium server, use local install of Chrome instead",
2828
"submit": "Submit"
2929
},
30-
"description": "Please refer to your council's [wiki](https://github.com/robbrad/UKBinCollectionData/wiki/Councils) entry for details on what to enter.\n{selenium_message}"
30+
"description": "Please refer to your council's wiki entry for details on what to enter.\n{selenium_message}"
3131
},
3232
"reconfigure_confirm": {
3333
"title": "Update council details",
@@ -43,17 +43,17 @@
4343
"headless": "Run Selenium in headless mode (recommended)",
4444
"local_browser": "Don't run on remote Selenium server, use local install of Chrome instead",
4545
"manual_refresh_only":"Automatically refresh the sensor",
46-
"icon_color_mapping": "JSON to map Bin Type for Colour and Icon see: https://github.com/robbrad/UKBinCollectionData",
46+
"icon_color_mapping": "JSON to map Bin Type for Colour and Icon (see documentation)",
4747
"submit": "Submit"
4848
},
49-
"description": "Please refer to your council's [wiki](https://github.com/robbrad/UKBinCollectionData/wiki/Councils) entry for details on what to enter."
49+
"description": "Please refer to your council's wiki entry for details on what to enter."
5050
}
5151
},
5252
"error": {
5353
"name": "Please enter a location name",
5454
"council": "Please select a council",
55-
"selenium_unavailable": "Selenium server is not accessible. Please ensure it is running at http://localhost:4444 or http://selenium:4444. [Setup Guide](https://example.com/selenium-setup)",
56-
"chromium_not_found": "Chromium browser is not installed. Please install Chromium or Google Chrome. [Installation Guide](https://example.com/chromium-install)"
55+
"selenium_unavailable": "Selenium server is not accessible. Please ensure it is running at localhost:4444 or selenium:4444",
56+
"chromium_not_found": "Chromium browser is not installed. Please install Chromium or Google Chrome"
5757
}
5858
}
5959
}

poetry.lock

Lines changed: 10 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ tabulate = "^0.9.0"
3939
pytest-asyncio = "^0.24.0"
4040
pytest-freezer = "^0.4.8"
4141
homeassistant = "^2023.10"
42-
geopandas = "^1.0.1"
42+
geopandas = "^1.1.2"
4343

4444
[tool.poetry.scripts]
4545
uk_bin_collection = "uk_bin_collection.uk_bin_collection.collect_data:run"

uk_bin_collection/tests/input.json

Lines changed: 36 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,13 @@
109109
"wiki_note": "You will need to use [FindMyAddress](https://www.findmyaddress.co.uk/search) to find the UPRN."
110110
},
111111
"BaberghDistrictCouncil": {
112-
"house_number": "Monday",
113-
"postcode": "Week 1",
112+
"house_number": "Little Changes",
113+
"postcode": "CO6 4RA",
114114
"skip_get_url": true,
115-
"uprn": "Tuesday",
116115
"url": "https://www.babergh.gov.uk",
116+
"web_driver": "http://selenium:4444",
117117
"wiki_name": "Babergh",
118-
"wiki_note": "Use the House Number field to pass the DAY of the week for your NORMAL collections. [Monday/Tuesday/Wednesday/Thursday/Friday]. [OPTIONAL] Use the 'postcode' field to pass the WEEK for your garden collection. [Week 1/Week 2]. [OPTIONAL] Use the 'uprn' field to pass the DAY for your garden collection. [Monday/Tuesday/Wednesday/Thursday/Friday]",
118+
"wiki_note": "Pass the house number and postcode in their respective parameters. This parser requires a Selenium webdriver.",
119119
"LAD24CD": "E07000200"
120120
},
121121
"BarkingDagenham": {
@@ -201,8 +201,9 @@
201201
"uprn": "100020196143",
202202
"skip_get_url": true,
203203
"url": "https://waste.bexley.gov.uk/waste",
204+
"web_driver": "http://selenium:4444",
204205
"wiki_name": "Bexley",
205-
"wiki_note": "Provide your UPRN. Use [FindMyAddress](https://www.findmyaddress.co.uk/search) to locate it.",
206+
"wiki_note": "Provide your UPRN. Use [FindMyAddress](https://www.findmyaddress.co.uk/search) to locate it. This parser requires a Selenium webdriver.",
206207
"LAD24CD": "E09000004"
207208
},
208209
"BirminghamCityCouncil": {
@@ -256,11 +257,9 @@
256257
"LAD24CD": "E07000033"
257258
},
258259
"BoltonCouncil": {
259-
"postcode": "BL1 5PQ",
260260
"skip_get_url": true,
261261
"uprn": "100010886936",
262-
"url": "https://web.bolton.gov.uk/bins.aspx",
263-
"web_driver": "http://selenium:4444",
262+
"url": "https://bolton.gov.uk",
264263
"wiki_name": "Bolton",
265264
"wiki_note": "To get the UPRN, you will need to use [FindMyAddress](https://www.findmyaddress.co.uk/search). Previously required a single field that was UPRN and full address; now requires UPRN and postcode as separate fields.",
266265
"LAD24CD": "E08000001"
@@ -567,13 +566,6 @@
567566
"wiki_note": "Use [FindMyAddress](https://www.findmyaddress.co.uk/search) to find your UPRN.",
568567
"LAD24CD": "W06000003"
569568
},
570-
"CopelandBoroughCouncil": {
571-
"LAD24CD": "E07000028",
572-
"uprn": "100110734613",
573-
"url": "https://www.copeland.gov.uk",
574-
"wiki_name": "Copeland",
575-
"wiki_note": "*****This has now been replaced by Cumberland Council****"
576-
},
577569
"CornwallCouncil": {
578570
"skip_get_url": true,
579571
"uprn": "100040128734",
@@ -618,14 +610,6 @@
618610
"wiki_note": "Pass the house number and postcode in their respective parameters. This parser requires a Selenium webdriver.",
619611
"LAD24CD": "E09000008"
620612
},
621-
"CumberlandAllerdaleCouncil": {
622-
"house_number": "2",
623-
"postcode": "CA13 0DE",
624-
"url": "https://www.allerdale.gov.uk",
625-
"wiki_name": "Cumberland",
626-
"wiki_note": "Pass the house number and postcode in their respective parameters.",
627-
"LAD24CD": "E06000063"
628-
},
629613
"CumberlandCouncil": {
630614
"uprn": "10009457328",
631615
"url": "https://www.cumberland.gov.uk/bins-recycling-and-street-cleaning/waste-collections/bin-collection-schedule",
@@ -856,6 +840,14 @@
856840
"wiki_note": "Pass the UPRN. You can find it using [FindMyAddress](https://www.findmyaddress.co.uk/search).",
857841
"LAD24CD": "E07000086"
858842
},
843+
"EdenDistrictCouncil": {
844+
"uprn": "100110331387",
845+
"url": "https://my.eden.gov.uk/myeden.aspx",
846+
"wiki_command_url_override": "https://my.eden.gov.uk/myeden.aspx",
847+
"wiki_name": "Eden District (Westmorland and Furness)",
848+
"wiki_note": "For Eden area addresses within Westmorland and Furness. Provide your UPRN. You can find your UPRN using [FindMyAddress](https://www.findmyaddress.co.uk/search). Note: This returns collection days (e.g., 'Wednesday') rather than specific dates.",
849+
"LAD24CD": "E06000064"
850+
},
859851
"EdinburghCityCouncil": {
860852
"LAD24CD": "S12000036",
861853
"house_number": "Tuesday",
@@ -1056,14 +1048,16 @@
10561048
"Isle of Wight",
10571049
"Westmorland and Furness",
10581050
"Derry City and Strabane",
1059-
"Norwich"
1051+
"Norwich",
1052+
"Bassetlaw District"
10601053
],
10611054
"supported_councils_LAD24CD": [
10621055
"E06000046",
10631056
"E07000068",
10641057
"E07000085",
10651058
"E07000090",
10661059
"E07000124",
1060+
"E07000171",
10671061
"E07000218",
10681062
"E08000009",
10691063
"N09000005",
@@ -1397,6 +1391,15 @@
13971391
"wiki_note": "You will need to use [FindMyAddress](https://www.findmyaddress.co.uk/search) to find the UPRN.",
13981392
"LAD24CD": "E08000012"
13991393
},
1394+
"LondonBoroughCamdenCouncil": {
1395+
"uprn": "5063139",
1396+
"postcode": "NW6 1PL",
1397+
"skip_get_url": true,
1398+
"url": "https://environmentservices.camden.gov.uk/property",
1399+
"wiki_name": "Camden",
1400+
"wiki_note": "Pass the property ID as UPRN. Find your property at https://www.camden.gov.uk/check-collection-day then use the property ID from the URL (e.g., https://environmentservices.camden.gov.uk/property/5063139).",
1401+
"LAD24CD": "E09000007"
1402+
},
14001403
"LondonBoroughEaling": {
14011404
"skip_get_url": true,
14021405
"uprn": "12081498",
@@ -1563,13 +1566,13 @@
15631566
"LAD24CD": "E07000042"
15641567
},
15651568
"MidSuffolkDistrictCouncil": {
1566-
"house_number": "Monday",
1567-
"postcode": "Week 2",
1569+
"house_number": "91",
1570+
"postcode": "IP23 8EF",
15681571
"skip_get_url": true,
1569-
"uprn": "Monday",
15701572
"url": "https://www.midsuffolk.gov.uk",
1573+
"web_driver": "http://selenium:4444",
15711574
"wiki_name": "Mid Suffolk",
1572-
"wiki_note": "Use the House Number field to pass the DAY of the week for your NORMAL collections. [Monday/Tuesday/Wednesday/Thursday/Friday]. [OPTIONAL] Use the 'postcode' field to pass the WEEK for your garden collection. [Week 1/Week 2]. [OPTIONAL] Use the 'uprn' field to pass the DAY for your garden collection. [Monday/Tuesday/Wednesday/Thursday/Friday]",
1575+
"wiki_note": "Pass the house number and postcode in their respective parameters. This parser requires a Selenium webdriver.",
15731576
"LAD24CD": "E07000203"
15741577
},
15751578
"MidSussexDistrictCouncil": {
@@ -2204,7 +2207,7 @@
22042207
"SouthNorfolkCouncil": {
22052208
"skip_get_url": true,
22062209
"uprn": "2630102526",
2207-
"url": "https://www.southnorfolkandbroadland.gov.uk/rubbish-recycling/south-norfolk-bin-collection-day-finder",
2210+
"url": "https://area.southnorfolkandbroadland.gov.uk/FindAddress",
22082211
"wiki_name": "South Norfolk",
22092212
"wiki_note": "Provide your UPRN. Find it using [FindMyAddress](https://www.findmyaddress.co.uk/search).",
22102213
"LAD24CD": "E07000149"
@@ -2756,11 +2759,13 @@
27562759
"LAD24CD": "E06000040"
27572760
},
27582761
"WirralCouncil": {
2759-
"uprn": "Vernon Avenue,Seacombe",
2762+
"postcode": "CH43 1SX",
2763+
"paon": "1",
27602764
"url": "https://www.wirral.gov.uk",
27612765
"wiki_command_url_override": "https://www.wirral.gov.uk",
27622766
"wiki_name": "Wirral",
2763-
"wiki_note": "In the `uprn` field, enter your street name and suburb separated by a comma (e.g., 'Vernon Avenue,Seacombe').",
2767+
"wiki_note": "Pass your postcode and house number.",
2768+
"web_driver": "http://selenium:4444",
27642769
"LAD24CD": "E08000015"
27652770
},
27662771
"WokingBoroughCouncil": {

uk_bin_collection/uk_bin_collection/councils/AmberValleyBoroughCouncil.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ def parse_data(self, page: str, **kwargs) -> dict:
4444
).strftime(date_format)
4545
if date_ == "01/01/1":
4646
continue
47+
elif date_ == "01/01/0001":
48+
continue
4749
elif date_ == "01/01/1900":
4850
continue
4951

0 commit comments

Comments
 (0)