ID.nl logo
Zo ontwerp je jouw droominterieur!
© ronstik
Huis

Zo ontwerp je jouw droominterieur!

Of je nu een slaapkamer een opfrisbeurt wilt geven of een huis (opnieuw) wilt inrichten, je kunt waarschijnlijk wel wat hulp gebruiken met inspiratie, planning en uitvoering. In dit artikel gaan we op zoek naar de beste diensten en apps om je klusproject of interieurinrichting zo soepel mogelijk te laten verlopen.

In dit artikel laten we zien met welke apps en webdiensten je je huis virtueel kunt inrichten en waarmee je inspiratie op kunt doen om je huis opnieuw aan te kleden.

  • Doe inspiratie op bij Instagram en Pinterest
  • Bepaal de gewenste stijl met de AI-tool Decoritt
  • Maak een moodboard met Milanote
  • Jat andermans ideeën voor de inrichting van bijvoorbeeld Remodelista of IKEA Hackers
  • Richt je huis in met Floorscanner en Floorplanner

De tv is vaak een groot meubel in je woonkamer, hiermee moet je rekening houden: Hoe integreer je de televisie optimaal in je interieur?

Tip 01: Kamer opmeten

Met een meetlint kamers opmeten is niet meer van deze tijd natuurlijk. Als je beschikt over een moderne iPhone of iPad is de kans groot dat je middels de camera’s en sensors een ruimte digitaal kunt opmeten. Het sleutelwoord is LiDAR, een systeem dat op alle Pro- en Max-modellen van de iPhone en iPad zit.

Er zijn talloze apps waarmee je met deze functie een ruimte automatisch kunt scannen. Eén van die opties is Floorscanner van het Nederlandse bedrijf Floorplanner. Zodra je de gratis app hebt geïnstalleerd, laat het je meteen weten of jouw iPhone of iPad wordt ondersteund. Het scannen van een ruimte is heel gemakkelijk, je hoeft er alleen maar voor te zorgen dat er voldoende (dag)licht is en dat je afstand tot de muren houdt. Je begint bij één muur en loopt vervolgens rustig door de kamer. Zodra de app een muur of object herkent, zie je dat deze middels witte lijnen wordt weergegeven. Scan de hoeken van de kamer vanuit verschillende richtingen, zodat de ruimte steeds nauwkeuriger in beeld wordt gebracht. Gaandeweg zie je een 3D-model van de ruimte verschijnen. Klik op Finish project als je klaar bent.

Wat Android-toestellen betreft: die bevatten al enige jaren geen LiDAR meer. Wel kun je met apparaten die ARCore ondersteunen, gebruikmaken van apps als magicplan.

Floorscanner maakt een 3D-model van het vertrek.

Tip 02: Plattegrond

Het wordt pas echt leuk als je de met Floorscanner gemaakte scan gaat importeren in Floorplanner. Maak daarvoor eerst een gratis account aan in de app Floorscanner. Je scan wordt daarna automatisch naar een 2D-plattegrond omgezet. Alle objecten die de app heeft herkend, worden meteen in de kamer geplaatst. De kans dat je scan in één keer helemaal goed is gegaan, is vrij klein. Er zijn altijd hoeken of wanden die de scan niet helemaal goed heeft herkend, bijvoorbeeld omdat er een kast voor staat. Gelukkig is dit eenvoudig te fixen. Als een wand bijvoorbeeld niet helemaal doorloopt, dan selecteer je het uiteinde en trek je het bolletje naar de wand waar de muur naartoe loopt. Links onder Build kun je nieuwe muren trekken door op Draw Wall te klikken. Bewerkingen doe je in de webversie van Floorplanner, omdat er geen aparte app is. Of je surft op je pc naar www.floorplanner.com en logt in met je accountgegevens van Floorscanner.

De 2D-plattegrond die op basis van de scan is gemaakt.

Tip 03: Eigen ontwerp

 Je hoeft niet per se te beginnen met een scan van je huis of kamer, je kunt ook handmatig een nieuw 2D-plan maken in Floorplanner als je de maten opgemeten hebt met een meetlint of laserafstandsmeter. Als alle muren goed op elkaar aansluiten, zul je zien dat het vertrek een kleur krijgt. Klik erop om af te lezen hoeveel vierkante meter oppervlakte de ruimte heeft. Om aan te geven of het vertrek bijvoorbeeld een woonkamer, keuken of slaapkamer is, klik je op Roomtype. Kies eventueel nog bij Category voor House en geef daarna het Type aan, bijvoorbeeld Living. Elke ruimte heeft zijn eigen kleur en je 2D-model ziet er daardoor overzichtelijk uit.

