diff --git a/src/panels/config/cloud/cloud-alexa-pref.ts b/src/panels/config/cloud/cloud-alexa-pref.ts index 32b63e3de5..e92ac32296 100644 --- a/src/panels/config/cloud/cloud-alexa-pref.ts +++ b/src/panels/config/cloud/cloud-alexa-pref.ts @@ -24,7 +24,7 @@ export class CloudAlexaPref extends LitElement { } protected render(): TemplateResult { - const enabled = this.cloudStatus!.alexa_enabled; + const enabled = this.cloudStatus!.prefs.alexa_enabled; return html` ${this.renderStyle()} diff --git a/src/panels/config/cloud/cloud-google-pref.ts b/src/panels/config/cloud/cloud-google-pref.ts index 7c1097cdbf..5d39501927 100644 --- a/src/panels/config/cloud/cloud-google-pref.ts +++ b/src/panels/config/cloud/cloud-google-pref.ts @@ -25,13 +25,14 @@ export class CloudGooglePref extends LitElement { } protected render(): TemplateResult { - const enabled = this.cloudStatus!.google_enabled; + const { google_enabled, google_allow_unlock } = this.cloudStatus!.prefs; return html` ${this.renderStyle()}
@@ -61,8 +62,16 @@ export class CloudGooglePref extends LitElement { the Google Home or Android phone. ${ - enabled + google_enabled ? html` +
+
Allow unlocking locks
+ +

Exposed entities:

Sync devices @@ -88,7 +97,7 @@ export class CloudGooglePref extends LitElement { private async _toggleChanged(ev) { const toggle = ev.target as PaperToggleButtonElement; try { - await updatePref(this.hass!, { google_enabled: toggle.checked! }); + await updatePref(this.hass!, { [toggle.id]: toggle.checked! }); fireEvent(this, "ha-refresh-cloud-status"); } catch (err) { toggle.checked = !toggle.checked; @@ -110,6 +119,14 @@ export class CloudGooglePref extends LitElement { color: var(--primary-color); font-weight: 500; } + .unlock { + display: flex; + flex-direction: row; + padding-top: 16px; + } + .unlock > div { + flex: 1; + } `; } diff --git a/src/panels/config/cloud/data.ts b/src/panels/config/cloud/data.ts index afce1399d8..adf98229f9 100644 --- a/src/panels/config/cloud/data.ts +++ b/src/panels/config/cloud/data.ts @@ -9,6 +9,7 @@ export const updatePref = ( prefs: { google_enabled?: boolean; alexa_enabled?: boolean; + google_allow_unlock?: boolean; } ) => hass.callWS({ diff --git a/src/panels/config/cloud/types.ts b/src/panels/config/cloud/types.ts index 4783d1776c..a42ab724b0 100644 --- a/src/panels/config/cloud/types.ts +++ b/src/panels/config/cloud/types.ts @@ -11,12 +11,15 @@ interface CloudStatusBase { export type CloudStatusLoggedIn = CloudStatusBase & { email: string; - google_enabled: boolean; google_entities: EntityFilter; google_domains: string[]; - alexa_enabled: boolean; alexa_entities: EntityFilter; alexa_domains: string[]; + prefs: { + google_enabled: boolean; + alexa_enabled: boolean; + google_allow_unlock: boolean; + }; }; export type CloudStatus = CloudStatusBase | CloudStatusLoggedIn;