Exemplo n.º 1
0
def virtualnode_cmdClasse_get_poll(node_ref, idPoll):
    manager = Manager()
    homeId = node_ref.split(".")[0]
    nodeId = int(node_ref.split(".")[1])
    node = manager.getNode(homeId, nodeId)
    if node is not None:
        poll = node.getPoll(int(idPoll))
        if poll is not None:
            params = {}
            clssId = manager.GetCommandClassId(poll['cmdclass'])
            for v in node.getCmdClassValues(int(clssId)):
                if (v.instance == poll['instance']):
                    params = {
                        "index": v.index,
                        "units": v.units,
                        "type": v.GetType,
                        "genre": v.GetGenre,
                        "listVal": v.getValuesCollection()
                    }
            return jsonify(result='success', vpoll=poll, valueparams=params)
        return json.dumps({
            "error":
            "poll with id {0} doesn't exist for Virtual Node {1}.".format(
                idPoll, node_ref)
        }), 500
    return json.dumps({"error":
                       "Virtual Node {0} not find.".format(node_ref)}), 500
Exemplo n.º 2
0
def virtualnode_cmdClasse_get_label(node_ref, clssId):
    manager = Manager()
    homeId = node_ref.split(".")[0]
    nodeId = int(node_ref.split(".")[1])
    node = manager.getNode(homeId, nodeId)
    instance = int(request.args.get('instance', 0, type=str))
    label = request.args.get('label', 0, type=str)
    labels = []
    instances = []
    if node is not None:
        print type(clssId), clssId
        try:
            clssId = int(clssId)
        except:
            clssId = manager.GetCommandClassId(clssId)
        print type(clssId), clssId
        for v in node.getCmdClassValues(int(clssId)):
            if v.instance not in instances: instances.append(v.instance)
        if instance not in instances: instance = 0
        for v in node.getCmdClassValues(int(clssId)):
            if (instance == 0) or (v.instance == instance):
                labels.append({
                    "instance": v.instance,
                    "label": v.label,
                    "index": v.index,
                    "units": v.units,
                    "type": v.GetType,
                    "genre": v.GetGenre,
                    "listVal": v.getValuesCollection()
                })
        return jsonify(result='success',
                       labels=labels,
                       label=label,
                       instances=instances,
                       instance=instance)
    return json.dumps({"error":
                       "Virtual Node {0} not find.".format(node_ref)}), 500