def delete(self, node_id, index): #grp = zwave[node_id].groups.get(index) grp = zwave.get_node(node_id).groups.get(index) if grp is None: return ret_err( 404, f"group at index: {index} in node_id: {node_id}, not found") target_node_id = group_parse.parse_args(strict=True).target_node_id if target_node_id is None: print(f"no or bad data provided: {target_node_id}") abort(404) if target_node_id not in grp.associations: return ret_err( 404, f"target_node_id: {target_node_id} not found in grp: {index}") #zwave[node_id].groups[index].remove_association(target_node_id) zwave.get_node(node_id).groups.get(index).remove_association( target_node_id) return ret_msg( msg=f"removed node_id: {target_node_id} from group: {index}")
def post(self, node_id, value_id): print("NODE VALUE SET:", node_id, " VALID: ", value_id) data = value_parse.parse_args(strict=True).data if data is None: print("no or bad data provided: {}".format(data)) abort(404) #_node_id, val = zwave.get_value_by_uid(uid) #try: # print (node_id, uid) # obj = zwave[node_id].values[uid] #except KeyError as e: # print ("\n".join(["{1}: {0}".format(zwave[node_id].values[k], k) for k in zwave[node_id].values.keys()])) #if node_id is None or value_id is None: node_vals = zwave[node_id].values if value_id not in node_vals: return ret_err(404, msg="ValueID not found: {} node_id: {}".format( value_id, node_id)) data = node_vals[value_id].check_data(data) #print ("SEETTTING", val, val.data, "TOOOO:", data) if data is None: print("data contents are crap: {}, check_data() failed...".format( data)) abort(405) node_vals[value_id].data = data #from IPython import embed #embed() #val.data = data return ret_msg(msg="data for value set successfully")
def put(self, node_id, index): grp = zwave.get_node(node_id).groups.get(index) if grp is None: return ret_err( 404, f"group at index: {index} in node_id: {node_id}, not found") target_node_id = group_parse.parse_args(strict=True).target_node_id if target_node_id is None: print(f"no or bad data provided: {target_node_id}") abort(404) zwave.get_node(node_id).groups.get(index).add_association( target_node_id) #zwave[node_id].groups[index].add_association(target_node_id) return ret_msg( msg=f"added node_id: {target_node_id} to group: {index}")
def post(self, node_id, value_id): print("NODE VALUE SET:", node_id, " VALID: ", value_id) data = value_parse.parse_args(strict=True).data if data is None: print("no or bad data provided: {}".format(data)) abort(404) node_vals = zwave.get_node(node_id).values #[node_id].values if value_id not in node_vals: return ret_err( 404, msg=f"ValueID not found: {value_id} node_id: {node_id}") data = node_vals[value_id].check_data(data) if data is None: print(f"data contents are crap: {data}, check_data() failed...") abort(405) node_vals[value_id].data = data return ret_msg(msg="data for value set successfully")
def patch(self, node_id): node = zwave[node_id] data = node_field_parse.parse_args(strict=True) node.set_field(data.field_name, data.field_value) return ret_msg(msg="field: {} successfully set to: {}". \ format(data.field_name, data.field_value))