// 1. НЕОБХОДИМО ЗАПОЛНИТЬ ДАННЫЕ ПО УСТРОЙСТВУ
// 1.1 путь до внешних физических устройств
var temperatureSensorDoor = “wb-mai6_66/IN 2 P Temperature”
var temperatureSensorDeep = “wb-mai6_66/IN 2 N Temperature”
var redLamp = “wb-mrm2-mini_54/K2”
var greenLamp = “wb-gpio/A4_OUT”
var yellowLamp = “wb-gpio/A3_OUT”
var loock = “wb-m1w2_78/Input 1”
var cleaning = “wb-mrm2-mini_54/Input 2 counter”
// 1.2 введите Id и Имя холодильника (устройства (обычно +1 к предыдущему)
var idDevice = 2
var idName = “Холодильник с сыром”
// -------------------------------------------------------------------------- //
// 2. СКРИПТ НА СОЗДАНИЕ УСТРОЙСТВА
defineVirtualDevice(“fridge_”+idDevice, {
title: idName ,
cells: {
temperatureSensorDoor: {
title: “Температура у двери”,
type: “temperature”,
value: 0,
order: 8
},
temperatureSensorDeep: {
title: “Температура у блока”,
type: “temperature”,
value: 0,
order: 9
},
redLamp: {
title: “Красная лампа”,
type: “switch”,
value: false,
order: 3
},
greenLamp: {
title: “Зеленая лампа”,
type: “switch”,
value: false,
order: 5
},
yellowLamp: {
title: “Желтая лампа”,
type: “switch”,
value: false,
order: 7
},
cleaning: {
title: “Режим уборки”,
type: “switch”,
value: false,
order: 4
},
loock: {
title: “Дверь заперта”,
type: “switch”,
value: false,
order: 6
},
alarm: {
title: “ОШИБКА”,
type: “alarm”,
value: false,
order: 1
},
textAlarm: {
title: “”,
type: “text”,
value: “описание ошибки”,
order: 2
},
}
});
// привязка показаний физических устройств (внешних)
// датчик у двери
defineRule( {
whenChanged: temperatureSensorDoor,
then: function (newValue) {
dev [“fridge_” +idDevice+ “/temperatureSensorDoor”] = newValue
}
});
// датчик у блока
defineRule( {
whenChanged: temperatureSensorDeep,
then: function (newValue) {
dev [“fridge_” +idDevice+ “/temperatureSensorDeep”] = newValue
}
});
// Красная лампа
defineRule( {
whenChanged: redLamp,
then: function (newValue) {
dev [“fridge_”+idDevice+“/redLamp”] = newValue
}
});
defineRule( {
whenChanged: “fridge_”+idDevice+“/redLamp”,
then: function (newValue) {
dev [redLamp] = newValue
}
});
// Зеленая лампа
defineRule( {
whenChanged: greenLamp,
then: function (newValue) {
dev [“fridge_”+idDevice+“/greenLamp”] = newValue
}
});
defineRule( {
whenChanged: “fridge_”+idDevice+“/greenLamp”,
then: function (newValue) {
dev [greenLamp] = newValue
}
});
// Желтая лампа
defineRule( {
whenChanged: yellowLamp,
then: function (newValue) {
dev [“fridge_”+idDevice+“/yellowLamp”] = newValue
}
});
defineRule( {
whenChanged: “fridge_”+idDevice+“/yellowLamp”,
then: function (newValue) {
dev [yellowLamp] = newValue
}
});
// геркон (датчик на закрытие двери)
defineRule( {
whenChanged: loock,
then: function (newValue) {
dev [“fridge_” + idDevice + “/loock”] = !newValue
}
});
// Режим уборки
defineRule( {
whenChanged: cleaning,
then: function () {
dev [“fridge_”+idDevice+“/cleaning”] = true
}
});
// активация аларм
defineRule( {
whenChanged: “fridge_”+idDevice+“/redLamp”,
then: function (newValue) {
dev [“fridge_” + idDevice + “/alarm”] = newValue
}
});