Сам спрашиваю - сам отвечаю. У нас очень активный форум:-(
Достучался до создателя АРМ "Скиф" и он помог реализовать снятие/постановку сигнализации на базе "Болид" под охрану.
Вот ссылка на его инструкцию: http://arm-skif.ru/forum/5-84-1#1190
Там же мой комментарий по той ситуации которая происходит при такой реализации. Кратко - при перезагрузке сервера иоброкера он посылает свои последние значения переменных в АРМ "Скиф" и тот, если был снят(поставлен) любым способом кроме как через IOBroker опять возвращается в исходное состояни, что может привести к неприятным последствиям.
Для того. чтобы избежать таких проблем необходимо написать небольшой скриптик(на примере 11 раздела):
! on({id: "mqtt.0.all.bolid.pku_1.part_11"/*all/bolid/pku_1/part_11*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; console.log('Изменение состояния сигнализации'); if (getState("mqtt.0.all.bolid.pku_1.part_11").val == '109') { console.log('Снято с охраны'); setState("mqtt.0.all.bolid.pku_1.part_11.on_11"/*on_11*/, 0); } else if (getState("mqtt.0.all.bolid.pku_1.part_11").val == '24') { console.log('Взято под охрану'); setState("mqtt.0.all.bolid.pku_1.part_11.on_11"/*on_11*/, 1); } !
Если же не хочется каждый раз подставлять переменную 0 или 1 для снятия/постановки под охрану, то можно создать дополнительный переключатель и просто изменять состояние true или false(полезно когда хочется завести в Homekit или vis):
! ````
on({id: "mqtt.0.all.bolid.pku_1.part_11.on/off_11"/on/off_11/, change: "ne"}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
if (getState("mqtt.0.all.bolid.pku_1.part_11.on/off_11").val == false) {
setState("mqtt.0.all.bolid.pku_1.part_11.on_11"/on_11/, 0);
} else if (getState("mqtt.0.all.bolid.pku_1.part_11.on/off_11").val == true) {
setState("mqtt.0.all.bolid.pku_1.part_11.on_11"/on_11/, 1);
}
});
on({id: "mqtt.0.all.bolid.pku_1.part_11"/all/bolid/pku_1/part_11/, change: "ne"}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
console.log('Изменение состояния сигнализации');
if (getState("mqtt.0.all.bolid.pku_1.part_11").val == '109') {
console.log('Снято с охраны');
setState("mqtt.0.all.bolid.pku_1.part_11.on_11"/on_11/, 0);
setState("mqtt.0.all.bolid.pku_1.part_11.on/off_11"/on/off_11/, false);
} else if (getState("mqtt.0.all.bolid.pku_1.part_11").val == '24') {
console.log('Взято под охрану');
setState("mqtt.0.all.bolid.pku_1.part_11.on_11"/on_11/, 1);
setState("mqtt.0.all.bolid.pku_1.part_11.on/off_11"/on/off_11/, true);
}
});
[3136_______________2017-11-29___0.12.25.png](/assets/uploads/files/3136_______________2017-11-29___0.12.25.png)