Google Home is in veel Nederlandse en Belgische huishoudens terug te vinden. Het platform wordt standaard meegeleverd op Android-telefoons en laat zich integreren met nagenoeg alle hardware die Google, soms onder het Nest-label, levert. Ook wordt het platform ondersteund door veel smarthomeapparatuur.
Voor de doorgewinterde smarthomefan zijn de mogelijkheden wat beperkt, vooral op het gebied van automatisering. Vorige maand introduceerde Google een update voor het Google Home-platform die hierin verbetering moet brengen. Met de nieuwe scripteditor zijn gebruikers niet langer gebonden aan de app om automatiseringen te maken, maar kunnen ze deze ook in yaml-scripts schrijven. De scripteditor moet gebruikers ook meer opties geven op het vlak van triggers, een gebied waarop de mogelijkheden bij Google Home tot nu beperkt waren. Met de automatiseringseditor in de app kun je bijvoorbeeld een routine activeren op de thermostaat, maar dan enkel op de status (verwarmen/koelen/stand-by) en niet op statistieken zoals de gemeten temperatuur. Reageren op bewegingssensors en raam-/deurcontacten is er niet bij.
Die beperkte mogelijkheden lijken grotendeels voorbij met de introductie van de scripted automatiseringen in Google Home. In dit artikel kijken we wat de nieuwe scripttool toevoegt en of Google Home hiermee een stap zet waarmee echte smarthometweakers dit platform serieuzer kunnen nemen.
De werking
Om toegang te krijgen tot de nieuwe scripteditor, moet je je aanmelden voor de ‘Openbare preview’ van Google Home. Dit kun je doen via de instellingen in de Google Home-smartphoneapp, waarna je toegang krijgt tot nieuwe functies, waaronder dus de scripteditor. Omdat gescripte automatiseringen zich nog in het previewstadium bevinden, merkt Google op dat sommige functionaliteit in die scripts nog kan veranderen. Het kan dus zijn dat de scripts die je nu maakt, in de nabije toekomst ‘stukgaan' als Google iets verandert aan de werking van de componenten die je gebruikt.
Het is misschien even zoeken naar de scripteditor als je hem voor het eerst wilt gebruiken. Op dit moment is het nog niet mogelijk om een gescripte automatisering te maken vanaf een smartphone. Je zult dit in de browser moeten doen via https://home.google.com/automations. In mijn ogen werkt dit het best op een laptop of computer; het is toch altijd fijner tikken op een echt toetsenbord. Als je eenmaal je eerste gescripte automatisering hebt gemaakt, staat die ook in de smartphoneapplicatie en kun je die bewerken.
De gescripte automatiseringen zijn niet hetzelfde als de al langer bestaande routines. Zoals al uitgelegd zijn de triggers, of starters zoals Google ze noemt, niet heel uitgebreid. In het automatiseringengedeelte van de Google Home-app blijven ze een aparte categorie en je kunt je bestaande routines niet omzetten in een script of bewerken in de scripteditor; routines en gescripte automatiseringen zijn twee losstaande zaken.
Google heeft ervoor gekozen om de gescripte automatiseringen vorm te geven met yaml. Dat is geen tikfout, maar een taal om dataobjecten in te definiëren. Dat klinkt ingewikkeld, maar gelukkig zijn de grammaticaregels van yaml vrij eenvoudig en is een yaml-bestand makkelijk te interpreteren, omdat er weinig gebruik wordt gemaakt van allerlei leestekens in de opmaak. Als je nog niet bekend bent met dit tekstformaat, is het wel handig om je even in te lezen in de basisregels voordat je de handen uit de mouwen steekt. Overbodige spaties of liggende streepjes zijn al gauw een valkuil en de scripteditor helpt hier niet altijd bij.
Gescripte automatiseringen van Google Home werken volgens een vast stramien. Een automatisering wordt getriggerd door starters. Op dat moment kun je een controle uitvoeren of aan een aantal condities, of conditions, wordt voldaan. Als dat het geval is, kun je het script acties, of actions, laten uitvoeren. Van elk van deze starters, conditions en actions kun je er verschillende tegelijk toevoegen in een automatisering.
De desktopeditor die je via de browser kunt bereiken, werkt prettig en helpt met suggesties om je code aan te vullen waar dat mogelijk is. Zodra je bijvoorbeeld een starter of conditie definieert, krijg je een lijstje met alle mogelijkheden dat automatisch wordt gefilterd en verfijnd naarmate je meer letters tikt. Ik heb gemerkt dat deze lijst niet in alle gevallen compleet is, maar in de documentatie zijn alle mogelijkheden te vinden.
Niet helemaal af
Zoals eerder genoemd zijn gescripte automatiseringen en de editor hiervoor nog in het previewstadium. Dat betekent dat nog niet alle functies die zijn aangekondigd, al beschikbaar zijn. Op dit moment zijn er een stuk of honderd starters, condities en acties geïmplementeerd, en worden nog niet alle fabrikanten, apparaattypen en eigenschappen daarvan ondersteund. Om een voorbeeld te geven: op het moment van schrijven werd slechts één bewegingssensor, van Philips Hue, ondersteund volgens de documentatie. Nu is de ondersteuning voor dat apparaattype net nieuw op het platform, dus misschien loopt de documentatie hier nog een beetje achter op de werkelijkheid.
Deur- en raamsensor
Een apparaat waarmee we wel hebben kunnen testen, is de Aqara Door and Window Sensor P2, die werkt met het Thread-radioprotocol. We hebben hem aangesloten op een Google Nest Hub 2 die met zijn wifiaansluiting en Thread-radio als border router functioneert. De reactiesnelheid van deze opstelling viel erg tegen. Het duurde enkele seconden voordat de status van de sensor werd bijgewerkt in de Google Home-interface. Ook gescripte automatiseringen die deze sensor als starter gebruiken, worden daardoor erg laat uitgevoerd. Als je deze opstelling gebruikt om je licht te schakelen, ben je al halverwege de ruimte voordat het licht aanspringt. Dat kan komen doordat alle handelingen via de cloud van Google verlopen zoals bij dit platform (tot nu toe) gebruikelijk is. Toch heb ik snellere prestaties gezien van de cloud van Google Home, bijvoorbeeld bij het bedienen van schakelaars en lampen vanuit de smartphoneapp. Google heeft de intentie om gescripte automatiseringen lokaal te gaan draaien, wat wellicht iets kan schelen in de reactietijd.
Deurbelscript
Ook andere experimenten met het platform, onder andere om een interessant script in dit artikel te laten zien, liepen nogal spaak op diverse beperkingen. Mijn bewegingssensors worden niet ondersteund, dus automatiseringen met deze starter waren geen optie. Ook de buitentemperatuur die door de Google Home-app en hubs wordt weergegeven, kun je niet ophalen in een script. Daarmee viel het idee ‘omroepsysteem om te ventileren’ in duigen. Uiteindelijk kwam ik uit op een, misschien wat saaie, toevoeging aan mijn huidige deurbelautomatisering. Op dit moment gebruik ik Home Assistant om een deurbelgeluid te casten naar alle speakers in het huis, maar snel en zonder gehakkel verloopt dit in de praktijk vrijwel nooit. Tijd om deze functie door Google Home zelf af te laten handelen. Het script waar ik op uitkwam, is het volgende:
Voorbeeldscript
metadata: name: Deurbelmelding description: Wordt bediend vanuit Home Assistant automations: starters: - type: device.state.OnOff state: on is: true device: DeurbelGoogleHome - Hal condition: type: home.state.HomePresence state: homePresenceMode is: HOME actions: - type: device.command.SetVolume volumeLevel: 100 devices: - Hal - Hal - Slaapkamer-Hub - Slaapkamer - Studio klok - Studio - Woonkamer-Hub - Woonkamer - type: assistant.command.Broadcast message: Er staat iemand voor de deur. devices: - Hal - Hal - Slaapkamer-Hub - Slaapkamer - Studio klok - Studio - Woonkamer-Hub - Woonkamer - type: device.command.SetVolume volumeLevel: 75 devices: - Hal - Hal - Woonkamer-Hub - Woonkamer - type: device.command.SetVolume volumeLevel: 25 devices: - Slaapkamer-Hub - Slaapkamer - Studio klok - Studio
Het script begint met wat metadata waarmee je de automatisering een naam en omschrijving geeft. Hiermee kun je de automatisering later terugvinden in het overzicht. Vervolgens definieer je een starter, een conditie en een actie. De starter is in dit geval een deurbelschakelaar die ingeschakeld wordt. Dit regelt Home Assistant zodra de deurbel geactiveerd wordt. De conditie die ik opgeef, is aanwezigheid. Als ik niet thuis ben, heeft uitvoeren van de automatisering weinig nut.
De acties die worden uitgevoerd, zijn het volume van de speakers verhogen, omroepen dat er iemand voor de deur staat en de speakers weer op een volume instellen dat voor die ruimte normaal gesproken voldoende is.
Eigenlijk is in dit geval het grootste voordeel voor mij dat de omroepmeldingen die ik normaal via text-to-speech genereer, nu vanuit Home Assistant de stem van de Google Assistent krijgen. Verder werkt deze manier van triggeren in mijn situatie sneller dan het casten van het deurbelgeluid. Om de eerste reden zal ik de scripteditor de komende tijd nog vaker aanslingeren om meer eenheid in de gesproken mededelingen te krijgen.
Conclusie
Met gescripte automatiseringen wordt er nu wat meer mogelijk met het Google Home-platform, maar van een revolutie is nog geen sprake. De uitbreiding van het aantal starters en voorwaarden in de previewversie met een stuk of honderd is leuk, maar er ontbreekt nog ondersteuning voor veel sensors. Daardoor is het nog steeds lastig om Google Home aan het hoofd van een uitgebreide huisautomatisering te zetten; daarvoor is het in zijn huidige vorm nog te beperkt.
Een nadeel van het Google Home-systeem dat niet wordt weggenomen met de scripteditor, is de cloudafhankelijkheid van het systeem. Als de internetverbinding wegvalt, werken je automatiseringen niet meer. Mocht je je huisautomatisering willen baseren op Google Home, dan is een stabiele internetverbinding dus vrij essentieel. Daarnaast is er natuurlijk een risico dat deze tool, en daarmee al je automatiseringen, verdwijnen op het kerkhof van gestopte Google-producten.
Is het dan allemaal kommer en kwel? Dat valt mee. Het mag duidelijk zijn dat Google Home naar mijn mening niet het ideale middelpunt is van je huisautomatisering, maar ik ben (gelukkig) niet de maat der dingen. Als je ongemerkt toch best veel smarthomegadgets hebt verzameld, maar niet van plan bent te investeren in een centraal platform, biedt Google een 'gratis' platform met nu nog meer mogelijkheden om te automatiseren. Heb je een Eufy-(deurbel)camera in je tuin en slimme tuinverlichting? Dan kun je nu een automatisering bouwen die de tuinverlichting feller zet als de camera beweging detecteert. Dat betekent wel dat je je minimale kennis van de yaml-syntax meester moet maken. Je kunt je afvragen hoeveel mensen daartoe bereid zijn.
Lezers die hun keuze al op een ander smarthomeplatform hebben laten vallen, maar wel over wat Google Home-apparatuur beschikken, zullen herkennen dat de koppelingen tussen externe platforms en Google Home niet altijd even uitgebreid zijn. Gescripte automatiseringen bieden een mooie uitbreiding om apparatuur te bedienen en eigenschappen te gebruiken die zich tot nu toe exclusief in het Google Home-universum bevonden. Dat kan nog wat kunstgrepen vereisen zolang bepaalde apparaattypen en starters nog ontbreken. Het is te hopen dat de starters en condities nog stevig worden uitgebreid voor meer speelplezier.
Op dat laatste krijg je geen garantie. We kennen Google inmiddels al een tijdje en niemand zal verrast zijn als deze functie te zijner tijd op het zerkenveld belandt. Lezers die al langer Google Home-apparatuur gebruiken, zullen ook herkennen dat sommige functies half afgemaakt blijven of al tijden aangekondigd zijn, maar nooit uitkomen. Met name de ontwikkeling voor de Nederlandse taal blijft achter en werkt in sommige gevallen op dit moment slechter dan bij de introductie van het platform enige jaren terug. In die zin is het mooi dat er duidelijk nog leven in het Google Home-platform zit en er serieus aan de weg getimmerd lijkt te worden.