Hallo,
um einen Befehl und die Rückmeldung für die Vis in ein Objekt zu bekommen, habe ich hier im Forum für meine Rolläden das folgende Skript gefunden und entsprechend angepasst.
//Esszimmer
const idCmd4 = 'knx.0.Rollo_EG_Neubau.Esszimmer.Positionierung'; // Datenpunkt-ID für Kommando
const idStat4 = 'knx.0.Rollo_EG_Neubau.Esszimmer.Position'; // Datenpunkt-ID für Status
const idVis4 = 'javascript.0.scriptEnabled.Rolladen.Rolladen_Esszimmer'; // Datenpunkt für gleichzeitige Anzeige / Bedienung
const js4 = 'system.adapter.javascript.' + instance;
createState(idVis4, getState(idStat4).val, {type: 'boolean'}); // Datenpunkt erzeugen
on({id: idVis4, change: 'ne', fromNe: js4}, function(dp) {
setState(idCmd4, dp.state.val);
});
on(idStat4, function(dp) {
setState(idVis4, dp.state.val, true);
});
Dies funktioniert auch tadellos.
Da ich dies auch mit den Tastern machen muss, habe ich das gleiche Skript genommen.
Hier muss ich aber zum Ein und Ausschalten je zweimal drücken 
Die Rückmeldung in der Vis stimmt aber so weit.
//Büro
const idCmd1 = 'modbus.0.coils.12458_Taster_Kind 2 Licht Decke AB'; // Datenpunkt-ID für Kommando
const idStat1 = 'modbus.0.coils.582_KL12_DO7'; // Datenpunkt-ID für Status
const idVis1 = 'Licht.0.Licht_Büro_Altbau'; // Datenpunkt für gleichzeitige Anzeige / Bedienung
const js1 = 'system.adapter.javascript.' + instance;
createState(idVis1, getState(idStat1).val, {type: 'boolean'}); // Datenpunkt erzeugen
on({id: idVis1, change: 'ne', fromNe: js1}, function(dp) {
setState(idCmd1, dp.state.val);
});
on(idStat1, function(dp) {
setState(idVis1, dp.state.val, true);
});