{
    "title": "Versatile Thermostat configuration",
    "config": {
        "flow_title": "Versatile Thermostat configuration",
        "step": {
            "user": {
                "title": "Type of Versatile Thermostat",
                "description": "Choose thermostat type you want to create",
                "data": {
                    "thermostat_type": "Thermostat type"
                },
                "data_description": {
                    "thermostat_type": "Only one central configuration type is possible"
                }
            },
            "menu": {
                "title": "Menu",
                "description": "Configure your thermostat. You will be able to finalize the configuration when all required parameters are entered.",
                "menu_options": {
                    "main": "Main attributes",
                    "central_boiler": "Central boiler",
                    "type": "Underlyings",
                    "tpi": "TPI parameters",
                    "features": "Features",
                    "presets": "Presets",
                    "window": "Window detection",
                    "motion": "Motion detection",
                    "power": "Power management",
                    "presence": "Presence detection",
                    "advanced": "Advanced parameters",
                    "auto_start_stop": "Auto start and stop",
                    "valve_regulation": "Valve regulation configuration",
                    "sync_device_internal_temp": "Synchronize device temperature",
                    "lock": "Lock",
                    "heating_failure_detection": "Heating failure detection",
                    "auto_tpi_configuration": "Auto TPI - Configuration",
                    "auto_tpi_avg_settings": "Auto TPI - Weighted Average",
                    "auto_tpi_ema_settings": "Auto TPI - EWMA",
                    "finalize": "All done",
                    "configuration_not_complete": "Configuration not complete"
                }
            },
            "lock": {
                "title": "Lock management",
                "description": "The Lock feature prevents changes to a thermostat's configuration from the UI or automations while keeping the thermostat operational.",
                "data": {
                    "use_lock_central_config": "Use central lock configuration",
                    "lock_code": "Optional pincode (4 digits)",
                    "lock_users": "Lock will prevent commands from Users",
                    "lock_automations": "Lock will prevent commands from Automations & integrations (i.e scheduler)",
                    "auto_relock_sec": "Auto-relock delay"
                },
                "data_description": {
                    "use_lock_central_config": "Check to use the central lock configuration. Uncheck to use a specific lock configuration for this VTherm",
                    "auto_relock_sec": "Delay in seconds before automatically re-locking after an unlock. Set to 0 to disable auto-relock. Default is 30 seconds."
                }
            },
            "main": {
                "title": "Add new Versatile Thermostat",
                "description": "Main mandatory attributes",
                "data": {
                    "name": "Name",
                    "thermostat_type": "Thermostat type",
                    "temperature_sensor_entity_id": "Room temperature",
                    "last_seen_temperature_sensor_entity_id": "Last seen room temperature datetime",
                    "external_temperature_sensor_entity_id": "Outdoor temperature sensor entity id",
                    "cycle_min": "Cycle duration (minutes)",
                    "temp_min": "Minimum temperature allowed",
                    "temp_max": "Maximum temperature allowed",
                    "step_temperature": "Temperature step",
                    "device_power": "Device power",
                    "use_central_mode": "Enable the control by central entity (requires central config). Check to enable the control of the VTherm with the select central_mode entities.",
                    "use_main_central_config": "Use additional central main configuration. Check to use the central main configuration (outdoor temperature, min, max, step, ...).",
                    "used_by_controls_central_boiler": "Used by central boiler. Check if this VTherm should have control on the central boiler"
                },
                "data_description": {
                    "cycle_min": "Minimum duration of one heating/cooling cycle in minutes to avoid too frequent switching",
                    "temp_min": "Minimum temperature allowed for the thermostat",
                    "temp_max": "Maximum temperature allowed for the thermostat",
                    "step_temperature": "Temperature step for setting the target temperature",
                    "temperature_sensor_entity_id": "Room temperature sensor entity id",
                    "last_seen_temperature_sensor_entity_id": "Last seen room temperature sensor entity id. Should be datetime sensor",
                    "external_temperature_sensor_entity_id": "Outdoor temperature sensor entity id. Not used if central configuration is selected"
                }
            },
            "features": {
                "title": "Features",
                "description": "Thermostat features",
                "data": {
                    "use_window_feature": "Use window detection",
                    "use_motion_feature": "Use motion detection",
                    "use_power_feature": "Use power management",
                    "use_presence_feature": "Use presence detection",
                    "use_central_boiler_feature": "Use a central boiler. Check to add a control to your central boiler. You will have to configure the VTherm which will have a control of the central boiler after selecting this checkbox to take effect. If one VTherm requires heating, the boiler will be turned on. If no VTherm requires heating, the boiler will be turned off. Commands for turning on/off the central boiler are given in the related configuration page",
                    "use_auto_start_stop_feature": "Use the auto start and stop feature",
                    "use_heating_failure_detection_feature": "Use heating failure detection"
                }
            },
            "type": {
                "title": "Linked entities",
                "description": "Linked entities attributes",
                "data": {
                    "underlying_entity_ids": "The device(s) to be controlled",
                    "heater_keep_alive": "Switch keep-alive interval in seconds",
                    "proportional_function": "Algorithm",
                    "ac_mode": "AC mode",
                    "sync_device_internal_temp": "Synchronize device internal temperature",
                    "auto_regulation_mode": "Self-regulation",
                    "auto_regulation_dtemp": "Regulation threshold",
                    "auto_regulation_periode_min": "Regulation minimum period",
                    "auto_regulation_use_device_temp": "Use internal temperature of the underlying",
                    "inverse_switch_command": "Inverse switch command",
                    "auto_fan_mode": "Auto fan mode",
                    "on_command_text": "Turn on command customization",
                    "vswitch_on_command": "Optional turn on commands",
                    "off_command_text": "Turn off command customization",
                    "vswitch_off_command": "Optional turn off commands"
                },
                "data_description": {
                    "underlying_entity_ids": "The device(s) to be controlled - 1 is required",
                    "heater_keep_alive": "Optional heater switch state refresh interval. Leave empty if not required.",
                    "proportional_function": "Algorithm to use (other algorithms can be installed as {plugins_link})",
                    "ac_mode": "Use the Air Conditioning (AC) mode",
                    "sync_device_internal_temp": "Check to synchronize the internal temperature of the underlying device (fill the new menu item 'Synchronize device temperature' to configure it)",
                    "auto_regulation_mode": "Auto adjustment of the target temperature",
                    "auto_regulation_dtemp": "The threshold in ° (or % for valve) under which the temperature change will not be sent",
                    "auto_regulation_periode_min": "Duration in minutes between two regulation update",
                    "auto_regulation_use_device_temp": "Use the eventual internal temperature sensor of the underlying to speedup the self-regulation (not needed in most cases)",
                    "inverse_switch_command": "For switch with pilot wire and diode you may need to inverse the command",
                    "auto_fan_mode": "Automatically activate fan when huge heating/cooling is necessary",
                    "on_command_text": "For underlying of type `select` or `climate` you have to customize the commands."
                }
            },
            "tpi": {
                "title": "TPI",
                "description": "Time Proportional Integral attributes",
                "data": {
                    "tpi_coef_int": "coef_int",
                    "tpi_coef_ext": "coef_ext",
                    "tpi_threshold_low": "Low TPI threshold",
                    "tpi_threshold_high": "High TPI threshold",
                    "use_tpi_central_config": "Use central TPI configuration",
                    "minimal_activation_delay": "Minimum activation delay",
                    "minimal_deactivation_delay": "Minimum deactivation delay",
                    "auto_tpi_mode": "Enable Auto TPI Learning"
                },
                "data_description": {
                    "tpi_coef_int": "Coefficient to use for internal temperature delta",
                    "tpi_coef_ext": "Coefficient to use for external temperature delta",
                    "tpi_threshold_low": "Threshold in ° under which the TPI algorithm will be on. 0 means no threshold",
                    "tpi_threshold_high": "Threshold in ° above which the TPI algorithm will be off. 0 means no threshold",
                    "use_tpi_central_config": "Check to use the central TPI configuration. Uncheck to use a specific TPI configuration for this VTherm",
                    "minimal_activation_delay": "Delay in seconds under which the equipment will not be activated",
                    "minimal_deactivation_delay": "Delay in seconds under which the equipment will be kept active",
                    "auto_tpi_mode": "TPI learning session are started manually, read the doc first."
                }
            },
            "presets": {
                "title": "Presets",
                "description": "Select if the thermostat will use central preset - deselect for the thermostat to have its own presets",
                "data": {
                    "use_presets_central_config": "Use central presets configuration"
                }
            },
            "window": {
                "title": "Window management",
                "description": "Open window management.\nYou can also configure automatic window open detection based on temperature decrease",
                "data": {
                    "window_sensor_entity_id": "Window sensor entity id",
                    "window_delay": "Window sensor 'on' delay (seconds)",
                    "window_off_delay": "Window sensor 'off' delay (seconds)",
                    "window_auto_open_threshold": "Temperature decrease threshold for automatic window open detection (in °/hours)",
                    "window_auto_close_threshold": "Temperature increase threshold for end of automatic detection (in °/hours)",
                    "window_auto_max_duration": "Maximum duration of automatic window open detection (in min)",
                    "use_window_central_config": "Use central window configuration",
                    "window_action": "Action"
                },
                "data_description": {
                    "window_sensor_entity_id": "Leave empty if no window sensor should be used and to use the automatic detection",
                    "window_delay": "The delay in seconds before sensor 'on' detection is taken into account",
                    "window_off_delay": "The delay in seconds before sensor 'off' detection is taken into account. Leave it empty to use the same value as window on delay",
                    "window_auto_open_threshold": "Recommended value: between 3 and 10. Leave empty if automatic window open detection is not used",
                    "window_auto_close_threshold": "Recommended value: 0. Leave empty if automatic window open detection is not used",
                    "window_auto_max_duration": "Recommended value: 60 (one hour). Leave empty if automatic window open detection is not used",
                    "use_window_central_config": "Select to use the central window configuration. Deselect to use a specific window configuration for this VTherm",
                    "window_action": "Action to perform if window is deteted as open"
                }
            },
            "motion": {
                "title": "Motion management",
                "description": "Motion sensor management. Preset can switch automatically depending on motion detection\nmotion_preset and no_motion_preset should be set to the corresponding preset name",
                "data": {
                    "motion_sensor_entity_id": "Motion sensor entity id",
                    "motion_delay": "Activation delay",
                    "motion_off_delay": "Deactivation delay",
                    "motion_preset": "Motion preset",
                    "no_motion_preset": "No motion preset",
                    "use_motion_central_config": "Use central motion configuration"
                },
                "data_description": {
                    "motion_sensor_entity_id": "The entity id of the motion sensor",
                    "motion_delay": "Motion activation delay (seconds)",
                    "motion_off_delay": "Motion deactivation delay (seconds)",
                    "motion_preset": "Preset to use when motion is detected",
                    "no_motion_preset": "Preset to use when no motion is detected",
                    "use_motion_central_config": "Check to use the central motion configuration. Uncheck to use a specific motion configuration for this VTherm"
                }
            },
            "power": {
                "title": "Power management",
                "description": "Power management attributes.\nGives the power and max power sensor of your home.\nSpecify the power consumption of the heater when on.\nAll sensors and device power should use the same unit (kW or W)",
                "data": {
                    "power_sensor_entity_id": "Power",
                    "max_power_sensor_entity_id": "Max power",
                    "power_temp": "Shedding temperature",
                    "use_power_central_config": "Use central power configuration"
                },
                "data_description": {
                    "power_sensor_entity_id": "Power sensor entity id",
                    "max_power_sensor_entity_id": "Max power sensor entity id",
                    "power_temp": "Temperature for Power shedding",
                    "use_power_central_config": "Check to use the central power configuration. Uncheck to use a specific power configuration for this VTherm"
                }
            },
            "presence": {
                "title": "Presence management",
                "description": "Presence management attributes.\nGives the a presence sensor of your home (true is someone is present) and give the corresponding temperature preset setting",
                "data": {
                    "presence_sensor_entity_id": "Presence sensor",
                    "use_presence_central_config": "Use central presence temperature configuration. Deselect to use specific temperature entities"
                },
                "data_description": {
                    "presence_sensor_entity_id": "Presence sensor entity id"
                }
            },
            "advanced": {
                "title": "Advanced parameters",
                "description": "Configuration of advanced parameters. Leave the default values if you don't know what you are doing.\nThese parameters can lead to very poor temperature control or bad power regulation",
                "data": {
                    "safety_delay_min": "Safety delay (in minutes)",
                    "safety_min_on_percent": "Minimum power percent to enable safety mode",
                    "safety_default_on_percent": "Power percent to use in safety mode",
                    "repair_incorrect_state": "Repair incorrect state",
                    "use_advanced_central_config": "Use central advanced configuration"
                },
                "data_description": {
                    "safety_delay_min": "Maximum allowed delay in minutes between two temperature measurements. Above this delay the thermostat will turn to a safety off state",
                    "safety_min_on_percent": "Minimum heating percent value for safety preset activation. Below this amount of power percent the thermostat won't go into safety preset",
                    "safety_default_on_percent": "The default heating power percent value in safety preset. Set to 0 to switch off heater in safety preset",
                    "repair_incorrect_state": "Automatically repair incorrect state of underlying entities when detected. The feature will re-send the desired command if the underlying device state doesn't match the expected state.",
                    "use_advanced_central_config": "Check to use the central advanced configuration. Uncheck to use a specific advanced configuration for this VTherm"
                }
            },
            "central_boiler": {
                "title": "Control of the central boiler",
                "description": "Enter the services to call to turn on/off the central boiler. The service called must be formatted as follows: `entity_id/service_name[/attribute:value]` (/attribute:value is optional)\nFor example:\n- to turn on a switch: `switch.controle_chaudiere/switch.turn_on`\n- to turn off a switch: `switch.controle_chaudiere/switch.turn_off`\n- to program the boiler to 25° and thus force its ignition: `climate.thermostat_chaudiere/climate.set_temperature/temperature:25`\n- to send 10° to the boiler and thus force its extinction: `climate.thermostat_chaudiere/climate.set_temperature/temperature:10`",
                "data": {
                    "central_boiler_activation_service": "Command to turn-on",
                    "central_boiler_deactivation_service": "Command to turn-off",
                    "central_boiler_activation_delay_sec": "Activation delay (seconds)",
                    "keep_alive_boiler_delay_sec": "Keep-alive delay (seconds)"
                },
                "data_description": {
                    "central_boiler_activation_service": "Command to turn-on the central boiler formatted like entity_id/service_name[/attribut:valeur]",
                    "central_boiler_deactivation_service": "Command to turn-off the central boiler formatted like entity_id/service_name[/attribut:valeur]",
                    "central_boiler_activation_delay_sec": "Delay in seconds before activating the central boiler when it needs to be turned on",
                    "keep_alive_boiler_delay_sec": "Delay in seconds to periodically resend the boiler command if keep-alive is enabled. Set to 0 to disable keep-alive."
                }
            },
            "valve_regulation": {
                "title": "Self-regulation with valve",
                "description": "Configuration for self-regulation with direct control of the valve",
                "data": {
                    "offset_calibration_entity_ids": "Offset calibration entities",
                    "opening_degree_entity_ids": "Opening degree entities",
                    "closing_degree_entity_ids": "Closing degree entities",
                    "proportional_function": "Algorithm",
                    "opening_threshold_degree": "Opening threshold degree",
                    "min_opening_degrees": "Min opening degrees",
                    "max_opening_degrees": "Max opening degrees",
                    "max_closing_degree": "Max closing degree"
                },
                "data_description": {
                    "offset_calibration_entity_ids": "The list of the 'offset calibration' entities. Set it if your TRV has the entity for better regulation. There should be one per underlying climate entities",
                    "opening_degree_entity_ids": "The list of the 'opening degree' entities. There should be one per underlying climate entities",
                    "closing_degree_entity_ids": "The list of the 'closing degree' entities. Set it if your TRV has the entity for better regulation. There should be one per underlying climate entities",
                    "proportional_function": "Algorithm to use (other algorithms can be installed as {plugins_link})",
                    "opening_threshold_degree": "Valve opening value under which the valve should be considered as closed (and then 'max_closing_degree' will apply)",
                    "min_opening_degrees": "Opening degree minimum value for each underlying device when previous threshold is exceeded, comma separated. Default to 0. Example: 20, 25, 30",
                    "max_opening_degrees": "Opening degree maximum value. The valve will never open more than this value",
                    "max_closing_degree": "Closing degree maximum value. The valve will never be closed above this value. Set it to 100 to fully close the valve"
                }
            },
            "auto_tpi_configuration": {
                "title": "Auto TPI - Configuration",
                "description": "General settings for Auto TPI learning.",
                "data": {
                    "auto_tpi_learning_type": "Learning Type",
                    "heater_heating_time": "Heating time (min)",
                    "heater_cooling_time": "Cooling time (min)",
                    "auto_tpi_heating_rate": "Heating Rate ({unit}/h)",
                    "auto_tpi_aggressiveness": "Aggressiveness",
                    "auto_tpi_enable_advanced_settings": "Enable Advanced Parameters",
                    "auto_tpi_continuous_kext": "Continuous Kext Learning"
                },
                "data_description": {
                    "auto_tpi_learning_type": "Choose 'Discovery' for initial startup (Weighted Average, weight 1) or 'Fine Tuning' for continuous adjustments (EWMA, Alpha 0.08).",
                    "heater_heating_time": "Time to reach full power (minutes)",
                    "heater_cooling_time": "Time to cool down after stop (minutes)\n\n| Type | Heating time | Cooling time |\n| :--- | :--- | :--- |\n| Electric radiator | 5mn | 7mn |\n| Water radiator | 15mn | 20mn |\n| Underfloor heating | 30mn | 45mn |",
                    "auto_tpi_heating_rate": "Radiator temperature rise capacity ({unit} per hour). Leave at 0 for automatic learning (bootstrap).",
                    "auto_tpi_aggressiveness": "Reduction factor for learned coefficients (50-100%). Lower values result in more conservative coefficients and reduce overshoot risk.",
                    "auto_tpi_enable_advanced_settings": "Check to access parameter fine-tuning (Alpha, Decay, Weight).",
                    "auto_tpi_continuous_kext": "Check to enable continuous learning of the external coefficient (Kext) outside of AutoTPI sessions."
                }
            },
            "auto_tpi_avg_settings": {
                "title": "Auto TPI - Weighted Average",
                "description": "Parameters for Weighted Average method.",
                "data": {
                    "auto_tpi_avg_initial_weight": "Initial Weight"
                },
                "data_description": {
                    "auto_tpi_avg_initial_weight": "Weight of the initial/previous value in the average calculation"
                }
            },
            "auto_tpi_ema_settings": {
                "title": "Auto TPI - EWMA",
                "description": "Parameters for EWMA method.\n\nRecommendations:\n| Situation | Alpha (ema_alpha) | Decay Rate (ema_decay_rate) |\n| :--- | :--- | :--- |\n| Initial Learning | 0.15 | 0.08 |\n| Fine Learning | 0.08 | 0.12 |\n| Continuous Learning | 0.05 | 0.02 |",
                "data": {
                    "auto_tpi_ema_alpha": "Alpha",
                    "auto_tpi_ema_decay_rate": "Decay Rate",
                    "auto_tpi_continuous_kext_alpha": "Continuous Kext Alpha"
                },
                "data_description": {
                    "auto_tpi_ema_alpha": "Smoothing factor (0-1). Higher = faster adaptation",
                    "auto_tpi_ema_decay_rate": "Rate at which Alpha decreases over time (stabilization)",
                    "auto_tpi_continuous_kext_alpha": "Smoothing factor for continuous Kext learning (Alpha). Default 0.04 (approx 3-5 days adaptation)."
                }
            },
            "sync_device_internal_temp": {
                "title": "Synchronize device internal temperature",
                "description": "Configuration to synchronize the internal temperature of the underlying devices with selected entities",
                "data": {
                    "sync_with_calibration": "Apply offset calibration",
                    "sync_entity_ids": "Entities id used for synchronization"
                },
                "data_description": {
                    "sync_with_calibration": "Check to apply the offset calibration when synchronizing the internal temperature. Uncheck to directly copy the temperature from the selected entities",
                    "sync_entity_ids": "The list of the entities used to synchronize the internal temperature of the underlying devices. There should be one per underlying device. Should be a calibration entity if checkbox is selected or a temperature entity otherwise. Both are `number` entities."
                }
            },
            "heating_failure_detection": {
                "title": "Heating failure detection",
                "description": "Configure the heating failure detection feature. This detects anomalies when heating is expected but temperature doesn't increase, or when heating is off but temperature keeps rising.",
                "data": {
                    "use_heating_failure_detection_feature": "Enable heating failure detection",
                    "use_heating_failure_detection_central_config": "Use central heating failure detection configuration",
                    "heating_failure_threshold": "Heating failure threshold",
                    "cooling_failure_threshold": "Cooling failure threshold",
                    "heating_failure_detection_delay": "Detection delay (minutes)",
                    "temperature_change_tolerance": "Temperature change tolerance (°C)",
                    "failure_detection_enable_template": "Detection enable template"
                },
                "data_description": {
                    "use_heating_failure_detection_feature": "Enable the detection of heating anomalies for VTherms with TPI",
                    "use_heating_failure_detection_central_config": "Check to use the central heating failure detection configuration. Uncheck to use specific parameters for this VTherm",
                    "heating_failure_threshold": "On percent threshold above which heating should cause temperature increase (0.9 = 90%)",
                    "cooling_failure_threshold": "On percent threshold below which temperature should not increase (0.0 = 0%)",
                    "heating_failure_detection_delay": "Time in minutes to wait before checking if temperature has changed as expected",
                    "temperature_change_tolerance": "Minimum temperature change in degrees to consider significant. Smaller changes are ignored to filter sensor noise (default: 0.5°C)",
                    "failure_detection_enable_template": "An optional Jinja2 template that must return True to enable detection. Useful to temporarily disable detection when an external heat source is active (e.g., `is_state('binary_sensor.wood_stove', 'off')` in double curly braces). If empty, detection is always enabled."
                }
            }
        },
        "error": {
            "unknown": "Unexpected error",
            "unknown_entity": "Unknown entity id",
            "window_open_detection_method": "Only one window open detection method should be used. Use either window sensor or automatic detection through temperature threshold but not both",
            "no_central_config": "You cannot check 'use central configuration' because no central configuration was found. You need to create a Versatile Thermostat of type 'Central Configuration' to use it.",
            "service_configuration_format": "The format of the service configuration is wrong",
            "valve_regulation_nb_entities_incorrect": "The number of valve entities for valve regulation should be equal to the number of underlyings",
            "sync_device_internal_temp_nb_entities_incorrect": "The number of entities for synchronize device internal temperature should be equal to the number of underlyings",
            "min_opening_degrees_format": "A comma separated list of positive integer is expected. Example: 20, 25, 30",
            "max_opening_degrees_format": "A comma separated list of positive integer between 0 and the max valve opening is expected. Example: 80, 85, 90",
            "min_max_opening_degrees_inconsistent": "For each underlying device, max_opening_degrees must be strictly greater than min_opening_degrees. Please check your configuration.",
            "vswitch_configuration_incorrect": "The command customization configuration is incorrect. It is required for underlying entities that are not switches, and the format must be service_name[/attribute:value]. More information is available in the README"
        },
        "abort": {
            "already_configured": "Device is already configured"
        }
    },
    "options": {
        "flow_title": "Versatile Thermostat configuration",
        "step": {
            "user": {
                "title": "Type - {name}",
                "description": "Choose thermostat type you want to create",
                "data": {
                    "thermostat_type": "Thermostat type"
                },
                "data_description": {
                    "thermostat_type": "Only one central configuration type is possible"
                }
            },
            "menu": {
                "title": "Menu",
                "description": "Configure your thermostat. You will be able to finalize the configuration when all required parameters are entered.",
                "menu_options": {
                    "main": "Main attributes",
                    "central_boiler": "Central boiler",
                    "type": "Underlyings",
                    "tpi": "TPI parameters",
                    "features": "Features",
                    "presets": "Presets",
                    "window": "Window detection",
                    "motion": "Motion detection",
                    "power": "Power management",
                    "presence": "Presence detection",
                    "advanced": "Advanced parameters",
                    "auto_start_stop": "Auto start and stop",
                    "valve_regulation": "Valve regulation configuration",
                    "sync_device_internal_temp": "Synchronize device temperature",
                    "lock": "Lock",
                    "heating_failure_detection": "Heating failure detection",
                    "finalize": "All done",
                    "configuration_not_complete": "Configuration not complete"
                }
            },
            "lock": {
                "title": "Lock management - {name}",
                "description": "The Lock feature prevents changes to a thermostat's configuration from the UI or automations while keeping the thermostat operational.",
                "data": {
                    "use_lock_central_config": "Use central lock configuration",
                    "lock_code": "Optional pincode (4 digits)",
                    "lock_users": "Lock will prevent commands from Users",
                    "lock_automations": "Lock will prevent commands from Automations & integrations (i.e scheduler)",
                    "auto_relock_sec": "Auto-relock delay"
                },
                "data_description": {
                    "use_lock_central_config": "Check to use the central lock configuration. Uncheck to use a specific lock configuration for this VTherm",
                    "auto_relock_sec": "Delay in seconds before automatically re-locking after an unlock. Set to 0 to disable auto-relock. Default is 30 seconds."
                }
            },
            "main": {
                "title": "Main - {name}",
                "description": "Main mandatory attributes",
                "data": {
                    "name": "Name",
                    "thermostat_type": "Thermostat type",
                    "temperature_sensor_entity_id": "Room temperature",
                    "last_seen_temperature_sensor_entity_id": "Last seen room temperature datetime",
                    "external_temperature_sensor_entity_id": "Outdoor temperature sensor entity id",
                    "cycle_min": "Cycle duration (minutes)",
                    "temp_min": "Minimum temperature allowed",
                    "temp_max": "Maximum temperature allowed",
                    "step_temperature": "Temperature step",
                    "device_power": "Device power",
                    "use_central_mode": "Enable the control by central entity (requires central config). Check to enable the control of the VTherm with the select central_mode entities.",
                    "use_main_central_config": "Use additional central main configuration. Check to use the central main configuration (outdoor temperature, min, max, step, ...).",
                    "used_by_controls_central_boiler": "Used by central boiler. Check if this VTherm should have control on the central boiler"
                },
                "data_description": {
                    "cycle_min": "Minimum duration of one heating/cooling cycle in minutes to avoid too frequent switching",
                    "temp_min": "Minimum temperature allowed for the thermostat",
                    "temp_max": "Maximum temperature allowed for the thermostat",
                    "step_temperature": "Temperature step for setting the target temperature",
                    "temperature_sensor_entity_id": "Room temperature sensor entity id",
                    "last_seen_temperature_sensor_entity_id": "Last seen room temperature sensor entity id. Should be datetime sensor",
                    "external_temperature_sensor_entity_id": "Outdoor temperature sensor entity id. Not used if central configuration is selected"
                }
            },
            "features": {
                "title": "Features - {name}",
                "description": "Thermostat features",
                "data": {
                    "use_window_feature": "Use window detection",
                    "use_motion_feature": "Use motion detection",
                    "use_power_feature": "Use power management",
                    "use_presence_feature": "Use presence detection",
                    "use_central_boiler_feature": "Use a central boiler. Check to add a control to your central boiler. You will have to configure the VTherm which will have a control of the central boiler after selecting this checkbox to take effect. If one VTherm requires heating, the boiler will be turned on. If no VTherm requires heating, the boiler will be turned off. Commands for turning on/off the central boiler are given in the related configuration page",
                    "use_auto_start_stop_feature": "Use the auto start and stop feature",
                    "use_heating_failure_detection_feature": "Use heating failure detection"
                }
            },
            "type": {
                "title": "Entities - {name}",
                "description": "Linked entities attributes",
                "data": {
                    "underlying_entity_ids": "The device(s) to be controlled",
                    "heater_keep_alive": "Switch keep-alive interval in seconds",
                    "proportional_function": "Algorithm",
                    "ac_mode": "AC mode",
                    "sync_device_internal_temp": "Synchronize device temperature",
                    "auto_regulation_mode": "Self-regulation",
                    "auto_regulation_dtemp": "Regulation threshold",
                    "auto_regulation_periode_min": "Regulation minimum period",
                    "auto_regulation_use_device_temp": "Use internal temperature of the underlying",
                    "inverse_switch_command": "Inverse switch command",
                    "auto_fan_mode": "Auto fan mode",
                    "on_command_text": "Turn on command customization",
                    "vswitch_on_command": "Optional turn on commands",
                    "off_command_text": "Turn off command customization",
                    "vswitch_off_command": "Optional turn off commands"
                },
                "data_description": {
                    "underlying_entity_ids": "The device(s) to be controlled - 1 is required",
                    "heater_keep_alive": "Optional heater switch state refresh interval. Leave empty if not required.",
                    "proportional_function": "Algorithm to use (other algorithms can be installed as {plugins_link})",
                    "ac_mode": "Use the Air Conditioning (AC) mode",
                    "sync_device_internal_temp": "Check to synchronize the internal temperature of the underlying device (fill the new menu item 'Synchronize device temperature' to configure it)",
                    "auto_regulation_mode": "Auto adjustment of the target temperature",
                    "auto_regulation_dtemp": "The threshold in ° (or % for valve) under which the temperature change will not be sent",
                    "auto_regulation_periode_min": "Duration in minutes between two regulation update",
                    "auto_regulation_use_device_temp": "Use the eventual internal temperature sensor of the underlying to speedup the self-regulation (not needed in most cases)",
                    "inverse_switch_command": "For switch with pilot wire and diode you may need to inverse the command",
                    "auto_fan_mode": "Automatically activate fan when huge heating/cooling is necessary",
                    "on_command_text": "For underlying of type `select` or `climate` you have to customize the commands."
                }
            },
            "tpi": {
                "title": "TPI - {name}",
                "description": "Time Proportional Integral attributes",
                "data": {
                    "tpi_coef_int": "coef_int",
                    "tpi_coef_ext": "coef_ext",
                    "tpi_threshold_low": "Low TPI threshold",
                    "tpi_threshold_high": "High TPI threshold",
                    "use_tpi_central_config": "Use central TPI configuration",
                    "minimal_activation_delay": "Minimum activation delay",
                    "minimal_deactivation_delay": "Minimum deactivation delay",
                    "auto_tpi_mode": "Enable Auto TPI Learning"
                },
                "data_description": {
                    "tpi_coef_int": "Coefficient to use for internal temperature delta",
                    "tpi_coef_ext": "Coefficient to use for external temperature delta",
                    "tpi_threshold_low": "Threshold in ° under which the TPI algorithm will be on. 0 means no threshold",
                    "tpi_threshold_high": "Threshold in ° above which the TPI algorithm will be off. 0 means no threshold",
                    "use_tpi_central_config": "Check to use the central TPI configuration. Uncheck to use a specific TPI configuration for this VTherm",
                    "minimal_activation_delay": "Delay in seconds under which the equipment will not be activated",
                    "minimal_deactivation_delay": "Delay in seconds under which the equipment will be kept active",
                    "auto_tpi_mode": "TPI learning session are started manually, read the doc first."
                }
            },
            "presets": {
                "title": "Presets - {name}",
                "description": "Check if the thermostat will use central presets. Uncheck and the thermostat will have its own preset entities",
                "data": {
                    "use_presets_central_config": "Use central presets configuration"
                }
            },
            "window": {
                "title": "Window - {name}",
                "description": "Open window management.\nYou can also configure automatic window open detection based on temperature decrease",
                "data": {
                    "window_sensor_entity_id": "Window sensor entity id",
                    "window_delay": "Window sensor 'on' delay (seconds)",
                    "window_off_delay": "Window sensor 'off' delay (seconds)",
                    "window_auto_open_threshold": "Temperature decrease threshold for automatic window open detection (in °/hours)",
                    "window_auto_close_threshold": "Temperature increase threshold for end of automatic detection (in °/hours)",
                    "window_auto_max_duration": "Maximum duration of automatic window open detection (in min)",
                    "use_window_central_config": "Use central window configuration",
                    "window_action": "Action"
                },
                "data_description": {
                    "window_sensor_entity_id": "Leave empty if no window sensor should be used and to use the automatic detection",
                    "window_delay": "The delay in seconds before sensor 'on' detection is taken into account",
                    "window_off_delay": "The delay in seconds before sensor 'off' detection is taken into account. Leave it empty to use the same value as window on delay",
                    "window_auto_open_threshold": "Recommended value: between 3 and 10. Leave empty if automatic window open detection is not used",
                    "window_auto_close_threshold": "Recommended value: 0. Leave empty if automatic window open detection is not used",
                    "window_auto_max_duration": "Recommended value: 60 (one hour). Leave empty if automatic window open detection is not used",
                    "use_window_central_config": "Check to use the central window configuration. Uncheck to use a specific window configuration for this VTherm",
                    "window_action": "Action to do if window is deteted as open"
                }
            },
            "motion": {
                "title": "Motion - {name}",
                "description": "Motion management. Preset can switch automatically depending of a motion detection\nmotion_preset and no_motion_preset should be set to the corresponding preset name",
                "data": {
                    "motion_sensor_entity_id": "Motion sensor entity id",
                    "motion_delay": "Activation delay",
                    "motion_off_delay": "Deactivation delay",
                    "motion_preset": "Motion preset",
                    "no_motion_preset": "No motion preset",
                    "use_motion_central_config": "Use central motion configuration"
                },
                "data_description": {
                    "motion_sensor_entity_id": "The entity id of the motion sensor",
                    "motion_delay": "Motion activation delay (seconds)",
                    "motion_off_delay": "Motion deactivation delay (seconds)",
                    "motion_preset": "Preset to use when motion is detected",
                    "no_motion_preset": "Preset to use when no motion is detected",
                    "use_motion_central_config": "Check to use the central motion configuration. Uncheck to use a specific motion configuration for this VTherm"
                }
            },
            "power": {
                "title": "Power - {name}",
                "description": "Power management attributes.\nGives the power and max power sensor of your home.\nSpecify the power consumption of the heater when on.\nAll sensors and device power should use the same unit (kW or W)",
                "data": {
                    "power_sensor_entity_id": "Power",
                    "max_power_sensor_entity_id": "Max power",
                    "power_temp": "Shedding temperature",
                    "use_power_central_config": "Use central power configuration"
                },
                "data_description": {
                    "power_sensor_entity_id": "Power sensor entity id",
                    "max_power_sensor_entity_id": "Max power sensor entity id",
                    "power_temp": "Temperature for Power shedding",
                    "use_power_central_config": "Check to use the central power configuration. Uncheck to use a specific power configuration for this VTherm"
                }
            },
            "presence": {
                "title": "Presence - {name}",
                "description": "Presence management attributes.\nGives the a presence sensor of your home (true is someone is present) and give the corresponding temperature preset setting",
                "data": {
                    "presence_sensor_entity_id": "Presence sensor",
                    "use_presence_central_config": "Use central presence temperature configuration. Uncheck to use specific temperature entities"
                },
                "data_description": {
                    "presence_sensor_entity_id": "Presence sensor entity id"
                }
            },
            "advanced": {
                "title": "Advanced - {name}",
                "description": "Configuration of advanced parameters. Leave the default values if you don't know what you are doing.\nThese parameters can lead to very poor temperature control or bad power regulation",
                "data": {
                    "minimal_activation_delay": "Minimum activation delay",
                    "minimal_deactivation_delay": "Minimum deactivation delay",
                    "safety_delay_min": "Safety delay (in minutes)",
                    "safety_min_on_percent": "Minimum power percent to enable safety mode",
                    "safety_default_on_percent": "Power percent to use in safety mode",
                    "repair_incorrect_state": "Repair incorrect state",
                    "use_advanced_central_config": "Use central advanced configuration"
                },
                "data_description": {
                    "minimal_activation_delay": "Delay in seconds under which the equipment will not be activated",
                    "minimal_deactivation_delay": "Delay in seconds under which the equipment will be kept active",
                    "safety_delay_min": "Maximum allowed delay in minutes between two temperature measurements. Above this delay the thermostat will turn to a safety off state",
                    "safety_min_on_percent": "Minimum heating percent value for safety preset activation. Below this amount of power percent the thermostat won't go into safety preset",
                    "safety_default_on_percent": "The default heating power percent value in safety preset. Set to 0 to switch off heater in safety preset",
                    "repair_incorrect_state": "Automatically repair incorrect state of underlying entities when detected. The feature will re-send the desired command if the underlying device state doesn't match the expected state.",
                    "use_advanced_central_config": "Check to use the central advanced configuration. Uncheck to use a specific advanced configuration for this VTherm"
                }
            },
            "central_boiler": {
                "title": "Control of the central boiler - {name}",
                "description": "Enter the services to call to turn on/off the central boiler. The service called must be formatted as follows: `entity_id/service_name[/attribute:value]` (/attribute:value is optional)\nFor example:\n- to turn on a switch: `switch.controle_chaudiere/switch.turn_on`\n- to turn off a switch: `switch.controle_chaudiere/switch.turn_off`\n- to program the boiler to 25° and thus force its ignition: `climate.thermostat_chaudiere/climate.set_temperature/temperature:25`\n- to send 10° to the boiler and thus force its extinction: `climate.thermostat_chaudiere/climate.set_temperature/temperature:10`",
                "data": {
                    "central_boiler_activation_service": "Command to turn-on",
                    "central_boiler_deactivation_service": "Command to turn-off",
                    "central_boiler_activation_delay_sec": "Activation delay (seconds)",
                    "keep_alive_boiler_delay_sec": "Keep-alive delay (seconds)"
                },
                "data_description": {
                    "central_boiler_activation_service": "Command to turn-on the central boiler formatted like entity_id/service_name[/attribut:valeur]",
                    "central_boiler_deactivation_service": "Command to turn-off the central boiler formatted like entity_id/service_name[/attribut:valeur]",
                    "central_boiler_activation_delay_sec": "Delay in seconds before activating the central boiler when it needs to be turned on",
                    "keep_alive_boiler_delay_sec": "Delay in seconds to periodically resend the boiler command if keep-alive is enabled. Set to 0 to disable keep-alive."
                }
            },
            "valve_regulation": {
                "title": "Self-regulation with valve - {name}",
                "description": "Configuration for self-regulation with direct control of the valve",
                "data": {
                    "offset_calibration_entity_ids": "Offset calibration entities",
                    "opening_degree_entity_ids": "Opening degree entities",
                    "closing_degree_entity_ids": "Closing degree entities",
                    "proportional_function": "Algorithm",
                    "opening_threshold_degree": "Opening threshold degree",
                    "min_opening_degrees": "Min opening degrees",
                    "max_opening_degrees": "Max opening degrees",
                    "max_closing_degree": "Max closing degree"
                },
                "data_description": {
                    "offset_calibration_entity_ids": "The list of the 'offset calibration' entities. Set it if your TRV has the entity for better regulation. There should be one per underlying climate entities",
                    "opening_degree_entity_ids": "The list of the 'opening degree' entities. There should be one per underlying climate entities",
                    "closing_degree_entity_ids": "The list of the 'closing degree' entities. Set it if your TRV has the entity for better regulation. There should be one per underlying climate entities",
                    "proportional_function": "Algorithm to use (other algorithms can be installed as {plugins_link})",
                    "opening_threshold_degree": "Valve opening value under which the valve should be considered as closed (and then 'max_closing_degree' will apply)",
                    "min_opening_degrees": "Opening degree minimum value for each underlying device when previous threshold is exceeded, comma separated. Default to 0. Example: 20, 25, 30",
                    "max_opening_degrees": "Opening degree maximum value. The valve will never open more than this value",
                    "max_closing_degree": "Closing degree maximum value. The valve will never be closed above this value. Set it to 100 to fully close the valve"
                }
            },
            "sync_device_internal_temp": {
                "title": "Synchronize device internal temperature",
                "description": "Configuration to synchronize the internal temperature of the underlying devices with selected entities",
                "data": {
                    "sync_with_calibration": "Apply offset calibration",
                    "sync_entity_ids": "Entities id used for synchronization"
                },
                "data_description": {
                    "sync_with_calibration": "Check to apply the offset calibration when synchronizing the internal temperature. Uncheck to directly copy the temperature from the selected entities",
                    "sync_entity_ids": "The list of the entities used to synchronize the internal temperature of the underlying devices. There should be one per underlying device. Should be a calibration entity if checkbox is selected or a temperature entity otherwise. Both are `number` entities."
                }
            },
            "auto_tpi_configuration": {
                "title": "Auto TPI - Configuration - {name}",
                "description": "General settings for Auto TPI learning.",
                "data": {
                    "auto_tpi_learning_type": "Learning Type",
                    "auto_tpi_heating_rate": "Heating Rate ({unit}/h)",
                    "heater_heating_time": "Heating time (min)",
                    "heater_cooling_time": "Cooling time (min)",
                    "auto_tpi_aggressiveness": "Aggressiveness",
                    "auto_tpi_enable_advanced_settings": "Enable Advanced Parameters",
                    "auto_tpi_continuous_kext": "Continuous Kext Learning"
                },
                "data_description": {
                    "auto_tpi_learning_type": "Choose 'Discovery' for initial startup (Weighted Average, weight 1) or 'Fine Tuning' for continuous adjustments (EWMA, Alpha 0.08).",
                    "auto_tpi_heating_rate": "Radiator temperature rise capacity ({unit} per hour). Leave at 0 for automatic learning (bootstrap).",
                    "heater_heating_time": "Time to reach full power (minutes)",
                    "heater_cooling_time": "Time to cool down after stop (minutes)\n\n| Type | Heating time | Cooling time |\n| :--- | :--- | :--- |\n| Electric radiator | 5mn | 7mn |\n| Water radiator | 15mn | 20mn |\n| Underfloor heating | 30mn | 45mn |",
                    "auto_tpi_aggressiveness": "Reduction factor for learned coefficients (50-100%). Lower values result in more conservative coefficients and reduce overshoot risk.",
                    "auto_tpi_enable_advanced_settings": "Check to modify the parameters of the chosen algorithm.",
                    "auto_tpi_continuous_kext": "Check to enable continuous learning of the external coefficient (Kext) outside of AutoTPI sessions."
                }
            },
            "auto_tpi_avg_settings": {
                "title": "Auto TPI - Weighted Average - {name}",
                "description": "Parameters for Weighted Average method.",
                "data": {
                    "auto_tpi_avg_initial_weight": "Initial Weight"
                },
                "data_description": {
                    "auto_tpi_avg_initial_weight": "Initial weight of existing coefficients in the average calculation (1-50 is typical). Higher weight means slower and more stable learning."
                }
            },
            "auto_tpi_ema_settings": {
                "title": "Auto TPI - EWMA - {name}",
                "description": "Parameters for EWMA method.\n\nRecommendations:\n| Situation | Alpha (ema_alpha) | Decay Rate (ema_decay_rate) |\n| :--- | :--- | :--- |\n| Strong adjustments | 0.15 | 0.08 |\n| Fine tuning | 0.08 | 0.12 |",
                "data": {
                    "auto_tpi_ema_alpha": "Alpha",
                    "auto_tpi_ema_decay_rate": "Decay Rate",
                    "auto_tpi_continuous_kext_alpha": "Continuous Kext Alpha"
                },
                "data_description": {
                    "auto_tpi_ema_alpha": "Smoothing factor (0-1). Higher = faster adaptation",
                    "auto_tpi_ema_decay_rate": "Rate at which Alpha decreases over time (stabilization)",
                    "auto_tpi_continuous_kext_alpha": "Smoothing factor for continuous Kext learning (Alpha). Default 0.04 (approx 3-5 days adaptation)."
                }
            },
            "heating_failure_detection": {
                "title": "Heating failure detection - {name}",
                "description": "Configure the heating failure detection feature. This detects anomalies when heating is expected but temperature doesn't increase, or when heating is off but temperature keeps rising.",
                "data": {
                    "use_heating_failure_detection_feature": "Enable heating failure detection",
                    "use_heating_failure_detection_central_config": "Use central heating failure detection configuration",
                    "heating_failure_threshold": "Heating failure threshold",
                    "cooling_failure_threshold": "Cooling failure threshold",
                    "heating_failure_detection_delay": "Detection delay (minutes)",
                    "temperature_change_tolerance": "Temperature change tolerance (°C)",
                    "failure_detection_enable_template": "Detection enable template"
                },
                "data_description": {
                    "use_heating_failure_detection_feature": "Enable the detection of heating anomalies for VTherms with TPI",
                    "use_heating_failure_detection_central_config": "Check to use the central heating failure detection configuration. Uncheck to use specific parameters for this VTherm",
                    "heating_failure_threshold": "On percent threshold above which heating should cause temperature increase (0.9 = 90%)",
                    "cooling_failure_threshold": "On percent threshold below which temperature should not increase (0.0 = 0%)",
                    "heating_failure_detection_delay": "Time in minutes to wait before checking if temperature has changed as expected",
                    "temperature_change_tolerance": "Minimum temperature change in degrees to consider significant. Smaller changes are ignored to filter sensor noise (default: 0.5°C)",
                    "failure_detection_enable_template": "An optional Jinja2 template that must return True to enable detection. Useful to temporarily disable detection when an external heat source is active (e.g., `is_state('binary_sensor.wood_stove', 'off')` in double curly braces). If empty, detection is always enabled."
                }
            }
        },
        "error": {
            "unknown": "Unexpected error",
            "unknown_entity": "Unknown entity id",
            "window_open_detection_method": "Only one window open detection method should be used. Use either window sensor or automatic detection through temperature threshold but not both",
            "no_central_config": "You cannot check 'use central configuration' because no central configuration was found. You need to create a Versatile Thermostat of type 'Central Configuration' to use it.",
            "service_configuration_format": "The format of the service configuration is wrong",
            "valve_regulation_nb_entities_incorrect": "The number of valve entities for valve regulation should be equal to the number of underlyings",
            "sync_device_internal_temp_nb_entities_incorrect": "The number of entities for synchronize device internal temperature should be equal to the number of underlyings",
            "min_opening_degrees_format": "A comma separated list of positive integer is expected. Example: 20, 25, 30",
            "max_opening_degrees_format": "A comma separated list of positive integer between 0 and the max value of the valve is expected. Example: 80, 85, 90",
            "min_max_opening_degrees_inconsistent": "For each underlying device, max_opening_degrees must be strictly greater than min_opening_degrees. Please check your configuration.",
            "vswitch_configuration_incorrect": "The command customization configuration is incorrect. It is required for underlying entities that are not switches, and the format must be service_name[/attribute:value]. More information is available in the README"
        },
        "abort": {
            "already_configured": "Device is already configured"
        }
    },
    "selector": {
        "thermostat_type": {
            "options": {
                "thermostat_central_config": "Central configuration",
                "thermostat_over_switch": "Thermostat over a switch",
                "thermostat_over_climate": "Thermostat over a climate",
                "thermostat_over_valve": "Thermostat over a valve"
            }
        },
        "auto_regulation_mode": {
            "options": {
                "auto_regulation_slow": "Slow",
                "auto_regulation_strong": "Strong",
                "auto_regulation_medium": "Medium",
                "auto_regulation_light": "Light",
                "auto_regulation_expert": "Expert",
                "auto_regulation_none": "No auto-regulation",
                "auto_regulation_valve": "Direct control of valve"
            }
        },
        "auto_fan_mode": {
            "options": {
                "auto_fan_none": "No auto fan",
                "auto_fan_low": "Low",
                "auto_fan_medium": "Medium",
                "auto_fan_high": "High",
                "auto_fan_turbo": "Turbo"
            }
        },
        "window_action": {
            "options": {
                "window_turn_off": "Turn off",
                "window_fan_only": "Fan only",
                "window_frost_temp": "Frost protect",
                "window_eco_temp": "Eco"
            }
        },
        "presets": {
            "options": {
                "frost": "Frost protect",
                "eco": "Eco",
                "comfort": "Comfort",
                "boost": "Boost"
            }
        },
        "auto_start_stop": {
            "options": {
                "auto_start_stop_none": "No auto start/stop",
                "auto_start_stop_very_slow": "Very slow detection",
                "auto_start_stop_slow": "Slow detection",
                "auto_start_stop_medium": "Medium detection",
                "auto_start_stop_fast": "Fast detection"
            }
        },
        "auto_tpi_calculation_method": {
            "options": {
                "average": "Average",
                "ema": "Exponential Moving Average (EMA)"
            }
        },
        "auto_tpi_learning_type": {
            "options": {
                "discovery": "Discovery",
                "fine_tuning": "Fine Tuning"
            }
        }
    },
    "entity": {
        "climate": {
            "versatile_thermostat": {
                "state_attributes": {
                    "preset_mode": {
                        "state": {
                            "power": "Shedding",
                            "safety": "Safety",
                            "none": "Manual",
                            "frost": "Frost"
                        }
                    }
                }
            }
        },
        "binary_sensor": {
            "safety_state": {
                "name": "Safety state"
            },
            "heating_failure_state": {
                "name": "Heating failure state"
            },
            "overpowering_state": {
                "name": "Overpowering state"
            },
            "window_state": {
                "name": "Window state"
            },
            "motion_state": {
                "name": "Motion state"
            },
            "presence_state": {
                "name": "Presence state"
            },
            "window_bypass_state": {
                "name": "Window bypass"
            },
            "central_boiler_state": {
                "name": "Central boiler"
            }
        },
        "number": {
            "frost_temp": {
                "name": "Frost"
            },
            "eco_temp": {
                "name": "Eco"
            },
            "comfort_temp": {
                "name": "Comfort"
            },
            "boost_temp": {
                "name": "Boost"
            },
            "frost_ac_temp": {
                "name": "Frost ac"
            },
            "eco_ac_temp": {
                "name": "Eco ac"
            },
            "comfort_ac_temp": {
                "name": "Comfort ac"
            },
            "boost_ac_temp": {
                "name": "Boost ac"
            },
            "frost_away_temp": {
                "name": "Frost away"
            },
            "eco_away_temp": {
                "name": "Eco away"
            },
            "comfort_away_temp": {
                "name": "Comfort away"
            },
            "boost_away_temp": {
                "name": "Boost away"
            },
            "eco_ac_away_temp": {
                "name": "Eco ac away"
            },
            "comfort_ac_away_temp": {
                "name": "Comfort ac away"
            },
            "boost_ac_away_temp": {
                "name": "Boost ac away"
            }
        },
        "select": {
            "auto_start_stop_stop_mode": {
                "name": "Auto start/stop stop mode",
                "state": {
                    "off": "Off",
                    "fan_only": "Fan only",
                    "dry": "Dry"
                }
            }
        }
    },
    "services": {
        "set_auto_tpi_mode": {
            "name": "Set Auto TPI mode",
            "description": "Enable or disable the Auto TPI learning mode",
            "fields": {
                "auto_tpi_mode": {
                    "name": "Auto TPI mode",
                    "description": "Enable (true) or disable (false) the Auto TPI learning"
                },
                "reinitialise": {
                    "name": "Reset learning data",
                    "description": "Reset all learning data when enabling Auto TPI mode (default is true)"
                }
            }
        },
        "reset_auto_tpi_capacities": {
            "name": "Reset Auto TPI Capacities",
            "description": "Reset the learned maximum heating and cooling capacities to 1.0 °C/h. Learned coefficients are NOT reset."
        },
        "auto_tpi_calibrate_capacity": {
            "name": "Auto Tpi Calibrate Capacity",
            "description": "Calibrate the heating/cooling capacity (in °C/hour) using linear regression on the entity's history data. Learned coefficients are NOT updated.",
            "fields": {
                "start_date": {
                    "name": "History from date",
                    "description": "Date from which to retrieve history (default is 30 days ago)"
                },
                "end_date": {
                    "name": "History to date",
                    "description": "Date until which to retrieve history (default is now)"
                },
                "hvac_mode": {
                    "name": "HVAC Mode",
                    "description": "Which mode to calibrate (heat or cool)."
                },
                "save_to_config": {
                    "name": "Save to Config",
                    "description": "Apply the calculated capacity to the Auto TPI configuration."
                },
                "min_power_threshold": {
                    "name": "Minimum Power Threshold",
                    "description": "Minimum power percentage to consider a cycle as saturated (default 95%). Lower values will include more cycles but may be less accurate."
                }
            }
        },
        "set_tpi_parameters": {
            "name": "Set TPI parameters",
            "description": "Change the TPI parameters",
            "fields": {
                "minimal_activation_delay": {
                    "name": "Minimal Activation delay",
                    "description": "Delay in seconds under which the equipment will not be activated"
                },
                "minimal_deactivation_delay": {
                    "name": "Minimal Deactivation delay",
                    "description": "Delay in seconds under which the equipment will be kept active"
                },
                "tpi_threshold_low": {
                    "name": "Low TPI threshold",
                    "description": "Threshold in ° under which the TPI algorithm will be on. 0 means no threshold"
                },
                "tpi_threshold_high": {
                    "name": "High TPI threshold",
                    "description": "Threshold in ° above which the TPI algorithm will be off. 0 means no threshold"
                }
            }
        },
        "lock": {
            "name": "Lock",
            "description": "Locks the thermostat, preventing any changes to its configuration from UI or automations.",
            "fields": {
                "code": {
                    "name": "Lock code",
                    "description": "The optional lock code"
                }
            }
        },
        "unlock": {
            "name": "Unlock",
            "description": "Unlocks the thermostat, allowing changes to its configuration.",
            "fields": {
                "code": {
                    "name": "Lock code",
                    "description": "The optional lock code"
                }
            }
        },
        "download_logs": {
            "name": "Download logs",
            "description": "Collect and download filtered logs for a VTherm entity.",
            "fields": {
                "log_level": {
                    "name": "Log level",
                    "description": "Minimum log level to include"
                },
                "period_start": {
                    "name": "Period start",
                    "description": "Start of the extraction period"
                },
                "period_end": {
                    "name": "Period end",
                    "description": "End of the extraction period"
                }
            }
        }
    },
    "exceptions": {
        "auto_tpi_learning_stopped": {
            "message": "Auto TPI learning for {name} has been stopped due to 3 consecutive failures. Reason: {reason}. Please check your configuration."
        }
    }
}