back to top
vrijdag, 23 januari, 2026
HomeTutorialsAls-Dit-Dan-Dat voor gevorderden: SmartThings Routines die écht met je meedenken

Als-Dit-Dan-Dat voor gevorderden: SmartThings Routines die écht met je meedenken

"Als beweging, dan licht aan" is leuk voor beginners. De echte expert wil meer. Wij duiken onder de motorkap en leren je het verschil tussen een Trigger en een Voorwaarde.

Iedereen kan een lamp aanzetten met een app. Dat is geen kunst. De kunst is Automatisering. En dan bedoelen we niet een simpele timer, maar systemen die variabelen, statussen en voorwaarden met elkaar vergelijken voordat ze actie ondernemen.

Samsung SmartThings is uniek in de smart home wereld. Aan de oppervlakte is het een gebruiksvriendelijke app. Maar daaronder draait een krachtige motor: de Rules API. Wat jij in de app bij elkaar klikt (“Als dit, dan dat”), wordt op de achtergrond omgezet in complexe JSON-code.

Als je begrijpt hoe die code ‘denkt’, kun je dingen bouwen die in Google Home of Apple Woning onmogelijk zijn. In dit enorme artikel leggen we de volledige architectuur uit: van de simpele Scene tot de complexe JSON-regelstructuur.

1. De Hiërarchie: Scenes, Routines en Rules

Om SmartThings te meesteren, moet je eerst de drie smaken van automatisering begrijpen. Ze lijken op elkaar, maar doen iets totaal anders.

A. Scenes (Scènes): De “Gedragsfilters”

In de SmartThings-documentatie worden Scenes omschreven als behavior filters (gedragsfilters) voor je huis. Een Scene is geen actie op zich; het is een staat van zijn. Je gebruikt ze om in één klap een groep apparaten goed te zetten.

  • Hoe het werkt: Scenes hebben geen triggers. Ze doen niets totdat jij (of een routine) ze activeert.
  • Het concept: Je verandert hoe je huis reageert op basis van de Scene.
    • Voorbeeld: Neem één bewegingssensor in de gang.
    • Staat je huis in Home Mode (Scene)? Dan zet de sensor de lamp aan.
    • Staat je huis in Away Mode (Scene)? Dan stuurt diezelfde sensor je een SMS en gaat het alarm af.
    • Staat je huis in Night Mode (Scene)? Dan gaat de lamp aan op 10% sterkte.

B. Routines (In de App)

Dit zijn de automatiseringen die je in de app bouwt via het tabblad ‘Routines’. Ze zijn verdeeld in twee soorten:

  1. Automatic Routines: Dit is de klassieke “Als-Dit-Dan-Dat”. Ze werken op basis van triggers (Tijd, Beweging, Locatie). In de code op de achtergrond zijn dit “Rules”.
  2. Manually Run Routines: Dit zijn routines die je met de hand start (een knop in de app, een widget of via spraak). Ze hebben geen “Als” (If) nodig, alleen een “Dan” (Then).

C. Rules (De API)

Dit is wat er onder de motorkap draait. Een “Rule” gebruikt de Rules API om apparaten en services te controleren. Alles wat jij in de app instelt als ‘Automatic Routine’, wordt door de server vertaald naar een Rule in JSON-formaat.


2. De Anatomie van een ‘Rule’ (JSON Code)

Voor de experts: hoe ziet zo’n regel eruit in de hersenen van SmartThings? Een Rule is opgebouwd uit een boomstructuur (tree) van logica.

Een Rule in JSON-formaat bevat altijd een lijst met Actions.

  • Action: De taak die uitgevoerd wordt (bijv. een if statement).
  • Condition: De evaluatie binnenin de actie (bijv. equals of lessThan).
  • Operands: De apparaten of locaties waar het over gaat (bijv. je contactSensor).

Laten we kijken naar een voorbeeld uit de API. Stel je wilt checken of een deursensor open is. De code ziet er (vereenvoudigd) zo uit:

JSON

"if": {
   "equals": {
       "left": {
           "device": { "devices": ["ID-van-jouw-sensor"], "attribute": "contact" }
       },
       "right": {
           "string": "open"
       }
   },
   "then": [...]
}

De vertaling:

  1. Action (if): We gaan iets vergelijken.
  2. Condition (equals): Zijn de linker- en rechterkant aan elkaar gelijk?
  3. Left Operand: De status van jouw deursensor.
  4. Right Operand: Het woord “open”.
  5. Resultaat: Is links gelijk aan rechts? Dan voeren we het then blok uit.

3. De Logische Operatoren (Conditions)

