diff --git a/src/common/config/is_service_loaded.ts b/src/common/config/is_service_loaded.ts new file mode 100644 index 0000000000..c8a7824a5a --- /dev/null +++ b/src/common/config/is_service_loaded.ts @@ -0,0 +1,9 @@ +import { HomeAssistant } from "../../types"; + +/** Return if a service is loaded. */ +export const isServiceLoaded = ( + hass: HomeAssistant, + domain: string, + service: string +): boolean => + hass && domain in hass.services && service in hass.services[domain]; diff --git a/src/panels/config/server_control/ha-config-server-control.ts b/src/panels/config/server_control/ha-config-server-control.ts index a08b26f072..fe19018906 100644 --- a/src/panels/config/server_control/ha-config-server-control.ts +++ b/src/panels/config/server_control/ha-config-server-control.ts @@ -16,7 +16,7 @@ import { HomeAssistant, Route } from "../../../types"; import "@material/mwc-button"; import "@polymer/paper-input/paper-input"; -import { isComponentLoaded } from "../../../common/config/is_component_loaded"; +import { isServiceLoaded } from "../../../common/config/is_service_loaded"; import "../../../components/buttons/ha-call-service-button"; import "../../../components/ha-card"; import "../ha-config-section"; @@ -35,6 +35,7 @@ const reloadableDomains = [ "input_number", "input_datetime", "input_select", + "template", ]; @customElement("ha-config-server-control") @@ -202,7 +203,7 @@ export class HaConfigServerControl extends LitElement { ${reloadableDomains.map((domain) => - isComponentLoaded(this.hass, domain) + isServiceLoaded(this.hass, domain, "reload") ? html`