NEWS
Selector nicht im Adapter möglich?
-
Hallo,
ich versuche in meinem Adapter folgendermaßen bestimmte Objekte zu erhalten:
var Selector = $(adapter.namespace + 'geraete.*eventUID'); for (var i=0;i<Selector.length;i++) { id=Selector[i] }
Das scheint aber in Adaptern nicht zu funktionieren, oder?
Zumindest erhalte ich im Log folgendes:
uncaught exception: $ is not defined
Gibt es eine andere Möglichkeit?
-
@SchuetzeSchulz
Der $Selector ist eine Funktion des Javascript-Adapters. -
@paul53
Schade, gibt es da was ähnliches für Adapter?
Ich will nur alle Objekte des Adapters haben, die mit ".eventUID" enden. -
@SchuetzeSchulz sagte:
gibt es da was ähnliches für Adapter?
Ich würde es mal mit getStates(pattern, callback) versuchen.
* Read all states of this adapter, that pass the pattern * Allows to read all states of current adapter according to pattern. To read all states of current adapter use: * adapter.getStates('*', function (err, states) { * for (var id in states) { * adapter.log.debug('"' + id + '" = "' + states[id].val); * } * }); * @alias getStates * @memberof Adapter * @param {string} pattern string in form 'adapter.0.*' or like this. It can be array of IDs too. * @param {object} options optional argument to describe the user context * @param {ioBroker.GetStatesCallback} callback return result function (err, states) {}, where states is an object like {"ID1": {"val": 1, "ack": true}, "ID2": {"val": 2, "ack": false}, ...}
-
@paul53
Das scheint zu funktionieren, allerdings bekomme ich zusätzlich im LogNo suitable Lua script, fallback to keys!: function(doc) { if (doc.type=='state') emit(doc._id, doc) }
-
@SchuetzeSchulz sagte:
allerdings bekomme ich zusätzlich im Log
Damit kann ich nichts anfangen (bin selbst kein Adapter-Entwickler). Wie sieht der Code aus ?
-
@paul53
Müsste dann diese Zeile sein:adapter.getStates(adapter.namespace + ".eNet.*.*.*.*eventUID", function (err, states)