diff --git a/homeassistant/components/habitica/icons.json b/homeassistant/components/habitica/icons.json index 662cf1d84a5..db025c26060 100644 --- a/homeassistant/components/habitica/icons.json +++ b/homeassistant/components/habitica/icons.json @@ -56,6 +56,12 @@ "gold": { "default": "mdi:sack" }, + "gems": { + "default": "mdi:diamond-stone" + }, + "trinkets": { + "default": "mdi:timer-sand" + }, "class": { "default": "mdi:sword", "state": { diff --git a/homeassistant/components/habitica/sensor.py b/homeassistant/components/habitica/sensor.py index fed1375c893..ccf1e998049 100644 --- a/homeassistant/components/habitica/sensor.py +++ b/homeassistant/components/habitica/sensor.py @@ -63,6 +63,8 @@ class HabitipySensorEntity(StrEnum): DAILIES = "dailys" TODOS = "todos" REWARDS = "rewards" + GEMS = "gems" + TRINKETS = "trinkets" SENSOR_DESCRIPTIONS: tuple[HabitipySensorEntityDescription, ...] = ( @@ -129,6 +131,25 @@ SENSOR_DESCRIPTIONS: tuple[HabitipySensorEntityDescription, ...] = ( device_class=SensorDeviceClass.ENUM, options=["warrior", "healer", "wizard", "rogue"], ), + HabitipySensorEntityDescription( + key=HabitipySensorEntity.GEMS, + translation_key=HabitipySensorEntity.GEMS, + value_fn=lambda user: user.get("balance", 0) * 4, + suggested_display_precision=0, + native_unit_of_measurement="gems", + ), + HabitipySensorEntityDescription( + key=HabitipySensorEntity.TRINKETS, + translation_key=HabitipySensorEntity.TRINKETS, + value_fn=( + lambda user: user.get("purchased", {}) + .get("plan", {}) + .get("consecutive", {}) + .get("trinkets", 0) + ), + suggested_display_precision=0, + native_unit_of_measurement="⧖", + ), ) diff --git a/homeassistant/components/habitica/strings.json b/homeassistant/components/habitica/strings.json index c9f0829215e..8d435a5e108 100644 --- a/homeassistant/components/habitica/strings.json +++ b/homeassistant/components/habitica/strings.json @@ -76,6 +76,12 @@ "gold": { "name": "Gold" }, + "gems": { + "name": "Gems" + }, + "trinkets": { + "name": "Mystic hourglasses" + }, "class": { "name": "Class", "state": {