Add sensors for gems and mystic hourglasses to Habitica integration (#127651)

Add sensors for gems and mystic hourglasses
This commit is contained in:
Manu 2024-10-05 21:27:42 +02:00 committed by GitHub
parent 0326e58c8a
commit fe9ae0d8bd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 33 additions and 0 deletions

View file

@ -56,6 +56,12 @@
"gold": {
"default": "mdi:sack"
},
"gems": {
"default": "mdi:diamond-stone"
},
"trinkets": {
"default": "mdi:timer-sand"
},
"class": {
"default": "mdi:sword",
"state": {

View file

@ -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="",
),
)

View file

@ -76,6 +76,12 @@
"gold": {
"name": "Gold"
},
"gems": {
"name": "Gems"
},
"trinkets": {
"name": "Mystic hourglasses"
},
"class": {
"name": "Class",
"state": {