IKEA Bekant connecteren met Home Assistant

Ikea Bekant bureau

De Ikea Bekant standing desk heeft standaard geen geheugen functie, dus je moet zelf telkens de hoogte opnieuw goed zetten als je van zittend naar staand wil gaan en omgekeerd. Dit moet beter kunnen! En gelukkig is dat ook zo! Er bestaat een drop-in replacement PCBtje waarbij je tot 16 hoogtes kunt opslaan, het heet Megadesk

Megadesk installeren en configureren

Je kan op de Megadesk website filmpjes vinden hoe je de Bekant controller kan openkrijgen. Het is wat prutswerk en je zal sowieso schade toebrengen aan het plastic, gelukkig zie je dat niet wanneer de controller onder je bureau hangt.

Eens je Megadesk up and running is kan je al een aantal posities gaan programmeren, dat doe je door je bureau op de hoogte te zetten die je wil en dan bijvoorbeeld 2 keer kort op de omhoog knop te drukken en dan 1 keer lang tot je 2 biepjes hoort. Wil je positie 3 instellen, druk je 3 keer kort op de omhoog knop enz..

Een geconnecteerde Megadesk

Nu je je Bekant bureau met geheugenposities op je gewenste zit/sta hoogte kunt instellen met een paar simpele druk acties is het tijd om er helemaal een slimme geconnecteerde desk van te maken!

Allereerst moeten we de firmware die standaard op de Megadesk staat vervangen door firmware waarbij de seriële communicatie aan staat. Gelukkig vind je deze firmware op de GitHub van Megadesk, download de hex file waar “-serial” in staat.

Om de ATMega op de Megadesk pcb te kunnen herflashen heb je een AVR programmer nodig zoals deze. Daarna installeer je de Arduino IDE, in de IDE installeer je de ATTinyCore library. Ten slotte installeer je avrdude via de command line met

sudo apt install avrdude

Al wat er nu nog rest is de AVR programmer aansluiten op je Megadesk. Bekijk dit schema, of lees af op je PCB welke pinnen van je programmer je waar moet verbinden. Je hoeft de voedingsspanning niet aan te sluiten als de Megadesk nog verbonden is met de voeding van je Bekant bureau.

Het programmeren doe je met volgende commando’s (de fuses zijn zodat je je geheugenposities niet kwijt speelt). Je moet avrdude.conf uit de ATTinyCore library gebruiken alsook usbasp als programmer selecteren tenzij je een andere programmer gebruikt. In dit voorbeeld flashen we de versie van maart 2022.

avrdude -C PATH/TO/Arduino15/packages/ATTinyCore/hardware/avr/1.5.2/avrdude.conf -c usbasp -B 32 -p t841 -U lfuse:w:0xe2:m

avrdude -C PATH/TO/Arduino15/packages/ATTinyCore/hardware/avr/1.5.2/avrdude.conf -c usbasp -B 32 -p t841 -U hfuse:w:0xd6:m

avrdude -C PATH/TO/Arduino15/packages/ATTinyCore/hardware/avr/1.5.2/avrdude.conf -c usbasp -B 32 -p t841 -U efuse:w:0xfe:m

avrdude -C PATH/TO/Arduino15/packages/ATTinyCore/hardware/avr/1.5.2/avrdude.conf -v -pattiny841 -cusbasp -B 32 -Uflash:w:megadesk-v2022.03-serial.hex:i

Bekant verbinden met je netwerk

Nu je Megadesk commando’s kan ontvangen en (hoogte) gegevens kan doorsturen, kunnen we de seriële verbinding opzetten met bijvoorbeeld een NodeMCU V3 waar een ESP8266 WiFi module op staat, handig want die kunnen we met ESPhome poepsimpel instellen en toevoegen aan Home Assistant!

Installeer eerst en vooral esphome, hoe je dit doet lees je hier. Daarna kan je de esphome code gebruiken die op de Megadesk GitHub staat. Het board type pas je aan naar nodemcuv2 alsook je WiFi SSID en wachtwoord. Connecteer je NodeMCUv3 bordje met je PC en gebruik de esphome command line om de esphome firmware te flashen.

Je NodeMCUv3 verbinden met Megadesk doe je als volgt:

Algemene manier om te verbinden (Megadesk -> ESP bordje):
MISO -> RX
SCK -> TX
GND -> GND

NodeMCU specifiek:
MISO > D1
SCK > D0
GND > GND

Home Assistant Integratie

Dankzij esphome zal Home Assistant je bordje onmiddellijk vinden op het netwerk, als dit niet het geval is kan je manueel bij Devices&Services een esphome integratie toevoegen. Nu kan je de hoogte van je bureau bekijken en veranderen. Zo kan je bijvoorbeeld tracken hoe lang je neerzit of rechtstaat.

Wat wijzelf hebben toegevoegd is een reminder om af en toe rechtstaand te werken, dat kan je bijvoorbeeld samen met een Xiaomi Aqara Body sensor bereiken, lees hier even hoe je een zigbee netwerk op zet. Als de bureau op een lage positie staat en de body sensor je ‘ziet’ kan je met een history stats sensor tracken hoeveel tijd er in deze positie is doorgebracht.

Heb je zelf nog leuke usecases of wil je meer info over hoe je de Megadesk in combinatie met NodeMCU en Home Assistant gebruikt, laat iets weten in de comments.

Verder nog leuke projectjes gepland? Wat dacht je van Slimme Automatische Badkamer Verlichting?