Med redigeringsværktøjet til scripts kan du skrive dine egne automatiseringer med henblik på at oprette avancerede rutiner for husstanden via Google Home til nettet eller i Google Home-appen. Hvis du vil skrive scriptautomatiseringer, skal du have lidt grundlæggende oplysninger om YAML-scriptsproget, hvordan du strukturerer dit script, og hvordan du bruger de komponenter, der udgør dit script.
Redigeringsværktøjet til scripts er i øjeblikket tilgængeligt via Offentligt preview. Du kan få adgang til redigeringsværktøjet til scripts via Google Home til nettet eller i Google Home-mobilappen, når du har tilmeldt dig Offentligt preview.
Få flere oplysninger om, hvordan du opretter automatiseringer med redigeringsværktøjet til scripts:- Opret avanceret styring af smartenheder i hjemmet med redigeringsværktøjet til scripts
- Understøttede aktiveringsfunktioner, betingelser og handlinger
- Gå til codelab for at se et eksempel på, hvordan du opretter dit første script
- Øvelser i at skrive en scriptbaseret automatisering og eksempler på scripts
Grundlæggende oplysninger om YAML-scriptsprog
Redigeringsværktøjet til scripts anvender YAML, der er et scriptsprog, som giver dig mulighed for at angive en "linje for linje"-vejledning til de ting, du vil have, at dine enheder gør, og hvornår du vil have dem til at gøre det. Denne vejledning er skrevet i form af nøgleværdipar.
Nøgleværdipar
YAML er skrevet som en serie af nøgleværdipar:
name: TV on lights off
I dette eksempel er nøglen = name
og værdien = TV on lights off
.
Nøglen er i bund og grund søgeordet for et element, du vil bruge. Hver nøgle skal være unik, men rækkefølgen af dine nøgler har ingen betydning. Hvert nøgleværdipar starter på en ny linje.
Den værdi, der er knyttet til en nøgle, kan være i form af flere forskellige datatyper.
Datatyper
Primitiver
Den primitive datatype omfatter alle de grundlæggende datatyper, der understøttes af redigeringsværktøjet til scripts.
Primitive formularer | Typer af værdier |
---|---|
Bool |
|
Tal | Heltal eller decimaltal |
Streng |
Almindelig tekst Strengværdier kræver kun anførselstegn, hvis de begynder med |
Dato |
Måned og dag. Formatet er MM-DD eller MM/DD.
|
Tid |
Klokkeslæt kan anvendes i enten AM/PM-format eller 24-timers format. Sekunder er valgfrie. Du kan også bruge tid i forhold til solen. Du kan f.eks. bruge søgeordene
|
Dato og tid |
År, måned, dag og tid på dagen. Der skal være et mellemrum mellem Dato og Tid. Datoformatet er ÅÅÅÅ-MM-DD eller ÅÅÅÅ/MM/DD. Tidsformatet er det samme som "Tid" ovenfor. Tidszoner understøttes ikke.
|
Ugedag |
|
Varighed |
Et tidsrum.
|
Hex-farvekoder |
En 6-cifret hexadecimal kode, der repræsenterer en farve. Der er intet foranstillet #.
|
Temperatur |
Temperaturdata. Du skal altid tilføje C eller F for at betegne celsius eller fahrenheit.
|
Farvetemperatur |
Farvetemperatur i kelvin.
|
Strukturer: Indlejrede nøgleværdipar
Datatypen for strukturens er en "blok" eller datastruktur, der indeholder flere nøgleværdipar. Disse nøgleværdipar er indlejret under en enkelt overordnet nøgle, og hvert indlejringsniveau er indrykket med det samme antal mellemrum eller tabulatorer for at angive hierarkiet.
actions: device: Light B - Living room state: on
I dette eksempel er den overordnede nøgle = actions
. Værdien for actions
er 2 indlejrede nøgleværdipar:
- Par 1: Underordnet nøgle =
device
; værdi =Light B - Living room
- Par 2: Underordnet nøgle =
state
; værdi =on
Lister: Nøgler med flere værdier
Hvis du vil inkludere flere værdier med en enkelt nøgle, skal du oprette en liste med en bindestreg før hvert element på listen. En liste kan enten bruge struktur eller primitive datatypeværdier, men ikke begge dele på samme tid.
weekdays: - MONDAY - THURSDAY
I dette eksempel er nøglen = weekdays
og værdien = en liste, der indeholder Monday
og Thursday
.
Avancerede strukturer: kombinerede indlejrede par og lister
- type: time.schedule at: 10:00 am weekdays: - MONDAY - THURSDAY - type: time.schedule at: SUNSET weekdays: - MONDAY - THURSDAY
I dette eksempel er den overordnede nøgle = starters
. Denne overordnede nøgles værdi = en liste, hvor hvert listeelement indeholder flere nøgleværdipar.
Nogle typer nøgler kræver, at værdierne er i bestemte formater, mens andre nøgler arver egenskaber baseret på en enheds egenskaber. Få flere oplysninger om, hvordan specifikke aktiveringsfunktioner, betingelser og handlinger er struktureret.
YAML-sprogsyntaks
Når du skriver scriptbaserede rutiner, skal du bruge disse formateringskoncepter:
Koncept | Eksempel |
---|---|
Kolon YAML bruger et kolon |
state: on |
Indrykning Indrykning angiver struktur og hierarki og definerer indlejrede nøglepar. I eksemplet er den overordnede nøgle = |
|
Bindestreg En bindestreg efterfulgt af et mellemrum definerer et listepunkt. |
|
Kommentarer Brug pundtegnet # til at føje kommentarer eller noter til dit script. Kommentarer ignoreres af automatiseringssystemet og vil ikke påvirke din automatisering. |
# Dette er en kommentar. Den ignoreres. |
Skabelon for redigeringsværktøjet til scripts
Når du opretter en ny automatisering, giver redigeringsværktøjet til scripts dig en tom skabelon, hvor du kan skrive dit script ved hjælp af denne struktur:
metadata |
indeholder navnet på din automatisering og en beskrivelse |
automations |
definerer din automatiseringsadfærd |
starters |
definerer de triggers, der indleder din automatisering |
condition |
definerer begrænsninger for, hvornår din automatisering skal køre (valgfrit) |
actions |
definerer de handlinger, der finder sted i din automatisering |
Skabelonen er opdelt i 2 primære blokke: metadata og automatiseringer. Automatiseringer opdeles derefter yderligere i sektioner for aktiveringsfunktioner, betingelser og handlinger.
Metadata- og automatiseringsblokke
Skabelonen for redigeringsværktøjet til scripts indeholder 2 overordnede nøgler – eller blokke: metadata
og automations
.
Blokken metadata
indeholder navnet og beskrivelsen af din automatisering. Disse data bruges udelukkende til at hjælpe dig med at identificere din automatisering.
metadata: name: TV time description: When TV is on, turn on lights
Blokken automations
er kernen i dit automatiseringsscript. Her definerer du din automatiseringsadfærd ved hjælp af aktiveringsfunktioner, betingelser og handlinger.
automations: starters: # e.g. Motion detected condition: # e.g. Between 2 times actions: # e.g. Turn on lights
Du kan få flere oplysninger om, hvordan du bruger redigeringsværktøjet til scripts, ved at besøge codelab, se eksempler på scripts eller tjekke, hvordan du formaterer de individuelle aktiveringsfunktioner, betingelser og handlinger, i Google Homes udviklercenter.
Autofuldførelse
Redigeringsværktøjet til scripts vejleder dig i, hvordan du skriver dit script, ved at give dig forslag til autofuldførelse baseret på tilgængelige aktiveringsfunktioner, betingelser og handlinger, når:
- Markøren er placeret der, hvor der er gyldige muligheder. For eksempel efter "
- type:
".- Du indtaster kode med gyldige forslag. Du kan se listen over foreslåede filtre, mens du skriver.
Du kan starte autofuldførelse manuelt ved hjælp af genvejen Ctrl + mellemrumstasten.
Tryk på Enter for at vælge et forslag på listen. Autofuldførelse udfylder yderligere felter baseret på den struktur, du vælger.
Tip! Du kan bruge autofuldførelse til at finde ud af, hvilke enhedstilstande eller -kommandoer der er tilgængelige for din enhed, og hvilke enheder der er tilgængelige for en bestemt enhedstilstand eller -kommando.
Du kan finde ud af, hvilke enhedstilstande eller -kommandoer der er tilgængelige for din enhed, ved at angive nøglen "device:
" først og derefter nøglen "type:
" når du skriver dit script. Funktionen til autofuldførelse viser en liste over tilstande eller kommandoer, der er tilgængelige for den pågældende enhed.
Eksempel
starters: - device: LED lights - Living Room - type:
Hvis du vil finde ud af, hvilke enheder der er tilgængelige for en bestemt enhedstilstand eller -kommando, skal du først indtaste nøglen "type:
" og derefter nøglen "device:
". Funktionen til autofuldførelse viser dig en liste over tilgængelige enheder i dit hjem, som understøtter denne tilstand eller kommando.
Eksempel
starters: - type: device.state.OnOff - device:
Aktiveringsfunktioner, betingelser og handlinger
Automatiseringer består af aktiveringsfunktioner, betingelser og handlinger for enheden. Disse komponenter definerer din automatiseringsadfærd.
Nogle aktiveringsfunktioner, betingelser og handlinger kræver en bestemt type sammenligningsnøgleværdipar som en hjælp til at fuldføre automatiseringslogikken og fortælle dit script, hvad du vil have evalueret. Værdien skal være en kompatibel datatype. Tilstanden on
for en lampe kan f.eks. enten være true
eller false
. For at starte automatiseringen, hvis lyset er tændt, skal du bruge:
state: on is: true
Nedenfor kan du se oplysninger om de forskellige aktiveringsfunktioner, betingelser og handlinger. Du kan se en komplet liste over aktiveringsfunktioner, betingelser og handlinger i Google Homes udviklercenter.
Aktiveringsfunktioner
Sektionen med aktiveringsfunktioner i dit script er det sted, hvor du angiver, hvad der aktivere kørsel af dit script. Aktiveringsfunktioner er baseret på ting, din enhed kan gøre, eller attributter, der kan ændres, herunder enhedstilstande, tid og enhedshændelser. Du kan f.eks. bruge en lyspære, der har tilstandene OnOff
, Brightness
og ColorSetting
. Hvis du vil inkludere flere aktiveringsfunktioner, skal du angive hver aktiveringsfunktion med nøglen " - type:
". Dit script skal opfylde mindst én betingelse for aktivering for at kunne køre.
Se den komplette liste over understøttede aktiveringsfunktioner.
Typer af aktiveringsfunktioner
Assistent-aktiveringsfunktioner
assistant.command
til at starte et script, når en enhed med Assistent hører en Assistent-kommando, der begynder med "Hey Google".starters: - type: assistant.command.OkGoogle eventData: query is: party time
Aktiveringsfunktioner for enhedshændelser
Brug aktiveringsfunktionen device.event
til at få dit script til at starte, når en bestemt hændelse finder sted, f.eks. når nogen ringer på din dørklokke, eller en sensor registrerer noget. Bemærk! Ikke alle hændelser kan understøttes.
starters: - type: device.event.DoorbellPress device: Doorbell - Front door
starters: - type: device.event.PersonDetection device: Camera - Backyard
Eksempel: Start din automatisering, når dit kamera registrerer bevægelse.
Bemærk!
- Kamerahændelser kræver et kompatibelt Nest-kamera, en kompatibel dørklokke eller en kompatibel skærm, og registrering af hændelser skal være konfigureret.
- Nogle kamerahændelser kan kræve et Nest Aware-abonnement eller et kamera, der er tilsluttet strømnettet. Registrering af lyd fungerer f.eks. kun på Nest Cam (udendørs eller indendørs, med batteri), når kameraet er tilsluttet med ledning.
- Du kan forhindre aktiveringsfunktioner baseret på enhedshændelser og enhedstilstande, så de ikke gentages inden for et bestemt tidsrum.
Aktiveringsfunktioner for enhedstilstande
device.state
til at få din automatisering til at starte baseret på en enheds tilstand. Tilstande er de særlige egenskaber for en enhed, f.eks. når temperaturen på din termostat når en bestemt temperatur, hvis en lampe tændes eller slukkes, eller når en understøttet sensor når en defineret grænse.
device.state
". Du kan f.eks. bruge device.state.OnOff
til at tjekke, om en enhed er tændt.device.state
, skal du begynde med 3 nøgler: type
, device
og state
efterfulgt af mindst ét sammenligningsnøgleværdipar.Nøgle | Værdi | Eksempel |
type |
Aktiveringsfunktionen for enhedstilstande, der begynder med device.state |
device.state.ArmDisarm |
device |
Navn som vist i Google Home-appen med rummets navn: Device name - Room name |
Alarm - Front Door |
state |
Aktiveringsfunktionens felt- eller tilstandsdata, som du vil tjekke Find den aktiveringsfunktion, du vil bruge, i Google Homes udviklercenter for at finde "Supported Fields" [Understøttede felter] eller "State Data" [Tilstandsdata]. |
isArmed |
Du kan bruge følgende sammenligningsnøgleværdipar med aktiveringsfunktionen device.state
Sammenligningsnøgler | Understøttede værdityper | Eksempel |
---|---|---|
is |
Streng | Tal | Bool | Dynamisk | is: on |
isNot |
Streng | Tal | Bool | Dynamisk | isNot: cast |
greaterThan |
Streng | Tal | Bool | Dynamisk | greaterThan: 1 |
lessThan lessThanOrEqualTo |
Streng | Tal | Bool | Dynamisk | lessThan: 10 |
suppressFor |
Varighed | suppressFor: 1hour |
Eksempel: Start din automatisering, hvis fjernsynets lydstyrke er mellem 1 og 10.
starters: - type: device.state.Volume device: TV - Living room state: currentVolume greaterThan: 1 lessThan: 10
Aktiveringsfunktioner for Home-tilstande
home.state
til at starte dit script baseret på, om du er hjemme eller ikke hjemme. Dette kan registreres med registrering af tilstedeværelse.starters: - type: home.state.HomePresence state: homePresenceMode is: HOME
Aktiveringsfunktioner for tid
time
til at starte din automatisering baseret på specifikke dage og tidspunkter. Du kan bruge følgende sammenligningsnøgleværdipar med aktiveringsfunktionen for tid:Sådan forhindrer du aktiveringsfunktioner
Brug sammenligningsnøglen suppressFor
til at bede din automatisering om at ignorere en aktiveringsfunktion i et stykke tid. Hvis dit kamera f.eks. registrerer en person, skal du meddele, at der er nogen ved døren, og derefter undlade at meddele dette igen i de efterfølgende 10 minutter, selvom kameraet stadig registrerer en person.
Eksempel: Når en person går igennem entréen om morgenen for første gang, skal du åbne alle mine persienner og derefter forhindre denne aktiveringsfunktion i de næste 20 timer.
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
Betingelser
and
, or
og not
for at udtrykke mere komplekse betingelsesmarkeringer.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 dette eksempel er der én tidsbetingelse og én device.state
-betingelse. Dette script kører, hvis det er mellem solnedgang og solopgang på en mandag eller tirsdag, eller hvis fjernsynets lydstyrke er mellem 1 og 10.
Du kan bruge følgende betingelsestyper:
Betingelsesoperatorer
AND-betingelsen
Når du bruger betingelsen and
, kører dit script kun, hvis alle de underordnede betingelser er opfyldt.
Eksempel: Start din automatisering, hvis fjernsynet er tændt, AND (og) klokken er over 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-betingelsen
Når du bruger betingelsen or
, kører dit script, når en af de underordnede betingelser forekommer.
Eksempel: Start din automatisering, hvis fjernsynet er tændt, OR (eller) hvis klokken er over 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-betingelsen
Når du bruger betingelsen not
, kan dit script ikke køre, hvis den underordnede betingelse forekommer.
Eksempel: Start din automatisering, hvis klokken ikke er mellem 18.00 og 20.00.
condition: type: not condition: type: time.between after: 6:00pm before: 8:00pm
Betingelser for enhedstilstand
device.state
til at begrænse, hvornår dit script kan forekomme, baseret på en enheds tilstand, når dit script starter. Device.state
-betingelserne svarer til device.state
-aktiveringsfunktionerne, bortset fra at det ikke fortæller dit script, hvornår det skal starte, men i stedet begrænser de situationer, hvor dit script kan forekomme.device.state
". Du kan f.eks. bruge device.state.OnOff
til at tjekke, om en enhed er tændt.device.state
, skal du starte med 3 nøgler: type
, device
og state
efterfulgt af mindst ét sammenligningsnøgleværdipar.Nøgle | Værdi | Eksempel |
---|---|---|
type |
Enhedens tilstandsbetingelse, der begynder med device.state |
device.state.OnOff |
device |
Navn som vist i Google Home-appen med rummets navn: Device name - Room name |
Chromecast - Living Room |
state |
Den aktiveringsfunktionstilstand, du vil tjekke Find den betingelse for enhedstilstand, du vil bruge, i Google Homes udviklercenter. |
state: on |
Tip! Du kan finde ud af, hvilke enhedstilstande der er tilgængelige for din enhed, ved først at angive nøglen "device:
" og derefter nøglen "type:
" i dit script. Autofuldførelse viser en liste over tilstande, der er tilgængelige for den pågældende enhed.
Du kan bruge følgende sammenligningsnøgleværdipar med betingelsen device.state
:
Sammenligningsnøgler | Understøttede værdityper | Eksempel |
---|---|---|
is |
Streng | Tal | Bool | Dynamisk | is: on |
isNot |
Streng | Tal | Bool | Dynamisk | isNot: cast |
greaterThan |
Streng | Tal | Bool | Dynamisk | greaterThan: 1 |
lessThan lessThanOrEqualTo |
Streng | Tal | Bool | Dynamisk | lessThan: 10 |
Eksempel: Start din automatisering, hvis din termostat registrerer en luftfugtighed over 55 %.
condition: type: device.state.TemperatureSetting device: My Thermostat - Living Room state: thermostatHumidityAmbient greaterThan: 55
Betingelser for tilstanden Hjemme
home.state.HomePresence
til at begrænse, hvornår dit script kan forekomme, baseret på om der er nogen hjemme eller ej.home.state.HomePresence
, skal du sørge for, at du konfigurerer registrering af tilstedeværelse i Google Home-appen, og at registrering af tilstedeværelse fungerer som forventet. Tilstedeværelsen i hjemmet kan fastslås ud fra lokationen af husstandens telefoner, sensorerne i nogle Nest-enheder eller ved manuelt at skifte mellem Hjemme og Ikke hjemme i Google Home-appen.Få flere oplysninger om registrering af tilstedeværelse og rutinerne Hjemme og Ikke hjemme:
home.state.HomePresence
:Sammenligningsnøgler | Understøttede værdityper | Eksempel |
---|---|---|
is |
Streng ("HJEMME" eller "IKKE HJEMME") | is: away |
isNot |
Streng ("HJEMME" eller "IKKE HJEMME") | isNot: HOME |
for |
Varighed | for: 30min |
suppressFor |
Varighed | suppressFor: 1hour |
Eksempel: Betingelsen home.state.HomePresence
starter automatiseringen, hvis din tilstedeværelse er angivet til HOME (hjemme).
condition: type: home.state.HomePresence state: homePresenceMode is: HOME
Betingelser for tid
time.between
for at begrænse, hvornår dit script kan forekomme. Du kan bruge følgende sammenligningsnøgleværdipar med betingelsen time.between
:Handlinger
I sektionen med handlinger i dit script kan du angive, hvad du vil have dine enheder til at gøre. Hvis du vil inkludere flere handlinger, skal du angive hver handling begyndende med nøglen "- type:
". Dit script skal have mindst én handling, før det kan køres. De fleste handlinger begynder med device.command
.
Du kan bruge følgende handlingstyper:
Assistent-handlinger
Brug handlingen assistant.command
med dine højttalere eller skærme for at få Assistent til at udføre handlinger som f.eks. "Sluk alt lyset" eller "Giv mig vejrudsigten".
Du kan bruge Assistent-kommandoer til at styre enheder efter rum eller for hele dit hjem uden at bruge specifikke enhedsnavne. På den måde kan du spare tid ved, at denne kommando automatisk kan bruges på enheder, der føjes til Home-appen efterfølgende. Assistent-kommandoer kræver en kompatibel højttaler eller skærm for at køre handlingen.
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-handlinger giver dig også mulighed for at udføre tilpassede handlinger som f.eks.:
- "Afspil Hello af Adele via YouTube Music på højttaleren i soveværelset."
- "Afspil sjove kattevideoer fra YouTube på skærmen i stuen."
- "Hvordan bliver vejret i morgen?"
- "Fortæl en vittighed."
- "Vis mig kameraet i indkørslen på skærmen på hjemmekontoret."
Enhedshandlinger
device.command
til at styre eller justere en enhed. Hver handlingskommando har sit eget sæt egenskaber og struktur. Du kan føje kommandoer til dit script ved at tilføje kommandohandlingen for en enhed efter "device.command
". Du kan f.eks. bruge device.command.OnOff
til at tænde en enhed. Handlingen device.command
skal indeholde følgende oplysninger:Nøgle | Værdi | Eksempel |
---|---|---|
type |
Enhedshandlingen, der begynder med device.command |
device.command.OpenClose |
devices |
Navnet på enheden som vist i Google Home-appen med navn på rum: Enhedsnavn – Navn på rum. Hvis du vil medtage flere enheder, skal du oprette en liste. | Blinds - Bedroom |
Tip! Du kan finde ud af, hvilke handlinger eller kommandoer der er tilgængelige på din enhed ved først at indtaste nøglen "device:" og derefter nøglen "type:". Autofuldførelse viser derefter en liste over tilgængelige handlinger for den pågældende enhed.
Mange device.command
-handlinger har yderligere nøgler, der angiver det påkrævede input for kommandoen. device.command.ThermostatTemperatureSetpoint
kræver f.eks. nøgleværdiparret thermostatTemperatureSetpoint
for at fortælle termostaten, hvilken ny temperatur du vil have den indstillet til.
Du kan få flere oplysninger om, hvordan du bruger kommandoer, ved at tjekke den relaterede handling i Google Homes udviklercenter og følge strukturen for den handling, du vil bruge.
Eksempel: Tænd fjernsynet i din stue.
actions: type: device.command.OnOff devices: TV - Living room on: true
Eksempel: Tænd en lampe, og sluk den efter 5 minutter.
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
Notifikationshandlinger
Brug handlingen home.command.Notification
til at få dit script til at sende notifikationer til mobilenhederne tilhørende medlemmerne af hjemmet. Du kan f.eks. få notifikationer, når apparater, der er forbundet til smartstik, slukker eller går 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
Tidshandlinger
time.delay
til at få dit script til at vente i et defineret tidsrum mellem 2 handlinger på din liste i stedet for at udføre alle handlinger på én gang. Du kan føje flere forsinkelser til dit script. Du kan f.eks. få dit script til at vente 10 sekunder mellem hver handling.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
Ressourcer
Øv dig i at skrive et script
Kom godt i gang ved at oprette en meget enkel, men populær automatisering: "Sluk lyset, når fjernsynet tændes."
- Åbn home.google.com/automations, og log ind på din konto.
- Klik på Tilføj ny
.
- Udfyld metadataoplysningerne. I dette script er name =
TV on lights off
og description =Turn off lights when TV turns on.
Sørg for at formatere dit script korrekt.metadata: name: TV on lights off description: Turn off lights when TV turns on.
- Hvis du vil tilføje aktiveringsfunktioner, skal du oprette en ny linje, indrykke den med 2 mellemrum eller trykke på Tab-tasten én gang og angive "
starters:
". På den næste linje skal du derefter lave en indrykning igen og angive "- type:
".Tip!- Du kan oprette en ny linje ved at trykke på Shift
Enter.
- Hvis du vil inkludere flere aktiveringsfunktioner, skal hver aktivering begynde med en bindestreg og et mellemrum.
- Du kan oprette en ny linje ved at trykke på Shift
metadata: name: TV on lights off description: Turn off lights when TV turns on automations: starters: - type:Bemærk! Redigeringsværktøjet til scripts hjælper dig med strukturen ved at give forslag til autofuldførelse baseret på tilgængelige aktiveringsfunktioner. Du kan vælge mellem forslagene ved at bruge piletasterne på dit tastatur til at markere et forslag og derefter trykke på Enter for at indsætte det.
- Tilføj aktiveringsfunktionen
device.state
. Husk, at du skal bruge 3 nøgler:type
,device
ogstate
for at anvende aktiveringsfunktionen device.state efterfulgt af mindst ét sammenligningsnøgleværdipar. Redigeringsværktøjet til scripts hjælper dig med strukturen ved at give forslag til autofuldførelse baseret på tilgængelige aktiveringsfunktioner, betingelser og handlinger. I dette script:- Type =
device.state.OnOff
. Dette er enhedens tilstand, som vil blive evalueret for at starte vores automatisering. - Device =
Chromecast - Living Room
. Dette er navnet på vores enhed, sådan som det vises i Google Home-appen. - State =
on
. On er det understøttede felt for State-data for enhedens OnOff-tilstand. - Sammenligningsnøgleværdipar =
is: true
. Værdien for denne sammenligningsnøgle er en primitiv datatype. Scriptet kører, hvis fjernsynet er tændt.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
Til sammenligning kan vi se på et lignende script med en anden aktiveringsfunktion. I scriptet nedenfor starter automatiseringen, når lydstyrken er mellem 1 og 10, i stedet for når fjernsynet tændes. For at foretage denne ændring har vi erstattet tilstanden
OnOff
medVolume
og ændret tilstanden tilcurrentVolume
, så den matcher den nye attribut. Vi har også ændret sammenligningsnøgleværdiparrene til 2 indlejrede par, der opretter et interval:greaterThan: 1
oglessThan: 10
. Du kan se flere eksempler på denne komplette liste over aktiveringsfunktioner, som du kan bruge.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 =
- Klik på Gem for at gemme dit script når som helst. Når du gemmer et script, validerer redigeringsværktøjet til scripts automatisk dit script og tjekker, om der er fejl. Et ugyldigt script kan ikke køre.
- Føj nu en handling til dit script. Hvis du vil tilføje handlinger, skal du oprette en ny linje, indrykke den med 2 mellemrum eller trykke på Tab-tasten én gang og angive "
actions:
". På den næste linje skal du derefter lave en indrykning igen og angive "- type
".Tip!- Du kan oprette en ny linje ved at trykke på Shift
Enter.
- Hvis du vil inkludere yderligere handlinger, skal hver handling starte med en bindestreg og et mellemrum.
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:
- Du kan oprette en ny linje ved at trykke på Shift
- Vi bruger handlingen
device.command
til at slukke vores lys. Hvis du vil bruge handlingen device.command, medtager vi følgende oplysninger:- Type =
device.command.OnOff
. Dette er navnet på kommandoen eller handlingen.Bemærk! Kommandoer kan have flere kommandoer indlejret under dine enheder, og hver kommando har sin egen tilstand. - Devices = En liste, der indeholder
Floor Lamp - Living Room
ogOverhead Light - Living Room
. Disse er navnene på vores lamper, sådan som de vises i Google Home-appen. Vi har angivet hver enhed på separate linjer, hvor hver begynder med en bindestreg, for at inkludere flere lamper. - Kommandoens tilsigtede tilstand =
on: false
. Denne linje beder vores lamper om at slukke.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 =
- Klik på Gem for at gemme dit script. Hvis der ikke er nogen fejl, aktiveres dit script automatisk: Når dit fjernsyn tændes, slukkes lyset. Hvis du ikke er klar til at køre dit script endnu, kan du sætte dit script på pause ved at slå Aktivér fra.
Hvis du vil øve dig mere, kan du prøve at ændre nogle af dine scripts, så de bruger andreaktiveringsfunktioner, datatyper, flere handlinger eller en ekstrabetingelse som f.eks. time-between
. Du kan også tjekke eksempler på scripts og codelab for at få flere oplysninger. Du kan få flere oplysninger om aktiveringsfunktioner, handlinger og betingelser i Google Homes udviklercenter.
Hjælp til scriptbaserede automatiseringer
- Få hjælp til scripts, og find ud af, hvad andre arbejder på, i Google-fællesskabet for hjemmestyring.
- Scripts skal anvende gyldig kode, før automatiseringer kan fungere. Hvis der er en fejl, vises der en meddelelse. Få flere oplysninger om fejl og advarsler i redigeringsværktøjet til scripts.
- Du kan validere din kode ved at klikke eller trykke på Valider i redigeringsværktøjet til scripts eller prøve at gemme dit script. Her er nogle almindelige fejl:
- Sørg for, at du bruger det korrekte enhedsnavn med formatet Navn på enhed – Navn på rum. Hvis du er i tvivl, kan du tjekke navnet på din enhed i Google Home-appen.
- Sørg for, at din enhed understøtter den funktion, du vil have den til at udføre. Du kan også bruge autofuldførelse til at finde tilgængelige valgmuligheder.
- Sørg for at inkludere en handling. Handlinger er påkrævet, for at en automatisering kan køre.
- Hvis scriptet gemmes, men automatiseringen ikke fungerer som forventet, skal du manuelt tjekke, at hver komponent i dit script fungerer. Hvis du f.eks. har skrevet et script, der skal tænde lyset og justere lysstyrken ved solnedgang, kan du prøve at fuldføre disse opgaver med en Assistent-kommando for at tjekke, at de enkelte funktioner fungerer. Du kan også tjekke, at:
- Din enhed er tilføjet eller tilknyttet i Google Home-appen.
- Din enhed har forbindelse og er online.
- Enhedsnavnet, aktiveringsfunktioner, betingelser og handlinger er skrevet korrekt.
Bemærk! Producenter kan ændre enhedskarakteristika, når de foretager opdateringer, og dette kan medføre, at scripts holder op med at fungere. Du kan bruge autofuldførelse til at opdatere de berørte scripts. - Dit script har korrekt indrykning og formatering.
- Med Google Home til nettet kan du også få adgang til automatiseringslogs
under dit script, så du kan se din historik for automatiseringer og identificere potentielle problemer. Få flere oplysninger om de typer meddelelser, du ser i automatiseringloggerne.
- Prøv at bruge den eksperimentelle funktion med generativ AI i redigeringsværktøjet til scripts til at beskrive den automatisering, du vil have. Funktionen opretter et udkast til et script, som du kan gennemgå og redigere.
- Få flere grundlæggende oplysninger om rutiner og om, hvordan du finder og løser problemer med dem.
- Få flere oplysninger om oprettelse og redigering af scriptbaserede automatiseringer.