Я хочу чтобы мне приходили сообщения в телегу о движениях дома, когда меня там нет.
Я сделал виртуальную кнопку NobodyHome и условие if (‘NobodyHome/switch’ == true), внутри которого должна происходить проверка показаний с датчиков MotionCheck.
Но сообщения не приходят независимо от состояния топика NobodyHome/switch.
NobodyHome.js
defineVirtualDevice("NobodyHome", {
title: "NobodyHome",
cells: {
switch: {
title: "Дома никого",
type: "switch",
readonly: false,
value: false
},
}
});
rules.js
sensors = ["wb-msw-v3_59/Current Motion", "wb-msw-v3_62/Current Motion", "wb-msw-v3_112/Current Motion", "wb-msw-v3_127/Current Motion", "wb-msw-v3_133/Current Motion", "wb-msw-v3_136/Current Motion"]
sensorNames = ["комнате 1", "комнате 2", "комнате 3", "комнате 4", "комнате 5", "комнате 6"]
if ('NobodyHome/switch' == true) {
defineRule("MotionCheck", {
whenChanged: sensors,
then: function (newValue, devName, cellName) {
if (newValue > 50) {
var index = sensors.indexOf(devName + '/' + cellName);
SendTelegramMsg('Есть движение в ' + sensorNames[index] + '. Уровень ' + newValue); // Call global function
log ("Message 1 sent"); // Write to debug console log message
}
}
});
}
А вот если я оставлю вот так, то всё работает, но сообщения сыпятся постоянно, когда они не нужны совсем
rules.js
sensors = ["wb-msw-v3_59/Current Motion", "wb-msw-v3_62/Current Motion", "wb-msw-v3_112/Current Motion", "wb-msw-v3_127/Current Motion", "wb-msw-v3_133/Current Motion", "wb-msw-v3_136/Current Motion"]
sensorNames = ["комнате 1", "комнате 2", "комнате 3", "комнате 4", "комнате 5", "комнате 6"]
defineRule("MotionCheck", {
whenChanged: sensors,
then: function (newValue, devName, cellName) {
if (newValue > 50) {
var index = sensors.indexOf(devName + '/' + cellName);
SendTelegramMsg('Есть движение в ' + sensorNames[index] + '. Уровень ' + newValue); // Call global function
log ("Message 1 sent"); // Write to debug console log message
}
}
});