Om slimme routines te bouwen, moet je weten welke gereedschappen je hebt. SmartThings biedt veel meer dan alleen “Aan/Uit”. Hier zijn de belangrijkste Conditions uit de API:

Equals (Gelijk aan)

De basis. Is de schakelaar “Aan”? Is de modus “Thuis”?

GreaterThan & LessThan (Groter/Kleiner dan)

Perfect voor thermostaten of dimmers.

  • Voorbeeld: Is de temperatuur GreaterThan 20 graden?
  • Let op: Deze conditie blijft true zolang het 21, 22 of 23 graden is. De routine zou dus continu kunnen blijven vuren. Om dat te voorkomen, heb je de volgende nodig:

Changes (Verandert)

Dit is een cruciale functie voor gevorderden. Changes kijkt niet naar de huidige waarde, maar naar de transitie.

  • Scenario: Je wilt de lichten dimmen als de TV aangaat.
  • Gebruik je alleen Equals: On, dan stuurt de routine elke seconde het signaal “Dimmen” zolang de TV aanstaat. Dat vervuilt je netwerk.
  • Gebruik je Changes -> Equals: On, dan gebeurt het maar één keer: op het moment dat de TV van uit naar aan springt.

Between (Tussen)

Checkt of een waarde tussen twee punten ligt.

  • Voorbeeld: Is het dimniveau Between 50 en 75?

Specific (Specifiek moment)

Wordt gebruikt in combinatie met de Every actie. Bijvoorbeeld: Elke dag om 10:55 uur.

4. De Masterclass: Triggers vs. Preconditions

Dit is het meest complexe, maar ook het krachtigste onderdeel van SmartThings. In de app heet dit “Gebruik als voorwaarde”. In de code heet dit "trigger".

Stel, je bouwt deze routine: ALS (Beweging in hal) EN (Tijd is na 23:00) -> DAN (Licht aan).

In een standaard routine fungeren beide regels als een trigger.

  1. Je loopt in de hal -> Licht aan. (Goed).
  2. Je zit stil op de bank, en de klok springt op 23:01 -> Licht aan! (Fout, want er is geen beweging).

Om dit op te lossen, gebruik je de Precondition. In de JSON-code kun je per conditie aangeven of het een trigger mag zijn:

  • "trigger":"Always" (Standaard: Dit start de routine).
  • "trigger":"Never" (Dit is een Precondition: Check dit alleen als de routine al loopt).

Het correcte script ziet er dan zo uit:

JSON

IF
  AND
  EQUALS (Bewegingssensor = Active)
    trigger:Always  <-- DIT start de actie
  EQUALS (Tijd > 23:00)
    trigger:Never   <-- DIT is slechts een check

In de SmartThings-app herken je dit aan het grijze cirkeltje voor de regel (Precondition) versus het gekleurde cirkeltje (Trigger). Door dit slim in te zetten, voorkom je ‘spook-schakelingen’ in je huis.

5. Hoe stel je dit in? (Stappenplan)

Je hoeft gelukkig geen code te schrijven om dit te gebruiken. De app vertaalt jouw klikken naar deze logica.

Een ‘Rules API’ waardige routine maken:

  1. Open de SmartThings-app en ga naar Routines.
  2. Tik op + (Routines toevoegen).
  3. De IF kant (Triggers & Preconditions):
    • Voeg je eerste apparaat toe (bijv. Bewegingssensor). Dit is standaard een trigger.
    • Voeg een tweede voorwaarde toe (bijv. “Lamp X is al Aan”).
    • De Crux: Onderaan de instelling van die tweede voorwaarde zie je een schuifje “Gebruik als voorwaarde” (Use as precondition). Zet deze AAN.
    • Nu heb je de "trigger":"Never" logica toegepast. De routine start nu nooit omdat de lamp aan is, maar checkt het alleen als er bewogen wordt.
  4. De THEN kant (Actions):
    • Voeg de actie toe (bijv. Zet Ventilator aan).
  5. Testen: Klik op “Test routine actions” om te zien of je logica werkt (let op: dit test alleen de THEN-kant, niet de triggers).

6. Integratie met Connected Services

SmartThings staat niet op zichzelf. Via de API kun je Connected Services aanroepen.

  • Multi-Admin (Matter): Zoals eerder besproken, kun je Matter-apparaten delen. In de API zie je dat een apparaat aan maximaal 5 “fabrics” (services) gekoppeld kan zijn.
  • Third-Party Border Routers: Heb je een oudere SmartThings Hub v2 (2015)? Die heeft geen Thread. Via de API kun je een derde partij border router (zoals een Apple HomePod of Nest Hub) koppelen aan je SmartThings netwerk, zolang ze op hetzelfde LAN-netwerk zitten. Je moet dan de “Thread Network Key” invoeren in SmartThings.
