Sticky Blog

Is het mogelijk om zonder Qurrent de Qbox uit te lezen?

  • 24 oktober 2018
  • 92 reacties
  • 13735 keer bekeken

Reputatie 4
Badge +5
Hoi allemaal,

Ik ontving de vraag of het mogelijk is om zonder Qurrent de Qbox uit te kunnen lezen.

Het is niet mogelijk om in te loggen op de Qbox. De enige optie die er is vereist een hoop technische kennis waarbij je zelf een server moet optuigen. Pas op, nu volgt een technisch verhaal. :)

Zelf een server optuigen
De Qbox probeert zijn data te sturen naar een bepaalde server van ons, bv met de naam qboxlezer.qurrent.nl (dit is niet de echte naam). Die naam wordt omgezet naar een IP-adres met behulp van DNS, dit heet name resolution. Normaliter gebruik je automatisch een DNS server van je provider of eentje die je provider goed genoeg vindt (bijvoorbeeld die van Google). Je kunt zelf een DNS server draaien in je netwerk. Daarmee ben je in staat om de name resolution zelf te doen, en daarmee qboxlezer.qurrent.nl naar een IP-adres van jezelf te wijzen. Je krijgt dan op dat IP-adres een HTTP pakket binnen met de metingen van de laatste minuut. Dit bericht is echter ge-encrypt zodat het protocol bestand is tegen man-in-the-middle aanvallen.

Om dit mogelijk te maken kunnen we vanaf 1 januari de encryptie uit zetten voor je Qbox, dat maakt het makkelijker om het protocol te reverse engineeren. Ik kan ook bij interesse hier nog proberen om te regelen dat de documentatie van het protocol vrijgegeven wordt, dat scheelt weer tijd steken in reverse engineeren.

Ik wil gewoon een andere monitor
Als je geen idee hebt waar ik het over heb, dan gaat deze oplossing helaas niet werken voor jou. Ik adviseer je dan even te kijken naar alternatieven.

Met vriendelijke groeten,

Sebastiaan

92 reacties

Badge +1
Wil je mij ook toevoegen aan de Qbox groep?
Sebastiaan van Qurrent , alhoewel ik geen programmeur ben, wil ik toch graag proberen de Qbox lokaal uit te lezen. Kun je me toevoegen aan de groep? Dank.
Reputatie 1
Badge +2
... kunnen we vanaf 1 januari de encryptie uit zetten voor je Qbox, dat maakt het makkelijker om het protocol te reverse engineeren. Ik kan ook bij interesse hier nog proberen om te regelen dat de documentatie van het protocol vrijgegeven wordt, dat scheelt weer tijd steken in reverse engineeren.

Beste @Sebastiaan van Qurrent ,
Ik denk dat er hier best een groep techneuten is die dit samen (dankzij jouw tips en hulp) zouden willen optuigen. Denk jij (of bijvoorbeeld @PEngelsman?) of het mogelijk zou zijn daar een aparte groep of webpagina voor te maken? Ik doe dan graag mee! Het zou toch zonde zijn om mijn QBox Solar weg te gooien...
Reputatie 1
Badge +2
Fantastisch! Ik wil natuurlijk graag meedoen, al zal ik met mijn 70 jaar niet veel aan programmeren kunnen bijdragen. Heb alleen veel ervaring met vertalen van software (SleepyHead) in Qt Linguist. Daarvoor heb ik ook accounts bij SourceForge en GitHub. Maar ik zal wel een goede alfa-tester zijn😎
@Sebastiaan van Qurrent , je bent fantastisch. Ik hoop dat je alle medewerking van Qurrent krijgt, dan zal dat mijn mening over het bedrijf en het gebeurde radicaal veranderen...
Was jij trouwens een van die programmeurs waar we steeds op zaten te schelden? Is daar ook nog interesse of hulp te verwachten?
Reputatie 1
Badge +2
@Gerhard Fijn dat je meedoet! Ik denk dat @Sebastiaan van Qurrent met probleem 1 bedoelde om een server voor iedereen ter beschikking te stellen, net zoals het nu bij Qurrent wordt verwerkt... Niet per sé nodig, maar makkelijker voor mindere IT-Goden 🙂
Reputatie 1
Badge +2
Ik zal een link naar dit topic verspreiden onder onze programmeurs, wellicht zijn er inderdaad meer die het leuk vinden om hier aan mee te werken.

Ik hoor niets meer over de plannen, of heb ik iets gemist (in een nieuw draadje??)?
Of is wellicht het aanbod van de CEMM beter...? Wel veel geld, zonde als de programmeurs mee willen werken 🙂
Reputatie 1
Badge +2
Mijn Qbox duo slaat nu alle data elke minuut keurig op in een folder op de Raspberry Pi3.