Maak er een overzichtelijke plattegrond van door de kamers te benoemen.

Tip 04: Inrichten

Als de 2D-plattegrond van je huis of ruimte er goed uitziet en de maten kloppen, dan kun je beginnen met inrichten. We blijven nog even bij Floorplanner, want dit programma is ook enorm handig om je huis opnieuw mee in te richten. Het heeft namelijk honderdduizenden (!) objecten in zijn database. Klik links op Objects en gebruik het zoekveld om naar iets specifieks te zoeken. Het programma kent zelfs de meest bekende IKEA-meubels, zoals Pax- en Billy-kasten en stoelen en tafels uit de Stockholm-serie. Je kunt ook zoeken op categorie (Categories) of op merk (Brand). Sleep een object naar de gewenste positie in je huis en klik er vervolgens op om het te draaien, te spiegelen of groter of kleiner te maken. Klik links op Settings om de exacte maat in te vullen of om het object een andere kleur te geven.

Je kunt je huis zelfs inrichten met IKEA-meubels.

Tip 05: Bekijken in 3D

Wil je in 3D door je nieuw ingerichte ruimte lopen om te zien of een indeling goed werkt of niet, ga dan rechts bovenin naar 3D. Links kies je de camerahoogte en met je muis verander je de hoek. Je kunt een foto van een gewenste positie exporteren door rechts bovenin op Export image te klikken.

Door de 3D-visualisatie krijg je een goed idee hoe de ruimte eruit komt te zien.

Een versie met lage resolutie en het watermerk van Floorplanner is gratis, wil je een hogere resolutie zonder watermerk, dan moet je credits kopen. Ook voor projecten met meerdere verdiepingen zijn credits nodig. Je kunt eenmalig credits kopen à 1,44 euro per credit, een bedrag wat in het niet valt bij eventuele inrichtings- en verbouwingskosten.

Er zijn overigens veel alternatieven voor Floorplanner, een bekende concurrent is magicplan. Hier krijg je twee projecten gratis. Wil je meer, dan moet je het abonnement à 130 euro per jaar aanschaffen.

Wil je afbeeldingen in een hoge resolutie downloaden, dan moet je credits kopen.

Elektriciteitsplan maken Bij een verbouwing hoort wellicht ook een nieuw elektriciteitsplan. Om een idee te krijgen van wat je nodig hebt in de vernieuwde meterkast, kun je de Hafonorm Configurator van ABB gebruiken. Wil je weten wat je aan elektra nodig hebt, klik dan op Energiebehoefte opgeven, doorloop de vragenlijst en aan het einde wordt er een voorstel voor een groepenkast gegeven. Handig!

Met de groepenkastconfigurator weet je wat er aan elektra nodig is.

Tip 06: Inspiratie opdoen

Het is natuurlijk leuk om te zien welke meubels qua ruimte wel en niet passen, maar het is ook belangrijk om te weten welke kleuren je wilt gebruiken en welke stijl meubels je in je nieuw in te richten kamer wilt zetten. Sociale media zijn hiervoor erg handig, want op basis van dingen die je leuk vindt, wordt je feed opgebouwd en kom je steeds meer dingen in dezelfde stijl tegen.

Kom je bijvoorbeeld op Instagram iets interessants tegen en wil je dit bewaren voor later, tik dan rechts onder het plaatje op het pictogram van een bladwijzer om het aan een verzameling toe te voegen. Je kunt meerdere verzamelingen aanmaken en deze met andere Instagram-gebruikers delen. Handig als je partner en jij beiden foto’s aan een verzameling willen toevoegen! Zodra je op het bladwijzericoontje drukt, kies je voor Maak een gezamenlijke verzameling, geef je een naam op en selecteer je de naam van de Instagram-gebruiker met wie je de verzameling wilt delen. Sluit af door op Opslaan te drukken. Iedere keer als je iets opslaat, kun je in het pop-upscherm de juiste verzameling kiezen.

Een andere app waarmee je inspiratie kunt opdoen, is Pinterest. Je kunt gemakkelijk afbeeldingen opslaan en de app komt vervolgens met talloze andere afbeeldingen op basis van wat je eerder hebt opgeslagen. Binnen no-time bouw je zo een mooie collectie op. Houzz is een vergelijkbare dienst die vooral gericht is op interieurontwerp.

Maak een gezamenlijke verzameling aan op Instagram om inspirerende foto’s in op te slaan.

Tip 07: AI voor inspiratie

