Files
luma-home/ha-home/config.schema.json
T
Kaloyan DanchevandClaude Opus 4.6 cbea5a322f
CI / Identify a merged version PR (push) Canceled after 0s
CI / Rust checks, rendering, and native package (push) Canceled after 0s
CI / Publish release and Homebrew feed (push) Canceled after 0s
Release PR / Maintain Version Packages PR (push) Canceled after 0s
Merge Luma launcher fork into monorepo
Move trampoline files (boot-hook, watcher, overlay) into trampoline/
subdirectory. Add upstream Luma v2.3.1 source at repo root with our
additions:

- Page::Ha (4th nav tab) with placeholder empty state
- HA tab config schema and default entity mapping (ha-home/)
- Nav keys renamed: "home" → "start", new "ha" tab between Apps and Settings
- All state.rs/view.rs/main.rs/tests.rs updated for 4-tab navigation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-10-24 11:52:55 +03:00

106 lines
2.9 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Luma Home Tab Configuration",
"description": "Configuration for the Home Assistant tab in the Luma launcher on webOS TV",
"type": "object",
"required": ["version", "ha", "rooms"],
"properties": {
"version": {
"const": 1,
"description": "Schema version"
},
"ha": {
"type": "object",
"required": ["url", "token"],
"properties": {
"url": {
"type": "string",
"description": "Home Assistant WebSocket URL (wss://...)"
},
"token": {
"type": "string",
"description": "Long-lived access token"
}
}
},
"weather": {
"type": "object",
"properties": {
"entity_id": {
"type": "string",
"description": "Weather entity to display (e.g. weather.forecast_home)"
}
}
},
"vacuum": {
"type": "object",
"properties": {
"entity_id": {
"type": "string",
"description": "Vacuum entity ID"
},
"cleaning_mode_entity": {
"type": "string",
"description": "Select entity for cleaning mode (vacuum/mop/vac_and_mop)"
},
"rooms": {
"type": "object",
"description": "Map of segment ID to display name",
"additionalProperties": { "type": "string" }
}
}
},
"rooms": {
"type": "array",
"items": {
"type": "object",
"required": ["id", "name", "cards"],
"properties": {
"id": {
"type": "string",
"description": "HA area_id or custom slug"
},
"name": {
"type": "string",
"description": "Display name"
},
"background": {
"type": "string",
"description": "Background image filename (served from config dir)"
},
"sensors": {
"type": "array",
"description": "Sensor entity IDs shown as badges in room header",
"items": { "type": "string" }
},
"cards": {
"type": "array",
"items": {
"type": "object",
"required": ["type", "entity_id"],
"properties": {
"type": {
"enum": ["toggle", "range", "climate", "action", "vacuum"],
"description": "Card type"
},
"entity_id": {
"type": "string",
"description": "HA entity ID"
},
"name": {
"type": "string",
"description": "Override display name (defaults to HA friendly_name)"
},
"icon": {
"type": "string",
"description": "Override icon name"
}
}
}
}
}
}
}
}
}