Samsung SmartThings uitleg. Visualisatie van de SmartThings Energy app op een smartphone, die het energieverbruik van diverse verbonden Samsung huishoudelijke apparaten (zoals wasmachine, koelkast en airco) in het smart home-ecosysteem bewaakt en grafisch weergeeft.

Veelgestelde Vragen (FAQ)

1. Mijn Routine start niet, wat doe ik fout?

Dit is de meest gemaakte fout bij gevorderden: je bent te streng geweest met je voorwaarden. Een Rule (Routine) heeft minstens één actieve Trigger nodig.

  • Check: Heb je bij alle voorwaarden in de ‘IF’-lijst het vinkje “Gebruik als voorwaarde” aangezet? Dan start de routine nooit, omdat er niets is dat het startschot geeft (in de code staat dan alles op "trigger":"Never").
  • Oplossing: Zorg dat de belangrijkste gebeurtenis (bijv. “Beweging gedetecteerd”) niet als voorwaarde is aangevinkt. Dit moet de trigger zijn.

2. Werken deze complexe regels ook zonder internet?

Ja, in de meeste gevallen wel. Automatiseringen die gebaseerd zijn op Zigbee-, Z-Wave- of Matter-apparaten en die draaien op een SmartThings Hub (of geschikte Samsung TV), worden lokaal opgeslagen. Dit heet Local Execution.

  • Voordeel: Ze zijn razendsnel en werken ook als je wifi er even uit ligt.
  • Uitzondering: Routines die afhankelijk zijn van cloud-diensten (zoals “Als het buiten regent…” of “Als mijn Nest thermostaat…”) hebben wel altijd internet nodig.

3. Kan ik de JSON-code zien of aanpassen in de app?

Nee, de SmartThings-app is de visuele ‘schil’. Je kunt hierin niet direct code typen. Wil je écht programmeren met de ruwe JSON (zoals in de voorbeelden hierboven)? Dan moet je gebruikmaken van de SmartThings API via een webbrowser of tools als Postman. Voor 99% van de gebruikers biedt de app echter genoeg opties om dezelfde logica te bouwen via de grafische interface.

4. Kunnen mijn huisgenoten mijn Routines aanpassen?

Ja, als ze lid zijn van jouw ‘Locatie’ in de SmartThings-app, kunnen ze routines zien en bewerken.

  • Let op: Als jij via de API (voor developers) een specifieke Rule installeert, kan vaak alleen de eigenaar (jij) deze aanpassen. Voor routines die gewoon in de app gemaakt zijn, geldt dat iedereen met toegang tot het huis ze kan wijzigen.

Conclusie: Jij bent de programmeur

SmartThings geeft je de sleutels tot de achterdeur van je smart home. Waar andere apps je beschermen tegen complexiteit, omarmt Samsung het. Door het verschil te snappen tussen een Changes conditie en een Precondition, transformeer je van een gebruiker die op knopjes drukt, naar een architect die een intelligent systeem bouwt.

Heb je de smaak te pakken en wil je meer sensoren om je Rules te voeden? Bekijk het uitgebreide assortiment SmartThings-compatible sensoren bij tink.

Joshua
Joshua
Joshua versterkt het team van tink sinds juli 2025. Hij combineert zijn jarenlange schrijfervaring met een grote passie voor technologische innovatie. Thuis is hij een fervent gebruiker van Tapo voor sfeervolle verlichting en ook de slimme speakers van JBL hebben een speciaal plekje bij hem. Hij is altijd op zoek naar de volgende uitbreiding en experimenteert momenteel volop met Philips Hue en Soundcore.

“Hé Google, zet de TV aan!” – Zo koppel je spraakassistenten aan SmartThings

Een slim huis is pas écht slim als je het kunt bedienen zonder je handen te gebruiken. Of je nu staat te koken met...

Eindelijk vrede in huis: Alles over SmartThings, Matter en Multi-Admin

Stel je voor: je koopt een nieuwe slimme lamp. Je partner heeft een iPhone en wil hem bedienen met Siri. Jij hebt een Samsung...

Nooit meer zoeken: Hoe SmartThings Find je leven (en je spullen) redt

Iedereen kent 'Find My iPhone'. Maar wist je dat Samsung een minstens zo krachtig (en misschien wel uitgebreider) netwerk heeft? Het heet SmartThings Find...

LAAT EEN REACTIE ACHTER

Vul alstublieft uw commentaar in!
Vul hier uw naam in

Vergelijkingen

TESTS

NIEUWSTE ARTIKELEN