NEWS
[gelöst]wie innerhalb einer widget.html auf änderung eines states reagieren?
-
Ich erstelle grad ein neues Widget und möchte gern auf die änderung eines verknüften States reagieren.
Wenn der state sich ändert, soll eine funktion aufgerufen werden.
einen State kann ich wie folgt ändern
vis.setValue(data.oid_command, ('NLAI' + (vis.states[data.oid_layer + '.val']) + n + '----'));
damit ändere ich den State der mit oid_command im Widget verknüft ist. dadurch wird im Adapter eine Action ausgelöst die wiederum den State der mit iod_browser verknüft ändert. Und genau auf diese Änderung möchte ich nun reagieren innerhalb der widget.js
Gruß
Sveni_lee
-
wid = Widget ID
var $div = $('#' + wid); function onChange(e, newVal, oldVal) { console.log(e.type + ' changed to ' + newVal); } vis.states.bind(data.oid_command + '.val', onChange); // remember all ids, that bound $div.data('bound', [data.oid_command + '.val']); // remember bind handler $div.data('bindHandler', onChange);
Wie hier: https://github.com/ioBroker/ioBroker.vi … .html#L236
-
perfekt… vielen Dank das klappt jetzt