Binnen onze groep zal ik op een nieuwe website iedereen bijstaan om dit zelf ook voor elkaar te krijgen.
Voor nu zijn de enige benodigdheden:
  • een Qbox duo (met twee kastjes dus, de "mono" met één kastje volgt later)
  • een Raspberry Pi3 met voeding, wifi-steker en SD-kaart van meer dan 2 GB
  • een thuisnetwerk
  • een weinig kennis, geduld en durf om met de Raspberry aan de gang te gaan
  • hulp van "ons"...
Dat eerste heb je al, maar er zijn er nog beschikbaar
Dat laatste doen we met plezier!
Reputatie 1
Badge +2
Oeps! Heb ik nu toch twee WiFi kanalen... Waar laat ik al die USB stekertjes...😂
Nou ja, wellicht verdubbelt dat de overdracht snelheid 😎
Reputatie 1
Badge +2
Is gedaan
Reputatie 1
Badge +2
@maikelboes stuur mij (eventueel in een pm) jouw echte naam en email adres, dan voeg ik je toe aan het project als developer
Reputatie 1
Badge +2
Ik dacht dat die vraag van RoydJ kwam
Badge +4
Ik ben ook erg benieuwd naar het protocol dat de QBox gebruikt. Is er nog een verschil tussen de gewone en de Duo?
maakt de Qbox gebruik van bijvoorbeeld Oauth (gezien het registratie process dat we moesten doorlopen.)
kun je aangeven wat er qua servers op dit moment draait bij Qurrent voor de QBox draait. En is dit op de een of andere manier over te brengen naar een Lab omgeving die bij Qurrent gehost wordt maar door de community beheerd?

Erg benieuwd naar de encryptie of we deze zelf op kunnen zetten tussen Qbox en eigen server. Is denk ik geen rocket-science.
Ook de seriële interface klinkt interessant.
Ook het protocol (RF denk ik) voor de duo en het kunnen koppelen van deze boxen aan elkaar.
mogelijk kun je zo een qbox een ander doel geven voor bijvoorbeeld een remote temp sensor of anders

Ik houd me aanbevolen voor updates en meedenken rond ditdit topic.

Wat betreft de berichtgeving. Is het zonde als we iets voor het grote publiek kunnen doen en iedereen heeft de Box al ingeleverd bij de milieusmilieustraat... Dan zou het beter zijn deze in te nemen door ze retour te sturen naar qurrent in mijn ogen.
Reputatie 4
Badge +5
Dat klinkt interessant. Op dit manier zou de Qbox blijven werken, maar we zouden zelf een grafische interface/omgeving moeten maken om alles mooi te kunnen lezen, klopt?

Inderdaad, je moet echt veel zelf gaan bouwen. Maar er zijn wel al veel bestaande componenten die je zou kunnen gebruiken, zoals influxdb om de meetdata op te slaan en grafana om grafieken mee te maken.

Je kunt je Qbox data downloaden met de 'Download mijn gegevens' link onderaan de grafieken in Mijn Energie.

Met vriendelijke groeten,

Sebastiaan
Reputatie 4
Badge +5
Ik wil kijken of dit aan de praat te krijgen is met Domotics

@PEngelsman Als je technisch genoeg bent is dit zeker mogelijk. Deze pagina lijkt een goed startpunt te zijn.

Met vriendelijke groeten,

Sebastiaan
Reputatie 4
Badge +5
@Sebastiaan van Qurrent daar ben ik mee bekend;-)
Ik heb Domoticz draaien op een synology het zou leuk zijn als ik de Qbox kan koppelen


@PEngelsman Als je python spreekt en zelf servers op kunt tuigen moet het zeker lukken!
Reputatie 4
Badge +5
Je kunt dit op twee manieren aanpakken:
  • Je kunt een globale DNS server draaien die je voor al je computers gebruikt. Best ingrijpend, zover ben ik zelf ook nog niet thuis. 🙂
  • Je kunt na 1 januari de Qbox aan een speciale computer met twee networkpoorten hangen, bijvoorbeeld deze mini PC. De Qbox praat dan alleen met die mini PC, die PC kan dan de DNS voor alleen de Qbox regelen en vervolgens de HTTP requests doorlussen naar een service op die mini PC of naar een andere server. Dit kan trouwens ook met een Raspberry Pi denk ik. Ik vermoed trouwens dat je ook een cross-cable nodig hebt tussen Qbox en mini PC, maar dat weet ik niet zeker.
