diff --git a/RFXtrx/__init__.py b/RFXtrx/__init__.py index bdab5c2..4a96458 100644 --- a/RFXtrx/__init__.py +++ b/RFXtrx/__init__.py @@ -69,6 +69,14 @@ def __str__(self): return "{0} type='{1}' id='{2}'".format( type(self), self.type_string, self.id_string) + def to_json(self): + res = {} + for (k,v) in self.__dict__.iteritems(): + if k.startswith("_"): + continue + res[ k ] = v + return res + ############################################################################### # LightingDevice class @@ -214,6 +222,15 @@ class RFXtrxEvent(object): def __init__(self, device): self.device = device + def to_json(self): + res = {} + for (k,v) in self.__dict__.iteritems(): + if k.startswith("_"): + continue + if isinstance(v, RFXtrxDevice) : + v = v.to_json() + res[ k ] = v + return res ############################################################################### # SensorEvent class @@ -259,6 +276,7 @@ def __str__(self): type(self), self.device, sorted(self.values.items())) + ############################################################################### # ControlEvent class ###############################################################################