Sinds de komst van openHAB(3) ligt de nadruk vooral op de configuratie via de web browser.
Toch geef ik nog steeds de voorkeur om alles manueel te configureren.
Op je toestel zal je de map /etc/openhab terugvinden (zie ook Gedeelde map). Laat ons eens kijken:
pi@raspberrypi:~ $ ls -la /etc/openhab
total 56
drwxr-xr-x 14 openhab openhab 4096 Apr 19 05:58 .
drwxr-xr-x 101 root root 4096 Apr 19 07:23 ..
drwxr-xr-x 2 openhab openhab 4096 Apr 17 09:34 html
drwxr-xr-x 3 openhab openhab 4096 Apr 17 09:33 icons
drwxr-xr-x 2 openhab openhab 4096 Apr 17 09:49 items
drwxr-xr-x 2 openhab openhab 4096 Apr 17 09:34 persistence
drwxr-xr-x 2 openhab openhab 4096 Apr 17 09:34 rules
drwxr-xr-x 2 openhab openhab 4096 Apr 17 09:34 scripts
drwxr-xr-x 2 openhab openhab 4096 Apr 19 13:08 services
drwxr-xr-x 2 openhab openhab 4096 Apr 17 09:34 sitemaps
drwxr-xr-x 2 openhab openhab 4096 Apr 17 09:34 sounds
drwxr-xr-x 2 openhab openhab 4096 Apr 17 09:49 things
drwxr-xr-x 2 openhab openhab 4096 Apr 17 09:34 transform
drwxrwxrwx 2 openhab openhab 4096 Apr 19 05:58 .vscode
Hier vinden we een mapstructuur terug die we ook een beetje terugvinden onder de grafische interface.
De voornaamste mappen zijn things en items.
Door zelf things en items bestanden aan te maken kan je de things eenvoudig kopieren, plakken en aanpassen. Dit gaat een stuk sneller dan te klikken en blijven klikken via de gui.
Je zou via ssh zelf bestanden kunnen aanmaken onder deze mappen, maar er is een manier die veel eenvoudiger is.
Zie https://iot.qbus.be/nl/openHAB3/Software voor de installatie.
Na de installatie kan je de plugin voor openHAB installeren: https://marketplace.visualstudio.com/items?itemName=openhab.openhab
We beginnen nu met het openen van onze openHAB map. File - Open Folder - en kies dan de gedeelde map van openHAB. (zie https://openhab-wiki.qbus.be/nl/Software)
Nu, voor we de functionaliteit van openHAB in VSCode kunnen gebruiken hebben we een API key nodig.
Ga in uw browser naar openHAB - klik onderaan op uw account - klik in het hoofdvenster op 'Nieuwe API token genereren.
Vul uw account gegevens in en geef een naam aan de token.
Klik op 'API-token aanmaken'. Selecteer en kopieer de gegenereede token en bewaar deze ergens in een tekstbestandje of zo. Je zal deze maar 1x te zien krijgen!
openHAB heeft standaard de beveiliging hoog staan. Om VS code te kunnen gebruiken moeten we enkele aanpassingen maken in configuratiebestanden om dit toe te laten. Open een ssh verbinding met uw toestel en geef volgend commando:
sudo nano /var/lib/openhab/etc/org.apache.karaf.shell.cfg
Zoek hier naar de setting sshHost
en stel deze in op 0.0.0.0
Afsluiten met <CTRL> + X + Y
Dan doen we hetzelfde voor:
sudo nano /etc/openhab/services/runtime.cfg
Zoek naar org.apache.karaf.shell:sshHost
en stel in op 0.0.0.0
(verwijder de #)
Vervolgens gaan we terug naar Visual Studio Code, klikken onderaan on het tandwieltje en kies settings.
Je hebt de keuze tussen user en workspace settings. We gaan hier enkel settings aanpassen voor onze gedeelde map voor openhab en dus kiezen we Workspace. Bovenaan kan je zoeken naar openHAB, zodat je alle settings te zien krijgt van openHAB.
Klik op Edit Json Settings.
Zodat je dit krijgt:
{
"openhab.connection.authToken": ""
}
Heeft het nu te maken met de nieuwe versie van openHAB? Geen idee, maar ik heb ondervonden dat de voorgestelde settings niet werken zoals het zou moeten. Je kan best de settings die ik gebruik overnemen en aanpassen naar uw configuratie:
{
"openhab.connection.authToken": "API-TOKEN",
"openhab.connection.host": "IP",
"openhab.connection.port": 8080,
"openhab.useRestApi": true,
"openhab.languageserver.remotePort": 5007,
"openhab.consoleCommand": "ssh openhab@IP -p 8101"
}
Je kan nu al eens een korte test doen om te zien of alles werkt. Open daatvoor uw items bestand.
De namen van de items staan in een groene kleur. Als je met je muis over de naam gaat, zie je onmiddelijk de status van het item.
Een van de vele voordeln is dat we nu in deze software een venster kunnen openen naar de openHAB console. Druk hiervoor op <CTRL> + <SHIFT> + P
dan kan je openhab typen. In de lijst zal je 'open openHAB console' zien staan. Die moeten we hebben. Onderaan opent zich dan een nieuw console venster:
Je kan inloggen met het standaard wachtwoord van openhab, nl habopen
De console van openHAB heeft veel commando's, je kan er Bindings met activeren en deactiveren en nog zoveel meer. Mijn favoriet commando is log:tail
dit kan je onderaan intypen en bevestigen met <ENTER>
Op die manier zie je onderaan alles wat er gaande is in openHAB. Maak je bv aanpassingen aan files, zal je in de logs zien dat deze opnieuw geladen worden - eens je ze hebt bewaard uiteraard. Heb je geen fouten gemaakt zie je gewoon loading items. Zitten er fouten in je items bestand, dan komt de foutmelding erbij en weet je onmiddelijk waar je een fout hebt gemaakt.
Voor deze setup hebben we 2 menu items die we kunnen gebruiken.
Het icoon voor uw Samba Share folder:
En het icoon voor openHAB:
Hier heb ik een nieuw items bestand aangemaat test.items
Nu gaan we naar het openHAB menu en zorgen we ervoor dat onze things zichbaar zijn. Als je met je muis over een thing gaat zie je dit:
Dan kan je uiterst rechts op de pijl klikken en komt je thing als item in uw items bestand:
Dit is dus een heel snelle manier om items te maken van things.
Met VSCode kan je ook vrij eenvoudig rules aanmaken, maar hierover later meer.