Rename Services to Actions in translation strings (#121777)

This commit is contained in:
Franck Nijhof 2024-07-15 21:19:25 +02:00 committed by GitHub
parent 190f12cead
commit a9bf12f102
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
34 changed files with 79 additions and 79 deletions

View file

@ -101,7 +101,7 @@
},
"learn_sendevent": {
"name": "Learn sendevent",
"description": "Translates a key press on a remote into ADB 'sendevent' commands. You must press one button on the remote within 8 seconds of calling this service."
"description": "Translates a key press on a remote into ADB 'sendevent' commands. You must press one button on the remote within 8 seconds of performing this action."
}
},
"exceptions": {

View file

@ -37,12 +37,12 @@
},
"issues": {
"service_not_found": {
"title": "{name} uses an unknown service",
"title": "{name} uses an unknown action",
"fix_flow": {
"step": {
"confirm": {
"title": "[%key:component::automation::issues::service_not_found::title%]",
"description": "The automation \"{name}\" (`{entity_id}`) has an action that calls an unknown service: `{service}`.\n\nThis error prevents the automation from running correctly. Maybe this service is no longer available, or perhaps a typo caused it.\n\nTo fix this error, [edit the automation]({edit}) and remove the action that calls this service.\n\nClick on SUBMIT below to confirm you have fixed this automation."
"description": "The automation \"{name}\" (`{entity_id}`) has an unknown action: `{service}`.\n\nThis error prevents the automation from running correctly. Maybe this action is no longer available, or perhaps a typo caused it.\n\nTo fix this error, [edit the automation]({edit}) and remove the action that calls this action.\n\nClick on SUBMIT below to confirm you have fixed this automation."
}
}
}

View file

@ -49,7 +49,7 @@
"message": "Authentication failed for {email}, check your email and password"
},
"notify_missing_argument_item": {
"message": "Failed to call service {service}. 'URGENT_MESSAGE' requires a value @ data['item']. Got None"
"message": "Failed to perform action {service}. 'URGENT_MESSAGE' requires a value @ data['item']. Got None"
},
"notify_request_failed": {
"message": "Failed to send push notification for bring due to a connection error, try again later"

View file

@ -111,12 +111,12 @@
},
"issues": {
"deprecated_service_calendar_list_events": {
"title": "Detected use of deprecated service `calendar.list_events`",
"title": "Detected use of deprecated action `calendar.list_events`",
"fix_flow": {
"step": {
"confirm": {
"title": "[%key:component::calendar::issues::deprecated_service_calendar_list_events::title%]",
"description": "Use `calendar.get_events` instead which supports multiple entities.\n\nPlease replace this service and adjust your automations and scripts and select **submit** to close this issue."
"description": "Use `calendar.get_events` instead which supports multiple entities.\n\nPlease replace this action and adjust your automations and scripts and select **submit** to close this issue."
}
}
}

View file

@ -171,12 +171,12 @@
},
"issues": {
"migrate_aux_heat": {
"title": "Migration of Ecobee set_aux_heat service",
"title": "Migration of Ecobee set_aux_heat action",
"fix_flow": {
"step": {
"confirm": {
"description": "The Ecobee `set_aux_heat` service has been migrated. A new `aux_heat_only` switch entity is available for each thermostat that supports a Heat Pump.\n\nUpdate any automations to use the new `aux_heat_only` switch entity. When this is done, fix this issue and restart Home Assistant.",
"title": "Disable legacy Ecobee set_aux_heat service"
"description": "The Ecobee `set_aux_heat` action has been migrated. A new `aux_heat_only` switch entity is available for each thermostat that supports a Heat Pump.\n\nUpdate any automations to use the new `aux_heat_only` switch entity. When this is done, fix this issue and restart Home Assistant.",
"title": "Disable legacy Ecobee set_aux_heat action"
}
}
}

View file

@ -58,7 +58,7 @@
"fields": {
"config_entry": {
"name": "Config Entry",
"description": "The config entry to use for this service."
"description": "The config entry to use for this action."
},
"incl_vat": {
"name": "Including VAT",

View file

@ -5,7 +5,7 @@
"already_in_progress": "[%key:common::config_flow::abort::already_in_progress%]",
"reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]",
"mdns_missing_mac": "Missing MAC address in MDNS properties.",
"service_received": "Service received",
"service_received": "Action received",
"mqtt_missing_mac": "Missing MAC address in MQTT properties.",
"mqtt_missing_api": "Missing API port in MQTT properties.",
"mqtt_missing_ip": "Missing IP address in MQTT properties."
@ -53,7 +53,7 @@
"step": {
"init": {
"data": {
"allow_service_calls": "Allow the device to make Home Assistant service calls."
"allow_service_calls": "Allow the device to perform Home Assistant actions."
}
}
}
@ -102,8 +102,8 @@
"description": "The API password for ESPHome is deprecated and the use of an API encryption key is recommended instead.\n\nRemove the API password and add an encryption key to your ESPHome device to resolve this issue."
},
"service_calls_not_allowed": {
"title": "{name} is not permitted to call Home Assistant services",
"description": "The ESPHome device attempted to make a Home Assistant service call, but this functionality is not enabled.\n\nIf you trust this device and want to allow it to make Home Assistant service calls, you can enable this functionality in the options flow."
"title": "{name} is not permitted to perform Home Assistant actions",
"description": "The ESPHome device attempted to perform a Home Assistant action, but this functionality is not enabled.\n\nIf you trust this device and want to allow it to perfom Home Assistant action, you can enable this functionality in the options flow."
}
}
}

View file

@ -28,7 +28,7 @@
"services": {
"ptz": {
"name": "PTZ",
"description": "Pan/Tilt service for Foscam camera.",
"description": "Pan/Tilt action for Foscam camera.",
"fields": {
"movement": {
"name": "Movement",
@ -42,7 +42,7 @@
},
"ptz_preset": {
"name": "PTZ preset",
"description": "PTZ Preset service for Foscam camera.",
"description": "PTZ Preset action for Foscam camera.",
"fields": {
"preset_name": {
"name": "Preset name",

View file

@ -165,10 +165,10 @@
},
"exceptions": {
"config_entry_not_found": {
"message": "Failed to call service \"{service}\". Config entry for target not found"
"message": "Failed to perform action \"{service}\". Config entry for target not found"
},
"service_parameter_unknown": { "message": "Service or parameter unknown" },
"service_not_supported": { "message": "Service not supported" },
"service_parameter_unknown": { "message": "Action or parameter unknown" },
"service_not_supported": { "message": "Action not supported" },
"error_refresh_hosts_info": {
"message": "Error refreshing hosts info"
},

View file

@ -13,7 +13,7 @@
"fields": {
"agent_user_id": {
"name": "Agent user ID",
"description": "Only needed for automations. Specific Home Assistant user id (not username, ID in configuration > users > under username) to sync with Google Assistant. Do not need when you call this service through Home Assistant front end or API. Used in automation script or other place where context.user_id is missing."
"description": "Only needed for automations. Specific Home Assistant user id (not username, ID in configuration > users > under username) to sync with Google Assistant. Do not need when you use this action through Home Assistant front end or API. Used in automation script or other place where context.user_id is missing."
}
}
}

View file

@ -11,7 +11,7 @@
"user": {
"data": {
"url": "[%key:common::config_flow::data::url%]",
"name": "Override for Habiticas username. Will be used for service calls",
"name": "Override for Habiticas username. Will be used for actions",
"api_user": "Habiticas API user ID",
"api_key": "[%key:common::config_flow::data::api_key%]"
},

View file

@ -289,7 +289,7 @@
},
"addon_update": {
"name": "Update add-on.",
"description": "Updates an add-on. This service should be used with caution since add-on updates can contain breaking changes. It is highly recommended that you review release notes/change logs before updating an add-on.",
"description": "Updates an add-on. This action should be used with caution since add-on updates can contain breaking changes. It is highly recommended that you review release notes/change logs before updating an add-on.",
"fields": {
"addon": {
"name": "[%key:component::hassio::services::addon_start::fields::addon::name%]",

View file

@ -133,15 +133,15 @@
},
"toggle": {
"name": "Generic toggle",
"description": "Generic service to toggle devices on/off under any domain."
"description": "Generic action to toggle devices on/off under any domain."
},
"turn_on": {
"name": "Generic turn on",
"description": "Generic service to turn devices on under any domain."
"description": "Generic action to turn devices on under any domain."
},
"turn_off": {
"name": "Generic turn off",
"description": "Generic service to turn devices off under any domain."
"description": "Generic action to turn devices off under any domain."
},
"update_entity": {
"name": "Update entity",
@ -205,19 +205,19 @@
"message": "Unknown error when validating config for {domain} from integration {p_name} - {error}."
},
"service_not_found": {
"message": "Service {domain}.{service} not found."
"message": "Action {domain}.{service} not found."
},
"service_does_not_support_response": {
"message": "A service which does not return responses can't be called with {return_response}."
"message": "An action which does not return responses can't be called with {return_response}."
},
"service_lacks_response_request": {
"message": "The service call requires responses and must be called with {return_response}."
"message": "The action requires responses and must be called with {return_response}."
},
"service_reponse_invalid": {
"message": "Failed to process the returned service response data, expected a dictionary, but got {response_data_type}."
"message": "Failed to process the returned action response data, expected a dictionary, but got {response_data_type}."
},
"service_should_be_blocking": {
"message": "A non blocking service call with argument {non_blocking_argument} can't be used together with argument {return_response}."
"message": "A non blocking action call with argument {non_blocking_argument} can't be used together with argument {return_response}."
}
}
}

View file

@ -80,7 +80,7 @@
},
"unpair": {
"name": "Unpair an accessory or bridge",
"description": "Forcefully removes all pairings from an accessory to allow re-pairing. Use this service if the accessory is no longer responsive, and you want to avoid deleting and re-adding the entry. Room locations, and accessory preferences will be lost."
"description": "Forcefully removes all pairings from an accessory to allow re-pairing. Use this action if the accessory is no longer responsive, and you want to avoid deleting and re-adding the entry. Room locations, and accessory preferences will be lost."
}
}
}

View file

@ -361,7 +361,7 @@
},
"suspend_integration": {
"name": "Suspend integration",
"description": "Suspends integration. Suspending logs the integration out from the router, and stops accessing it. Useful e.g. if accessing the router web interface from another source such as a web browser is temporarily required. Invoke the resume_integration service to resume.\n.",
"description": "Suspends integration. Suspending logs the integration out from the router, and stops accessing it. Useful e.g. if accessing the router web interface from another source such as a web browser is temporarily required. Invoke the resume_integration action to resume.\n.",
"fields": {
"url": {
"name": "[%key:common::config_flow::data::url%]",

View file

@ -2,7 +2,7 @@
"services": {
"update_file_path": {
"name": "Updates file path",
"description": "Use this service to change the file displayed by the camera.",
"description": "Use this action to change the file displayed by the camera.",
"fields": {
"entity_id": {
"name": "Entity",

View file

@ -100,7 +100,7 @@
},
"deprecated_restart": {
"title": "`modbus.restart` is being removed",
"description": "Please use reload yaml via the developer tools in the UI instead of via the `modbus.restart` service."
"description": "Please use reload yaml via the developer tools in the UI instead of via the `modbus.restart` action."
}
}
}

View file

@ -42,8 +42,8 @@
},
"services": {
"custom_cleaning": {
"name": "Zone cleaning service",
"description": "Zone cleaning service call specific to Neato Botvacs.",
"name": "Zone cleaning action",
"description": "Zone cleaning action specific to Neato Botvacs.",
"fields": {
"mode": {
"name": "Set cleaning mode",

View file

@ -63,23 +63,23 @@
},
"issues": {
"migrate_notify": {
"title": "Migration of {integration_title} notify service",
"title": "Migration of {integration_title} notify action",
"fix_flow": {
"step": {
"confirm": {
"description": "The {integration_title} `notify` service(s) are migrated. A new `notify` entity is available now to replace each legacy `notify` service.\n\nUpdate any automations to use the new `notify.send_message` service exposed with this new entity. When this is done, fix this issue and restart Home Assistant.",
"title": "Migrate legacy {integration_title} notify service for domain `{domain}`"
"description": "The {integration_title} `notify` actions(s) are migrated. A new `notify` entity is available now to replace each legacy `notify` action.\n\nUpdate any automations to use the new `notify.send_message` action exposed with this new entity. When this is done, fix this issue and restart Home Assistant.",
"title": "Migrate legacy {integration_title} notify action for domain `{domain}`"
}
}
}
},
"migrate_notify_service": {
"title": "Legacy service `notify.{service_name}` stll being used",
"title": "Legacy action `notify.{service_name}` stll being used",
"fix_flow": {
"step": {
"confirm": {
"description": "The {integration_title} `notify.{service_name}` service is migrated, but it seems the old `notify` service is still being used.\n\nA new `notify` entity is available now to replace each legacy `notify` service.\n\nUpdate any automations or scripts to use the new `notify.send_message` service exposed with this new entity. When this is done, select Submit and restart Home Assistant.",
"title": "Migrate legacy {integration_title} notify service for domain `{domain}`"
"description": "The {integration_title} `notify.{service_name}` action is migrated, but it seems the old `notify` action is still being used.\n\nA new `notify` entity is available now to replace each legacy `notify` action.\n\nUpdate any automations or scripts to use the new `notify.send_message` action exposed with this new entity. When this is done, select Submit and restart Home Assistant.",
"title": "Migrate legacy {integration_title} notify action for domain `{domain}`"
}
}
}

View file

@ -38,7 +38,7 @@
"fields": {
"config_entry": {
"name": "Config Entry",
"description": "The config entry to use for this service"
"description": "The config entry to use for this action"
},
"prompt": {
"name": "Prompt",
@ -67,8 +67,8 @@
},
"issues": {
"image_size_deprecated_format": {
"title": "Deprecated size format for image generation service",
"description": "OpenAI is now using Dall-E 3 to generate images when calling `openai_conversation.generate_image`, which supports different sizes. Valid values are now \"1024x1024\", \"1024x1792\", \"1792x1024\". The old values of \"256\", \"512\", \"1024\" are currently interpreted as \"1024x1024\".\nPlease update your scripts or automations with the new parameters."
"title": "Deprecated size format for image generation action",
"description": "OpenAI is now using Dall-E 3 to generate images using `openai_conversation.generate_image`, which supports different sizes. Valid values are now \"1024x1024\", \"1024x1792\", \"1792x1024\". The old values of \"256\", \"512\", \"1024\" are currently interpreted as \"1024x1024\".\nPlease update your scripts or automations with the new parameters."
}
}
}

View file

@ -41,7 +41,7 @@
},
"set_central_heating_ovrd": {
"name": "Set central heating override",
"description": "Sets the central heating override option on the gateway. When overriding the control setpoint (via a set_control_setpoint service call with a value other than 0), the gateway automatically enables the central heating override to start heating. This service can then be used to control the central heating override status. To return control of the central heating to the thermostat, call the set_control_setpoint service with temperature value 0. You will only need this if you are writing your own software thermostat.\n.",
"description": "Sets the central heating override option on the gateway. When overriding the control setpoint (via a set_control_setpoint action with a value other than 0), the gateway automatically enables the central heating override to start heating. This action can then be used to control the central heating override status. To return control of the central heating to the thermostat, use the set_control_setpoint action with temperature value 0. You will only need this if you are writing your own software thermostat.\n.",
"fields": {
"gateway_id": {
"name": "[%key:component::opentherm_gw::services::reset_gateway::fields::gateway_id::name%]",

View file

@ -95,12 +95,12 @@
},
"issues": {
"deprecated_service_ring_update": {
"title": "Detected use of deprecated service `ring.update`",
"title": "Detected use of deprecated action `ring.update`",
"fix_flow": {
"step": {
"confirm": {
"title": "[%key:component::ring::issues::deprecated_service_ring_update::title%]",
"description": "Use `homeassistant.update_entity` instead which will update all ring entities.\n\nPlease replace calls to this service and adjust your automations and scripts and select **submit** to close this issue."
"description": "Use `homeassistant.update_entity` instead which will update all ring entities.\n\nPlease replace uses of this action and adjust your automations and scripts and select **submit** to close this issue."
}
}
}

View file

@ -57,7 +57,7 @@
"message": "{entity_id} is not a valid scene entity_id."
},
"entity_not_dynamically_created": {
"message": "The scene {entity_id} is not created with service `scene.create`."
"message": "The scene {entity_id} is not created with action `scene.create`."
}
}
}

View file

@ -43,7 +43,7 @@
"fields": {
"config_entry": {
"name": "Config Entry",
"description": "The config entry to use for this service."
"description": "The config entry to use for this action."
},
"color_mode": {
"name": "Color Mode",
@ -57,7 +57,7 @@
"fields": {
"config_entry": {
"name": "Config Entry",
"description": "The config entry to use for this service."
"description": "The config entry to use for this action."
},
"runtime": {
"name": "Run Time",
@ -71,19 +71,19 @@
"fields": {
"config_entry": {
"name": "Config Entry",
"description": "The config entry to use for this service."
"description": "The config entry to use for this action."
}
}
}
},
"issues": {
"service_target_deprecation": {
"title": "Deprecating use of target for ScreenLogic services",
"title": "Deprecating use of target for ScreenLogic actions",
"fix_flow": {
"step": {
"confirm": {
"title": "Deprecating target for ScreenLogic services",
"description": "Use of an Area, Device, or Entity as a target for ScreenLogic services is being deprecated. Instead, use `config_entry` with the entry_id of the desired ScreenLogic integration.\n\nPlease update your automations and scripts and select **submit** to fix this issue."
"title": "Deprecating target for ScreenLogic actions",
"description": "Use of an Area, Device, or Entity as a target for ScreenLogic actions is being deprecated. Instead, use `config_entry` with the entry_id of the desired ScreenLogic integration.\n\nPlease update your automations and scripts and select **submit** to fix this issue."
}
}
}

View file

@ -499,16 +499,16 @@
"message": "Climate swing mode {swing_mode} is not supported by the integration, please open an issue"
},
"service_result_not_true": {
"message": "Could not execute service for {name}"
"message": "Could not perform action for {name}"
},
"service_raised": {
"message": "Could not execute service for {name} with error {error}"
"message": "Could not perform action for {name} with error {error}"
},
"select_option_not_available": {
"message": "Current mode {hvac_mode} doesn't support setting {key}"
},
"climate_react_not_available": {
"message": "Use Sensibo Enable Climate React Service once to enable switch or the Sensibo app"
"message": "Use Sensibo Enable Climate React action once to enable switch or the Sensibo app"
}
}
}

View file

@ -52,7 +52,7 @@
"step": {
"confirm": {
"title": "[%key:component::seventeentrack::issues::deprecate_sensor::title%]",
"description": "17Track package sensors are deprecated and will be removed.\nPlease update your automations and scripts to get data using the `seventeentrack.get_packages` service call."
"description": "17Track package sensors are deprecated and will be removed.\nPlease update your automations and scripts to get data using the `seventeentrack.get_packages` action."
}
}
}

View file

@ -173,7 +173,7 @@
"services": {
"reboot": {
"name": "Reboot",
"description": "Reboots the NAS. This service is deprecated and will be removed in future release. Please use the corresponding button entity.",
"description": "Reboots the NAS. This action is deprecated and will be removed in future release. Please use the corresponding button entity.",
"fields": {
"serial": {
"name": "Serial",
@ -183,7 +183,7 @@
},
"shutdown": {
"name": "Shutdown",
"description": "Shutdowns the NAS. This service is deprecated and will be removed in future release. Please use the corresponding button entity.",
"description": "Shutdowns the NAS. This action is deprecated and will be removed in future release. Please use the corresponding button entity.",
"fields": {
"serial": {
"name": "[%key:component::synology_dsm::services::reboot::fields::serial::name%]",

View file

@ -1,7 +1,7 @@
{
"exceptions": {
"child_service_not_found": {
"message": "Service {domain}.{service} called service {child_domain}.{child_service} which was not found."
"message": "Action {domain}.{service} uses action {child_domain}.{child_service} which was not found."
}
}
}

View file

@ -210,7 +210,7 @@
},
"remote_learn_command": {
"name": "Remote learn command",
"description": "Learns an IR command, press \"Call Service\", point the remote at the IR device, and the learned command will be shown as a notification in Overview.",
"description": "Learns an IR command, press \"Perform action\", point the remote at the IR device, and the learned command will be shown as a notification in Overview.",
"fields": {
"slot": {
"name": "Slot",

View file

@ -413,7 +413,7 @@
},
"warning_device_squawk": {
"name": "Warning device squawk",
"description": "This service uses the WD capabilities to emit a quick audible/visible pulse called a \"squawk\". The squawk command has no effect if the WD is currently active (warning in progress).",
"description": "This action uses the WD capabilities to emit a quick audible/visible pulse called a \"squawk\". The squawk command has no effect if the WD is currently active (warning in progress).",
"fields": {
"ieee": {
"name": "[%key:component::zha::services::permit::fields::ieee::name%]",
@ -435,7 +435,7 @@
},
"warning_device_warn": {
"name": "Warning device starts alert",
"description": "This service starts the operation of the warning device. The warning device alerts the surrounding area by audible (siren) and visual (strobe) signals.",
"description": "This action starts the operation of the warning device. The warning device alerts the surrounding area by audible (siren) and visual (strobe) signals.",
"fields": {
"ieee": {
"name": "[%key:component::zha::services::permit::fields::ieee::name%]",

View file

@ -291,7 +291,7 @@
"name": "Clear lock user code"
},
"invoke_cc_api": {
"description": "Calls a Command Class API on a node. Some Command Classes can't be fully controlled via the `set_value` service and require direct calls to the Command Class API.",
"description": "Calls a Command Class API on a node. Some Command Classes can't be fully controlled via the `set_value` action and require direct calls to the Command Class API.",
"fields": {
"command_class": {
"description": "The ID of the command class that you want to issue a command to.",
@ -313,7 +313,7 @@
"name": "Invoke a Command Class API on a node (advanced)"
},
"multicast_set_value": {
"description": "Changes any value that Z-Wave JS recognizes on multiple Z-Wave devices using multicast, so all devices receive the message simultaneously. This service has minimal validation so only use this service if you know what you are doing.",
"description": "Changes any value that Z-Wave JS recognizes on multiple Z-Wave devices using multicast, so all devices receive the message simultaneously. This action has minimal validation so only use this action if you know what you are doing.",
"fields": {
"broadcast": {
"description": "Whether command should be broadcast to all devices on the network.",
@ -475,7 +475,7 @@
"name": "Set lock user code"
},
"set_value": {
"description": "Changes any value that Z-Wave JS recognizes on a Z-Wave device. This service has minimal validation so only use this service if you know what you are doing.",
"description": "Changes any value that Z-Wave JS recognizes on a Z-Wave device. This action has minimal validation so only use this action if you know what you are doing.",
"fields": {
"command_class": {
"description": "The ID of the command class for the value.",
@ -502,7 +502,7 @@
"name": "[%key:component::zwave_js::services::set_config_parameter::fields::value::name%]"
},
"wait_for_result": {
"description": "Whether or not to wait for a response from the node. If not included in the payload, the integration will decide whether to wait or not. If set to `true`, note that the service call can take a while if setting a value on an asleep battery device.",
"description": "Whether or not to wait for a response from the node. If not included in the payload, the integration will decide whether to wait or not. If set to `true`, note that the action can take a while if setting a value on an asleep battery device.",
"name": "Wait for result?"
}
},

View file

@ -207,7 +207,7 @@ async def test_get_trace(
_assert_raw_config(domain, sun_config, trace)
assert trace["blueprint_inputs"] is None
assert trace["context"]
assert trace["error"] == "Service test.automation not found"
assert trace["error"] == "Action test.automation not found"
assert trace["state"] == "stopped"
assert trace["script_execution"] == "error"
assert trace["item_id"] == "sun"
@ -899,7 +899,7 @@ async def test_list_traces(
assert len(_find_traces(response["result"], domain, "sun")) == 1
trace = _find_traces(response["result"], domain, "sun")[0]
assert trace["last_step"] == last_step[0].format(prefix=prefix)
assert trace["error"] == "Service test.automation not found"
assert trace["error"] == "Action test.automation not found"
assert trace["state"] == "stopped"
assert trace["script_execution"] == script_execution[0]
assert trace["timestamp"]
@ -1639,7 +1639,7 @@ async def test_trace_blueprint_automation(
assert trace["config"]["id"] == "sun"
assert trace["blueprint_inputs"] == sun_config
assert trace["context"]
assert trace["error"] == "Service test.automation not found"
assert trace["error"] == "Action test.automation not found"
assert trace["state"] == "stopped"
assert trace["script_execution"] == "error"
assert trace["item_id"] == "sun"

View file

@ -3906,10 +3906,10 @@ async def test_parallel_error(
assert len(events) == 0
expected_trace = {
"0": [{"error": "Service epic.failure not found"}],
"0": [{"error": "Action epic.failure not found"}],
"0/parallel/0/sequence/0": [
{
"error": "Service epic.failure not found",
"error": "Action epic.failure not found",
"result": {
"params": {
"domain": "epic",
@ -3958,7 +3958,7 @@ async def test_propagate_error_service_not_found(hass: HomeAssistant) -> None:
expected_trace = {
"0": [
{
"error": "Service test.script not found",
"error": "Action test.script not found",
"result": {
"params": {
"domain": "test",
@ -5799,7 +5799,7 @@ async def test_continue_on_error_automation_issue(hass: HomeAssistant) -> None:
{
"0": [
{
"error": "Service service.not_found not found",
"error": "Action service.not_found not found",
"result": {
"params": {
"domain": "service",

View file

@ -1715,7 +1715,7 @@ async def test_serviceregistry_service_that_not_exists(hass: HomeAssistant) -> N
assert exc.value.domain == "test_do_not"
assert exc.value.service == "exist"
assert str(exc.value) == "Service test_do_not.exist not found"
assert str(exc.value) == "Action test_do_not.exist not found"
async def test_serviceregistry_async_service_raise_exception(
@ -1806,7 +1806,7 @@ async def test_services_call_return_response_requires_blocking(
return_response=True,
)
assert str(exc.value) == (
"A non blocking service call with argument blocking=False "
"A non blocking action call with argument blocking=False "
"can't be used together with argument return_response=True"
)
@ -1852,7 +1852,7 @@ async def test_serviceregistry_return_response_invalid(
("supports_response", "return_response", "expected_error"),
[
(SupportsResponse.NONE, True, "does not return responses"),
(SupportsResponse.ONLY, False, "call requires responses"),
(SupportsResponse.ONLY, False, "action requires responses"),
],
)
async def test_serviceregistry_return_response_arguments(