Ook AI (kunstmatige intelligentie) kan je goed helpen bij het inrichten van je huis. Decoritt bijvoorbeeld, is een tool waarmee je gemakkelijk interieurs kunt ontwerpen en bewerken. Bekijk eventueel de vijf introductievideootjes om meer te weten te komen over de werking van Decoritt. Om te beginnen, klik je op Upload Image en selecteer je een foto van de kamer die je wilt inrichten. Zorg ervoor dat er niet te veel persoonlijke items op de foto zichtbaar zijn. Zet eventueel een vinkje voor Clear Room, Decoritt probeert dan zo goed mogelijk objecten uit een foto te verwijderen. Dit werkt prima als er een paar kleine objecten staan, maar het resultaat is slechter als er heel veel objecten op de foto staan. Ben je tevreden met je lege kamer, klik dan op Done.

Tip 08: Wat je maar wenst

Selecteer één van de stijlen onderaan en aan de rechterkant wordt automatisch een AI-versie van de ruimte gegenereerd. In het tekstvak boven de stijlen kun je extra wensen aangeven middels Engelse termen. Klik op het verfpalet (Color Guidance) ernaast om een specifieke kleur uit te kiezen. Je kunt zelfs meubilair toevoegen door op Furniture te klikken en een meubelstuk naar je foto te slepen.

Handig is dat je bepaalde onderdelen van je foto kunt uitsluiten. Wil je bijvoorbeeld dat het plafond hetzelfde blijft, dan klik je op Brush, stel je de Brush Size in en markeer je het plafond. Selecteer vervolgens Preserve All Details.

Net als bij veel andere AI-apps zijn de resultaten soms verbluffend goed, andere keren bakt het er niks van. Is het AI gelukt er iets prachtigs van te maken, exporteer de afbeelding dan door op downloadknop aan de rechterkant te klikken. Op een gegeven moment vraagt de dienst om je aan te melden en moet je upgraden naar een weekabonnement van 9 dollar (ruim 8 euro).

Gebruik AI om foto’s van je echte ruimte te transformeren naar een stijl die je bevalt.

Tip 09: Moodboard maken

Als je Instagram, Pinterest, AI-apps en nog meer verschillende diensten gebruikt, is het lastig om het overzicht te behouden. Een goede moodboard-app kan helpen om al je ideeën op één plek op te slaan. Milanote is een populaire tool. Klik op Sign up for free en maak een account aan. Milanote is een digitaal whiteboard waar je allerlei dingen op kunt verzamelen. Je begint met een nieuw moodboard door vanuit het menu een Board aan te maken. Geef het een naam, bijvoorbeeld Slaapkamer, en dubbelklik op je board om het te openen. Rechtsonder kun je nu een sjabloon kiezen, in dit geval kies je voor More templates / Interior Design / Moodboard. Klik op Use this template en zet eventueeleen vinkje voor Keep example content als je de inhoud van het sjabloon wilt laten staan in je eigen moodboard.

Lekker scheuren!

Een prikbord is ook een prima moodboard

Naar de plekken waar in het sjabloon foto’s staan, sleep je nu je eigen verzamelde foto’s en inspiratie-ideeën. Naast foto’s kun je ook video’s of geluidsbestanden invoegen, kun je commentaar geven op foto’s en kleuren toevoegen die bij jouw moodboard passen. Een moodboard kun je exporteren als pdf door bovenaan op Export te klikken. Milanote is gratis te gebruiken tot honderd elementen in al je gecombineerde moodboards, een upgrade kost een tientje per maand.

Andere moodboard-diensten zijn Morpholio Board voor iOS- en Mac-gebruikers of Canva, dat een speciale Mood Board Maker heeft.

Met een moodboard kun je je wensen en smaken vastleggen.

Keuken ontwerpen Weet je de afmetingen van je keuken en wil je een nieuwe IKEA-keuken installeren, dan biedt de website van de Zweedse meubelgigant een vernieuwde en handige planner. Ga naar de Keukenplanner en klik op Open de keukenplanner. Kies voor Begin met ontwerpen, doorloop een vragenlijst en de planner zal je een paar voorstellen doen. Uiteraard kun je ook alle componenten zelf selecteren.

IKEA’s keukenplanner kan je helpen met een geschikte keukeninrichting.

Tip 10: Interieurtips

