Zum Inhalt springen
Sprache wählen:Deutsch

Home Assistant

Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.

The Kept integration for Home Assistant shows what needs you in each location and sends readings back, such as the odometer a car integration already knows. It reads Kept with a personal token.

The integration: keptinventory/kept-homeassistant, installed with HACS as a custom repository.

Optional: only if you already run Home Assistant. Kept works the same without it.

You need Why
Home Assistant 2026.10 or later The integration is built and tested against it
HACS in Home Assistant It installs the integration. Download HACS (what it needs)
Kept 1.8.0 or later It adds the summary the sensors read
Kept over https Kept makes personal tokens only over HTTPS (HTTPS)
Home Assistant can reach Kept Same network, a VPN such as Tailscale, or a public address. Test it: open Kept’s address from the machine Home Assistant runs on

Each location is a device in Home Assistant:

Entity What it shows
Overdue, Due, Expiring The counts on Kept’s Home. The items attribute lists the first 10, most urgent first
Lent out, Borrowed in Open loans. Only where Lending is on
Uncertain, Long unseen Things whose place is in doubt, or not seen for the location’s months
Low stock Things below their minimum. Only where Consumables is on
Unplaced, Things Off at first; turn them on in Home Assistant
Due dates (calendar) Every item with a due day, as an all-day event

Each vehicle (a thing with a meter, under Vehicles) is a device in its location:

Entity What it shows
Reading The latest reading, in km, mi or hours
Next service The day it’s due, or Kept’s estimate from your readings
Next service at The reading it’s due at

A location or vehicle added in Kept later shows up after you reload the integration.

  1. Make a token. In Kept, Settings → Connections → New token. Tick the locations Home Assistant should see. Read only is enough for the sensors and the calendar; Read and change also lets the actions below send readings and mark schedules done. Kept makes tokens only when it is served over https (HTTPS).
  2. Install. In HACS, ⋮ → Custom repositories (how): add https://github.com/keptinventory/kept-homeassistant, type Integration. Install Kept, and restart Home Assistant.
  3. Add it. Settings → Devices & services → Add integration → Kept. Enter Kept’s address (https://kept.example.org) and the token. Turn off Check the HTTPS certificate only for a self-signed certificate on your own network.
  4. Check. The next step names your Kept’s version and the locations the token reaches. Submit adds them.

What the setup tells you when something is wrong:

Message What to do
Kept can’t be reached Check the address and that Home Assistant can reach that host
It isn’t Kept The address answers, but with something else: a proxy’s page, another app
That address redirects to HTTPS Use the https:// address it names
The HTTPS certificate isn’t trusted Use a trusted certificate, or turn off the check for a self-signed one
HTTPS failed Kept is served over plain http on that port: use http://
Kept refused the token It was revoked, has expired or was mistyped: make a new one
This Kept doesn’t offer the summary Update Kept

Configure on the integration chooses which of the token’s locations to show and how often to read Kept (every 5 minutes; 1 to 60). When the token is revoked or expires, Home Assistant asks for a new one.

Entity ids come from the names in Kept. For a location called Home and a car called Corolla: sensor.home_overdue, sensor.home_due, sensor.home_expiring, sensor.home_lent_out, sensor.home_low_stock, calendar.home_due_dates, sensor.corolla_reading, sensor.corolla_next_service. Check yours under Settings → Devices & services → Kept.

A tile card per count, or one entities card:

type: entities
title: Kept · Home
entities:
- sensor.home_overdue
- sensor.home_due
- sensor.home_expiring
- sensor.home_lent_out
- sensor.home_low_stock
- sensor.corolla_next_service

The Due dates calendar shows in Home Assistant’s Calendar panel.

Kept: Log a reading (kept.log_reading) sends a reading for a vehicle (or a meter, by its id: the Reading sensor’s meter_id). It shows in Kept as a reading from Home Assistant. Kept refuses a reading lower than the one before it, and the action fails with Kept’s reason; a jump Kept finds unlikely waits for review in the Inbox.

Kept: Mark a schedule done (kept.complete_schedule) marks a schedule done on a day (today, in the location’s time zone) and records the service, with the reading for a schedule by meter. A one-off is then done and leaves the counts; marking it done again fails.

Both need a Read and change token.

When the car’s odometer has settled for 10 minutes (the car is parked):

alias: Odometer to Kept
triggers:
- trigger: state
entity_id: sensor.my_car_odometer
for: "00:10:00"
conditions:
- condition: template
value_template: "{{ trigger.to_state.state | is_number }}"
actions:
- action: kept.log_reading
data:
device_id: YOUR_KEPT_VEHICLE_DEVICE_ID
value: "{{ trigger.to_state.state | float }}"
mode: queued

sensor.my_car_odometer is your car integration’s sensor. In the automation editor, pick the Kept vehicle in the action’s Vehicle field to fill device_id. Send the reading in the unit of the vehicle’s meter in Kept.

  • Update: a new release shows under Settings → Updates (HACS adds it there). Install it and restart Home Assistant.
  • Remove: Settings → Devices & services → Kept → ⋮ → Delete, then remove Kept in HACS and restart. Revoke the token in Kept: Settings → Connections.

Every few minutes, with the token: GET /api/v1/summary (the counts per location), GET /api/v1/vehicles and the first page of GET /api/v1/agenda. The calendar reads GET /api/v1/agenda for the days it shows. The actions use POST /api/v1/meters/{id}/readings and POST /api/v1/schedules/{id}/complete. A token sees only its own locations, and never more than you can. The same summary feeds dashboard widgets.