From f8a34b651fceedd49a155b3d204555909f788304 Mon Sep 17 00:00:00 2001 From: Kristian Niemi Date: Wed, 5 Aug 2026 22:30:40 +0200 Subject: [PATCH 1/4] (sensor.py) Use the barley icon for rye mdi:barley reads as a cereal ear. The previous mdi:grain is Material Design Icons' film-grain icon, tagged for photography, which is why it looked like nothing in particular at sensor size. Requested in issue #63. Filed under a new 0.5.4 section: v0.5.3 is already published and stays as it is. --- CHANGELOG.md | 9 +++++++++ custom_components/polleninformation/sensor.py | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1612ca0..011b2db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## v0.5.4 — Allergen icons (2026-08-05) + +### Bug fixes + +- **Rye now uses the barley icon** — `mdi:barley` reads as a cereal ear, where + the previous `mdi:grain` is a film-grain icon from Material Design Icons' + photography set and looked like nothing in particular at sensor size + (thanks @zeus86). + ## v0.5.3 — English entity IDs in every language (2026-08-05) ### Bug fixes diff --git a/custom_components/polleninformation/sensor.py b/custom_components/polleninformation/sensor.py index a8e0647..dbbbf9f 100644 --- a/custom_components/polleninformation/sensor.py +++ b/custom_components/polleninformation/sensor.py @@ -97,7 +97,7 @@ "plane_tree": "mdi:tree", "plantain": "mdi:leaf", "ragweed": "mdi:flower-pollen", - "rye": "mdi:grain", + "rye": "mdi:barley", "sweet_chestnut": "mdi:tree", "tree_of_heaven": "mdi:tree", "willow": "mdi:tree", From 57bdaa5526571d01e0959708a8ea417564a1e615 Mon Sep 17 00:00:00 2001 From: Kristian Niemi Date: Wed, 5 Aug 2026 22:51:42 +0200 Subject: [PATCH 2/4] (sensor.py) Differentiate the allergen icons by pollen source Nine distinct icons across twenty-two allergens made a sensor list hard to scan: seven allergens shared mdi:leaf, seven mdi:tree, and mugwort and ragweed shared mdi:flower-pollen with the fallback icon, so an allergen the integration does not recognize looked like either of them. Now thirteen, grouped by pollen source: catkin trees, broadleaf trees, evergreens, grasses, cereals, weeds, herbs and fungal spores. Hazel, plane tree, mugwort, ragweed and sorrel get an icon of their own, no allergen is left on the fallback icon, and fungal spores lose mdi:cloud-alert, which read as a system warning rather than a biological source. Material Design Icons has no species-specific plant icons -- no acorn, birch, olive or chestnut -- and fourteen of the allergens are trees, so the remaining shared icons are deliberate. A shared icon is better than one depicting the wrong plant. Every name was checked against the MDI catalogue. --- CHANGELOG.md | 11 +++++ custom_components/polleninformation/sensor.py | 44 ++++++++++++------- 2 files changed, 38 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 011b2db..6475a2b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,17 @@ photography set and looked like nothing in particular at sensor size (thanks @zeus86). +- **Distinct icons per pollen source** — the allergens went from 9 to 13 + distinct icons, so a list of sensors can be scanned at a glance. Catkin + trees, broadleaf trees, evergreens, grasses, cereals, weeds, herbs and fungal + spores are now told apart, and several allergens got an icon of their own: + hazel a hop cone for its catkins, plane tree a maple-like leaf, ragweed a + poppy, sorrel a sprout, mugwort a flower, and fungal spores a mushroom in + place of a warning cloud. Mugwort also no longer shares its icon with the + fallback used for an unrecognized allergen. The icons that are still shared + are shared on purpose — Material Design Icons has no species-specific plant + icons, and a shared icon beats one that depicts the wrong plant. + ## v0.5.3 — English entity IDs in every language (2026-08-05) ### Bug fixes diff --git a/custom_components/polleninformation/sensor.py b/custom_components/polleninformation/sensor.py index dbbbf9f..ba514d1 100644 --- a/custom_components/polleninformation/sensor.py +++ b/custom_components/polleninformation/sensor.py @@ -77,30 +77,40 @@ "Urticaceae": "nettle family", } +# Icons group the allergens by pollen source, which is what makes a list of +# them scannable: the name next to the icon already says which species it is. +# Material Design Icons has no species-specific plant icons, so a shared icon +# is preferred over one that would depict the wrong plant. ALLERGEN_ICON_MAP = { + # Catkin trees, the early-spring group "alder": "mdi:tree-outline", + "birch": "mdi:tree-outline", + "willow": "mdi:tree-outline", + "hazel": "mdi:hops", # a hazel catkin has the shape of a hop cone + # Broadleaf trees "ash": "mdi:tree", - "beech": "mdi:leaf", - "birch": "mdi:tree", - "cypress_family": "mdi:pine-tree", - "default": "mdi:flower-pollen", - "dock_sorrel": "mdi:leaf", + "beech": "mdi:tree", "elm": "mdi:tree", + "linden": "mdi:tree", + "oak": "mdi:tree", + "sweet_chestnut": "mdi:tree", + "tree_of_heaven": "mdi:tree", + "plane_tree": "mdi:leaf-maple", # the one species whose leaf is maple-like + # Evergreens + "cypress_family": "mdi:pine-tree", + "olive": "mdi:leaf-circle", + # Grasses and cereals "grasses": "mdi:grass", - "hazel": "mdi:nature", - "linden": "mdi:leaf", - "fungal_spores": "mdi:cloud-alert", - "mugwort": "mdi:flower-pollen", + "rye": "mdi:barley", + # Weeds and herbs + "mugwort": "mdi:flower", + "ragweed": "mdi:flower-poppy", + "dock_sorrel": "mdi:sprout", "nettle_family": "mdi:leaf", - "oak": "mdi:leaf", - "olive": "mdi:leaf", - "plane_tree": "mdi:tree", "plantain": "mdi:leaf", - "ragweed": "mdi:flower-pollen", - "rye": "mdi:barley", - "sweet_chestnut": "mdi:tree", - "tree_of_heaven": "mdi:tree", - "willow": "mdi:tree", + # Not a plant at all + "fungal_spores": "mdi:mushroom", + "default": "mdi:flower-pollen", } RISK_SLUGS = ("allergy_risk", "allergy_risk_hourly") From 855bae27eb0f08b61559640733a7d6b58c757b05 Mon Sep 17 00:00:00 2001 From: Kristian Niemi Date: Wed, 5 Aug 2026 22:51:42 +0200 Subject: [PATCH 3/4] (manifest) Set version to 0.5.4 The icon work ships as 0.5.4; v0.5.3 is published and stays as it is. --- custom_components/polleninformation/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/polleninformation/manifest.json b/custom_components/polleninformation/manifest.json index 9725416..d165c15 100644 --- a/custom_components/polleninformation/manifest.json +++ b/custom_components/polleninformation/manifest.json @@ -11,6 +11,6 @@ "async-timeout>=4.0.0", "Unidecode>=1.3.6" ], - "version": "0.5.3" + "version": "0.5.4" } From c32dbe8bbbafb8f17dff48186f5ed2e4aaf5e552 Mon Sep 17 00:00:00 2001 From: Kristian Niemi Date: Wed, 5 Aug 2026 22:57:58 +0200 Subject: [PATCH 4/4] (changelog) Date the 0.5.4 section to the planned release day The section was stamped with the day it was written, not the day 0.5.4 is expected to ship. --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6475a2b..2a3b41d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## v0.5.4 — Allergen icons (2026-08-05) +## v0.5.4 — Allergen icons (2026-08-12) ### Bug fixes