Soms kom je er zelf niet uit, en dan is het fijn als je ideeën van anderen kunt meenemen bij het inrichten. Gelukkig zijn er talloze websites waar je goede tips over interieurontwerp kunt vinden. Een goede Engelse site is Remodelista. Geef een zoekterm op of vind artikelen door in het menu op je favoriete onderwerp te klikken, kijk bijvoorbeeld eens bij Get Inspired / Steal This Look. Als je een leuk item tegenkomt, dan kun je een koppeling invoegen op je moodboard in Milanote zodat je de tips niet vergeet als je aan de slag gaat met de desbetreffende ruimte. De site is geheel gratis maar bevat wel reclame.

Heb je veel IKEA-meubels in huis, dan is IKEA Hackers een leuke optie. Hier vind je simpele DIY-projecten waarmee je IKEA-producten wat meer flair en originaliteit kunt geven. The Spruce geeft handige tips voor als je je huis wilt renoveren of gewoon opnieuw wilt inrichten en VT Wonen en Interior Junkie zijn voorbeelden van Nederlandstalige websites met tips voor huisinrichting, klusprojecten en inspiratie. Wil je meer technische tips over renovaties, dan heeft bouwmarkt Karwei een handige sectie met tips en artikelen als je op advies klikt.

Remodelista: www.remodelista.com Ikea Hackers: www.ikeahackers.net The Spruce: www.thespruce.com VT Wonen: www.vtwonen.nl Interior Junkie: www.interiorjunkie.nl Karwei: www.karwei.nl

Remodelista geeft praktische tips over hoe je bijvoorbeeld kleine ruimtes groter kunt laten lijken.

Projecten plannen Voor kleine projecten kun je de planning uiteraard gewoon in Excel bijhouden, maar ga je aan de slag met een flinke renovatie, dan kun je het beste een gespecialiseerde dienst gebruiken. Monday is een goede tool, je kunt er gratis gebruik van maken, maar bent dan wel gelimiteerd in het aantal projecten dat je kunt beheren.

Monday is een goede keuze als je grotere renovatieprojecten in goede banen wilt leiden.

▼ Volgende artikel
Pushnotificaties vanaf je thuisserver: zo werkt ntfy
© ID.nl
Huis

Pushnotificaties vanaf je thuisserver: zo werkt ntfy

Als je services op je eigen thuisserver draait, wil je daar ook eenvoudig meldingen van kunnen ontvangen. Ntfy stelt je in staat om eenvoudig pushnotificaties naar je telefoon of computer te sturen. Bovendien kun je ntfy op je eigen thuisserver draaien, zodat je alles in eigen handen hebt. In dit artikel gaan we ermee aan de slag.

Dit gaan we doen

In dit artikel zetten we een ntfy-server op die je zelf beheert. We regelen eerst de randvoorwaarden: hoe je server van buitenaf bereikbaar wordt (bijvoorbeeld via vpn of portforwarding) en hoe je https netjes afhandelt met een reverse proxy en een certificaat van Let's Encrypt. Daarna bouwen we de basis: configuratiebestand, opslagmappen en een draaiende container met Docker.

Vervolgens maken we gebruikers en rechten aan, zodat niet iedereen zomaar kan publiceren of meelezen. Je test met de webinterface en met de mobiele app, zodat je zeker weet dat meldingen ook echt binnenkomen. Tot slot koppel je ntfy aan je eigen tools: eerst met een simpele curl-oproep vanuit een shellscript, daarna met extra's zoals titel, prioriteit en tags. Als je wilt, breid je dat uit naar meldingen met bijlagen, acties (doorklikken naar een url) en integratie vanuit Python. 

Lees ook: Je oude Windows-pc als thuisserver: zo zet je Jellyfin en Syncthing op

Netwerkmonitoringsoftware, een programma dat je Docker-containers bijwerkt, een smarthomecontroller, back-upsoftware, ze hebben allemaal één ding gemeen: ze moeten je meldingen kunnen sturen als er iets gebeurt. Dat kan op verschillende manieren: via e-mail, instant messaging of pushnotificaties naar je telefoon. Dat laatste verloopt doorgaans via een gecentraliseerde dienst zoals Firebase Cloud Messaging (voorheen Google Cloud Messaging) of Apple Push Notification service.

Pushnotificaties zijn handig omdat ze bijna onmiddellijk aankomen en omdat zowel Android als iOS toestaan om in te stellen hoe je ervan op de hoogte wordt gebracht. Wil je pushnotificaties kunnen ontvangen zonder een server onder controle van een partij zoals Google of Apple, dan moet je ook hiervoor je eigen service installeren. Een opensource-project dat dit implementeert, is ntfy.

Werking van ntfy

Je ntfy-server ontvangt meldingen van je programma's via http over een REST-API en zet deze om in pushnotificaties voor de bijbehorende Android- of iOS-app of voor een webpagina op je computer. De API is in de documentatie van het project beschreven, zodat je ook je eigen software met ntfy kunt laten praten. Het project heeft ook een command-line-interface, zodat je bijvoorbeeld shellscripts op je Linux-server eenvoudig pushnotificaties kunt laten verzenden.

Ntfy gebruikt het bekende publish/subscribe-patroon. Een zender publiceert notificaties op een specifiek onderwerp door data te sturen naar een url via een http POST- of PUT-aanvraag. Het onderwerp wordt gedefinieerd door een segment van de url dat volgt op de domeinnaam. Een ontvanger kan zich dan abonneren op dit onderwerp. Elke keer dat de zender daarna een notificatie op dit onderwerp publiceert, stuurt ntfy de data naar alle ontvangers die zich op dit onderwerp hebben geabonneerd. Door ntfy op je eigen server te installeren, heb je de volledige controle over deze notificaties.

Met ntfy kun je services pushnotificaties laten verzenden naar je telefoon of computer.

Serververeisten

De mobiele app van ntfy moet met je server kunnen communiceren om te vragen of er notificaties zijn. Als je ntfy op een server in je lokale netwerk installeert, moet die dus van buitenaf bereikbaar zijn. Dat kun je met portforwarding in je modem regelen of door je telefoon buitenshuis automatisch met een VPN-server op je lokale netwerk te laten verbinden. Heeft je internetaansluiting thuis geen vast ip-adres, dan moet je ook een DynDNS-updater te draaien.

Een andere optie is om ntfy op een VPS (Virtual Private Server) te installeren. Hierop draai je dan ook een reverse proxy voor https-toegang, die een TLS-certificaat van Let's Encrypt opvraagt. Je hebt dan een domein nodig, waarvoor je een DNS A-record naar het ip-adres van je server laat verwijzen. In de rest van dit artikel gaan we uit van een installatie van ntfy op een lokale server met Debian 13 ("trixie") met behulp van Docker Compose.

Basisconfiguratie

Creëer eerst enkele directory's voor ntfy:

$ mkdir -p containers/ntfy/{cache,etc,lib}

Creëer dan het bestand containers/ntfy/etc/server.yml met de volgende configuratie voor ntfy:

base-url: "https://ntfy.example.com"

cache-file: "/var/cache/ntfy/cache.db"

attachment-cache-dir: "/var/cache/ntfy/attachments"

auth-file: "/var/lib/ntfy/user.db"

auth-default-access: "deny-all"

Vervang het domein achter base-url door het domein waarop je ntfy-server draait. Als je gebruikmaakt van een reverse proxy, dan moet dit de url zijn die door de proxy naar ntfy wordt doorgestuurd. Bovendien moet je dan ook een regel behind-proxy: true toevoegen. In de documentatie van ntfy staan voorbeeldconfiguraties voor nginx, Apache2 en Caddy.

Met auth-default-access: "deny-all" tot slot heeft standaard niemand toegang tot onderwerpen. Elke toegang moet dus expliciet worden toegestaan.

Account bij ntfy.sh

De ontwikkelaar van ntfy draait een publiek beschikbare ntfy-server op ntfy.sh. De webinterface daarvan is bereikbaar op https://ntfy.sh/app. Die kun je gratis gebruiken, bijvoorbeeld om ntfy uit te proberen, maar dat komt met beperkingen. Zo kun je geen onderwerpen reserveren en is er een maximum van 250 notificaties per dag en 2 MB per bijlage. Verder is er geen enkele vorm van authenticatie. De enige manier van beveiliging ligt dus in het geheimhouden van je onderwerpen. Die beperkingen heb je niet als je ntfy zelf installeert. Maar als je liever niet zelf een installatie onderhoudt, kun je een betaald plan nemen. Daarmee ondersteun je ook de ontwikkeling van het opensource-project. Dat begint met een Supporter-plan van 5 dollar per maand (circa 5 euro), waarmee je drie onderwerpen kunt reserveren en 2.500 notificaties mag sturen met maximum 25 MB per bijlage.

Betaal voor gebruik van de publieke ntfy-server en ondersteuning van het opensource-project.

Docker Compose

Definieer nu de container in het bestand docker-compose.yaml:

services:

  ntfy:

    image: binwiederhier/ntfy

    container_name: ntfy

    command: serve

    restart: always

    environment:

      - TZ=Europe/Amsterdam

    volumes:

      - ./containers/ntfy/cache:/var/cache/ntfy

      - ./containers/ntfy/etc:/etc/ntfy

      - ./containers/ntfy/lib:/var/lib/ntfy

    ports:

      - 80:80