Wat trouwens mogelijk nog interessant is: de Qbox heeft een interne buffer die hij gebruikt om tijdelijk metingen op te slaan als hij geen connectie kan maken met onze server. Hij gaat pas metingen verwijderen als hij die metingen succesvol heeft verzonden naar onze server of als de interne buffer vol is. Om voor een zo groot mogelijk tijdsinterval metingen vast te houden in de interne buffer gaat op een gegeven moment de resolutie van de interne buffer omlaag, van 1 meting per minuut naar 1 meting per 5 minuten, naar 1 meting per uur, etc.
Reputatie 4
Badge +5
@PEngelsman Zou je in dit topic willen schrijven of dat lukt? Zo ja kunnen anderen dat ook proberen, zo nee kan ik misschien nog ergens mee helpen.
Reputatie 4
Badge +5
Als je Domoticz hebt draaien op een Synology server, waarom dan geen usb-P1 converter van €15 aangeschaft om de slimme meter direct aan de server te verbinden?

@FransvanWoerkom Omdat het voor een techneut leuk is om heel veel tijd en geld te besteden aan een oplossing die je helemaal zelf en helemaal op maat hebt gemaakt en waar je ook veel van kan leren.

Daarnaast werkt zo'n converter alleen als je een slimme meter hebt, terwijl de Qbox ook draaischijf- en ledmeters meet.

Met vriendelijke groeten,

Sebastiaan
Reputatie 4
Badge +5
Ik denk dat er hier best een groep techneuten is die dit samen (dankzij jouw tips en hulp) zouden willen optuigen. Denk jij (of bijvoorbeeld @PEngelsman?) of het mogelijk zou zijn daar een aparte groep of webpagina voor te maken? Ik doe dan graag mee! Het zou toch zonde zijn om mijn QBox Solar weg te gooien...

