Repository: mampfes/hacs_waste_collection_schedule

Issue:
Min Renovasjon for county_id 0301 does not work.
Seem like there are many different types of garbage in my county.
List collected of types of garbage:
[
  {
    "Id": 1,
    "Navn": "Rest- og matavfall (Optibag)",
    "Ikon": "https://komteksky.norkart.no/komtek.renovasjonwebapi/Ikoner/restavfall.png"
  },
  {
    "Id": 2,
    "Navn": "Papir",
    "Ikon": "https://komteksky.norkart.no/komtek.renovasjonwebapi/Ikoner/papir.png"
  },
  {
    "Id": 4,
    "Navn": "Glass/Metallembalsje",
    "Ikon": "https://komteksky.norkart.no/komtek.renovasjonwebapi/Ikoner/glassogmetallemballasje.png"
  },
  {
    "Id": 6,
    "Navn": "Spesialavfall",
    "Ikon": "https://komteksky.norkart.no/komtek.renovasjonwebapi/Ikoner/farligavfall.png"
  },
  {
    "Id": 7,
    "Navn": "Plast",
    "Ikon": "https://komteksky.norkart.no/komtek.renovasjonwebapi/Ikoner/plastemballasje.png"
  },
  {
    "Id": 8,
    "Navn": "Trevirke",
    "Ikon": "https://komteksky.norkart.no/komtek.renovasjonwebapi/Ikoner/trevirke.png"
  },
  {
    "Id": 9,
    "Navn": "Tekstiler",
    "Ikon": "https://komteksky.norkart.no/komtek.renovasjonwebapi/Ikoner/klaerogsko.png"
  },
  {
    "Id": 10,
    "Navn": "Hageavfall",
    "Ikon": "https://komteksky.norkart.no/komtek.renovasjonwebapi/Ikoner/hageavfall.png"
  },
  {
    "Id": 11,
    "Navn": "Metaller",
    "Ikon": "https://komteksky.norkart.no/komtek.renovasjonwebapi/Ikoner/metall.png"
  },
  {
    "Id": 12,
    "Navn": "Hvitevarer/EE-avfall",
    "Ikon": "https://komteksky.norkart.no/komtek.renovasjonwebapi/Ikoner/elektriskogelektronisk.png"
  },
  {
    "Id": 13,
    "Navn": "Papp",
    "Ikon": "https://komteksky.norkart.no/komtek.renovasjonwebapi/Ikoner/pappogkartong.png"
  },
  {
    "Id": 15,
    "Navn": "Fretex",
    "Ikon": "https://komteksky.norkart.no/komtek.renovasjonwebapi/Ikoner/brush.png"
  },
  {
    "Id": 16,
    "Navn": "Mobil Gjenbruksstasjon",
    "Ikon": "https://komteksky.norkart.no/komtek.renovasjonwebapi/Ikoner/brush.png"
  },
  {
    "Id": 17,
    "Navn": "Farlig Avfall",
    "Ikon": "https://komteksky.norkart.no/komtek.renovasjonwebapi/Ikoner/brush.png"
  },
  {
    "Id": 18,
    "Navn": "Matavfall/ Organisk",
    "Ikon": "https://komteksky.norkart.no/komtek.renovasjonwebapi/Ikoner/brush.png"
  },
  {
    "Id": 19,
    "Navn": "Rødboks- Farlig avfall/ småelektrisk",
    "Ikon": "https://komteksky.norkart.no/komtek.renovasjonwebapi/Ikoner/farligavfall.png"
  },
  {
    "Id": 20,
    "Navn": "Restavfall",
    "Ikon": "https://komteksky.norkart.no/komtek.renovasjonwebapi/Ikoner/brush.png"
  },
  {
    "Id": 21,
    "Navn": "Plastemballasje",
    "Ikon": "https://komteksky.norkart.no/komtek.renovasjonwebapi/Ikoner/brush.png"
  }
]



Discussion:

Resolving patch:
diff --git a/custom_components/waste_collection_schedule/waste_collection_schedule/source/minrenovasjon_no.py b/custom_components/waste_collection_schedule/waste_collection_schedule/source/minrenovasjon_no.py
--- a/custom_components/waste_collection_schedule/waste_collection_schedule/source/minrenovasjon_no.py
+++ b/custom_components/waste_collection_schedule/waste_collection_schedule/source/minrenovasjon_no.py
@@ -41,15 +41,20 @@ def __init__(self, street_name, house_number, street_code, county_id):
         self._icon_map  = {
             "":                        "mdi:trash-can",
             "brush":                   "mdi:trash-can",
+            "elektriskogelektronisk":  "mdi:chip",
             "farligavfall":            "mdi:trash-can",
             "glassogmetallemballasje": "mdi:trash-can",
             "hageavfall":              "mdi:leaf",
             "klaerogsko":              "mdi:hanger",
             "matavfall":               "mdi:trash-can",
             "matrestavfall":           "mdi:trash-can",
+            "metall":                  "mdi:trash-can",
             "papir":                   "mdi:newspaper-variant-multiple",
+            "pappogkartong":           "mdi:archive",
             "plastemballasje":         "mdi:trash-can",
-            "restavfall":              "mdi:trash-can"
+            "restavfall":              "mdi:trash-can",
+            "trevirke":                "mdi:trash-can"
+
         } 
 
     def fetch(self):
@@ -65,7 +70,10 @@ def fetch(self):
         type = {}
         for f in json.loads(r.content):
             # pprint(f)
-            icon = self._icon_map[re.sub(r"^.*?/(\w+)\.\w{3,4}$", "\\1", f['Ikon'])]
+            icon = "mdi:trash-can"
+            icon_name = re.sub(r"^.*?/(\w+)\.\w{3,4}$", "\\1", f['Ikon'])
+            if icon_name in self._icon_map:
+                icon = self._icon_map[icon_name]
             type[f['Id']] = {
                 'name': f['Navn'],
                 'image': f['Ikon'],


Test patch: