PixelWall — 8.192 pixels voor vliegtuigen, P2000 en Home Assistant
LIFELN3, Airbus H135 van de ANWB Medical Air Assistance, 457 meter hoog, 2,1 kilometer naar het zuiden. Meer past er niet op een LED-paneel van 128 bij 64 pixels, en meer hoeft er ook niet op. Over een scherm dat zelf bepaalt wat het laat zien, en over de keuzes die daar achter zitten.
Geen dashboard, maar een scherm dat kiest
De meeste dashboards voor thuis zijn een tablet aan de muur met twintig tegels tegelijk. Dat werkt als je ervoor gaat staan en gaat zoeken. PixelWall doet het omgekeerde: het laat één ding tegelijk zien, groot genoeg om vanaf de bank te lezen, en wisselt dan door naar het volgende.
Het interessante werk zit in die rotatie. Je kiest per scherm welke apps meedraaien, in welke volgorde en hoe lang elk blijft staan. Een app die niets te melden heeft, slaat zijn beurt over: geen vliegtuig in de buurt betekent geen leeg vluchtenscherm. Een nieuwe P2000-melding of een vlucht die je volgt en net landt, gaat juist even voor. En als geen enkele app iets heeft, valt de klok in. Die klok is er in vier smaken, van digitaal tot een woordklok in de stijl van de QLOCKTWO.
Dat klinkt als een detail, maar het bepaalt of je na een maand nog kijkt. Een scherm dat steeds hetzelfde toont, zie je na een week niet meer. Een scherm dat alleen iets laat zien als er iets is, blijft je aandacht houden.
Wat erop staat
Een deel van de apps werkt zodra het scherm aan het netwerk hangt. Vluchten toont vliegtuigen en helikopters boven je scherm met maatschappij, route, hoogte en snelheid, op basis van open ADS-B-netwerken. Vlucht volgen houdt één vlucht bij op vluchtnummer en datum, of één toestel op registratie, welke vlucht het ook vliegt. Weer komt van Open-Meteo, met de regen voor de komende twee uur en een buienalarm. Verder draaien er onder meer Qmusic (met de themazenders), een aftelklok, een wereldkaart met dag en nacht, en een handvol animaties voor tussendoor: Tetris en Snake die zichzelf spelen, Game of Life, Matrix-regen.
Twee apps hebben iets meer logica dan je zou verwachten. Bij Nieuws komen de koppen van onder andere NOS, NU.nl, de Telegraaf en Tweakers langs; brengen meerdere van die sites hetzelfde bericht tegelijk, dan kleurt het rood en verschijnt het kort als melding. Dat is een ruwe maar bruikbare maat voor "dit is groot". Formule 1 telt af naar de volgende sessie en toont tijdens de race de live stand, met rode vlag, safety car, start en finish als melding.
En dan zijn er de koppelingen met mijn eigen platforms. Met een account bij 112Radar verschijnt een nieuwe P2000-melding in je buurt direct op het scherm. Met een SlimHuys-account zie je het stroomschema van je huis: zonnepanelen, net, thuisbatterij en verbruik, live, met het tarief van vandaag. Beide zijn optioneel; niemand heeft een van mijn andere diensten nodig om het scherm te gebruiken.
Home Assistant: lokaal waar het kan
PixelWall is gemaakt voor Home Assistant. De integratie is open source en installeer je via HACS als custom repository. Daarna is elk scherm een gewoon apparaat in Home Assistant: een lamp voor aan/uit en helderheid, een keuzelijst voor de app die nu in beeld is, per app een schakelaar voor de rotatie, knoppen voor vorige en volgende, en een update-entiteit voor de firmware. Daarmee kun je bijvoorbeeld Qmusic alleen in de rotatie zetten zolang de radio in de keuken aanstaat.
Meldingen stuur je met pixelwall.show_message, met titel, icoon, kleur en duur. De deurbel, de wasmachine die klaar is, de post. Ze komen na de P2000-meldingen en vóór de gewone apps in beeld.
Het onderdeel waar ik het langst over heb gedaan, zijn de eigen pagina's. Met pixelwall.set_page zet je je eigen entiteiten op het scherm, in één van vijf indelingen: tegels, één grote waarde, een lijst, een meter of een grafiek.
action: pixelwall.set_page
data:
device_id: 1234abcd…
page: thuis
layout: grid
items:
- entity: sensor.woonkamer_temperatuur
label: Binnen
icon: thermometer
- entity: sensor.zonnepanelen_vermogen
label: Zon
icon: sun
Dat stel je één keer in. Verandert daarna een sensor, dan stuurt Home Assistant de nieuwe waarde rechtstreeks over je eigen netwerk naar het scherm, dat hem zelf invult. Binnen een seconde, zonder omweg via internet. Een afvalkalender als lijst, de thuisaccu als meter, het verbruik van vandaag als grafiek: het draait gewoon mee tussen de andere apps. Per scherm passen acht van die pagina's.
Wie liever niet met de integratie werkt, kan het scherm ook direct aanspreken. Het heeft een eenvoudige lokale API, dus REST-aanroepen of Node-RED werken ook.
Waar het níét lokaal is
Hier moet ik eerlijk zijn, want in de Home Assistant-wereld ligt dit gevoelig. PixelWall is niet volledig lokaal. Het scherm haalt zijn beelden van pixelwall.nl. De server bepaalt wat er per app in beeld komt en hoe het eruitziet; het scherm voert dat uit. Daar komen ook de updates vandaan.
Dat heeft gevolgen die je moet kennen voordat je er een koopt:
- Wat je naar het scherm stuurt, komt ook bij pixelwall.nl terecht. Meldingen, helderheid, het ontwerp van je pagina's en de stand van de entiteiten erop geeft het scherm door, omdat de server de beelden opmaakt. Dat staat ook zo in de README van de integratie.
- Is pixelwall.nl onbereikbaar, dan stoppen de apps. Wat blijft werken: aan/uit, helderheid, meldingen (die tekent het scherm dan zelf) en de lokale waarden op je eigen pagina's.
Waarom dan toch zo? Omdat een paneel met een klein besturingskaartje weinig ruimte heeft voor lettertypes, logo's van luchtvaartmaatschappijen, hoesjes en een tiental databronnen die elk hun eigen API hebben. Door het opmaken centraal te doen, verschijnt een nieuwe app of een verbeterde weergave op elk scherm tegelijk, zonder dat iemand iets hoeft te flashen. Het heeft ook een prettig bijeffect: de voorbeelden op de homepage van pixelwall.nl draaien op dezelfde code als het scherm zelf, alleen met voorbeelddata. Wat je daar ziet, is wat je thuis krijgt.
Wat het kost
Het scherm koop je één keer, voor € 150 inclusief btw en verzending, met de software al geïnstalleerd. Voor de apps loopt er een abonnement:
| Abonnement | Per maand | Per jaar | Apps |
|---|---|---|---|
| Basis | € 2,95 | € 29,50 | 5 naar keuze, de klok telt mee |
| Onbeperkt | € 4,95 | € 49,50 | Alle apps |
Beide gelden voor alle schermen op je account en zijn maandelijks opzegbaar. Zonder abonnement blijft de klok werken; het scherm wordt dus geen baksteen als je stopt.
Een abonnement op een stuk hardware: ik snap dat niet iedereen daar blij van wordt. Maar het past bij de keuze hierboven. Er draait een server die voor elk scherm beelden opmaakt, er zijn databronnen die geld kosten (de vluchtschema's komen van een commerciële dienst) en er komen apps bij. Een eenmalige prijs die dat allemaal dekt, zou óf een stuk hoger zijn, óf betekenen dat het project over twee jaar stilvalt.
Al een paneel liggen?
Wie zelf al aan het knutselen is geweest, heeft misschien een HUB75-LED-paneel van 128×64 pixels met een Huidu HD-WF2-kaartje liggen. Dat is precies de hardware waar PixelWall op draait. Je installeert de software er dan via de browser op en neemt alleen een abonnement. Het koppelen gaat daarna hetzelfde als bij een besteld scherm: het paneel zet een eigen wifi-netwerk op waarmee je het aan je thuisnetwerk hangt, toont een code, en die vul je in op pixelwall.nl.
Netjes met gegevens
Juist omdat het scherm met een server praat, wilde ik daar geen grijs gebied laten. Er is geen tracking, er zijn geen advertenties en geen cookies van derden. Servers en back-ups staan in de Europese Unie. Je logt in met een passkey en je verwijdert je account zelf, met één klik. Een scherm delen met een huisgenoot kan ook: die krijgt een uitnodiging per e-mail en bedient het scherm met een eigen account.
Tot slot
PixelWall is het minst serieuze van mijn projecten en tegelijk het project waar ik het meest naar kijk. Er zit geen grote missie achter. Het is een plek in huis waar de dingen verschijnen die er op dat moment toe doen: een traumaheli die overkomt, een melding uit de buurt, de accu die vol is. Wie volledig lokaal wil draaien, moet het niet kopen. Wie een scherm wil dat zonder gepruts werkt en zich via Home Assistant laat sturen, vindt alles op pixelwall.nl.