ID.nl logo
Huis

Bouw je eigen Telegram-chatbot

Er is een hele hype rond chatbots, die op steeds meer plaatsen opduiken. In dit artikel laten we zien wat je er zelf mee kunt. We bouwen onze eigen Telegram-chatbot en vertellen wat je daar allemaal mee kunt doen.

Er zijn diverse websites met tools om een bot te bouwen. Leerzamer is het om er zelf eentje te maken. Om inspiratie op te doen kun je kijken op storebot.me van Telegram of het bredere botlist.co. Ook Microsoft zet vol in op bots, de website bots.framework.com geeft een goede indruk. In deze masterclass gebruiken we een bot als ‘communicatiekanaal’.

Vanaf een server kunnen we hier bijvoorbeeld teksten en foto’s naar versturen. De meldingen lees je via de Telegram-app, waar en wanneer je maar wilt. We laten ook zien hoe je die bot gebruikt voor het afvangen van meldingen van de home automation software Domoticz. Hierna maken we de chatbot zodat deze op commando’s kan reageren.

BotFather

Telegram maakt het bouwen en gebruiken van een bot relatief eenvoudig. Er is prima documentatie, een relatief eenvoudige api en de BotFather waarmee je in een paar stappen zelf een chatbot maakt. Alle berichten die de chatbot verstuurt en ontvangt lopen via Telegram. Daarom heb je een (gratis) Telegram-account nodig. Je kunt je eenvoudig registreren via web.telegram.org door het opgeven van je mobiele telefoonnummer. Je ontvangt dan een sms-bericht en kunt via de instructies op het scherm het account maken.

Heb je al een Telegram-account, dan kun je dat gebruiken voor de stappen in deze masterclass via het bovengenoemde webadres. Je kunt ook een van de vele Telegram-apps gebruiken. Telegram heeft een eigen bot genaamd BotFather die je gebruikt voor het registreren van je nieuwe chatbot. Een conversatie met BotFather kun je starten via telegram.me/botfather.

Een bot bij Telegram kan behalve berichten ook specifieke commando’s ontvangen die met een slash (/) beginnen. Het maken van een bot gaat ook met commando’s. Stuur

/newbot

naar de BotFather om een bot te maken. Kies een naam gevolgd door een (unieke) gebruikersnaam. Wij kiezen PCM_DemoBot. Kies voor je eigen bot een andere gebruikersnaam. Je ontvangt hierna meteen een bevestiging met een token die je nodig hebt bij het gebruik van de api. De eenvoudigste manier om de api te gebruiken is via een browser. Blader naar de url https://api.telegram.org/bot<jouw-bot-token>/getme waarbij je op de plaats van

<jouw-bot-token></jouw-bot-token>

je token invult. De letters bot voor de token zijn belangrijk, maar worden vaak vergeten. De token dient voor het vinden van je bot én voor autorisatie dus houd de token geheim. De respons is nu bijvoorbeeld

{"ok":true,"result":{"id":309266712,"first_name":"PCM Demo Bot","username":"PCM_DemoBot"}}

Door in de aanroep de opdracht getme te vervangen door getUpdates krijg je (in het json-formaat) een respons met alle berichten die naar de bot zijn verstuurd. Omdat het een nieuwe bot is zie je nu nog geen berichten. Daarom gaan we eerst een conversatie opzetten met de bot.

Chatten

Om een conversatie met je bot te starten blader je naar https://telegram.me/<gebruikersnaam> of zoek je naar @<gebruikersnaam> in een van de Telegram-apps. Klik daarna op Begin. Stuur een willekeurige tekst naar je bot (bijvoorbeeld Hallo). Als je nu de url https://api.telegram.org/bot<jouw-bot-token>/getUpdates opent zie je wél berichten.

