Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def __init__(self, mac, idx):
PlugwiseRequest.__init__(self, mac)
self.args.append(Int(idx, length=2))
def serialize(self):
fmt = "%%0%dX" % self.length
return sc(fmt % self.value)
def unserialize(self, val):
self.value = int(val, 16)
class UnixTimestamp(Int):
def __init__(self, value, length=8):
Int.__init__(self, value, length=length)
def unserialize(self, val):
Int.unserialize(self, val)
self.value = datetime.datetime.fromtimestamp(self.value)
class Year2k(Int):
"""year value that is offset from the year 2000"""
def unserialize(self, val):
Int.unserialize(self, val)
self.value += PLUGWISE_EPOCH
class DateTime(CompositeType):
"""datetime value as used in the general info response
format is: YYMMmmmm
where year is offset value from the epoch which is Y2K
and last four bytes are offset from the beginning of the month in minutes
"""
def __init__(self, year=0, month=0, minutes=0):
CompositeType.__init__(self)
self.year = Year2k(year-PLUGWISE_EPOCH, 2)
def __init__(self, seqnr = None):
PlugwiseResponse.__init__(self, seqnr)
self.exsisting = Int(0, 2)
self.allowed = Int(0, 2)
self.params += [self.exsisting, self.allowed]
def __init__(self, seqnr = None):
PlugwiseResponse.__init__(self, seqnr)
self.pulse_1s = SInt(0, 4)
self.pulse_8s = SInt(0, 4)
self.pulse_hour = Int(0, 8)
self.pulse_prod_hour = SInt(0, 8)
self.unknown2 = Int(0, 4)
self.params += [self.pulse_1s, self.pulse_8s, self.pulse_hour, self.pulse_prod_hour, self.unknown2]
def __init__(self, seqnr = None):
PlugwiseResponse.__init__(self, seqnr)
self.time = TimeStr()
self.day_of_week = Int(0, 2)
self.date = DateStr()
self.params += [self.time, self.day_of_week, self.date]
def __init__(self, mac, moduletype, timeout):
PlugwiseRequest.__init__(self, mac)
self.args.append(Int(moduletype, length=2))
self.args.append(Int(timeout, length=2))
def __init__(self, seqnr = None):
PlugwiseResponse.__init__(self, seqnr)
self.features = Int(0, 16)
self.params += [self.features]
def __init__(self, seqnr = None):
PlugwiseResponse.__init__(self, seqnr)
self.exsisting = Int(0, 2)
self.allowed = Int(0, 2)
self.params += [self.exsisting, self.allowed]
def __init__(self, mac, usage, production):
PlugwiseRequest.__init__(self, mac)
self.args.append(Int(usage, length=4))
self.args.append(Int(production, length=4))
def __init__(self, mac, moduletype, timeout):
PlugwiseRequest.__init__(self, mac)
self.args.append(Int(moduletype, length=2))
self.args.append(Int(timeout, length=2))