NEWS

  • Starter

    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.

  • Starter

    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}, ...}
  • Starter

    paul53
    Das scheint zu funktionieren, allerdings bekomme ich zusätzlich im Log

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

  • Starter

    paul53
    Müsste dann diese Zeile sein:

    adapter.getStates(adapter.namespace + ".eNet.*.*.*.*eventUID", function (err, states) 
    
    

Suggested Topics

515
Online

34.6k
Users

40.7k
Topics

557.3k
Posts