Я переписал свой код, так что теперь у меня есть три лампочки, которые я выключаю один за другим. Есть ли способ поместить все три из них в переменную, чтобы просто запустить команду выключения один раз?
// Turn off a bunch of lights
// Specify ID for a specific lamp
let KitchentableRight = await Homey.devices.getDevice({id: 'ef6bae9c-ec57-46ff-9011-905f90d16589'});
let KitchentableMiddle = await Homey.devices.getDevice({id: 'e29ab963-5139-4fdb-b4ec-ec25c103a62a'});
let KitchentableLeft = await Homey.devices.getDevice({id: '8b102bc6-00dd-4305-b111-f67a53ffd9d9'});
// Turn off tha lights based on their ID:s
KitchentableRight.setCapabilityValue('onoff', false);
KitchentableMiddle.setCapabilityValue('onoff', false);
KitchentableLeft.setCapabilityValue('onoff', false);
return true
Я пытаюсь написать это с помощью библиотеки javascript. apps.athom.com/app/com.athom.homeyscript
Я не думаю, что вы хорошо используете forEach. devices будет каждой записью вашего массива a, а device будет индексом. Проверить developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
Я пытался использовать ту страницу, которую вы связали со мной, пытаясь создать мой сценарий, но, видимо, я все сделал неправильно.
Обновил мой скрипт выше. Он включает свет, но не только его в списке. Вышеупомянутый скрипт переключается, но я хотел бы проверить, горит ли свет и действительно ли он выключен. Какие-либо предложения?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


чтобы цикл запускался для каждого устройства, он должен быть:
devices.forEach(device => {
if (device.name) return false;
console.info(device.name);
device.setCapabilityValue('onoff', !device.state.onoff);
})
если это массив имени устройства, вы можете проверить, есть ли устройство в: a.indexOf(device.name) != -1
Я создал, чтобы установить различные переменные (лампы), которые я хотел выключить. Не уверен, как заставить ваш код пройти через массив, чтобы выключить все лампы. Код дает ошибку «Ошибка: devices.foreach не является функцией»
Я понятия не имею о Homey, но return false внутри вашего forEach не делает того, чего вы ожидаете.