Ga je voor de aanpak met een reverse proxy, dan definieer je in ditzelfde bestand ook een container voor die reverse proxy.

Start daarna de container met:

$ docker-compose up -d

Als alles goed gaat, is de webinterface van ntfy daarna bereikbaar op het ingestelde domein of ip-adres. Bovenaan links zie je een melding Notifications are disabled. Klik op Grant now om notificaties in je webbrowser toe te staan, en bevestig dit daarna in het dialoogvenster dat je webbrowser toont.

Sta notificaties in je webbrowser toe.

Lees ook: Docker op je NAS: zo draai je Plex, Home Assistant en meer

Notificaties testen

Omdat je ntfy zo geconfigureerd hebt dat alle toegang standaard wordt geblokkeerd, kun je nog niets doen in de webinterface. Je dient dus eerst gebruikers aan te maken en die de toelating te geven om op specifieke onderwerpen te publiceren of zich te abonneren. Open daarvoor een shell in de container van ntfy met de opdracht docker exec -ti ntfy /bin/sh. Als je daarna ntfy user list intypt, krijg je te zien dat anonieme, niet geauthenticeerde gebruikers geen enkele permissies hebben. Met de opdracht ntfy user add --role=admin admin voeg je dan een admin-gebruiker met de naam admin toe. Gebruikers met de rol admin kunnen op alle onderwerpen publiceren en zich erop abonneren. Geef de gebruiker een wachtwoord en bevestig.

Klik nu in de webinterface van ntfy links op Settings en dan onder Manage users op Add user. Vul de url van je ntfy-server in, de gebruikersnaam admin en het wachtwoord dat je zojuist hebt ingesteld. Klik dan links op Subscribe to topic. Kies een naam of klik op Generate name om ntfy een willekeurige naam te laten kiezen en abonneer je dan op het onderwerp met Subscribe. Klik dan op Publish notification en vul hetzelfde onderwerp in. Voer ook een titel en een bericht voor je notificatie in en klik op Send. Als alles goed gaat, verschijnt je testbericht nu in een 'conversatie' met de naam van het onderwerp, en wijst je webbrowser je op een notificatie.

Publiceer notificaties in je webbrowser.

Gebruikersrechten

De webapplicatie is leuk voor een test, maar een mobiele app is vaak handiger. De app van Ntfy voor Android en iOS stelt je in staat om op je telefoon je te abonneren op onderwerpen (publiceren is niet mogelijk) en daarvoor notificaties te ontvangen. Als je de Android-app via F-Droid installeert, is dat zonder ondersteuning voor Firebase; de versie op Google Play gebruikt wél de servers van Google. Je maakt voor je app bij voorkeur een gebruiker aan die alle onderwerpen alleen kan lezen. Dat doe je weer in de shell van de container van ntfy met ntfy user add android om de gebruiker android aan te maken (voer een wachtwoord in) en dan ntfy access android "*" read-only voor de leesrechten.

Open daarna de Android-app en tik op de drie stippen rechtsboven. Kies Settings en stel dan Default server in op het domein van je ntfy-server. Tik daarna op Manage users en Add new user en vul de url van je ntfy-server in, de gebruikersnaam android en het bijbehorende wachtwoord. Tik dan op Add user. Keer dan terug naar het hoofdscherm van de app en klik op het plusicoontje rechtsonder. Voer het onderwerp in dat je tijdens de test in stap 5 hebt gebruikt en tik op Subscribe om je erop te abonneren. Vanaf nu zal de app voor elk ontvangen bericht op dit onderwerp een notificatie tonen. Je krijgt zelfs de al verzonden berichten te zien. Overigens toont de app twee waarschuwingen. Voor betrouwbare notificaties volg je de suggesties om batterijoptimalisaties uit te schakelen en naar WebSockets over te schakelen in plaats van een http-stream.

De Android-app ontvangt een notificatie voor elk bericht dat op een geabonneerd onderwerp wordt verstuurd.

Shellscripts

Nu je hebt getest dat je ntfy-server werkt, is het tijd om je eigen services notificaties te laten uitsturen. Hoe je dat precies configureert, hangt van de service af. Maar je zult altijd eerst een gebruiker met schrijfpermissies voor een specifiek onderwerp moeten aanmaken. Voor een back-upproces dat je op de hoogte moet houden van de status van je back-ups, maak je bijvoorbeeld een gebruiker aan met de opdracht ntfy user add backup in de container van ntfy. Geef die dan schrijfrechten op het onderwerp backup met ntfy access backup backup write-only.

