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>
This commit is contained in:
1 parent
bc3ca0f3b9
commit
cbea5a322f
204 files changed
+25056
-65
No files matched your search
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"$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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user