Heb jij een slimme assistent thuis? Dan herken je ongetwijfeld hoe dom die eigenlijk zijn. Noem je je plafondlamp net iets anders dan snapt hij niet wat je bedoelt. Argh! Maar daar kun je nu een einde aan maken. Door een analoge telefoon met je Home Assistant te verbinden kun je direct praten met ChatGPT en kun je in normalemensentaal met je huis praten!
Wat heb je nodig?
- Home Assistant 2023.5 of later, geïnstalleerd met het Home Assistant Besturingssysteem. Hier vind je instructies om zelf Home Assistant te installeren.
- Een analoge telefoon met een RJ11-aansluiting. Heb je een analoge telefoon met een andere aansluiting, zie de faq
- Een analoge telefoonadapter Grandstream HT801 (inclusief een 5V-voedingsadapter)
- Een Ethernet-kabel
- RJ11-telefoonsnoer om de telefoon op de Grandstream aan te sluiten
Grandstream instellen
1️⃣ Sluit de RJ11-kabel van de telefoon aan op de groene aansluiting op de Grandstream.
2️⃣ Sluit de Grandstream aan op je netwerk:
- Steek de Ethernet-kabel in de blauwe aansluiting en verbind deze met je lokale netwerk (router, switch)
3️⃣ Start de Grandstream op.
- Sluit de voeding aan.
- Zodra de Grandstream is opgestart, lichten de twee LED’s voor voeding en Ethernet blauw op. De telefoon-LED zal niet oplichten.
4️⃣ Het IP-adres van de Grandstream identificeren
Als je telefoon een ster *-toets heeft:
- Druk *** (druk drie keer op de ster-toets) en wacht tot je Enter the menu optie hoort.
- Druk op 02 en de telefoon zal je het IP-adres vertellen.
Als je telefoon geen ster *-toets heeft, meld je aan bij je router om het IP-adres te vinden.
5️⃣ Voer het IP-adres in een browservenster in en meld je aan bij de Grandstream Apparaat Configuratie-software.
De standaard inloggegevens zijn als volgt
- Gebruikersnaam: admin
- Wachtwoord: admin
6️⃣ De Grandstream juist instellen
- Open het tabblad FXS Port
- Voer in het veld Offhook Auto-Dial het Home Assistant IP-adres in met de volgende indeling: *47192*168*1*100*5060
- Vervang 192*168*1*100 door het IP-adres van je Home Assistant installatie
- Selecteer onderaan de pagina Toepassen
Offhook Auto-Dial betekent dat wanneer je de hoorn opneemt, deze rechtstreeks belt naar Home Assistant. Je hoeft dan dus niet eerst zelf het ‘nummer’ van je Home Assistant installatie in te toetsen om er naar te bellen.
Telefoon in Home Assistant instellen
1️⃣ In Home Assistant, ga naar Instellingen > Apparaten & Diensten > Integratie toevoegen en voeg de Voice over IP-integratie toe.
2️⃣ Zodra je de integratie ziet, neem je de hoorn op.
- Je zou nu het volgende bericht moeten horen: “This is your smart home speaking. Your phone is connected, but you must configure it within Home Assistant.“
- De integratie moet nu een apparaat en entiteiten bevatten.
- Hoor je geen stem? Check de FAQ onderaan dit artikel.
3️⃣ Oproepen toestaan.
- Oproepen van nieuwe apparaten zijn standaard geblokkeerd omdat spraakcommando’s kunnen worden gebruikt om gevoelige apparaten te bedienen, zoals sloten en garagedeuropeners.
- Klik in de Voice over IP-integratie op het apparaat.
- Om deze telefoon je smart home te laten besturen, zet je onder Configuratie “Allow calls” aan.
4️⃣ Testen of het werkt
Gefeliciteerd! Je hebt je analoge telefoon ingesteld om met Home Assistant te werken. Neem nu de hoorn op en test of je je apparaten kunt besturen.
- Test een spraakcommando. Bijvoorbeeld: “Zet het licht in de keuken uit.”
- Je kunt ook een vraag stellen, zoals:
- Is de voordeur op slot?
- Welke lampen staan aan in de woonkamer?
- Zorg dat je de gebiedsnaam gebruikt zoals je die in Home Assistant hebt gedefinieerd.
OpenAI integratie toevoegen
Maar we willen juist normalemensentaal kunnen gebruiken om je slimme huis aan te sturen. Zodat je bijvoorbeeld ook kunt aangeven de lampen aan te zetten ‘in de kamer waar je kookt’. Hiervoor moeten we de OpenAI integratie gaan toevoegen.
De OpenAI-integratie voegt een conversatie-agent aan Home Assistant toe, aangedreven door OpenAI. Het besturen van Home Assistant gebeurt door de AI toegang te geven tot de Assist API van Home Assistant. Je kunt bepalen tot welke apparaten en entiteiten het toegang heeft via de pagina met beschikbare entiteiten. De AI kan informatie verstrekken over je apparaten en deze besturen. Deze integratie vereist een API-sleutel om te gebruiken. Dit is een betaalde service. Kijk daarom wel af en toe wel even naar de kosten in de OpenAI-portal om te checken of het niet de spuigaten uit loopt.
1️⃣ Integratie installeren
- Voeg de OpenAI Conversation integratie toe aan Home Assistant via deze link.
- Of doe het handmatig:
- Ga in je Home Assistant naar Instellingen > Apparaten & Diensten
- Klik rechtsonder op + Integratie toevoegen
- Zoek op ‘OpenAI’ en klik op ‘OpenAI Converstation’ om de installatie te starten. Volg de stappen.
2️⃣ API-sleutel genereren
De OpenAI-sleutel wordt gebruikt om aanvragen bij de OpenAI API te authenticeren. Volg deze stappen om een API-sleutel te genereren:
- Meld je aan bij de OpenAI-portal of maak een account aan.
- Voeg een geldig betaalmiddel toe, ik heb zelf een creditcard toegevoegd
- Configureer gebruikslimieten.
- Ga naar de API-sleutels om de API-sleutel aan te maken die je gaat gebruiken voor de integratie.
3️⃣ Gespreksagent instellen
- Ga naar de OpenAI Conversation integratie. Klik op ‘Dienst toevoegen’
- Plak daarin de API key die je in de vorige stap hebt aangemaakt
- Geef de gespreksagent een naam
AI spraakassistent toevoegen
Nu gaan we een spraakassistent toevoegen die draait op basis van de door ons zojuist toegevoegde OpenAI integratie. Vervolgens zorgen we dat we met onze analoge telefoon bellen met deze spraakassistent.
1️⃣ Zorg dat je beschikt over Home Assistant Cloud. Als je dat hebt, zal er automatisch een spraakassistent zijn aangemaakt.
2️⃣ Om de instellingen te bekijken, ga je naar Instellingen > Spraakassistenten en selecteer onder ‘Assist‘ voor Home Assistant Cloud.
3️⃣ Hier kun je de instellingen aanpassen. Ik heb aangepast:
- De naam
- De gespreksagent stel je in de agent die je in de vorige stap hebt ingesteld. In mijn geval de ‘ChatGPT Home Assistant telefoon’
- Om op te slaan klik je op ‘Bijwerken’.
Nu is de AI gespreksagent toegevoegd. Je kunt onder ‘Configureren’ nog specifieke boodschappen meegeven aan je agent. Bij mij ziet hij er bijvoorbeeld zo uit:
Als mijn kinderen willen waar ik ben, kunnen ze aan de telefoon vragen ‘waar papa is’.
4️⃣ Als laatste stap is het goed om even te controleren dat je analoge telefoon met de juiste agent belt. Waarschijnlijk heeft hij automatisch ‘Home Assistant Cloud’ gebruikt en ben je nu al klaar om te gaan. Maar laten we dit checken.
- Ga naar Instellingen > Apparaten & diensten
- Klik op ‘Voice over IP’
- Klik op ‘Apparaten’ en open jouw grandstream
- Check de naam van de spraakassistent, of deze overeenkomt met de naam die je in stap 3 hebt gekozen
Klaar om te gaan!
Je kunt nu de hoorn oppakken en vragen stellen aan ChatGPT. Zo kun je veel complexere vragen stellen dat je gewend was met bv. Google Assistent.
Ook kun je apparaten in je huis aansturen in normalemensentaal. Je kunt bijvoorbeeld:
- Vragen om te checken of alle deuren op slot zijn (hij snapt dan zelf dat hij naar open/close-sensoren moet kijken)
- De lampen boven aan te zetten (hij snapt dan zelf dat je de lampen op zolder bedoelt)
- Vragen waar je huisgenoten zijn
Voorbeelden horen van wat je met je domme telefoon kan? Check De Groene Nerds podcast aflevering 43 voor inspiratie.
Bepaal wat je slimme telefoon mag weten
Want niet alles in je huis wordt standaard blootgesteld aan de AI spraakassistent. Dit om te voorkomen dat privacygevoelige informatie wordt gedeeld met openAI. Zo wordt de locatie van gebruikers van Home Assistant standaard niet gedeeld. Net als de locatie van je auto, als deze gekoppeld is.
- Ga naar Instellingen > Spraakassistenten
- Kies het tabblad ‘Ontsluiten’
Hier kan je per entiteit zien of hij beschikbaar wordt gemaakt aan je spraakassistenten. Je kunt meerdere entiteiten selecteren om deze vervolgens te ontsluiten
- Kies rechtsonder ‘+ Entiteiten ontsluiten’
- Vervolgens kun je aanvinken welke entiteiten je wilt toevoegen. Na opslaan kun je deze direct gebruiken in je spraakcommando’s.
FAQ – Problemen en oplossingen
Je hebt een analoge telefoon zonder een RJ11 aansluiting
Ik heb een PTT type T65 gebruikt voor deze handleiding.
Dit type telefoon beschikt over een draaischijf en stamt uit 1965. Dit type telefoon beschikt over een zogeheten PTT-stekker (ook wel de varkensneus genoemd), en dus niet over een RJ11 aansluiting.
Om je telefoon te laten werken met de Grandstream moeten we deze stekker afknippen en er een RJ11 connector mee verbinden. Dat kun je, net als bij een Ethernetkabel, met een kabeltang. Het was alleen wel flink zoeken tot we een goede ‘pins mapping’ konden vinden van PTT stekker naar RJ11. Maar dankzij deze pagina zijn we er uit gekomen.
Je krijgt de AI spraakassistent niet meer te spreken
Daar waar het eerder allemaal prima werkte, krijg je nu ‘This is your smart home speaking. Your phone is connected, but you must configure it within Home Assistant.’ te horen als je de hoorn opneemt.
Af en toe lijkt de Grandstream te herstarten, maar verliest daarbij z’n IP-adres. Met als gevolg dat Home Assistant het als een nieuw apparaat ziet en de standaardinstellingen krijgt.
Om de telefoon weer werkend te krijgen is het van belang om het nu werkende IP-adres te openen, en dan wederom ‘Allow calls’ aan te zetten (en eventueel de juiste assistant-pipeline te selecteren).
Het testgesprek werkt niet
Als je geen verbinding kunt maken met Home Assistant, controleer dan de volgende instellingen in de webinterface van je Grandstream-apparaat.
1️⃣ Op het tabblad FXS Port, controleer de lijst met Preferred Vocoder. Zorg ervoor dat OPUS is geselecteerd voor een van de keuzes.
2️⃣ Onder OPUS Payload type, zorg dat de waarde 123 is. Dit is de standaardoptie.
3️⃣ Selecteer onderaan de pagina Toepassen.
4️⃣ Neem de hoorn weer op en controleer of de juiste stem hoort.
Als data-gedreven marketeer weet Danny als geen ander hoe je je energie thuis kunt managen. Zo laadt hij z’n elektrische fiets op als de zon schijnt. Dankzij zijn interesse in duurzaamheid en techniek kan hij je alles vertellen over een slimme, duurzame woning.
Hey Danny, leuk artikel. Maar kun je dit ook geheel lokaal draaien?
Gr. Jan