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
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