Het publiceren van een bericht op een specifiek onderwerp behelst niet meer dan het sturen van een http POST-aanvraag naar de webserver. Dat kan bijvoorbeeld in een shellscript op je Linux-server met de opdracht curl:

curl -u backup:password -d "Backup successful" ntfy.example.com/backup

Als je in de ntfy-app op je telefoon je op dit onderwerp abonneert, ontvang je deze notificatie nadat het back-upscript is uitgevoerd. Op deze manier is het heel eenvoudig om je eigen shellscripts notificaties te laten verzenden.

Berichten met extra's

Ntfy ondersteunt talloze extra functies om je berichten te laten opvallen of om hun gedrag aan te passen. Je gebruikt deze allemaal door een http-header aan je aanvraag toe te voegen. Zo kun je aan de notificaties van je back-upscript een titel, prioriteit en tags toevoegen. De tags worden als pictogrammen getoond door de mobiele app. Een voorbeeld:

curl -u backup:password -H "Title: Backup failure" -H "Priority: urgent" -H "Tags: warning,skull" -d "Backup unsuccessful" ntfy.example.com/backup

Als de Android-app een bericht met standaardprioriteit ontvangt, doet ze je telefoon kort vibreren en speelt ze een kort geluidje af. Door de prioriteit op urgent te zetten, wordt het standaardnotificatiegeluidje vergezeld van een langer getril van je telefoon, waardoor je onmiddellijk merkt dat dit dringend je aandacht vereist.

Een ntfy-bericht met een titel, prioriteit en pictogrammen.

Plaatjes en lay-out

Ntfy kan ook plaatjes sturen, bijvoorbeeld een foto van een ip-camera die beweging detecteert, maar niet in combinatie met een tekstbericht. Om een bestand naar ntfy te uploaden met curl in een http PUT-aanvraag gebruik je de optie -T en de bestandsnaam. Met de header Filename voeg je de bestandsnaam toe die de ntfy-app je moet tonen. Dat ziet er dan als volgt uit:

curl -u admin:password -T foto.jpg -H "Filename: beweging.jpg" -H "Title: Beweging voordeur" -H "Tags: boom" ntfy.example.com/beweging

Als je een tekstbericht als Markdown opmaakt, kun je wel plaatjes in een tekst opnemen, maar dan moet je naar het bestand linken. Alleen ntfy's webinterface ondersteunt dit; de mobiele app toont gewoon de Markdown-brontekst. Een Markdown-bericht stuur je door de header Markdown: yes of Content-Type: text/markdown aan je http POST-aanvraag toe te voegen. Ntfy ondersteunt overigens alleen beperkte Markdown-functies, zoals vette en schuine tekst, lijsten, links en afbeeldingen.

Je services kunnen ook plaatjes naar ntfy sturen.

Acties

Je ontvangt de notificaties van ntfy in de app in een 'conversatie' per onderwerp. Wanneer je op een notificatie tikt, kopieert dit standaard gewoon de tekst van het bericht naar het klembord. Als je de header Click: URL toevoegt, opent de app die url wanneer je op de notificatie tikt. Zo kun je in een notificatie van je back-upscript bijvoorbeeld een link naar de webinterface van je back-upserver opnemen om het gemelde probleem snel te onderzoeken.

Je kunt ook tot drie 'actieknoppen' definiëren, die dan onderaan een notificatie verschijnen. Door op een van die knoppen te tikken, open je een website of app, activeer je een Android broadcast intent waarop andere apps dan weer kunnen reageren, of zend je een http POST-, PUT- of GET-aanvraag. De manier om dit alles te definiëren is wat omslachtig, maar wordt volledig in de documentatie van ntfy uitgelegd.

Klik op een van de knoppen van het bericht in ntfy om een actie uit te voeren.

Python-code

Curl is natuurlijk niet de enige tool waarmee je notificaties naar je ntfy-server kunt sturen. Sommige tools bieden rechtstreeks ondersteuning voor notificaties via ntfy. Dan hoef je alleen maar het domein van je server, het onderwerp, de gebruikersnaam en het bijbehorende wachtwoord in te vullen. Maar ook in je eigen Python-scripts kun je eenvoudig ondersteuning voor ntfy inbouwen. Dat gaat via het pakket Requests, waarmee je http POST-aanvragen naar de server stuurt. Een eenvoudig voorbeeld ziet er als volgt uit:

import requests

