{ "_comment": "#33: generated by scripts/dump-config-schema.py — do not edit by hand", "fields": { "config": { "allowExtra": true }, "config.markers": { "default": { "factory": "list" }, "required": false }, "config.markers[]": { "allowExtra": true }, "config.markers[].angle": { "max": 360, "min": -360, "nullable": true, "required": false, "type": "float" }, "config.markers[].area": { "nullable": true, "required": false, "type": "str" }, "config.markers[].binding": { "maxLength": 500, "minLength": 1, "opaque": "Match('^(device:.+|entity:.+|virtual)$', msg=None)", "required": true, "type": "str" }, "config.markers[].controls": { "list": { "maxLength": 500, "type": "str" }, "maxLength": 200, "nullable": true, "required": false }, "config.markers[].description": { "maxLength": 4000, "nullable": true, "required": false, "type": "str" }, "config.markers[].display": { "required": false, "variants": [ { "const": "badge" }, { "const": "ripple" }, { "const": "icon_ripple" }, { "const": "value" }, { "const": "static_icon" }, { "const": "value_static_icon" }, { "type": "null" } ] }, "config.markers[].glow_color": { "nullable": true, "required": false }, "config.markers[].glow_color.bri": { "max": 1.0, "min": 0.01, "nullable": true, "opaque": "", "required": false }, "config.markers[].glow_color.c": { "opaque": "Match('\\\\A#[0-9a-fA-F]{6}\\\\Z', msg=None)", "required": true }, "config.markers[].glow_radius_cm": { "max": 10000, "min": 10, "nullable": true, "required": false, "type": "float" }, "config.markers[].hidden": { "required": false, "type": "bool" }, "config.markers[].icon": { "maxLength": 500, "nullable": true, "required": false, "type": "str" }, "config.markers[].id": { "required": true, "type": "str" }, "config.markers[].is_light": { "nullable": true, "required": false, "type": "bool" }, "config.markers[].light_entity": { "required": false, "type": "object" }, "config.markers[].link": { "maxLength": 2000, "nullable": true, "required": false, "type": "str" }, "config.markers[].model": { "maxLength": 500, "nullable": true, "required": false, "type": "str" }, "config.markers[].name": { "maxLength": 500, "nullable": true, "required": false, "type": "str" }, "config.markers[].pdfs": { "required": false }, "config.markers[].pdfs[]": { "allowExtra": true }, "config.markers[].pdfs[].name": { "maxLength": 500, "required": true, "type": "str" }, "config.markers[].pdfs[].url": { "maxLength": 2000, "required": true, "type": "str" }, "config.markers[].radar": { "allowExtra": true, "nullable": true, "required": false }, "config.markers[].removed": { "required": false, "type": "bool" }, "config.markers[].ripple_color": { "nullable": true, "opaque": "Match('\\\\A#[0-9a-fA-F]{6}\\\\Z', msg=None)", "required": false }, "config.markers[].ripple_size": { "max": 20, "min": 1, "nullable": true, "required": false, "type": "float" }, "config.markers[].room_id": { "nullable": true, "required": false, "type": "str" }, "config.markers[].size": { "max": 6, "min": 0.2, "nullable": true, "required": false, "type": "float" }, "config.markers[].space": { "nullable": true, "required": false, "type": "str" }, "config.markers[].tap_action": { "required": false, "variants": [ { "const": "info" }, { "const": "more-info" }, { "const": "toggle" }, { "const": "run" }, { "const": "none" }, { "const": "cover" }, { "type": "null" } ] }, "config.markers[].tap_confirm": { "nullable": true, "required": false, "type": "bool" }, "config.markers[].tap_target": { "maxLength": 500, "nullable": true, "opaque": "Match('^(automation|script|scene)\\\\.[A-Za-z0-9_]+$', msg=None)", "required": false, "type": "str" }, "config.markers[].toggle_entity": { "required": false, "type": "object" }, "config.markers[].use_climate_temp": { "nullable": true, "required": false, "type": "bool" }, "config.markers[].vacuum": { "nullable": true, "required": false }, "config.markers[].vacuum.calibration": { "required": false }, "config.markers[].vacuum.calibration.*[]": { "opaque": "" }, "config.markers[].vacuum.live": { "nullable": true, "required": false, "type": "bool" }, "config.markers[].vacuum.map_routes": { "list": { "allowExtra": true, "object": true }, "maxLength": 32, "nullable": true, "required": false }, "config.markers[].vacuum.room_highlight": { "nullable": true, "required": false, "type": "bool" }, "config.markers[].vacuum.segment_map": { "required": false }, "config.markers[].vacuum.segment_map.*": { "type": "str" }, "config.markers[].vacuum.source": { "nullable": true, "required": false, "type": "str" }, "config.markers[].vacuum.trail": { "nullable": true, "required": false, "type": "bool" }, "config.markers[].vacuum.trail_mode": { "enum": [ "always", "cleaning", "never" ], "nullable": true, "required": false }, "config.markers[].value_badge": { "allowExtra": true, "nullable": true, "required": false }, "config.markers[].value_badge.enabled": { "required": false, "type": "object" }, "config.markers[].value_badge.position": { "required": false, "type": "object" }, "config.markers[].value_badge.source": { "allowExtra": true, "nullable": true, "required": false }, "config.markers[].value_source": { "allowExtra": true, "nullable": true, "required": false }, "config.model_version": { "max": 1000000, "min": 0, "required": false, "type": "int" }, "config.settings": { "allowExtra": true, "default": { "factory": "dict" }, "required": false }, "config.settings.bg_color": { "opaque": "Match('\\\\A#[0-9a-fA-F]{6}\\\\Z', msg=None)", "required": false }, "config.settings.bg_mode": { "enum": [ "daynight", "static" ], "required": false }, "config.settings.decor_default_style": { "required": false }, "config.settings.decor_default_style.color": { "opaque": "Match('\\\\A#[0-9a-fA-F]{6}\\\\Z', msg=None)", "required": false }, "config.settings.decor_default_style.fill": { "required": false, "type": "bool" }, "config.settings.decor_default_style.fill_color": { "opaque": "Match('\\\\A#[0-9a-fA-F]{6}\\\\Z', msg=None)", "required": false }, "config.settings.decor_default_style.fill_opacity": { "max": 1, "min": 0, "required": false, "type": "float" }, "config.settings.decor_default_style.opacity": { "max": 1, "min": 0, "required": false, "type": "float" }, "config.settings.decor_default_style.width_cm": { "max": 100, "min": 0.1, "required": false, "type": "float" }, "config.settings.fill_colors": { "required": false }, "config.settings.fill_colors.*.a": { "max": 1, "min": 0, "required": true, "type": "float" }, "config.settings.fill_colors.*.c": { "opaque": "Match('\\\\A#[0-9a-fA-F]{6}\\\\Z', msg=None)", "required": true }, "config.settings.glow_radius_cm": { "max": 10000, "min": 10, "required": false, "type": "float" }, "config.settings.known_devices": { "required": false }, "config.settings.known_devices[]": { "maxLength": 500, "type": "str" }, "config.settings.marker_area_snapshot": { "required": false }, "config.settings.marker_area_snapshot., Length(min=1, max=500), msg=None)>.area": { "maxLength": 500, "minLength": 1, "required": true, "type": "str" }, "config.settings.marker_area_snapshot., Length(min=1, max=500), msg=None)>.binding": { "maxLength": 500, "minLength": 1, "opaque": "Match('^(?:device|entity):.+$', msg=None)", "required": true, "type": "str" }, "config.settings.new_device_ids": { "required": false }, "config.settings.new_device_ids[]": { "maxLength": 500, "type": "str" }, "config.settings.north_deg": { "opaque": "", "required": false }, "config.settings.radar": { "allowExtra": true, "required": false }, "config.settings.show_room_tooltip": { "required": false, "type": "bool" }, "config.settings.summary_panel": { "required": false, "variants": [ { "allowExtra": true, "object": true, "opaque": "" }, { "opaque": "" } ] }, "config.settings.sun_ray_origin": { "enum": [ "inner", "outer" ], "required": false }, "config.settings.sun_rays": { "required": false, "type": "bool" }, "config.settings.volumetric_view": { "required": false, "type": "bool" }, "config.settings.weather_entity": { "maxLength": 500, "nullable": true, "required": false, "type": "str" }, "config.spaces": { "required": true }, "config.spaces[]": { "allowExtra": true }, "config.spaces[].aspect": { "removed": true }, "config.spaces[].cell_cm": { "max": 1000.0, "min": 0.1, "opaque": "", "required": false }, "config.spaces[].decor": { "required": false }, "config.spaces[].decor[]": { "allowExtra": true }, "config.spaces[].decor[].angle": { "max": 360.0, "min": -360.0, "opaque": "", "required": false }, "config.spaces[].decor[].color": { "opaque": "Match('\\\\A#[0-9a-fA-F]{6}\\\\Z', msg=None)", "required": false }, "config.spaces[].decor[].fill": { "required": false, "type": "bool" }, "config.spaces[].decor[].fill_color": { "opaque": "Match('\\\\A#[0-9a-fA-F]{6}\\\\Z', msg=None)", "required": false }, "config.spaces[].decor[].fill_opacity": { "max": 1.0, "min": 0.0, "opaque": "", "required": false }, "config.spaces[].decor[].h": { "max": 5000.0, "min": 0.001, "opaque": "", "required": true }, "config.spaces[].decor[].id": { "required": true, "type": "str" }, "config.spaces[].decor[].kind": { "enum": [ "ellipse", "rect" ], "required": true }, "config.spaces[].decor[].opacity": { "max": 1.0, "min": 0.0, "opaque": "", "required": false }, "config.spaces[].decor[].w": { "max": 5000.0, "min": 0.001, "opaque": "", "required": true }, "config.spaces[].decor[].width": { "max": 30, "min": 0.1, "required": false, "type": "float" }, "config.spaces[].decor[].width_cm": { "max": 100, "min": 0.1, "opaque": "", "required": false }, "config.spaces[].decor[].x": { "max": 5000.0, "min": -5000.0, "opaque": "", "required": true }, "config.spaces[].decor[].y": { "max": 5000.0, "min": -5000.0, "opaque": "", "required": true }, "config.spaces[].decor[]": { "allowExtra": true }, "config.spaces[].decor[].angle": { "max": 360.0, "min": -360.0, "opaque": "", "required": false }, "config.spaces[].decor[].color": { "opaque": "Match('\\\\A#[0-9a-fA-F]{6}\\\\Z', msg=None)", "required": false }, "config.spaces[].decor[].flip_h": { "required": false, "type": "bool" }, "config.spaces[].decor[].flip_v": { "required": false, "type": "bool" }, "config.spaces[].decor[].h": { "max": 5000.0, "min": 1e-07, "opaque": "", "required": true }, "config.spaces[].decor[].id": { "required": true, "type": "str" }, "config.spaces[].decor[].kind": { "const": "furniture", "required": true }, "config.spaces[].decor[].opacity": { "max": 1.0, "min": 0.0, "opaque": "", "required": false }, "config.spaces[].decor[].symbol": { "maxLength": 32, "minLength": 1, "opaque": "Match('^[a-z0-9_]+$', msg=None)", "required": true, "type": "str" }, "config.spaces[].decor[].w": { "max": 5000.0, "min": 1e-07, "opaque": "", "required": true }, "config.spaces[].decor[].width": { "max": 30, "min": 0.1, "required": false, "type": "float" }, "config.spaces[].decor[].width_cm": { "max": 100, "min": 0.1, "opaque": "", "required": false }, "config.spaces[].decor[].x": { "max": 5000.0, "min": -5000.0, "opaque": "", "required": true }, "config.spaces[].decor[].y": { "max": 5000.0, "min": -5000.0, "opaque": "", "required": true }, "config.spaces[].decor[]": { "allowExtra": true }, "config.spaces[].decor[].angle": { "max": 360.0, "min": -360.0, "opaque": "", "required": false }, "config.spaces[].decor[].asset_id": { "opaque": "Match('^[0-9a-f]{64}$', msg=None)", "required": true, "type": "str" }, "config.spaces[].decor[].color": { "opaque": "Match('\\\\A#[0-9a-fA-F]{6}\\\\Z', msg=None)", "required": false }, "config.spaces[].decor[].flip_h": { "required": false, "type": "bool" }, "config.spaces[].decor[].flip_v": { "required": false, "type": "bool" }, "config.spaces[].decor[].h": { "max": 5000.0, "min": 1e-07, "opaque": "", "required": true }, "config.spaces[].decor[].id": { "required": true, "type": "str" }, "config.spaces[].decor[].kind": { "const": "image", "required": true }, "config.spaces[].decor[].opacity": { "max": 1.0, "min": 0.0, "opaque": "", "required": false }, "config.spaces[].decor[].w": { "max": 5000.0, "min": 1e-07, "opaque": "", "required": true }, "config.spaces[].decor[].width": { "max": 30, "min": 0.1, "required": false, "type": "float" }, "config.spaces[].decor[].width_cm": { "max": 100, "min": 0.1, "opaque": "", "required": false }, "config.spaces[].decor[].x": { "max": 5000.0, "min": -5000.0, "opaque": "", "required": true }, "config.spaces[].decor[].y": { "max": 5000.0, "min": -5000.0, "opaque": "", "required": true }, "config.spaces[].decor[]": { "allowExtra": true }, "config.spaces[].decor[].color": { "opaque": "Match('\\\\A#[0-9a-fA-F]{6}\\\\Z', msg=None)", "required": false }, "config.spaces[].decor[].id": { "required": true, "type": "str" }, "config.spaces[].decor[].kind": { "const": "line", "required": true }, "config.spaces[].decor[].line_style": { "enum": [ "dashed", "solid" ], "required": false }, "config.spaces[].decor[].opacity": { "max": 1.0, "min": 0.0, "opaque": "", "required": false }, "config.spaces[].decor[].width": { "max": 30, "min": 0.1, "required": false, "type": "float" }, "config.spaces[].decor[].width_cm": { "max": 100, "min": 0.1, "opaque": "", "required": false }, "config.spaces[].decor[].x1": { "max": 5000.0, "min": -5000.0, "opaque": "", "required": true }, "config.spaces[].decor[].x2": { "max": 5000.0, "min": -5000.0, "opaque": "", "required": true }, "config.spaces[].decor[].y1": { "max": 5000.0, "min": -5000.0, "opaque": "", "required": true }, "config.spaces[].decor[].y2": { "max": 5000.0, "min": -5000.0, "opaque": "", "required": true }, "config.spaces[].decor[]": { "allowExtra": true }, "config.spaces[].decor[].angle": { "max": 360.0, "min": -360.0, "opaque": "", "required": false }, "config.spaces[].decor[].attr": { "maxLength": 64, "nullable": true, "required": false, "type": "str" }, "config.spaces[].decor[].color": { "opaque": "Match('\\\\A#[0-9a-fA-F]{6}\\\\Z', msg=None)", "required": false }, "config.spaces[].decor[].entity": { "maxLength": 255, "minLength": 3, "nullable": true, "opaque": "Match('^[a-z0-9_]+\\\\.[a-z0-9_]+$', msg=None)", "required": false, "type": "str" }, "config.spaces[].decor[].id": { "required": true, "type": "str" }, "config.spaces[].decor[].kind": { "const": "text", "required": true }, "config.spaces[].decor[].opacity": { "max": 1.0, "min": 0.0, "opaque": "", "required": false }, "config.spaces[].decor[].scale": { "max": 20.0, "min": 0.15, "opaque": "", "required": false }, "config.spaces[].decor[].size": { "enum": [ "l", "m", "s" ], "required": false }, "config.spaces[].decor[].size_cm": { "max": 2000.0, "min": 0.1, "opaque": "", "required": false }, "config.spaces[].decor[].text": { "maxLength": 200, "minLength": 1, "required": true, "type": "str" }, "config.spaces[].decor[].unit": { "maxLength": 16, "nullable": true, "required": false, "type": "str" }, "config.spaces[].decor[].width": { "max": 30, "min": 0.1, "required": false, "type": "float" }, "config.spaces[].decor[].width_cm": { "max": 100, "min": 0.1, "opaque": "", "required": false }, "config.spaces[].decor[].x": { "max": 5000.0, "min": -5000.0, "opaque": "", "required": true }, "config.spaces[].decor[].y": { "max": 5000.0, "min": -5000.0, "opaque": "", "required": true }, "config.spaces[].id": { "opaque": "Match('^[a-z0-9_-]{1,64}$', msg=None)", "required": true, "type": "str" }, "config.spaces[].open_spans": { "required": false }, "config.spaces[].open_spans[]": { "opaque": "" }, "config.spaces[].openings": { "required": false }, "config.spaces[].openings[]": { "allowExtra": true }, "config.spaces[].openings[].angle": { "max": 360.0, "min": -360.0, "opaque": "", "required": true }, "config.spaces[].openings[].contact": { "nullable": true, "required": false, "type": "str" }, "config.spaces[].openings[].flip_h": { "required": false, "type": "bool" }, "config.spaces[].openings[].flip_v": { "required": false, "type": "bool" }, "config.spaces[].openings[].host": { "required": false }, "config.spaces[].openings[].host.id": { "maxLength": 64, "minLength": 1, "required": true, "type": "str" }, "config.spaces[].openings[].host.kind": { "const": "partition", "required": true }, "config.spaces[].openings[].host.t": { "max": 1, "min": 0, "opaque": "", "required": true }, "config.spaces[].openings[].host.id": { "maxLength": 64, "minLength": 1, "required": true, "type": "str" }, "config.spaces[].openings[].host.kind": { "const": "wall", "required": true }, "config.spaces[].openings[].host.t": { "max": 1, "min": 0, "opaque": "", "required": true }, "config.spaces[].openings[].id": { "required": true, "type": "str" }, "config.spaces[].openings[].invert": { "required": false, "type": "bool" }, "config.spaces[].openings[].length": { "max": 5000.0, "min": 0.001, "opaque": "", "required": true }, "config.spaces[].openings[].lock": { "nullable": true, "required": false, "type": "str" }, "config.spaces[].openings[].type": { "required": true, "variants": [ { "const": "door" }, { "const": "window" }, { "const": "gate" }, { "const": "passage" } ] }, "config.spaces[].openings[].x": { "max": 5000.0, "min": -5000.0, "opaque": "", "required": true }, "config.spaces[].openings[].y": { "max": 5000.0, "min": -5000.0, "opaque": "", "required": true }, "config.spaces[].partitions": { "required": false }, "config.spaces[].partitions[]": { "allowExtra": true }, "config.spaces[].partitions[].a": { "required": true }, "config.spaces[].partitions[].a[]": { "max": 5000.0, "min": -5000.0, "opaque": "" }, "config.spaces[].partitions[].b": { "required": true }, "config.spaces[].partitions[].b[]": { "max": 5000.0, "min": -5000.0, "opaque": "" }, "config.spaces[].partitions[].cm": { "max": 100, "min": 0, "opaque": "", "required": true }, "config.spaces[].partitions[].id": { "maxLength": 64, "minLength": 1, "required": true, "type": "str" }, "config.spaces[].plan_angle": { "max": 360.0, "min": -360.0, "nullable": true, "opaque": "", "required": false }, "config.spaces[].plan_aspect": { "max": 20, "min": 0.05, "nullable": true, "required": false, "type": "float" }, "config.spaces[].plan_scale": { "max": 100.0, "min": 0.01, "nullable": true, "opaque": "", "required": false }, "config.spaces[].plan_scale_x": { "max": 100.0, "min": 0.01, "nullable": true, "opaque": "", "required": false }, "config.spaces[].plan_scale_y": { "max": 100.0, "min": 0.01, "nullable": true, "opaque": "", "required": false }, "config.spaces[].plan_url": { "nullable": true, "required": false, "type": "str" }, "config.spaces[].plan_x": { "max": 5000.0, "min": -5000.0, "nullable": true, "opaque": "", "required": false }, "config.spaces[].plan_y": { "max": 5000.0, "min": -5000.0, "nullable": true, "opaque": "", "required": false }, "config.spaces[].room_drafts": { "required": false }, "config.spaces[].room_drafts[]": { "allowExtra": true }, "config.spaces[].room_drafts[].id": { "maxLength": 64, "minLength": 1, "required": true, "type": "str" }, "config.spaces[].room_drafts[].points": { "required": true }, "config.spaces[].room_drafts[].points[][]": { "max": 5000.0, "min": -5000.0, "opaque": "" }, "config.spaces[].room_drafts[].segments": { "required": true }, "config.spaces[].room_drafts[].segments[]": { "allowExtra": true }, "config.spaces[].room_drafts[].segments[].cm": { "max": 100, "min": 0, "opaque": "", "required": true }, "config.spaces[].room_drafts[].segments[].id": { "maxLength": 64, "minLength": 1, "required": false, "type": "str" }, "config.spaces[].rooms": { "required": true }, "config.spaces[].rooms[]": { "allowExtra": true }, "config.spaces[].rooms[].area": { "maxLength": 500, "nullable": true, "required": false, "type": "str" }, "config.spaces[].rooms[].h": { "max": 5000.0, "min": 0.001, "opaque": "", "required": false }, "config.spaces[].rooms[].id": { "maxLength": 500, "required": true, "type": "str" }, "config.spaces[].rooms[].name": { "maxLength": 500, "required": true, "type": "str" }, "config.spaces[].rooms[].open_to": { "required": false }, "config.spaces[].rooms[].open_to[]": { "maxLength": 500, "type": "str" }, "config.spaces[].rooms[].poly": { "required": false }, "config.spaces[].rooms[].poly[][]": { "max": 5000.0, "min": -5000.0, "opaque": "" }, "config.spaces[].rooms[].settings": { "allowExtra": true, "nullable": true, "required": false }, "config.spaces[].rooms[].settings.custom_fill": { "nullable": true, "required": false }, "config.spaces[].rooms[].settings.custom_fill.a": { "max": 1.0, "min": 0.0, "opaque": "", "required": true }, "config.spaces[].rooms[].settings.custom_fill.c": { "opaque": "Match('\\\\A#[0-9a-fA-F]{6}\\\\Z', msg=None)", "required": true }, "config.spaces[].rooms[].settings.fill_mode": { "enum": [ "custom", "glow", "light", "lqi", "none", "temp" ], "nullable": true, "required": false }, "config.spaces[].rooms[].settings.glow": { "nullable": true, "required": false, "type": "bool" }, "config.spaces[].rooms[].settings.hum_source": { "nullable": true, "required": false, "type": "str" }, "config.spaces[].rooms[].settings.label_scale": { "max": 3, "min": 0.5, "nullable": true, "required": false, "type": "float" }, "config.spaces[].rooms[].settings.name_scale": { "max": 3, "min": 0.5, "nullable": true, "required": false, "type": "float" }, "config.spaces[].rooms[].settings.temp_max": { "opaque": "", "required": false }, "config.spaces[].rooms[].settings.temp_min": { "opaque": "", "required": false }, "config.spaces[].rooms[].settings.temp_source": { "nullable": true, "required": false, "type": "str" }, "config.spaces[].rooms[].w": { "max": 5000.0, "min": 0.001, "opaque": "", "required": false }, "config.spaces[].rooms[].wall_ids": { "required": false }, "config.spaces[].rooms[].wall_ids[]": { "maxLength": 64, "minLength": 1, "type": "str" }, "config.spaces[].rooms[].x": { "max": 5000.0, "min": -5000.0, "opaque": "", "required": false }, "config.spaces[].rooms[].y": { "max": 5000.0, "min": -5000.0, "opaque": "", "required": false }, "config.spaces[].segments": { "removed": true }, "config.spaces[].settings": { "allowExtra": true, "required": false }, "config.spaces[].settings.bg_color": { "opaque": "Match('\\\\A#[0-9a-fA-F]{6}\\\\Z', msg=None)", "required": false }, "config.spaces[].settings.bg_mode": { "enum": [ "daynight", "static" ], "nullable": true, "required": false }, "config.spaces[].settings.card_font_scale": { "max": 3, "min": 0.5, "required": false, "type": "float" }, "config.spaces[].settings.custom_fill": { "nullable": true, "required": false }, "config.spaces[].settings.custom_fill.a": { "max": 1.0, "min": 0.0, "opaque": "", "required": true }, "config.spaces[].settings.custom_fill.c": { "opaque": "Match('\\\\A#[0-9a-fA-F]{6}\\\\Z', msg=None)", "required": true }, "config.spaces[].settings.fill_mode": { "enum": [ "custom", "glow", "light", "lqi", "none", "temp" ], "required": false }, "config.spaces[].settings.glow_enabled": { "required": false, "type": "bool" }, "config.spaces[].settings.hide_decor": { "required": false, "type": "bool" }, "config.spaces[].settings.hide_openings": { "required": false, "type": "bool" }, "config.spaces[].settings.label_hum": { "required": false, "type": "bool" }, "config.spaces[].settings.label_light": { "required": false, "type": "bool" }, "config.spaces[].settings.label_lqi": { "required": false, "type": "bool" }, "config.spaces[].settings.label_temp": { "required": false, "type": "bool" }, "config.spaces[].settings.north_deg": { "nullable": true, "opaque": "", "required": false }, "config.spaces[].settings.room_color": { "opaque": "Match('\\\\A#[0-9a-fA-F]{6}\\\\Z', msg=None)", "required": false }, "config.spaces[].settings.room_opacity": { "max": 1, "min": 0, "required": false, "type": "float" }, "config.spaces[].settings.show_borders": { "required": false, "type": "bool" }, "config.spaces[].settings.show_lqi": { "required": false, "type": "bool" }, "config.spaces[].settings.show_names": { "required": false, "type": "bool" }, "config.spaces[].settings.sun_rays": { "nullable": true, "required": false, "type": "bool" }, "config.spaces[].settings.temp_max": { "required": false, "type": "float" }, "config.spaces[].settings.temp_min": { "required": false, "type": "float" }, "config.spaces[].stairs": { "required": false }, "config.spaces[].stairs[]": { "allowExtra": true }, "config.spaces[].stairs[].angle": { "max": 360.0, "min": -360.0, "opaque": "", "required": true }, "config.spaces[].stairs[].color": { "opaque": "Match('\\\\A#[0-9a-fA-F]{6}\\\\Z', msg=None)", "required": false }, "config.spaces[].stairs[].direction": { "enum": [ "backward", "clockwise", "counterclockwise", "forward" ], "required": true }, "config.spaces[].stairs[].fill_color": { "opaque": "Match('\\\\A#[0-9a-fA-F]{6}\\\\Z', msg=None)", "required": false }, "config.spaces[].stairs[].fill_opacity": { "max": 1.0, "min": 0.0, "opaque": "", "required": false }, "config.spaces[].stairs[].id": { "maxLength": 64, "minLength": 1, "required": true, "type": "str" }, "config.spaces[].stairs[].kind": { "enum": [ "spiral", "straight" ], "required": true }, "config.spaces[].stairs[].length": { "max": 5000.0, "min": 1e-07, "opaque": "", "required": false }, "config.spaces[].stairs[].opacity": { "max": 1.0, "min": 0.0, "opaque": "", "required": false }, "config.spaces[].stairs[].radius": { "max": 5000.0, "min": 1e-07, "opaque": "", "required": false }, "config.spaces[].stairs[].target_space_id": { "nullable": true, "opaque": "Match('^[a-z0-9_-]{1,64}$', msg=None)", "required": false, "type": "str" }, "config.spaces[].stairs[].width": { "max": 5000.0, "min": 1e-07, "opaque": "", "required": false }, "config.spaces[].stairs[].x": { "max": 5000.0, "min": -5000.0, "opaque": "", "required": true }, "config.spaces[].stairs[].y": { "max": 5000.0, "min": -5000.0, "opaque": "", "required": true }, "config.spaces[].title": { "required": true, "type": "str" }, "config.spaces[].view_box": { "opaque": "", "required": true }, "config.spaces[].wall_columns": { "required": false }, "config.spaces[].wall_columns[]": { "allowExtra": true }, "config.spaces[].wall_columns[].angle": { "max": 90, "min": 0, "opaque": "", "required": false }, "config.spaces[].wall_columns[].center": { "required": true }, "config.spaces[].wall_columns[].center[]": { "max": 5000.0, "min": -5000.0, "opaque": "" }, "config.spaces[].wall_columns[].cm": { "max": 150, "min": 1, "opaque": "", "required": true }, "config.spaces[].wall_columns[].id": { "maxLength": 64, "minLength": 1, "required": true, "type": "str" }, "config.spaces[].wall_columns[].shape": { "enum": [ "circle", "square" ], "required": true }, "config.spaces[].wall_segments": { "required": false }, "config.spaces[].wall_segments[]": { "allowExtra": true }, "config.spaces[].wall_segments[].a": { "required": true }, "config.spaces[].wall_segments[].a[]": { "max": 5000.0, "min": -5000.0, "opaque": "" }, "config.spaces[].wall_segments[].b": { "required": true }, "config.spaces[].wall_segments[].b[]": { "max": 5000.0, "min": -5000.0, "opaque": "" }, "config.spaces[].wall_segments[].cm": { "max": 100, "min": 0, "opaque": "", "required": true }, "config.spaces[].wall_segments[].id": { "maxLength": 64, "minLength": 1, "required": true, "type": "str" }, "config.spaces[].walls": { "required": false }, "config.spaces[].walls[]": { "allowExtra": true }, "config.spaces[].walls[].a": { "required": false }, "config.spaces[].walls[].a[]": { "max": 5000.0, "min": -5000.0, "opaque": "" }, "config.spaces[].walls[].b": { "required": false }, "config.spaces[].walls[].b[]": { "max": 5000.0, "min": -5000.0, "opaque": "" }, "config.spaces[].walls[].cm": { "max": 100, "min": 1, "opaque": "", "required": true }, "config.spaces[].walls[].key": { "maxLength": 64, "minLength": 1, "required": true, "type": "str" }, "config.spaces[].zero_wall_style": { "enum": [ "dashed", "solid" ], "required": false }, "layout.*": { "allowExtra": true }, "layout.*.x": { "max": 5000.0, "min": -5000.0, "opaque": "", "required": true }, "layout.*.y": { "max": 5000.0, "min": -5000.0, "opaque": "", "required": true } } }