mirror of
https://github.com/house-of-abbey/GarminHomeAssistant.git
synced 2025-04-30 20:52:27 +00:00
96 lines
2.7 KiB
JSON
96 lines
2.7 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"type": "object",
|
|
"properties": {
|
|
"title": { "type": "string" },
|
|
"items": { "$ref": "#/$defs/items" },
|
|
"required": ["title", "items"],
|
|
"additionalProperties": false
|
|
},
|
|
"$defs": {
|
|
"toggle": {
|
|
"type": "object",
|
|
"properties": {
|
|
"entity": { "$ref": "#/$defs/entity" },
|
|
"name": { "title": "Your familiar name", "type": "string" },
|
|
"type": {
|
|
"title": "Menu item type",
|
|
"description": "One of 'tap, 'toggle' or 'group'.",
|
|
"const": "toggle"
|
|
}
|
|
},
|
|
"required": ["entity", "name", "type"],
|
|
"additionalProperties": false
|
|
},
|
|
"tap": {
|
|
"type": "object",
|
|
"properties": {
|
|
"entity": { "$ref": "#/$defs/entity" },
|
|
"name": { "title": "Your familiar name", "type": "string" },
|
|
"type": {
|
|
"title": "Menu item type",
|
|
"description": "One of 'tap, 'toggle' or 'group'.",
|
|
"const": "tap"
|
|
},
|
|
"service": {
|
|
"$ref": "#/$defs/entity",
|
|
"deprecated": true,
|
|
"title": "Schema change:",
|
|
"description": "Use 'tap_action' instead to mirror Home Assistant."
|
|
},
|
|
"tap_action": { "$ref": "#/$defs/action" }
|
|
},
|
|
"oneOf": [
|
|
{ "required": ["entity", "name", "type", "service"] },
|
|
{ "required": ["entity", "name", "type", "tap_action"] }
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"menu": {
|
|
"type": "object",
|
|
"properties": {
|
|
"entity": { "$ref": "#/$defs/entity" },
|
|
"name": { "title": "Your familiar name", "type": "string" },
|
|
"title": { "type": "string" },
|
|
"type": {
|
|
"title": "Menu item type",
|
|
"description": "One of 'tap, 'toggle' or 'group'.",
|
|
"const": "group"
|
|
},
|
|
"items": { "$ref": "#/$defs/items" }
|
|
},
|
|
"required": ["entity", "name", "title", "type", "items"],
|
|
"additionalProperties": false
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"oneOf": [
|
|
{ "$ref": "#/$defs/toggle" },
|
|
{ "$ref": "#/$defs/tap" },
|
|
{ "$ref": "#/$defs/menu" }
|
|
]
|
|
}
|
|
},
|
|
"entity": {
|
|
"title": "Home Assistant entity name",
|
|
"type": "string",
|
|
"pattern": "^[^.]+\\.[^.]+$"
|
|
},
|
|
"action": {
|
|
"title": "Action",
|
|
"description": "'confirm' field is optional.",
|
|
"type": "object",
|
|
"properties": {
|
|
"service": { "$ref": "#/$defs/entity" },
|
|
"confirm": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Confirm the action before execution as a precaution."
|
|
}
|
|
},
|
|
"required": ["service"]
|
|
}
|
|
}
|
|
}
|