Здравствуйте, помогите пожалуйста недалекому в этой теме человеку. Нужно управлять реле (и другими реле других модулей ) через wbio-di-wd-14 (управление при помощи механических кнопок,
а также при помощи одной кнопки запустить сразу две реле с автоматическим отключение после от сжатия механической кнопки)
Правильно ли я написал скрипт для этого и что в нем нужно поменять?
defineRule(“Rele_control”, {
whenChanged: “wb-gpio/EXT1_IN1”, //при изменении состояния 1 канала WD-14
then: function (newValue, devName, cellName) {
log("Устройство: " + devName);
log("Контрол: " + cellName);
log("Новое значение (truе -- замкнуто, false -- разомкнуто): " + newValue);
//Bзменяем состояние двух реле на такое же, как у входа WD-14
dev["wb-gpio"]["EXT4_ON1"] = newValue;
dev["wb-gpio"]["EXT4_DIR1"] = newValue;
}
})
}
Просто передо мной поставили задачу написать скрипт, я в этом вообще не понимаю, так как только недавно начал изучать js. Проконсультируйте меня пожалуйста, все ли правильно я делаю?
На каждое реле надо написать скрипт и я по аналогии сделал так, корректно ли выглядит?
или состояние “true” “false” нужно оставлять на одной строке?
Не вижу в какой строке нужно оставлять true false?
Ошибка в именовании правил
defineRule(“Rele_control”, {
Нужно каждое правило именовать по своему.
defineRule(“Rele_control_1”, {
…
defineRule(“Rele_control_2”, {
…
defineRule(“Rele_control_3”, {
…
Пока можно так. В дальнейшем однотипные действия будете оборачивать в функции и для их выполнения разными устройствами только подставлять их в качестве параметров.
Появится окно вывода сообщений.
То что в скобках указано, то и выведется.
в вашем случае красное это текст, а синее значение, которое подтягивается из переменных.
Как “true” “false” подставите, так оно и выведется.
Когда примеры даете, то не скриншоты делайте, а copy-paste и оформляйте этой кнопкой