From 27c8954bc7de4e1003cf4aa5ae8d5255b72e4920 Mon Sep 17 00:00:00 2001 From: equinox Date: Mon, 18 Mar 2013 14:04:46 +0100 Subject: ethcan: write addr & class info to json --- ethcan.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ethcan.py b/ethcan.py index d52fb63..dad8d6f 100644 --- a/ethcan.py +++ b/ethcan.py @@ -25,6 +25,10 @@ class SubCANDevice(object): s.actorval = None s.actorupd = None s.actorchg = None + def dict(s): + rv = {} + rv['addr'] = s.addr + return rv class SubCANBool(SubCANDevice): def __init__(s, addr, name, falseval, trueval): @@ -35,7 +39,8 @@ class SubCANBool(SubCANDevice): return 'None' return s.vals[s.lastval & 1] def dict(s): - rv = {} + rv = SubCANDevice.dict(s) + rv['klass'] = 'beancounter' if s.lastval is not None: rv['raw'] = s.lastval rv['value'] = bool(s.lastval & 1) @@ -50,7 +55,8 @@ class SubCANDALI(SubCANDevice): return '' return 'set: %02x actual: %02x' % (s.actorval, s.lastval) def dict(s): - rv = {} + rv = SubCANDevice.dict(s) + rv['klass'] = 'light' if s.lastval is not None: rv['actual'] = s.lastval rv['actual_ts'] = int(s.lastupd) -- cgit v1.2.1