Sticky Blog

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

  • 24 oktober 2018
  • 92 reacties
  • 13728 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
Hoi @Sebastiaan van Qurrent,

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?

Wat zou ook heel fijn zijn is dat Qurrent de monitoring gegevens niet per 1 januari uit zet maar toch beschikbaar voor klanten te laten.
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
Badge
ik ben ook geïnteresseerd in de documentatie over het protocol en het uitzetten van de encryptie.
Ik wil kijken of dit aan de praat te krijgen is met Domotics
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
Badge
@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
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.
Badge
klinkt goed, ik ga na 1 januari aan de slag als de encryptie is uitgezet. kan ook een een subnet aanmaken op de router met een 2e ethernetpoort.
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 +12
@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


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?

Groet, Frans
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
Badge
@FransvanWoerkom het P1 kabeltje heb ik al maar zie het als een uitdaging om de qbox aan de praat te krijgen in Domoticz
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 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 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 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.
Hi @Sebastiaan van Qurrent, gaaf dat dit opgepakt wordt! Werd door de klantenservice naar dit topic verwezen, omdat ik ook interesse heb om de Qbox te blijven gebruiken.

Ik heb zelf een DNS server op mijn Synology draaien dus probleem 1 is opgelost (wellicht ook een oplossing voor @PEngelsman ). Ik heb ook even een oud topic op Tweakers nieuw leven ingeblazen en deze discussie gelinkt, ik denk dat daar ook wel een paar techneuten zijn die dit interessant vinden! Ik heb zelf redelijk wat programmeerervaring, maar niet zo heel veel tijd (laatste jaar promotieonderzoek) dus als we niet hoeven te reverse engineeren zou heel fijn zijn 😇
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 🙂
@ArieKlerk Ja dat is inderdaad ook een optie, maar wel een grote verantwoordelijkheid (zowel kosten/moeite) voor 1 partij. Vooral qua privacywetgeving lijkt het me al een groot probleem 😰

Als al 1 partij dat kan regelen, dan misschien Enelogic? (kreeg toevallig net de nieuwsbrief, vandaar).
Er is al deze support vraag geopend voor de Qbox, dus misschien kunnen zij er ook iets mankracht tegen aangooien als we ze benaderen...

@Sebastiaan van Qurrent
Als iemand zo'n server beschikbaar stelt kan ik wel regelen dat al het verkeer na 1 januari naar die server wordt gestuurd.

Betekent dat dat de configuratie(/firmware?) op afstand geupdate kan worden (aangezien blijkbaar ook de encryptie uitgezet kan worden) of is het meer een redirect aan de server kant?

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 C, C++, Java, R, Python, en Javascript en heb ook posisitieve ervaringen met Go. Originele code is natuurlijk fijn (is C# tegenwoordig een beetje aan de gang te krijgen op Linux?). Zo niet, dan lijkt het me niet handig om iets in C of C++ te schrijven, denk dat Python en Go de laagste barrier to entry hebben?
Badge
@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).

Blijkbaar kunnen jullie ook op afstand encryptie uitzetten... andere host moet dan toch ook kunnen door ons zelf..?

ik ben ook voorstander van iets wat draait op Synology..
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.
Badge
.

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.


Klinkt interessant. Mocht er een mogelijkheid zijn dan kan ik daar wel naar kijken. Heb wel ervaring met console toegang/netwerken.
Badge
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.

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?
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.

Reageer