Succes

Remeha – Smart Service Application

Als er iets met je cv-ketel is, wil je dat het snel verholpen wordt. Zeker als het winter is. Vaak is het zo dat installateurs te maken hebben met verschillende ketels met verschillende werkingen. Zowel de installateur als de mensen thuis zijn gebaat bij een oplossing waarmee de installateur goed en snel het probleem kan repareren tijdens dat moment aan huis. Luminis heeft een Smart Service Application ontwikkeld waarmee installateurs verbinding kunnen maken met de ketel. Hierdoor kan een installateur op locatie eenvoudig gegevens inzien bij onderhoud- en storingsafhandeling. Op basis van gebruikersobservatie is er voor een oplossing gekozen die, naast het tonen van gegevens, ook een stappenplan en een handleiding voor de storingen biedt. Remeha valt onder de groep BDR Thermea. BDR Thermea maakt hr-ketels voor de Europese markt en doet dit onder verschillende labels. Deze app heeft ervoor gezorgd dat de installateur een betere service kan verlenen naar de eindgebruiker van de ketels. Na het succesvol implementeren van de iPad-versie, is er ook een Android smartphone-versie ontwikkeld om nog meer installateurs te kunnen ondersteunen tijdens hun werkzaamheden. Ondertussen maken ook verschillende bedrijven binnen de BDR Thermea groep gebruik van deze applicatie. Ieder bedrijf heeft zijn eigen interface en de content is in verschillende talen beschikbaar.

De Uitdaging

Een grote uitdaging bij dit project was het communiceren met de vele verschillende ketels die door Remeha en haar Europese zusterbedrijven geproduceerd zijn. Ketels als die van Remeha communiceren doorgaans met aangesloten apparatuur door middel van seriële protocollen en dit bracht voor de mobiele applicatie een aantal uitdagingen met zich mee. De eerste uitdaging is het implementeren van een dergelijk serieel protocol. Het opvragen of schrijven van data via deze protocollen komt vrijwel letterlijk neer op het aanspreken van specifiek adressen in het geheugen van de ketel. Kennis van welke adressen bepaalde informatie bevatten en hoe deze adressen benaderd moeten worden is behoorlijk specifiek en verschilt bovendien per ketel en protocol. Voor Luminis was dit een gebied waarop wij weinig kennis in huis hadden, aangezien wij nou eenmaal geen HR ketels ontwikkelen.

De tweede uitdaging was om te zorgen dat de implementatie van deze protocollen zoveel mogelijk gedeeld kon worden over de verschillende platformen. Om deze specifieke zaken per platform te ontwikkelen en te onderhouden bij het toevoegen van een nieuw protocol of type ketel zou simpelweg teveel tijd en geld gaan kosten. De vraag naar een gedeelde implementatie was dus groot. Een extra requirement was er op het gebied van performance. Bij het ophalen van de benodigde informatie uit een ketel moeten er al snel enkele tientallen berichten over en weer verstuurd worden tussen applicatie en ketel over het seriële protocol. Omdat een gebruiker snel informatie wil zien bij het openen van de applicatie is het zaak dat dit binnen enkele seconden afgerond kan zijn.

De Oplossing

Vanuit deze gedachte is er gekozen om een library te laten ontwikkelen die vervolgens in de applicaties voor de verschillende platformen gebruikt wordt. Deze library is ontwikkeld door Axians, een toeleverancier van Remeha en partner van Luminis in dit traject. De ontwikkelaars bij Axians hadden vanuit eerdere werkzaamheden voor Remeha al de specifieke kennis over het implementeren van de verschillende protocollen. Dit maakte het voor hen eenvoudiger om deze protocol specifieke implementatie te regelen, waarbij Luminis de taak had de applicatie om deze library heen te ontwikkelen. Vanwege het feit dat de library op alle platformen gebruikt moest worden en bovendien een goede performance moest bieden is ervoor gekozen de library te ontwikkelen in C++.

Voor het ondersteunen van verschillende typen ketels binnen een bepaald serieel protocol was de uitdaging nog wat groter. Hoewel de manier waarop adressen benaderd moeten worden bij verschillende ketels binnen een specifiek serieel protocol wel hetzelfde is, geldt dat niet voor op welke adressen bepaalde informatie te vinden is. Dit kan per ketel behoorlijk verschillen en is daarmee te divers om in code te implementeren. Bovendien zouden er dan zonder updates aan de code geen nieuwe ketels toegevoegd kunnen worden. Daarom is er gekozen configuratie bestanden te gebruiken die de library vertellen welke informatie ketels aan kunnen bieden en waar deze informatie staat. Updates aan deze bestanden kunnen gemakkelijk uitgedeeld worden aan bestaande versies van de applicaties door middel van een content server waarmee gebruikers zelf gemakkelijk updates op kunnen halen.

Teammembers

Tom Hanekamp

Sr. Software engineer
tom.hanekamp@luminis.eu

Peter Doornbosch

Sr. Software architect
peter.doornbosch@luminis.eu

Tom Hanekamp

Sr. Software engineer
tom.hanekamp@luminis.eu

Ronald Spierenburg

Software engineer
ronald.spierenburg@luminis.eu

Bart Dohmen

Interaction designer
bart.dohmen@luminis.eu

Related cases