Пример #1
0
    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}")
Пример #2
0
    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")
Пример #3
0
    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}")
Пример #4
0
    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")
Пример #5
0
 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))