Med skriptredigeraren kan du skriva egna automatiseringar och skapa avancerade hushållsrutiner med Google Home för webben eller i Google Home-appen. Om du vill skriva automatiseringsskript behöver du känna till grunderna i skriptspråket YAML, hur du strukturerar skriptet och hur du använder komponenterna som utgör skriptet.
Skriptredigeraren är för närvarande tillgänglig i den offentliga förhandsversionen. Du kan komma åt skriptredigeraren via Google Home för webben eller i den mobila Google Home-appen när du har gått med i programmet Offentlig förhandsversion.
Läs mer om hur du skapar automatiseringar med skriptredigeraren:- Skapa avancerade automatiseringar för smarta hem med skriptredigeraren
- Utlösare, villkor och åtgärder som stöds
- Besök vårt codelab om du vill ha anvisningar om hur du skapar ditt första skript
- Öva på att skriva automatiseringsskript och få exempelskript.
Grunderna i YAML-skriptspråket
I skriptredigeraren används YAML, ett flexibelt skriptspråk som du kan använda för att ange anvisningar för varje rad om vad du vill att dina enheter ska göra och när du vill att det ska hända. Dessa anvisningar är skrivna i form av nyckel-värdepar.
Nyckel-värdepar
YAML är skrivet som en serie nyckel-värdepar:
name: TV on lights off
I det här exemplet är nyckeln = name
och värdet = TV on lights off
.
Nyckeln är i grunden sökordet för ett element som du vill använda. Alla nycklar måste vara unika, men ordningen på nycklarna spelar ingen roll. Varje nyckel-värdepar börjar på en ny rad.
Det värde som är kopplat till en nyckel kan ha formen av flera olika datatyper.
Datatyper
Primitiv datatyp
Den primitiva datatypen omfattar alla grundläggande datatyper som stöds av skriptredigeraren.
Primitiva former | Typer av värden |
---|---|
Bool |
|
Number | Heltal eller decimaltal |
String |
Vanlig text Strängvärden behöver endast citattecken om de börjar med |
Date |
Månad och dag. Formatet är MM-DD eller MM/DD.
|
Time |
Du kan använda antingen 12-timmarsformat eller 24-timmarsformat. Det är valfritt att inkludera sekunder. Du kan även använda tid i förhållande till solen. Du kan till exempel använda sökorden
|
DateTime |
År, månad, dag och tid på dagen. Du måste ange ett mellanslag mellan datumet och tiden. Datumformatet är ÅÅÅÅ-MM-DD eller ÅÅÅÅ/MM/DD. Tidsformatet är samma som Tid ovan. Tidszoner stöds inte.
|
Weekday |
|
Duration |
En tidsperiod.
|
ColorHex |
En sexsiffrig kod i det hexadecimala talsystemet som representerar en färg. Den har inget inledande #.
|
Temperature |
Temperaturdata. Lägg alltid till C eller F för att beteckna Celsius eller Fahrenheit.
|
ColorTemperature |
Färgtemperatur i Kelvin.
|
Strukturer: Kapslade nyckel-värdepar
Strukturdatatypen är ett block eller en datastruktur som innehåller flera nyckel-värdepar. Nyckel-värdeparen är kapslade under en enda överordnad nyckel. Varje nivå av kapsling är indragen med samma antal blanksteg eller tabbar för att visa hierarkin.
actions: device: Light B - Living room state: on
I det här exemplet är den överordnade nyckeln = actions
. Värdet för actions
är två kapslade nyckel-värdepar:
- Par 1: underordnad nyckel =
device
; värde =Light B - Living room
- Par 2: underordnad nyckel =
state
; värde =on
Listor: Nycklar med flera värden
Om du vill inkludera flera värden med en enda nyckel skapar du en lista med ett bindestreck före varje listobjekt. En lista kan använda värden av antingen strukturdatatyp eller primitiv datatyp, men inte båda samtidigt.
weekdays: - MONDAY - THURSDAY
I exemplet är nyckeln = weekdays
och värdet = en lista som innehåller Monday
och Thursday
.
Avancerade strukturer: Kombinerade kapslade par och listor
- type: time.schedule at: 10:00 am weekdays: - MONDAY - THURSDAY - type: time.schedule at: SUNSET weekdays: - MONDAY - THURSDAY
I det här exemplet är den överordnade nyckeln = starters
. Den överordnade nyckelns värde är en lista där varje post innehåller flera nyckel-värdepar.
Vissa typer av nycklar kräver att värdena har specifika format, medan andra nycklar ärver egenskaper baserat på enhetens kapacitet. Läs mer om hur specifika utlösare, villkor och åtgärder är strukturerade.
Språksyntax för YAML
Använd följande formateringskoncept när du skriver skript med rutiner:
Koncept | Exempel |
---|---|
Kolon YAML använder ett kolon |
state: on |
Indrag Indrag anger struktur och hierarki och definierar kapslade nyckelpar. I exemplet är den överordnade nyckeln = |
|
Bindestreck Ett bindestreck följt av ett mellanslag definierar ett listobjekt. |
|
Kommentarer Använd nummertecknet # för att lägga till kommentarer eller anteckningar i skriptet. Automatiseringsmotorn ignorerar kommentarer och de påverkar inte automatiseringen. |
# This is a comment. It will be ignored. |
Mallen för skriptredigeraren
När du skapar en ny automatisering genererar skriptredigeraren en tom mall för dig att skriva skriptet i, med hjälp av den här strukturen:
metadata |
innehåller namnet på din automatisering och en beskrivning |
automations |
definierar automatiseringsbeteendet |
starters |
definierar vilka utlösare som inleder automatiseringen |
condition |
definierar begränsningar för när automatiseringen ska köras (valfritt) |
actions |
definierar vilka åtgärder som utförs i automatiseringen |
Mallen är uppdelad i två huvudblock: metadata och automatiseringar. Automatiseringen delas sedan upp i delarna starters (utlösare), conditions (villkor) och actions (åtgärder).
Blocken metadata och automations
Skriptredigerarmallen innehåller två överordnade nycklar, eller block: metadata
och automations
.
Blocket metadata
innehåller automatiseringens namn och beskrivning. Detta används endast för att hjälpa dig att identifiera automatiseringen.
metadata: name: TV time description: When TV is on, turn on lights
Blocket automations
är kärnan i ditt automatiseringsskript. Här definierar du automatiseringens beteende med hjälp av utlösare, villkor och åtgärder.
automations: starters: # e.g. Motion detected condition: # e.g. Between 2 times actions: # e.g. Turn on lights
För att få en bättre inblick i hur du använder skriptredigeraren kan du besöka vårt codelab, titta på exempelskript eller lära dig hur du formaterar individuella utlösare, villkor och åtgärder i utvecklarcentret för Google Home.
Autoslutförande
Skriptredigeraren hjälper dig att skriva skriptet genom att tillhandahålla förslag på autoslutförande utifrån tillgängliga utlösare, villkor och åtgärder vid följande tillfällen:
- När markören finns där det finns giltiga alternativ, till exempel efter
- type:
.- När du skriver kod med giltiga förslag. Listan över förslag filtreras allt eftersom du skriver.
Du startar autoslutförande manuellt med kortkommandot Ctrl + blanksteg.
Tryck på Retur för att välja ett förslag i listan. Med autoslutförande så fylls ytterligare fält i baserat på den struktur du väljer.
Tips! Med hjälp av autoslutförande kan du se vilka enhetsstatusar eller kommandon som är tillgängliga för din enhet och vilka enheter som är tillgängliga för en viss enhetsstatus eller ett visst kommando.
Om du vill se vilka enhetsstatusar eller kommandon som är tillgängliga för din enhet anger du device:
när du skriver skriptet och sedan nyckeln type:
. Funktionen för automatisk ifyllning visar en lista över statusar eller kommandon som enheten har tillgång till.
Exempel
starters: - device: LED lights - Living Room - type:
Om du vill se vilka enheter som är tillgängliga för en viss enhetsstatus eller ett visst kommando anger du nyckeln type:
först och sedan device:
. Med funktionen autoslutförande visas en lista över tillgängliga enheter i hemmet som har stöd för statusen eller kommandot.
Exempel
starters: - type: device.state.OnOff - device:
Utlösare, villkor och åtgärder
Automatiseringar utgörs av enhetsutlösare, villkor och åtgärder. Dessa komponenter definierar automatiseringens beteenden.
Vissa utlösare, villkor och åtgärder kräver en specifik typ av nyckel-värdepar för jämförelse för att slutföra automatiseringslogiken och för att skriptet ska veta vad du vill utvärdera. Värdet måste vara en kompatibel datatyp. Till exempel kan lampans on
-status vara antingen true
eller false
. Om du vill starta automatiseringen om lampan är tänd använder du följande:
state: on is: true
Nedan finns information om de olika tillgängliga utlösarna, villkoren och åtgärderna. En fullständig lista över utlösare, villkor och åtgärder finns i utvecklarcentret för Google Home.
Utlösare
I utlösaravsnittet i skriptet anger du vad som ska göra att skriptet körs. Utlösarna baseras på saker enheten kan göra eller attribut som kan ändras, inklusive enhetsstatus, tid och enhetshändelser. Du kan till exempel använda en glödlampa som har statusen OnOff
, Brightness
eller ColorSetting
. Om du vill inkludera flera utlösare anger du alla utlösare som börjar med nyckeln - type:
. Skriptet måste uppfylla minst ett utlösarvillkor för att det ska köras.
Se hela listan över utlösare som stöds.
Utlösartyper
Assistent-utlösare
assistant.command
-utlösare för att starta ett skript när en enhet med assistenten hör ett assistentkommando som börjar med ”Hey Google”.starters: - type: assistant.command.OkGoogle eventData: query is: party time
Utlösare för enhetshändelse
Använd en device.event
-utlösare så att skriptet startas när en viss händelse sker, till exempel när någon ringer på eller när en sensor registrerar något. Obs! Alla händelser stöds inte.
starters: - type: device.event.DoorbellPress device: Doorbell - Front door
starters: - type: device.event.PersonDetection device: Camera - Backyard
Exempel: Starta automatiseringen när kameran detekterar en rörelse.
Obs!
- För kamerahändelser krävs en kompatibel Nest-kamera, dörrklocka eller skärm, och du måste ha konfigurerat händelsedetektering.
- För vissa kamerahändelser kan det krävas en Nest Aware-prenumeration eller en kamera med strömförsörjning via kabel. Ljuddetektering fungerar till exempel bara med Nest Cam (utomhus eller inomhus, med batteri) när kabelanslutning används.
- Du kan ignorera utlösare utifrån enhetshändelser och enhetslägen så att de inte upprepas under en viss tidsperiod.
Utlösare för enhetsstatus
device.state
-utlösare när du vill att automatiseringen ska baseras på enhetens status. Statusar är egenskaper hos en enhet, till exempel när din termostat når en viss temperatur, om en lampa tänds eller släcks eller när en sensor som stöds når ett visst gränsvärde.
device.state
. Om du till exempel vill kontrollera om en enhet är på kan du använda device.state.OnOff
.device.state
-utlösare börjar du med tre nycklar: type
, device
och state
följt av minst ett nyckel-värdepar för jämförelse.Nyckel | Värde | Exempel |
type |
Utlösaren för enhetsstatus, som börjar med device.state |
device.state.ArmDisarm |
device |
Namn som visas i Google Home-appen med rumsnamn: Device name - Room name |
Alarm - Front Door |
state |
Utlösarens fält- eller statusdata som du vill kontrollera. Hitta utlösaren du vill använda i utvecklarcentret för Google Home för att hitta Fält som stöds eller Statusdata. |
isArmed |
Du kan använda följande nyckel-värdepar för jämförelse med device.state-utlösaren:
Jämförelsenycklar | Värdetyper som stöds | Exempel |
---|---|---|
is |
Sträng | Nummer | Bool | Dynamisk | is: on |
isNot |
Sträng | Nummer | Bool | Dynamisk | isNot: cast |
greaterThan |
Sträng | Nummer | Bool | Dynamisk | greaterThan: 1 |
lessThan lessThanOrEqualTo |
Sträng | Nummer | Bool | Dynamisk | lessThan: 10 |
suppressFor |
Duration | suppressFor: 1hour |
Exempel: Starta automatiseringen om volymen på tv:n är mellan 1 och 10.
starters: - type: device.state.Volume device: TV - Living room state: currentVolume greaterThan: 1 lessThan: 10
Utlösare för hemstatus
home.state
-utlösaren om du vill att skriptet ska starta baserat på om du är hemma eller borta. Detta kan identifieras med närvarodetektering.starters: - type: home.state.HomePresence state: homePresenceMode is: HOME
Tidsutlösare
time
-utlösare för att starta automatiseringen på specifika dagar och tider. Du kan använda följande nyckel-värdepar för jämförelse med tidsutlösaren:Så här ignorerar du utlösare
Använd jämförelsenyckeln suppressFor
för att instruera automatiseringen att ignorera en utlösare under en viss tid. Exempel: När kameran identifierar någon får du meddelandet ”Någon står vid dörren” och sedan får du inte meddelandet igen på 10 minuter, även om kameran fortfarande identifierar någon.
Exempel: Öppna alla persienner när någon går ut i hallen för första gången på morgonen och ignorera sedan denna utlösare under de närmaste 20 timmarna.
metadata:
name: Open Blinds
description: Open blinds in the morning after motion detected
automations:
starters:
- type: device.event.MotionDetection
device: Camera - Hallway
suppressFor: 20hours
condition:
type: time.between
after: 5:00
before: 12:00
actions:
- type: device.command.OpenClose
openPercent: 100
devices:
- Blinds1 - Living Room
- Blinds2 - Family Room
Villkor
and
, or
och not
för att uttrycka mer komplexa villkorskontroller.type: or conditions: - type: time.between before: sunrise after: sunset weekdays: - MON - TUE - type: device.state.Volume device: My TV - Living Room state: currentVolume greaterThan: 1 lessThan: 10
I det här exemplet finns det ett tidsvillkor och ett device.state
-villkor. Detta skript körs om det är mellan solnedgång och soluppgång på en måndag eller tisdag, eller om tv-volymen är mellan 1 och 10.
Du kan använda följande villkorstyper:
Villkorsoperatorer
AND-villkor
När du använder villkoret and
körs skriptet endast om samtliga underordnade villkor är uppfyllda.
Exempel: Starta automatiseringen om tv:n är på OCH klockan är mer än 18.00.
condition: type: and conditions: - type: device.state.OnOff device: TV - Living Room state: on is: true - type: time.between after: 6:00 pm
OR-villkor
När du använder villkoret or
körs skriptet när något av de underordnade villkoren uppfylls.
Exempel: Starta automatiseringen om tv:n är på ELLER klockan är mer än 18.00.
condition: type: or conditions: - type: device.state.OnOff device: TV - Living Room state: on is: true - type: time.between after: 6:00 pm
NOT-villkor
När du använder villkoret not
kan inte skriptet köras om det underordnade villkoret uppfylls.
Exempel: Starta automatiseringen om klockan inte är mellan 18.00 och 20.00.
condition: type: not condition: type: time.between after: 6:00pm before: 8:00pm
Villkor för enhetsstatus
device.state
-villkor om du vill begränsa när skriptet kan ske baserat på en enhets status när skriptet startar. Device.state
-villkor liknar device.state
-utlösare, men i stället för att ange när skriptet ska startas begränsar de situationer där skriptet kan förekomma.device.state
. Om du till exempel vill kontrollera om en enhet är på kan du använda device.state.OnOff
.device.state
-villkor börjar du med tre nycklar: type
, device
och state
följt av minst ett nyckel-värdepar för jämförelse.Nyckel | Värde | Exempel |
---|---|---|
type |
Villkoret för enhetsstatusen, som börjar med device.state |
device.state.OnOff |
device |
Namn som visas i Google Home-appen med rumsnamn: Device name - Room name |
Chromecast – Vardagsrum |
state |
Utlösarstatusen som du vill kontrollera Leta reda på villkåret för enhetsstatus som du vill använda i utvecklarcentret för Google Home. |
state: on |
Tips! Om du vill ta reda på vilka enhetsstatusar som är tillgängliga för din enhet skriver du nyckeln device:
och sedan nyckeln type:
i skriptet. Autofyll visar en lista över tillgängliga statusar för enheten.
Du kan använda följande nyckel-värdepar för jämförelse med villkoret device.state
:
Jämförelsenycklar | Värdetyper som stöds | Exempel |
---|---|---|
is |
Sträng | Nummer | Bool | Dynamisk | is: on |
isNot |
Sträng | Nummer | Bool | Dynamisk | isNot: cast |
greaterThan |
Sträng | Nummer | Bool | Dynamisk | greaterThan: 1 |
lessThan lessThanOrEqualTo |
Sträng | Nummer | Bool | Dynamisk | lessThan: 10 |
Exempel: Starta automatiseringen om termostaten upptäcker en luftfuktighet som är högre än 55 %.
condition: type: device.state.TemperatureSetting device: My Thermostat - Living Room state: thermostatHumidityAmbient greaterThan: 55
Villkor för hemstatus
home.state.HomePresence
-villkor för att begränsa när skriptet kan ske baserat på om någon är hemma eller borta.home.state.HomePresence
kontrollerar du att närvarodetektering har ställts in i Google Home-appen och att det fungerar som det ska. Närvaro i hemmet kan avgöras av var i hemmet hushållets telefoner befinner sig, av sensorer som sitter på vissa Nest-enheter eller genom att manuellt byta läge mellan Hemma eller Borta i Google Home-appen.Läs mer om närvarodetektering och rutinerna Hemma och Borta:
home.state.HomePresence
:Jämförelsenycklar | Värdetyper som stöds | Exempel |
---|---|---|
is |
String (”HOME” eller ”AWAY”) | is: away |
isNot |
String (”HOME” eller ”AWAY”) | isNot: HOME |
for |
Duration | for: 30min |
suppressFor |
Duration | suppressFor: 1hour |
Exempel: Villkoret home.state.HomePresence
utlöser automatiseringen om din närvaro är inställd på HOME.
condition: type: home.state.HomePresence state: homePresenceMode is: HOME
Tidsvillkor
time.between
för att begränsa när skriptet kan förekomma. Du kan använda följande nyckel-värdepar för jämförelse med villkoret time.between
:Åtgärder
I skriptets åtgärdsavsnitt anger du vad du vill att enheterna ska göra. Om du vill lägga till flera åtgärder listar du varje åtgärd separat och börjar med nyckeln - type:
. Skriptet måste ha minst en åtgärd för att köras. De flesta åtgärder börjar med device.command
.
Du kan använda följande åtgärdstyper:
Assistent-åtgärder
Använd åtgärden assistant.command
med högtalare eller skärmar för att låta assistenten slutföra åtgärder som ”Släck alla lampor” eller ”Berätta vad det är för väder”.
Med Assistent-kommandon kan du styra enheter i olika rum eller för hela hemmet utan att använda specifika enhetsnamn. Detta kan spara tid eftersom framtida enheter som läggs till i Home-appen automatiskt kan använda det här kommandot. För Assistent-kommandon krävs en kompatibel högtalare eller skärm för att utföra åtgärden.
actions: - type: assistant.command.OkGoogle okGoogle: Turn on living room lights devices: My Speaker - Room Name
actions: - type: assistant.command.OkGoogle okGoogle: Turn off all lights devices: My Speaker - Room Name
actions: - type: assistant.command.Broadcast devices: - My Speaker 1 - Room Name - My Speaker 2 - Room Name message: It’s dinner time.
Assistent-åtgärder gör det även möjligt att utföra anpassade åtgärder som följande:
- ”Spela upp Hello av Adele från YouTube Music på högtalaren i sovrummet.”
- ”Spela upp roliga kattvideor från YouTube på skärmen i vardagsrummet.”
- ”Vad blir det för väder i morgon?”
- ”Dra ett skämt.”
- ”Visa kameran för uppfarten på skärmen i hemmakontoret.”
Enhetsåtgärder
device.command
. Varje åtgärdskommando har sin egen uppsättning egenskaper och struktur. Du kan lägga till kommandon i skriptet genom att lägga till kommandoåtgärden för en enhet efter device.command
. Om du till exempel vill aktivera en enhet kan du använda device.command.OnOff
. En device.command
-åtgärd måste innehålla följande information:Nyckel | Värde | Exempel |
---|---|---|
type |
Enhetsåtgärden, som börjar med device.command . |
device.command.OpenClose |
devices |
Namn på enheten som visas i Google Home-appen med rumsnamn: Enhetsnamn – Rumsnamn. Om du vill lägga till flera enheter skapar du en lista. | Blinds - Bedroom |
Tips! Om du vill ta reda på vilka åtgärder eller kommandon som är tillgängliga för enheten anger du först nyckeln device: och sedan nyckeln type:. Autoslutförande visar då en lista över åtgärder som är tillgängliga för enheten.
Många device.command
-åtgärder har ytterligare nycklar som anger inmatningen som behövs för kommandot. För device.command.ThermostatTemperatureSetpoint
krävs till exempel ett nyckel-värdepar för thermostatTemperatureSetpoint
som talar om för termostaten vilken ny temperatur som ska ställas in.
Om du vill veta mer om hur du använder kommandon hittar du den relaterade åtgärden i utvecklarcentret för Google Home och följer strukturen för åtgärden du vill använda.
Exempel: Slå på tv:n i vardagsrummet.
actions: type: device.command.OnOff devices: TV - Living room on: true
Exempel: Tänd en lampa och släck den efter fem minuter.
actions:
- type: device.command.OnOff
devices: Light A - Living Room
on: true
- type: time.delay
for: 5min
- type: device.command.OnOff
devices: Light A - Living Room
on: false
Åtgärder för aviseringar
Använd åtgärden home.command.Notification
om du vill att skriptet ska skicka aviseringar till mobil enheter för medlemmar i hemmet. Du kan till exempel få aviseringar när apparater som är anslutna till smarta kontakter stängs av eller blir offline.
actions: - type: home.command.Notification members: - Alex - [email protected] - Kim - [email protected] title: It’s movie time! body: Join me in the living room
Tidsåtgärder
time.delay
om du vill att skriptet ska vänta en vangiven tid mellan två åtgärder i listan i stället för att utföra alla åtgärder samtidigt. Du kan lägga till flera fördröjningar i skriptet. Du kan till exempel se till att skriptet väntar i tio sekunder mellan varje åtgärd.actions: - type: device.command.OnOff devices: - Bedside Lamp - Bedroom - Ceiling Light - Bedroom on: true - type: time.delay for: 30sec - type: device.command.OnOff devices: - Bedside Lamp - Bedroom - Ceiling Light - Bedroom on: false
Resurser
Öva på att skriva ett skript
Vi börjar med att skapa en mycket enkel, men vanlig, automatisering: ”Släck lamporna när tv:n slås på”.
- Öppna home.google.com/automations och logga in på ditt konto.
- Klicka på Lägg till ny
.
- Fyll i metadata. I det här skriptet är namnet =
TV on lights off
och beskrivningen =Turn off lights when TV turns on.
Kontrollera att du har formaterat skriptet korrekt.metadata: name: TV on lights off description: Turn off lights when TV turns on.
- För att lägga till utlösare skapar du en ny rad, gör ett indrag med två blanksteg eller en Tabb och anger
starters:
. Gör sedan ett nytt indrag på nästa rad och ange- type:
.Tips!- Skapa en ny rad genom att trycka på Skift
Retur.
- Om du inkluderar flera utlösare ska varje utlösare börja med ett bindestreck och ett blanksteg.
- Skapa en ny rad genom att trycka på Skift
metadata: name: TV on lights off description: Turn off lights when TV turns on automations: starters: - type:Obs! Skriptredigeraren hjälper dig med strukturen genom att ge förslag på autoslutförande baserat på tillgängliga utlösare. Välj bland förslagen genom att använda piltangenterna på tangentbordet och tryck sedan på Retur för att infoga det.
- Lägg till utlösaren
device.state
. Kom ihåg att du behöver tre nycklar för att använda device.state-utlösaren:type
,device
ochstate
, följt av minst ett nyckel-värdepar för jämförelse. Skriptredigeraren hjälper dig med strukturen genom att ge förslag på autoslutförande baserat på tillgängliga utlösare, villkor och åtgärder. I det här skriptet:- Type =
device.state.OnOff
. Det här är enhetens status som utvärderas för att starta automatiseringen. - Device =
Chromecast - Living Room
. Det här är namnet på enheten så som det visas i Google Home-appen. - State =
on
. On är fältet som stöds eller statusdata för OnOff-enhetsstatusen. - The comparison key-value pair =
is: true
. Värdet för denna jämförelsenyckel är en primitiv datatyp. Skriptet körs om tv:n är på.metadata: name: TV on lights off description: Turn off lights when TV turns on automations: starters: - type: device.state.OnOff device: Chromecast - Living Room state: on is: true
Som jämförelse tar vi en titt på ett liknande skript med en annan utlösare. I skriptet nedan startar automatiseringen när volymen är mellan 1 och 10, snarare än när tv:n slås på. För att göra den här ändringen ersatte vi statusen
OnOff
medVolume
och ändrade statusen tillcurrentVolume
för att matcha det nya attributet. Vi ändrade även nyckel-värdeparen för jämförelse till två kapslade par som skapar ett intervall:greaterThan: 1
ochlessThan: 10
. Här finns en fullständig lista över utlösare som du kan använda.metadata: name: TV on lights off description: Turn off lights when TV turns on automations: starters: - type: device.state.Volume device: Chromecast - Living Room state: currentVolume greaterThan: 1 lessThan: 10
- Type =
- Du kan när som helst klicka på Spara för att spara skriptet. När du sparar ett skript validerar skriptredigeraren automatiskt skriptet och letar efter fel. Ett ogiltigt skript kan inte köras.
- Lägg nu till en åtgärd i skriptet. För att lägga till åtgärder skapar du en ny rad, gör ett indrag med två blanksteg eller en Tabb och anger
actions:
. Gör sedan ett nytt indrag på nästa rad och ange- type
.Tips!- Skapa en ny rad genom att trycka på Skift
Retur.
- Om du inkluderar ytterligare åtgärder ska varje åtgärd börja med ett bindestreck och ett blanksteg.
metadata: name: TV on lights off description: Turn off lights when TV turns on. automations: starters: - type: device.state.OnOff device: Chromecast - Living Room state: on is: true actions: - type:
- Skapa en ny rad genom att trycka på Skift
- Vi använder åtgärden
device.command
för att släcka lamporna. För att använda åtgärden device.command inkluderar vi följande information:- Type =
device.command.OnOff
. Det här är namnet på kommandot eller åtgärden.Obs! Kommandon kan ha flera kapslade kommandon under dina enheter och varje kommando har sin egen status. - Devices = en lista med
Floor Lamp - Living Room
ochOverhead Light - Living Room
. Det här är namnen på våra lampor, så som de visas i Google Home-appen. Vi har angett flera lampor på separata rader och var och en börjar med ett bindestreck. - Kommandots önskade status =
on: false
. Den här raden säger till våra lampor att släckas.metadata: name: TV on lights off description: Turn off lights when TV turns on. automations: starters: - type: device.state.OnOff device: Chromecast - Living Room state: on is: true actions: - type: device.command.OnOff devices: - Floor Lamp - Living Room - Overhead Light - Living Room on: false
- Type =
- Klicka på Spara för att spara skriptet. Om det inte finns några fel aktiveras skriptet automatiskt. Lampan släcks när tv:n slås på. Om du inte vill att skriptet ska köras ännu kan du pausa skriptet genom att inaktivera Aktivera.
Om du vill öva mer kan du testa att ändra skriptet så att det använder olika utlösare, datatyper, flera åtgärder eller ytterligare villkor som time.between
. Du kan även titta på exempelskript och kolla in codelab. Detaljerad information om utlösare, åtgärder och villkor finns i utvecklarcentret för Google Home.
Hjälp med automatiseringsskript
- Få hjälp med skript och ta reda på vad andra gör i communityn för hemautomatisering med Google Home.
- För att automatiseringar ska fungera måste skripten bestå av giltig kod. Om det finns ett fel visas ett meddelande. Läs mer om fel och varningar i skriptredigeraren.
- Validera koden genom att klicka eller trycka på Validera i skriptredigeraren eller försöka spara skriptet. Här är några vanliga fel:
- Kontrollera att du använder rätt enhetsnamn i formatet Enhetsnamn – Rumsnamn. Om du är osäker kontrollerar du namnet på enheten i Google Home-appen.
- Kontrollera att enheten har stöd för de funktioner du vill att den ska utföra. Du kan även använda autoslutförande för att se tillgängliga alternativ.
- Se till att du anger en åtgärd. Åtgärder krävs för att en automatisering ska köras.
- Om skriptet sparas men automatiseringen inte fungerar som förväntat kontrollerar du manuellt att varje komponent i skriptet fungerar. Om du till exempel skrev ett skript för att tända lampan och ändra ljusstyrkan vid solnedgången kan du prova att utföra dessa uppgifter med ett assistentkommando för att bekräfta att varje enskild funktion fungerar. Du kan också kontrollera att
- enheten läggs till eller länkas i Google Home-appen
- enheten är ansluten och online
- enhetens namn, utlösare, villkor och åtgärder är korrekt angivna
Obs! Tillverkare kan ändra enheters egenskaper när de utför uppdateringar, vilket kan leda till att skript slutar fungera. Du kan använda autoslutförande för att uppdatera berörda skript. - skriptet har korrekt indrag och formatering.
- Med Google Home för webben kan du även komma åt automatiseringsloggar
under skriptet för att kontrollera automatiseringens historik och identifiera potentiella problem. Läs mer om typer av meddelanden som visas i automatiseringsloggarna.
- Testa att beskriva önskad automatisering med skriptredigerarens experimentella generativa AI-funktion. Då skapas ett skript som du kan granska och redigera.
- Läs mer om grunderna i rutiner och hur du felsöker dem.
- Läs mer om hur du skapar och redigerar automatiseringar med skript.