Om de respons beter leesbaar te maken selecteer je alle tekst in de browser met Control+A. Kopieer de tekst met Control+C en plak het in een venster van de online tool JSONLint (http://jsonlint.com). Druk dan op Validate JSON. We zijn op dit moment alleen geïnteresseerd in de id die onder chat wordt genoemd in de sectie result. Dat is de chat-id. In ons voorbeeld is dat 58332350. Je kunt nu een antwoord via de api versturen met die chat-id. Om een antwoord te sturen open je de url https://api.telegram.org/bot<jouw-bot-token>/sendMessage?chat_id=<chat-id>&text=<jouw-tekst> in de browser waarbij je <chat-id> vervangt door de correcte chat-id en <jouw-tekst> door de gewenste tekst. In de Telegram-app zie je vervolgens deze reactie van de bot in de chat. We zullen nu andere manieren verkennen om tekst en afbeeldingen via de bot te versturen.

©PXimport

Curl

Het openen van een url in de browser kun je zien als een http-get actie. Voor het versturen van bestanden, zoals een afbeelding, is een http-post actie nodig. Een handige en veelgebruikte tool voor http-get en http-post via de opdrachtprompt is curl. Zeker in Linux-omgevingen is dit meestal standaard geïnstalleerd en anders kun je de tool onder Debian/Ubuntu gemakkelijk met

apt-get install curl

installeren. Om een tekst naar de chat te sturen met een http-get gebruik je onderstaande commando waarbij je uiteraard weer de correcte chat-id en gewenste tekst invoert.

curl -i -X GET "https://api.telegram.org/bot<jouw-bot-token>/sendMessage?chat_id=<chat-id>&amp;text=<jouw-tekst></jouw-tekst></chat-id></jouw-bot-token>

Wil je een foto versturen dan kun je een http-post doen inclusief afbeelding met onderstaande commando, waarbij je achter @ het volledige pad naar de foto opgeeft.

curl -s -X POST "https://api.telegram.org/bot<jouw-bot-token>/sendPhoto" -F chat_id=<chat-id> -F photo="@/pad/naar/foto"</chat-id></jouw-bot-token>

Meldigen van Domoticz

In een paar stappen kun je de bekende home-automation-software Domoticz zo instellen dat het notificaties naar de bot stuurt. Open de gebruikersinterface van Domoticz in de browser en ga naar Setup / Settings. Op het tabblad Notifications vink je Enabled aan bij Custom HTTP/Action. Vul bij #TO de chat-id in. In het veld URL/Action voer je het volgende in: https://api.telegram.org/bot<jouw-bot-token>/sendMessage?chat_id=#TO&text=#MESSAGE. Vervang <jouw-bot-token> door je token. Bij een notificatie komt de melding in #MESSAGE en wordt #TO vervangen door de ingevulde chat-id. Met wat knutselen is Domoticz zelfs volledig via een bot te besturen.

Onze chat kan handig als ‘berichtenstroom’ voor een server dienen, bijvoorbeeld om meldingen van Domoticz te ontvangen. Dat is een stuk praktischer dan e-mail. Ten eerste kun je overal de meldingen lezen omdat de Telegram-app voor zeer veel platforms beschikbaar is. Bovendien heb je veel controle over de meldingen. Zo kun je bijvoorbeeld opmaak toepassen in je berichten (markdown of html) en naast foto’s ook mp3-bestanden, documenten en video’s versturen.

De limiet is ruimhartig (50 MB per bestand). Verder kun je desgewenst updates voor berichten plaatsen of, op het moment dat je een bericht verstuurt, met een parameter aangeven dat het ‘in stilte’ moet worden verzonden: een iPhone zal dan geen notificatie geven, een Android doet dat stilletjes. Je kunt de bot in de Telegram-app ook altijd even op stil zetten als je tijdelijk geen notificaties wilt ontvangen. In de prima documentatie van Telegram-api lees je meer over deze en talloze andere opties.

©PXimport

Interactieve chatbot

In deze stap maken we onze chatbot interactief. Daarvoor gebruiken we de programmeertaal Python. Er zitten aardig wat haken en ogen aan als je het helemaal zelf wilt schrijven. Voor een http-get en het decoderen van json-data zijn natuurlijk bibliotheken maar je moet ook bijvoorbeeld rekening houden met berichten die je al hebt afgehandeld. Ook moet de bot efficiënt werken door bijvoorbeeld de verbinding met Telegram langer open te houden tussen updates. Dat is beter dan het steeds opnieuw opzetten van een verbinding.

Denk verder ook aan het juist aanroepen van speciale karakters zoals een + of & in je tekst, anders geven ze problemen bij het versturen van de http-get. Ook hiervoor is overigens een bibliotheek. Een ‘echte’ bot heeft ook baat bij een geheugen: met een database (bijvoorbeeld SQLite) kun je informatie voor specifieke gebruikers onthouden. Veel sneller en handiger is het om pyTelegramBotAPI te gebruiken. Met deze bibliotheek kun je zonder in het diepe te springen alle mogelijkheden van de api gebruiken.

Python instellen

Je hebt voordat we beginnen natuurlijk Python nodig, dat in veel Linux-omgevingen standaard is geïnstalleerd en anders gemakkelijk is toe te voegen. De Telegram-bibliotheek werkt zowel met Python 2.x als 3.x. Bij de op Debian gebaseerde besturingssystemen, zoals Debian, Ubuntu of Raspbian op de Raspberry Pi, installeer je Python 3.x en de packagemanager pip met

sudo apt-get install python3 python3-pip

Met de packagemanager kun je gemakkelijk bibliotheken toevoegen. Met

pip3 install pyTelegramBotAPI

installeer je de bibliotheek voor Telegram. Maak nu met

touch bot.py

py een nieuw Python-bestand en open dit met je favoriete teksteditor of gebruik nano vanaf de opdrachtprompt met

nano bot.py

Zet hier onderstaande code in. Vul bij jouw-bot-token weer de eerder gemaakte token in. Bewaar de tekst met Control+O en verlaat nano met Control+X,

import telebot bot = telebot.TeleBot("<jouw-bot-token>") # Opdracht 'start' afhandelen @bot.message_handler(commands=['start']) def send_welcome(message): bot.reply_to(message, u"We gaan van start...") # Opdracht 'help' afhandelen @bot.message_handler(commands=['help']) def send_welcome(message): bot.reply_to(message, u"Ik help je graag!") bot.polling() </jouw-bot-token>

De bot starten

Start het programma vanaf de opdrachtprompt met

python3 bot.py

Vanaf nu is je bot actief totdat je het programma beëindigt met Control+C. In Telegram kun je de opdrachten /start en /help geven en de bijbehorende reactie lezen. Je ziet dat met weinig code je bot operationeel is, al zijn er geavanceerdere toepassingen te bedenken. Belangrijk is

import telebot

waarmee de bibliotheek wordt geladen. We definiëren daarna de bot met

bot = telebot.TeleBot("<jouw-bot-token>")</jouw-bot-token>

Met een

message_handler

stel je filters in waar een bericht aan moet voldoen. De eerste reageert op het commando start (/start). Voldoet het bericht daaraan dan zal de bijbehorende functie genaamd

send_welcome

worden uitgevoerd. Die naam mag je zelf kiezen, zolang er maar één parameter is, die met het bericht (message). De tweede message_handler reageert op het commando help met een passende tekst. De volgorde van filters is belangrijk: ze worden getest tot een passende message_handler is gevonden. Aan het einde van het script wordt de bot met bot.polling() daadwerkelijk aan het werk gezet.

Filters

In een message_handler kun je natuurlijk niet alleen op commando’s testen via commands. Je kunt ook met content_types testen op bepaalde content, zoals een foto of document, in plaats van gewoon tekst. Erg praktisch zijn reguliere expressies waarbij je op bepaalde karakters of reeksen kunt testen. De message_handler in het voorbeeld hieronder reageert als een reeks getallen is ingevoerd.

Er mogen geen andere karakters worden ingevoerd. In de reguliere expressie markeren de ^ en $ respectievelijk het begin en einde van de string. De [0-9]* gebruik je voor een reeks getallen. Een reguliere expressie is ook handig voor testen op bepaalde woorden in een tekst.

@bot.message_handler(regexp="^[0-9]*$") def handle_message(message): bot.reply_to(message, u"Dat zijn alleen nummers!")

Ook erg praktisch is dat je een functie kunt aanroepen. Dat mag ook een anonieme lambdafunctie zijn, zoals in het voorbeeld hieronder. Een lambdafunctie is een feature van Python. Zo’n functie bevat geen return zoals gewoonlijk maar geeft een expressie terug, in dit geval true (altijd waar). Onderstaande message_handler reageert op ieder bericht met de oorspronkelijke tekst die beschikbaar is in message.text. We noemen dit ook wel ‘echoën’.

@bot.message_handler(func=lambda m: True) def echo_all(message): bot.reply_to(message, message.text)

De documentatie biedt nog geavanceerdere voorbeelden voor het gebruik van de bibliotheek, waaronder keuzemenu’s. Feitelijk kun je haast alle methodes van de Telegram-api in je code gebruiken, maar soms met net iets andere namen. Belangrijk is dat je regelmatig de Python-bibliotheek update met

pip install pytelegrambotapi --upgrade

Volgens de makers zijn er regelmatig updates om in lijn te blijven met de api van Telegram. De documentatie van Telegram is natuurlijk ook een belangrijke referentie. Je hebt nu een basis om serieus met bots aan de slag te gaan. Wil je verder de diepte in? Op de GitHub-pagina van de pyTelegramBotAPI vind je verwijzingen naar bots die met deze bibliotheek zijn gemaakt, inclusief broncode.

Tekst: Gertjan Groen

▼ Volgende artikel
Waar voor je geld: 5 waterdichte smartwatches met GPS-functie
Gezond leven

Waar voor je geld: 5 waterdichte smartwatches met GPS-functie

Bij ID.nl zijn we dol op kwaliteitsproducten waar je niet de hoofdprijs voor betaalt. Daarom speuren we een paar keer per week binnen een bepaald thema naar zulke deals. Wanneer je met een smartwatch je gezondheid in de gaten wilt houden en bijvoorbeeld tijdens activiteiten je hartslag wilt meten, is het handig als zo'n slim horloge ook waterdicht is. En met een GPS-functie kun je ook goed bijhouden welke afstand je hebt afgelegd.

Een smartwatch is meer dan alleen een horloge: het is een slimme assistent om je pols. Met een smartwatch kun je eenvoudig meldingen van je smartphone ontvangen, zoals berichten, oproepen en agenda-afspraken. Veel modellen bieden daarnaast functies zoals stappentellen, hartslagmeting, slaapregistratie en GPS-tracking. Dat maakt ze ideaal voor wie zijn gezondheid en activiteiten wil bijhouden. Sommige horloges ondersteunen zelfs contactloos betalen of muziekbediening, zodat je minder vaak je telefoon uit je zak hoeft te halen.

Een ander belangrijk voordeel is de waterbestendigheid, wat bij smartwatches wordt aangeduid met een zogeheten ATM-classificatie. ATM staat voor 'atmosfeer' en geeft aan hoe hoog de druk op het horloge mag zijn. Een smartwatch met 5 ATM is bijvoorbeeld bestand tegen waterdruk die overeenkomt met 50 meter diepte. Dat betekent dat je ermee kunt douchen, zwemmen of in de regen lopen, maar dat de watch niet per se geschikt is voor diepzeeduiken.

Amazfit Cheetah Square

De Amazfit Cheetah Square is een smartwatch met een rechthoekig AMOLED-scherm van 1,75 inch. Het model biedt uitgebreide sportondersteuning met meer dan 150 modi en beschikt over dual-band GPS voor nauwkeurige plaatsbepaling. Daarnaast zijn er sensoren voor hartslag, SpO₂ (het percentage zuurstof in je bloed dat via een saturatiemeter wordt gemeten, en aangeeft hoeveel van je rode bloedcellen verzadigd zijn met zuurstof), slaap en stress. De behuizing is lichtgewicht en de horlogeband is van siliconen. De waterdichtheid van 5 ATM maakt hem geschikt voor gebruik in het water. De batterijduur varieert afhankelijk van het gebruik, met tot 8 dagen bij gemiddeld gebruik en tot 28 uur met GPS ingeschakeld.

🚿 Waterdichtheid: 5 ATM
🔋 Typische gebruiksduur
: Tot 8 dagen
📱 Schermdiagonaal
: 1,75 inch

Huawei Watch Fit 2

De Huawei Watch Fit 2 is een relatief compacte smartwatch met een AMOLED-display van 1,74 inch. Het model ondersteunt verschillende trainingsmodi en beschikt over sensoren voor onder andere hartslag, SpO₂ en slaapmonitoring. Hoewel deze watch geen ingebouwde GPS heeft, maakt hij gebruik van verbonden GPS via een smartphone. De batterijduur is met maximaal 10 dagen redelijk lang. De smartwatch is waterbestendig tot 5 ATM en is beschikbaar in verschillende edities en kleuren.

🚿 Waterdichtheid: 5 ATM
🔋 Typische gebruiksduur
: Tot 10 dagen
📱 Schermdiagonaal
: 1,74 inch

Fitbit Sense 2

De Fitbit Sense 2 biedt een combinatie van gezondheidsmetingen, zoals een ECG-app, cEDA-sensor voor stressdetectie en SpO₂-metingen. Het horloge is uitgerust met een 1,58 inch AMOLED-scherm en een ingebouwde GPS. De batterij gaat bij normaal gebruik ongeveer 6 dagen mee. Daarnaast is de Sense 2 waterbestendig tot 50 meter (5 ATM). Het model ondersteunt contactloze betalingen via Fitbit Pay, maar mist functies zoals muziekopslag of volledige ondersteuning voor apps van derden.

🚿 Waterdichtheid: 5 ATM
🔋 Typische gebruiksduur
: Tot 6 dagen
📱 Schermdiagonaal
: 1,58 inch

Garmin Venu 2

De Garmin Venu 2 heeft een 1,3 inch AMOLED-display en legt de nadruk op gezondheid en sport. De smartwatch beschikt over onder meer hartslagmeting, ademhalingsregistratie, Body Battery, stressmeting en Pulse Ox. GPS is ingebouwd, en de batterij gaat tot 11 dagen mee in smartwatch-modus. Bij gebruik van GPS en muziek is dit korter. Het horloge is waterdicht tot 5 ATM, wat standaard is voor dit soort toepassingen.

🚿 Waterdichtheid: 5 ATM
🔋 Typische gebruiksduur
: Tot 11 dagen
📱 Schermdiagonaal
: 1,3 inch

OnePlus Watch 2

De OnePlus Watch 2 draait op Wear OS 4 en gebruikt een dubbele chipsetstructuur om prestaties en batterijduur te balanceren. Met een 1,43 inch AMOLED-scherm, ondersteuning voor dual-band GPS, en sensoren voor hartslag en slaap is hij geschikt voor dagelijks gebruik. De batterijduur is echter niet heel lang, maar het horloge is wel IP68-gecertificeerd en bestand tegen waterdruk tot 5 ATM.

🚿 Waterdichtheid: IP68 / 5 ATM
🔋 Typische gebruiksduur
: Tot 100 uur
📱 Schermdiagonaal
: 1,43 inch

▼ Volgende artikel
Review Harman Kardon Enchant 1100 – Stijlvolle en detailrijke Atmos-soundbar
© Harman Kardon
Huis

Review Harman Kardon Enchant 1100 – Stijlvolle en detailrijke Atmos-soundbar

De Enchant 1100 is de nieuwste top-soundbar van Harman Kardon. Ondersteuning voor Dolby Atmos en een streepje Scandi-design maken het een interessante optie.

Fantastisch
Conclusie

De Enchant 1100 is een soundbar die zeer gelikt oogt en sterk presteert. Kamervullend de soundtrack van een film of tv-serie neerzetten doet hij goed, net als muziek afspelen. Zonder extra apparaten levert de Harman Kardon al een topprestatie, waarbij detail en helderheid de grootste troeven zijn. Spraak en geluidseffecten klinken duidelijk en zijn goed gepositioneerd. Al mag het niet een basmonster zijn, je wordt goed ondergedompeld in een film.

Plus- en minpunten
  • Scherpe prijs (voor een topmodel)
  • Minimalistisch design
  • Brengt geluid breed in de kamer
  • Heldere app en installatie
  • Goede helderheid en plaatsing van geluidseffecten
  • Kalibratiefunctie (enkel soundbar) is heel effectief
  • Textiel trekt stof aan
  • Kalibratie niet beschikbaar met extra subwoofer

De grotere Enchant 1100 soundbar werd begin dit jaar samen met de kleinere Enchant 900 voorgesteld. Het is een echt topmodel dat veel speakers inzet om omhullende 3D-geluid te bieden, inclusief twee aan de bovenzijde. Dit is niet de eerste of enige soundbar van Harman Kardon die de naam 'Enchant' draagt, maar eigenlijk lijkt hij meer op de voorgaande Citation-reeks van Harman Kardon. Citation was bedoeld als een volledig antwoord op Sonos, met multiroom-functionaliteit en met een design dat luxueuze textiel van Kvadrat toepaste. 

De Enchant 1100 neemt veel van de Citation-eigenschappen over, waaronder het design (maar zonder Kvadrat-stofjes) en de uitbreidbaarheid. Hij gebruikt ook een knappe techniek van Harman, Multibeam, om geluid breed de kamer in te sturen. Met ondersteuning voor Dolby Atmos en DTS:X, veel streamingopties, een extra HDMI-ingang (geschikt voor 4K en Dolby Vision) en uitbreidingsopties spreken we hier over een veelzijdige soundbar. 

©Jamie Biesemans

Uitbreiden met speakers kan

Wie meer wil, kan de Enchant 1100 uitbreiden met de Enchant Sub (adviesprijs 399 euro) en/of een paar Enchant-draadloze speakers (adviesprijs 229 euro/stuk). Het is daarmee een directe uitdager van de Sonos Arc Ultra, nog een topmodel dat je op eigen tempo kunt uitbreiden met extra speakers. De Harman Kardon is wel nog iets scherper geprijsd. Het koppelen met speakers in andere kamers kan via Google Cast of AirPlay 2. Een pluspunt: dat kan ook met luidsprekers van verschillende merken.

Zacht en harmonieus design

Ontsnappen aan de klassieke balkvorm van een soundbar doet de Enchant 1100 niet. Maar omdat de afgeronde behuizing helemaal bedekt is door een fraai zwart stofje en verder geen opvallende elementen toont, verdwijnt hij netjes in de achtergrond. Minimalisme ten top, totdat je het volume of een optie aanpast. Dan zie je een grote display in een coole dotmatrix-stijl oplichten. Dat zorgt dan weer voor vleugje retro-gevoel. In tegenstelling tot bij de Citation-soundbars, lijkt er deze keer geen lichtgrijze versie te bestaan.

Onder het strakke uiterlijk zitten aardig wat speakers verborgen: elf stuks. Twee daarvan zitten bovenaan en zorgen voor de driedimensionale geluidservaring. De Enchant 1100 is slechts 6,5 cm hoog en kan dus bij een tv op een voet geplaatst worden. Maar het beste resultaat krijg je als je hem 10 à 20 cm vóór het scherm zet, zodat de bovenliggende speakers vrij naar het plafond gericht zijn. Ook de zijkanten moeten helemaal vrij blijven. Aan elke zijde is er een opening waar je een speaker kunt zien; die zorgen voor een heel breed geluidsbeeld rond de tv.

©Harman Kardon

Aan weerszijden is er een opening met een tweeter die schuin gemonteerd is.

Ontspannen kan ook

In de doos vind je een kleine afstandsbediening, maar je kunt ook de Harman Kardon One-app gebruiken. Welke optie je ook kiest: het volume regelen, een aantal audio-instellingen veranderen en muziek pauzeren zijn mogelijk. Een unieke optie heet Moment, dat zelfs zijn eigen knop op de remote heeft.

Als je hierop drukt, rollen er uit de soundbar rustgevend geluiden. Je kunt via de app kiezen of je dan even kunt relaxen met het geluid van regen, een bos of de zee. Misschien wel leuk voor meditatieoefeningen, maar wel een apart iets om zo'n prominente plek te geven.

Muziek spelen kan op vele manieren

In een app kun je muziek en internetradio afspelen van bepaalde diensten, waaronder Amazon Music, Napster, Qobuz, Tidal en TuneIn. Bij Amazon en Tidal wordt zelfs het afspelen van muziek in Dolby Atmos-formaat ondersteund, dat kom je zelden tegen.

In het lijstje ontbreken natuurlijk heel wat belangrijke diensten, zoals Apple Music of Spotify. Ze afspelen kan echter makkelijk via AirPlay, Chromecast of Spotify Connect. De soundbar kan ook bediend worden met Roon, de audiofiele muzieksoftware van een Harman Kardon-zusterbedrijf die vooral in de hifi-wereld wordt gebruikt. Ten slotte is de Enchant 1100 uitgerust met bluetooth. Manieren genoeg dus om muziek af te spelen.

Eenvoudige installatie

Het instellen van de Enchant 1100 gebeurt via de One-app. Een visueel stappenplan maakt het heel eenvoudig. Wat je ook in de app (of via de remote) kunt doen is het geluid "kalibreren". De soundbar verspreidt dan twintig seconden luide testgeluiden om zo de woonkamer te leren kennen. Na deze meting wordt de weergave aanpast zodat de soundbar beter klinkt. Zo'n functie wordt stilaan standaard op een high-end soundbar; hier blijkt het zeer effectief in het balanceren van bassen en helderheid. 

©Jamie Biesemans

In de Harman Kardon One-app vind je heldere uitleg.

Geslaagd in 3D

Bij het bekijken van demovideo's van Dolby en een aantal filmfragmenten valt in de eerste plaats de zuivere weergave van de Enchant 1100 op. Het klinkt luchtig en ruim, waardoor geluidseffecten los in de kamer verschijnen. Bij de Shattered-demo bewegen de geluiden van brekend glas echt van rechts naar ver links.

©Jamie Biesemans

De Enchant 1100 heeft goede dialogenweergave.

Ook bij drukke actiescènes, zoals tijdens de finale veldslag op Scarif in Star Wars: Rogue One – waarvan Andor op Disney+ de prequel vormt – houdt de Harman Kardon een goede controle. Het is een goed resultaat dat vooral heel detailrijk en gebalanceerd overkomt, met name na de kalibratie. Wel is het in onze woonkamer wat minder 'cinematisch' (of je mag ook zeggen 'bombastisch') bij bijvoorbeeld de race in Ready Player One. Je wordt wel omgeven door geluid, inclusief hoog boven de tv, dat wel. Maar het is niet zo knallend of dynamisch als bij bijvoorbeeld JBL.

Een subwoofer erbij of niet?

Het toevoegen van een subwoofer of extra speakers kan daar iets aan doen. Dat verloopt eveneens via de app. Je hebt er wel even tijd voor nodig, want elk toestel moet met de wifi verbonden worden. Vervolgens moet er nog een update worden geïnstalleerd, wat ook even kan duren. Ten slotte combineer je bijvoorbeeld de Enchant 1100 met de Enchant Sub via de app. Dat ging tijdens het testen vlot, en de app maakt het proces ook heel transparant. Wel spijtig: de kalibratiefunctie werkt niet langer als je een sub toevoegt aan een soundbar. Hopelijk komt die mogelijkheid er nog.

©JORDI HUISMAN

De Enchant Sub zet je bij voorkeur naast de soundbar.

Mét Enchant Sub wordt de Enchant 1100 een stukje spectaculairder, al blijft het vooral het mooie detail en de controle die indruk maken bij het zeer intense vuurgevecht in het Witte Huis in Civil War. Dit zijn goede prestaties, ook voor gaming. Toch is de stap naar een extra sub geen verplichting. De Enchant Sub is niet zo krachtig of verfijnd, dus in een kleinere woonkamer ga je aan de soundbar zelf voldoende hebben. Positief wel is dat die Sub vergeleken met optionele subs bij sommige concurrenten relatief goedkoop is.

Conclusie

De Enchant 1100 is een soundbar die zeer gelikt oogt en sterk presteert. Kamervullend de soundtrack van een film of tv-serie neerzetten doet hij goed, net als muziek afspelen. Zonder extra apparaten levert de Harman Kardon al een topprestatie, waarbij detail en helderheid de grootste troeven zijn. Spraak en geluidseffecten klinken duidelijk en zijn goed gepositioneerd. Al mag het niet een basmonster zijn, je wordt goed ondergedompeld in een film.