Expose every order component as its own entity and prepare for release
Validate / hassfest (push) Failing after 23s
Validate / pytest (push) Successful in 9s
Validate / HACS (push) Failing after 1m21s

Each cost line is now an entity rather than an attribute: subtotal, box price,
add-ons, tax and delivery fee, plus a total and free-delivery-remaining for the
open order, a delivery-day sensor, and a binary sensor that turns off at the
cutoff. Entities share a base class and declare a scope, so a description
states only the field it reads.

Also parses the driver tip, Bounty savings and the free-delivery threshold. The
threshold is carried across orders because the progress bar only renders on
carts that have not met it.

Adds LICENSE, hacs.json, a CI workflow, a pre-publish audit script, and a test
that cross-checks every entity's translation_key against both translation
files. Manifest URLs now point at GitHub rather than a private forge.
This commit is contained in:
flan
2026-08-03 19:32:50 +00:00
parent 527f662189
commit 3e880ff2c1
18 changed files with 760 additions and 144 deletions
+27 -1
View File
@@ -22,21 +22,47 @@
"next_delivery": {
"name": "Next delivery"
},
"delivery_day": {
"name": "Delivery day"
},
"next_delivery_total": {
"name": "Next delivery total"
},
"next_delivery_addons_total": {
"next_delivery_subtotal": {
"name": "Next delivery subtotal"
},
"next_delivery_box_price": {
"name": "Next delivery box price"
},
"next_delivery_add_ons": {
"name": "Next delivery add-ons"
},
"next_delivery_tax": {
"name": "Next delivery tax"
},
"next_delivery_delivery_fee": {
"name": "Next delivery fee"
},
"next_delivery_items": {
"name": "Next delivery items"
},
"open_order_delivery": {
"name": "Open order delivery"
},
"open_order_total": {
"name": "Open order total"
},
"open_order_free_delivery_remaining": {
"name": "Open order free delivery remaining"
},
"shop_window": {
"name": "Shopping window"
}
},
"binary_sensor": {
"order_open": {
"name": "Order open"
}
}
}
}