requests.post("http://ntfy.example.com/backup",

    data="Backup unsuccessful",

    headers={

        "Authorization": "Basic Z2VicnVpa2Vyc25hYW06d2FjaHR3b29yZA==",

        "Title": "Backup failure",

        "Priority": "urgent",

        "Tags": "warning,skull"

    })

Met de header Authorization stel je http Basic-authenticatie in. De tekenreeks die na Basic komt, is een Base64-codering van de gebruikersnaam en het wachtwoord met een dubbele punt ertussen. Je creëert die codering op je Linux-systeem met de opdracht echo "Basic $(echo -n 'gebruikersnaam:wachtwoord' | base64)".

Sssssssssschattig

Speciaal voor de kleinste Python-fans

En verder

Ntfy biedt een betrouwbare manier om notificaties van allerlei services te centraliseren, terwijl je zelf de volledige controle behoudt. Het programma blinkt uit in flexibiliteit om het overal in te integreren. Als een service bijvoorbeeld geen http POST-aanvragen ondersteunt, kun je ook http GET-aanvragen doen. En als een service je niet de mogelijkheid geeft om de headers aan te passen, laat ntfy je toe om de berichten inclusief headers in JSON-formaat door te sturen. En als een service webhooks ondersteunt maar daarvoor zijn eigen JSON-formaat gebruikt, kan ntfy die met berichtsjablonen omzetten naar leesbare berichten.

Ook via e-mail is ntfy te integreren. Je kunt bijvoorbeeld berichten die op je ntfy-server aankomen automatisch laten doorsturen naar een SMTP-server om ze ook als e-mail te ontvangen. Maar ook de andere richting is voorzien: ntfy kan dan zelf een ingebouwde SMTP-server draaien, handig voor services die alleen maar notificaties via e-mail ondersteunen. Elk onderwerp op de ntfy-server heeft dan een bijbehorend e-mailadres op je domein. De service hoeft dan alleen maar een e-mail naar dat adres te sturen om berichten op dat onderwerp te publiceren op je ntfy-server. Deze en andere geavanceerde functies zijn uitgebreid gedocumenteerd op de website van ntfy.

De documentatie van ntfy is uitgebreid en praktisch. 

▼ Volgende artikel
Nieuwe FromSoftware-game The Duskbloods komt echt alleen naar Switch 2
Huis

Nieuwe FromSoftware-game The Duskbloods komt echt alleen naar Switch 2

The Duskbloods, de nieuwe game van Elden Ring- en Dark Souls-ontwikkelaar FromSoftware, zal echt alleen op Nintendo Switch 2 uitkomen.

Dat heeft de ontwikkelaar benadrukt bij het bekendmaken van zijn kwartaalcijfers (via VGC). Daarbij werd ook nog eens benadrukt dat The Duskbloods nog altijd gepland staat om ergens dit jaar uit te komen, net zoals de Switch 2-versie van Elden Ring.

Over de exclusieve Switch 2-release van The Duskbloods: "Het wordt verkocht via een samenwerking met Nintendo, met verkoopverantwoordelijkheden verdeeld per regio. De game komt alleen voor Nintendo Switch 2 beschikbaar." Daarmee is dus duidelijk gemaakt dat Nintendo een nauwe samenwerking met FromSoftware is aangegaan voor de game en dat het spel niet zomaar op andere platforms uit zal komen.

Over The Duskbloods

The Duskbloods werd begin vorig jaar aangekondigd in een speciale Nintendo Direct waarin de eerste Switch 2-games werden getoond, maar sindsdien zijn er geen nieuwe beelden van het spel uitgebracht. Zoals gezegd is de game ontwikkeld door FromSoftware, het Japanse bedrijf dat naam voor zichzelf heeft gemaakt met enorm uitdagende spellen, waaronder de Dark Souls-serie en Bloodborne. Met de openwereldgame Elden Ring scoorde de ontwikkelaar enkele jaren geleden nog een megahit.

Watch on YouTube

The Duskbloods wordt een PvPvE-game, waarbij spelers het dus tegen elkaar en tegen computergestuurde vijanden opnemen. Maximaal acht spelers doen aan potjes mee. Na het kiezen van een personage in een hub-gebied wordt men naar een gebied getransporteerd waar er met andere spelers en vijanden gevochten wordt, al kan men soms ook samenwerken om vijanden te verslaan.

Spelers besturen een 'Bloodsworn', wezens die dankzij een speciaal bloed dat in hun lichaam zit meer krachten tot hun beschikking hebben dan reguliere mensen. Ondertussen is het einde van de mensheid nabij, en bestaat de wereld uit verschillende tijdperken, wat voor een mengelmoes van stijlen zorgt.