Skriv scriptbaserede automatiseringer med redigeringsværktøjet til scripts

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: Gå til codelab
Vigtigt! Alle medlemmer af husstanden kan tjekke, hvornår disse rutiner kører. Rutiner er kun beregnet til at gøre hverdagen nemmere og bør ikke bruges i forbindelse med nødsituationer eller sikkerhed. Opret ikke rutiner, der kan resultere i personskade eller anden skade, hvis de ikke starter eller stopper. Rutiner kan være afhængige af fungerende internet og Wi-Fi samt tilgængeligheden af tjenester fra både Google og de tredjeparter, som laver de enheder, der er omfattet af rutiner. Rutiner fungerer muligvis ikke altid, og Google er ikke ansvarlig for skader eller tab, der opstår som resultat af, at en rutine ikke fungerer.

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
  • true
  • false
Tal Heltal eller decimaltal
Streng

Almindelig tekst

Strengværdier kræver kun anførselstegn, hvis de begynder med [, {, ", ' eller #, eller hvis strengen indeholder et kolon efterfulgt af et eller to mellemrum. Anførselstegn skal matche. Brug f.eks. " " eller ‘ ‘, ikke " ‘.

Dato

Måned og dag. Formatet er MM-DD eller MM/DD.

  • 09/01
  • 09-01
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 sunrise og sunset efterfulgt af en varighed.

  • 12:30 am
  • 13:00:01
  • sunrise / sunset
  • sunset+30min / sunset-1hour
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.

  • 2022/01/01 14:00
  • 2022-12-31 sunrise+30min
Ugedag
  • MON eller MONDAY
  • TUE eller TUESDAY
  • WED eller WEDNESDAY
  • THU eller THURSDAY
  • FRI eller FRIDAY
  • SAT eller SATURDAY
  • SUN eller SUNDAY
Varighed

Et tidsrum.

  • 30min
  • 1hour
  • 20sec
  • 1hour10min20sec

Hex-farvekoder

En 6-cifret hexadecimal kode, der repræsenterer en farve. Der er intet foranstillet #.

  • FFFFFF
  • B5D2A1
  • DFA100
Temperatur

Temperaturdata. Du skal altid tilføje C eller F for at betegne celsius eller fahrenheit.

  • 20.5C
  • 90F
Farvetemperatur

Farvetemperatur i kelvin.

  • 5000K

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

Hvis der er tale om mere komplekse automatiseringer, kan værdien være en liste med flere indlejrede nøgleværdipar.
starters:
- 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 : efterfulgt af et mellemrum til at adskille en nøgle fra dens værdi.

state: on

Indrykning

Indrykning angiver struktur og hierarki og definerer indlejrede nøglepar.

I eksemplet er den overordnede nøgle = metadata. Nøglerne name og description er underordnede nøgler, der er indlejret under de overordnede nøglemetadata. De indlejrede nøgler er indrykket med 2 mellemrum eller 1 tabulator for at angive deres hierarki.

metadata:
  name: TV on lights off
  description: Turn off lights when TV turns on

Bindestreg

En bindestreg efterfulgt af et mellemrum definerer et listepunkt.
weekdays:
- MONDAY
- THURSDAY

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

Brug aktiveringsfunktionen assistant.command til at starte et script, når en enhed med Assistent hører en Assistent-kommando, der begynder med "Hey Google".
Bemærk! Hvis en automatisering aktiveres af en stemmekommando, og der er en Assistent-handling i scriptet, udføres Assistent-handlingen på den enhed, der hører stemmekommandoen, også selvom der er angivet en anden enhed i dit script.
Eksempel: Aktivér din automatisering, når nogen siger "Hey Google, party time".
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.

Eksempel: Start din automatisering, når nogen ringer på dørklokken.
starters:
- type: device.event.DoorbellPress
  device: Doorbell - Front door
Eksempel: Start din automatisering, når dit kamera registrerer en person.
starters:
- type: device.event.PersonDetection
  device: Camera - Backyard 

Eksempel: Start din automatisering, når dit kamera registrerer bevægelse.

starters:
- type: device.event.MotionDetection
device: Camera - Backyard

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

Brug aktiveringsfunktionen 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.
Bemærk! Du kan forhindre aktiveringsfunktioner baseret på enhedshændelser og enhedstilstande, så de ikke aktiveres igen inden for et bestemt tidsrum.
Tilføj tilstanden for en aktiveringsfunktion for enhedstilstande efter "device.state". Du kan f.eks. bruge device.state.OnOff til at tjekke, om en enhed er tændt.
Hvis du vil bruge aktiveringsfunktionen 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
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 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
greaterThanOrEqualTo
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

Brug aktiveringsfunktionen home.state til at starte dit script baseret på, om du er hjemme eller ikke hjemme. Dette kan registreres med registrering af tilstedeværelse.
Eksempel: Start din automatisering, når du er hjemme.
starters:
- type: home.state.HomePresence
  state: homePresenceMode
  is: HOME

Aktiveringsfunktioner for tid

Brug aktiveringsfunktionen time til at starte din automatisering baseret på specifikke dage og tidspunkter. Du kan bruge følgende sammenligningsnøgleværdipar med aktiveringsfunktionen for tid:
Sammenligningsnøgler Understøttede værdityper Eksempel
before Tid before: sunset
after Tid after: 7:00 am
weekdays Ugedag weekdays: MON

Eksempel: Start din automatisering på mandage og tirsdage 30 minutter efter solopgang.

starters:
- type: time.schedule
  at: sunrise+30min
  weekdays:
  - MON
  - TUE

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

Betingelser er valgfrie begrænsninger for, hvornår dine automatiseringer skal køre. Hvis du inkluderer betingelser, kører dit script kun, hvis betingelserne er opfyldt. Mange aktiveringsfunktioner kan også bruges som betingelser, og de kan kombineres med de logiske operatorer 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

Brug betingelsen 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.
Tilføj tilstanden for en enheds tilstandsbetingelse efter "device.state". Du kan f.eks. bruge device.state.OnOff til at tjekke, om en enhed er tændt.
Hvis du vil bruge betingelsen 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
greaterThanOrEqualTo
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

Brug betingelsen home.state.HomePresence til at begrænse, hvornår dit script kan forekomme, baseret på om der er nogen hjemme eller ej.
Bemærk! Inden du opretter et script, der bruger betingelsen 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:

Du kan bruge følgende sammenligningsnøgleværdipar med betingelsen 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

Brug betingelsen time.between for at begrænse, hvornår dit script kan forekomme. Du kan bruge følgende sammenligningsnøgleværdipar med betingelsen time.between:
Sammenligningsnøgler Understøttede værdityper Eksempel
before Tid before: sunset
after Tid after: 7:00 am
weekdays Ugedag weekdays: MON

Eksempel: Start kun din automatisering i weekender inden kl. 10.00.

condition:
  type: time.between
  before: 10am
  weekdays:
  - SAT
  - SUN

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.

Bemærk! Hvis en automatisering aktiveres af en stemmekommando, og der er en Assistent-handling i scriptet, udføres Assistent-handlingen på den enhed, der hører stemmekommandoen, også selvom der er angivet en anden enhed i dit script.
Eksempel: Brug "Tænd lyset i stuen" til at tænde alle lys i stuen.
actions:
- type: assistant.command.OkGoogle
  okGoogle: Turn on living room lights
  devices: My Speaker - Room Name 
Eksempel: Brug "Sluk alle lys" til at slukke alle de lys, der er konfigureret i dit hjem.
actions:
- type: assistant.command.OkGoogle
  okGoogle: Turn off all lights
  devices: My Speaker - Room Name 
Eksempel: Du kan få dine højttalere eller skærme til at udsende en meddelelse.
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."
Bemærk! Assistent-handlinger, der kræver, at Voice Match eller personlige resultater er aktiveret, fungerer ikke sammen med automatiseringer, der er oprettet med redigeringsværktøjet til scripts.

Enhedshandlinger

Brug handlingen 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

Brug handlingen 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.
Eksempel: Tænd lyset, og sluk det efter 30 sekunders forsinkelse.
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."

Bemærk! Hvis du ikke har en streamingenhed, smartlys eller tilsvarende enheder, kan du stadig følge vejledningen for at lære om scriptprocessen, men dit script vil ikke kunne køre, når du er færdig.
  1. Åbn home.google.com/automations, og log ind på din konto.
  2. Klik på Tilføj ny .
  3. 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.
  4. 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.
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.
  1. Tilføj aktiveringsfunktionen device.state. Husk, at du skal bruge 3 nøgler: type, device og state 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 med Volume og ændret tilstanden til currentVolume, så den matcher den nye attribut. Vi har også ændret sammenligningsnøgleværdiparrene til 2 indlejrede par, der opretter et interval: greaterThan: 1 og lessThan: 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
  2. 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.
  3. 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:
  4. 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 og Overhead 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
  5. 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.

Var disse oplysninger nyttige?

Hvordan kan vi forbedre siden?
Søgning
Ryd søgning
Luk søgning
Hovedmenu
14194680148634538740
true
Søg i Hjælp
true
true
true
true
true
1633396
false
false
false
false