def toJSON(self): d = dict() utils.merge_dict_if_not_default(vars(self), d, "reserved", 0) utils.merge_dict_if_not_default(vars(self), d, "clauses", None) d["house_code"] = codec.VALUE_TO_HOUSECODE_MAP[self.house_code] d["unit_code"] = codec.VALUE_TO_UNITCODE_MAP[self.unit_code] d["trigger_on_off"] = self.trigger_on_off and "on" or "off" d["macro_id"] = self.macro_ptr utils.convert_key_to_hex_string(d, "macro_id") return d
def toJSON(self): l = utils.merge_dict(vars(self), None, "delay_secs", "id") utils.convert_key_to_hex_string(l, "id") # l["reserved"] = utils.to_binary_string(self.reserved_1) elements = l["elements"] = [] for d in self.elements: units = d["unit_bitmap_hi"], d["unit_bitmap_lo"] d["units"] = [k for k,v in codec.DEVICECODE_MASK.decode(units).iteritems() if v == 1] del d["unit_bitmap_lo"] del d["unit_bitmap_hi"] d["function_code"] = codec.FUNCTIONS_ZERO_OFFSET[d["function_code"]] d["house_code"] = codec.VALUE_TO_HOUSECODE_MAP[d["house_code"]] elements.append(d) return l
def toJSON(self): t = vars(self) tijson = utils.merge_dict(t, None, "start_macro_ptr", "stop_macro_ptr", "start_macro_id", "stop_macro_id") utils.convert_key_to_hex_string(tijson, "start_macro_ptr", "stop_macro_ptr", "start_macro_id", "stop_macro_id") if utils.merge_dict_if_not_default(t, tijson, "begin_year_day", 0): tijson["begin_date"] = utils.x10_year_day_to_string(t["begin_year_day"]) if utils.merge_dict_if_not_default(t, tijson, "end_year_day", 367): tijson["end_date"] = utils.x10_year_day_to_string(t["end_year_day"]) utils.merge_dict_if_not_default(t, tijson, "start_security", 0) utils.merge_dict_if_not_default(t, tijson, "stop_security", 0) tijson["start_time"] = utils.x10_time_to_string(t["start_double_hour"], t["start_min"]) tijson["stop_time"] = utils.x10_time_to_string(t["stop_double_hour"], t["stop_min"]) tijson["week_day_mask"] = utils.week_mask_to_string(t["week_day_mask"]) return tijson