@ArieKlerk Ik vind dat een goed idee. We kunnen beginnen met een aparte groep/topic hier voor de techneuten. Wat mij betreft blijft dat gewoon een publieke groep/topic zodat niet-techneuten ook kunnen zien wat er besproken wordt en mee kunnen denken. De code kunnen we open-sourcen en bv op github zetten. Als er techneuten zijn die dit serieus op gaan pakken kan ik ook kijken in hoeverre ik delen van de bestaande code (C#) en documentatie met die groep kan delen. Die info kan ik echter pas na 1 januari verschaffen, mits ik daar uberhaupt toestemming voor krijg.

Als je mee wil doen, laat dat dan in dit topic weten en welke programmeertalen je spreekt, dan kunnen we gelijk kijken in welke programmeertaal we het beste kunnen beginnen. Ik spreek zelf C#, C++, C, python en Javascript en ik kan nog m'n Pascal, Modula2 en VB afstoffen. 😀
Reputatie 4
Badge +5
Er is trouwens nog een andere mogelijkheid om de Qbox levend te houden. Dan blijven de metingen niet binnen je huis, maar gaan ze naar een centrale server, eentje niet van Qurrent. Dat betekent dat iemand een server beschikbaar moet stellen waar de berichten van alle Qboxen dan binnen kunnen komen. Als iemand zo'n server beschikbaar stelt kan ik wel regelen dat al het verkeer na 1 januari naar die server wordt gestuurd. Dit zou het wel mogelijk maken voor niet-techneuten om ook de Qbox te blijven gebruiken, maar dit vergt wel een behoorlijke investering.
Reputatie 4
Badge +5
@Sebastiaan van Qurrent , je bent fantastisch. Ik hoop dat je alle medewerking van Qurrent krijgt, dan zal dat mijn mening over het bedrijf en het gebeurde radicaal veranderen...
Was jij trouwens een van die programmeurs waar we steeds op zaten te schelden? Is daar ook nog interesse of hulp te verwachten?


@ArieKlerk Ik was inderdaad een van de programmeurs. Sterker nog, ik was de eerste programmeur in dienst van Qurrent zelf, daarvoor werd alle software ontwikkeling door andere bedrijven gedaan. Ik ben heel veel bezig geweest met de backend voor de Qbox en daarna met het administratieve systeem om energieklanten te kunnen bedienen. Ik heb altijd mijn uiterste best gedaan, maar er zijn genoeg redenen geweest om op me te schelden. 😀 (dat is trouwens nooit een kwestie van onwil geweest, altijd van prioriteiten) Inmiddels hou ik me meer met zaken bezig rondom software ontwikkeling, zoals de buildstraat en de infrastructuur.

Ik zal een link naar dit topic verspreiden onder onze programmeurs, wellicht zijn er inderdaad meer die het leuk vinden om hier aan mee te werken.
Reputatie 4
Badge +5
@Sebastiaan van Qurrent is het niet mogelijk om de dns naam die er nu in zit om te programmeren naar een eigen hostname of ip-adres? Dns server krijg ik ook wel geregeld maar zou het raar vinden als het voor qurrent niet mogelijk is om op afstand de hostname te wijzigen. Geen telnet/ssh/http inlog mogelijkheid? Of iets met een console/programmeer kabel binnen in het kastje of zo? Ik heb een collega die vrij handig is met het omflashen van domitica apparatuur (zoals sonoff) ook als daar dus geen ‘standaard’ manier voor is. Eigen Dns server doe ik liever niet in het thuisnetwerk, of ik moet een apart vlan inrichten met eigen dns (ja heb een vlan switch thuis).
Omdat een Qbox typisch achter een modem/router staat is hij niet actief te benaderen. Pas op het moment dat de Qbox verbinding maakt met onze server kunnen we commando's inschieten op afstand. Op deze manier kunnen we bijvoorbeeld encryptie makkelijk uitzetten voor meerdere Qboxen. Maar de hostname kan niet gewijzigd worden op deze manier, daar is geen commando voor.

Nou heb ik een collega wel eens horen zeggen dat als je de behuizing van de Qbox verwijdert en een seriele kabel soldeert dat je dan met behulp van een terminal emulator zoals bv PuTTY commando's de Qbox in kan schieten. Daarmee kun je wel de hostname wijzigen. Wij hebben op kantoor speciale ontwikkel-Qboxen die hiervoor een speciale uitgang hebben, daar heb ik zelf ook mee gewerkt. Maar ik heb dit nog nooit gedaan bij een productie-Qbox. Ik ga kijken of ik daar meer informatie over kan vinden.
Reputatie 4
Badge +5
Moeten wij zelf aanvragen in een PM of zo om encryptie uit te zetten vanaf 1 januari, of word bij alle q-boxen de encryptie uitgezet?
@wienemark Ik ga proberen het voor alle Qboxen te regelen, maar stuur me voor de zekerheid maar een PM met het serienummer van je Qbox. Die vind je op de achterkant van de Qbox, heeft de vorm xx-xx-xxx-xxx.
Reputatie 4
Badge +5
Hoi @ArieKlerk en anderen,

De huidige stand van zaken is dat ik bezig ben om te achterhalen wat we na 1 januari wel en niet kunnen delen. De Qbox is niet in eigen beheer gemaakt, dus we zijn gebonden aan afspraken die destijds gemaakt zijn. Ik heb nog niet kunnen vinden wat die afspraken exact zijn, dus ik kan daar helaas ook nog niks over zeggen.

Daarnaast ben ik informatie aan het verzamelen over wat wel mogelijk is met een reguliere Qbox. Op kantoor hebben we speciale ontwikkel-Qboxen met een USB-aansluiting waarmee we verbinding kunnen maken met de Qbox en een aantal zaken kunnen instellen, zoals het serveradres waar de Qbox mee probeert te verbinden. Het lijkt er op dat dit ook kan met een reguliere Qbox, zelfs zonder de behuizing open te maken of te solderen. Zodra ik alle informatie en de daarvoor benodigde kabel heb wil ik zelf gaan uitproberen of dit ook echt werkt. Dan zijn we weer een belangrijke stap dichterbij zelf iets kunnen met de Qbox.

Voor niet-techneuten die dit topic nog mee lezen: de kans dat hier een oplossing uit komt voor alle Qboxen is nihil. Als je nog iets met je Qbox wilt kunnen na 1 januari, zul je echt de mouwen op moeten stropen en diep de techniek in duiken. Zoals ik het voor me zie gaan een aantal techneuten proberen software te schrijven die nog iets kan maken van de informatie die de Qbox stuurt en staat het iedereen vrij om die software te gebruiken en aan te passen. Maar zal er geen vervanging komen van de servers zoals wij die nu bij Qurrent in gebruik hebben.

Met vriendelijke groeten,

Sebastiaan
Reputatie 4
Badge +5
Zo'n kabel is vast handig voor debuggen, maar voor een beetje knutselaar niet noodzakelijk. De Qbox laat zit uitstekend mitm'en of middels DNS spoofing een andere server gepresenteerd worden waardoor eenvoudig alternatieve firmware geladen kan worden. Belangrijker om te weten is hoe de firmware zinvol aangepast kan worden om de box zo helemaal in eigen beheer te kunnen nemen. Het zou daarom fantastisch zijn als je AME zover zou kunnen krijgen om de broncode van de Qbox (die van de server kan me eerlijk gezegd gestolen worden) openbaar te maken.
Ik vind dat een goed idee, had ik zelf nog niet aan gedacht. Ik ga het proberen!

Reageer