ioBroker.javascript icon indicating copy to clipboard operation
ioBroker.javascript copied to clipboard

Rückmeldung der Selektorfunktionen, dass kein Objekt vorhanden ist.

Open BenAhrdt opened this issue 11 months ago • 3 comments

Wenn man bspw. ein Selektor anfragt mit:

const sollwert = $(`state(rooms=${idRoom})[role=${roleFeuchtesollwert}]`).getState();

aber kein State zur Verfügung steht (warum auch immer), dann erscheint ein Fehler und man kann dies nur bspw. mit try catch abfangen. Es wäre schön, wenn in diesem Moment die jeweilige Funktion des Selektors (setState, getState....) eine Rückmeldung gibt, dass nicht vorhanden ist:

Bspw. { error: "no State found" }

oder sonstiges.

Wäre das möglich?

BenAhrdt avatar Jan 08 '25 09:01 BenAhrdt

Wie lautet denn der Fehler? Normalerweise sollte null zurückgegeben werden.

https://github.com/ioBroker/ioBroker.javascript/blob/840d03855636c4271971afc202532d008c22d264/lib/sandbox.js#L986-L988

klein0r avatar Jan 08 '25 09:01 klein0r

Wie lautet denn der Fehler? Normalerweise sollte null zurückgegeben werden.

https://github.com/ioBroker/ioBroker.javascript/blob/840d03855636c4271971afc202532d008c22d264/lib/sandbox.js#L986-L988

Der hier:

getState has been called with id of type "undefined" but expects a string

BenAhrdt avatar Jan 08 '25 11:01 BenAhrdt

@klein0r habe mir erst einmal so beholfen:

function controlHumidity(idRoom){ // Abfragen, ob der Selector eine läge zurückliefert => States vorhanden let selector = $(state(rooms=${idRoom})[role=${roleFeuchtesollwert}]); if(selector.length === 0){ return; } const sollwert = selector.getState().val;

BenAhrdt avatar Jan 08 '25 13:01 BenAhrdt