Friday, 20 May 2011

More information on the Landis+Gyr cashpower 3 phase prepaid electricity meter

I have now figured out code 055, and have updated the original post to reflect that.  With that knowledge comes some more information:

Dates and times are stored not in the traditional computer science epoch format, as that would require 10 digits, and the display only has 8, but in a slightly modified format:  Dates and times are stored to a resolution of 1 minute, as the number of minutes elapsed since midnight on 1/1/1993.

Thus, the current date/time according to the meter would be 9667217 (2011/05/20 08:17).  New vouchers contain 20 digits, and must contain at least the date/time of purchase, value, and some check digits or encryption, and possibly some link to the unit's serial number.  The value has a precision of 0.1 kWh, and it is not inconceivable to purchase more than 10 000 kWh at once, requiring at least 6 digits.  So, for neatness, lets assume 8 digits for the date/time and 8 digits for the value, leaving 4 digits for a checksum, and the 16 digits of significance are possibly XORed with the serial number, repeated twice.


Or, the maximum purchase could be 9999.9 kWh, requiring 5 digits, and the last 7 digits of the serial number could be used as well, but I am leaning towards the 8/8/4 theory, as the design would undoubtedly have required single digit errors to be detected. 

More on this later as I figure it out...

All of this is nicely documented in  IEC 62055-41 and 62055-51, including how to convert a 20 digit voucher to the 66 bit token, etc.  I might get the standards to help me at some later stage.  Anyway, it seems like cracking token won't be simple, but the standards might shed some light on control tokens that might allow some more cool things...

1 comment: