Size: a a a

ioBroker smarthome

2019 December 24

В

Вадим in ioBroker smarthome
Алексей Кравец
😂а это пережиток первой версии скрипта
я уж думал ...чото со мной
источник

Д

Денис in ioBroker smarthome
Алексей Кравец
к примеру
//Контроль заряда батареек на Xiaomi
on({id: /^zigbee.\d+\..*\.battery$/, change: "ne"}, function (obj) {
   var name;
   
   switch(obj.id){
       case 'zigbee.0.00158d000149aa61.battery':
           name = "Счетчик воды";
       break;
       case 'zigbee.0.00158d00015826c0.battery':
           name = "датчике движения";
       break;
       case 'mihome.0.devices.switch_158d0001875609.percent':
           name = "кнопке";
       break;
       case 'zigbee.0.00158d0001dad66b.battery':
           name = "датчике открытия окна на балконе кухни 1";
       break;
       case 'zigbee.0.00158d0001dad5f9.battery':
           name = "датчике открытия окна на балконе кухни 2";
       break;
       case 'zigbee.0.00158d0001dad5fe.battery':
           name = "датчике открытия окна на балконе спальни 1";
       break;
       case 'zigbee.0.00158d0001dad34c.battery':
           name = "датчике открытия окна на балконе спальни 2";
       break;
       case 'zigbee.0.00158d00017201f9.battery':
           name = "барометре в коридоре";
       break;
       case 'zigbee.0.00158d000172031f.battery':
           name = "барометре на кухне";
       break;
       case 'zigbee.0.00158d00017200ea.battery':
           name = "барометре в ванной";
       break;
       case 'zigbee.0.00158d0001720109.battery':
           name = "барометре в комнате";
       break;
       case 'zigbee.0.00158d0001d77876.battery':
           name = "протечки под раковиной в ванне";
       break;
   }
   
   if(obj.state.val < 20)
   {
       var text = 'Низкий заряд батареи на ' + name;
       send_tgm(text);
   }
});
Да, понятнее не стало), а можно для тех кто в танке, не посредственно уведомлениия при сработке датчика (Двери, Протечки, Движения) или оно так не делается?
источник

АК

Алексей Кравец... in ioBroker smarthome
Денис
Да, понятнее не стало), а можно для тех кто в танке, не посредственно уведомлениия при сработке датчика (Двери, Протечки, Движения) или оно так не делается?
так и делается, у тебя примерно будет
/^deconz.\d+\..*\.open$/
источник

АК

Алексей Кравец... in ioBroker smarthome
Денис
Да, понятнее не стало), а можно для тех кто в танке, не посредственно уведомлениия при сработке датчика (Двери, Протечки, Движения) или оно так не делается?
протечки, движения у меня в единичном экземпляре
источник

Д

Денис in ioBroker smarthome
Алексей Кравец
так и делается, у тебя примерно будет
/^deconz.\d+\..*\.open$/
Дорогу осилит идущий! Буду пробовать...
источник

АК

Алексей Кравец... in ioBroker smarthome
Вадим
я уж думал ...чото со мной
👍 поправил
источник

В

Вадим in ioBroker smarthome
Алексей Кравец
👍 поправил
так и шо со сравнением тру и фалс...можно?
источник

АК

Алексей Кравец... in ioBroker smarthome
Вадим
так и шо со сравнением тру и фалс...можно?
в плане? как ты сравнишь равные значения? если у тебя объект булевый, то зачем делать внутри скрипта сравнение, если для этого есть уже специальное условие?
источник

Д

Денис in ioBroker smarthome
Алексей Кравец
так и делается, у тебя примерно будет
/^deconz.\d+\..*\.open$/
on({id: /^deconz.\d+\..*\.open$/, change: "ne"}, function (obj) {
   var name;
   
   switch(obj.id){
       case 'deconz.0.Sensors.10.on':
           name = "Движение кухня";
       break;
   }    
   if(obj.state.val < 20)
   {
       var text = 'Движение на кухне' + name;
       send_tgm(text);
   }
});
похоже?
источник

В

Вадим in ioBroker smarthome
Алексей Кравец
в плане? как ты сравнишь равные значения? если у тебя объект булевый, то зачем делать внутри скрипта сравнение, если для этого есть уже специальное условие?
источник

В

Вадим in ioBroker smarthome
я про это
источник

АК

Алексей Кравец... in ioBroker smarthome
можно, когда-то по началу так и делал. сравнивал старое и новое значение, потом сделал по человечески
источник

АК

Алексей Кравец... in ioBroker smarthome
Денис
on({id: /^deconz.\d+\..*\.open$/, change: "ne"}, function (obj) {
   var name;
   
   switch(obj.id){
       case 'deconz.0.Sensors.10.on':
           name = "Движение кухня";
       break;
   }    
   if(obj.state.val < 20)
   {
       var text = 'Движение на кухне' + name;
       send_tgm(text);
   }
});
похоже?
нет)
источник

В

Вадим in ioBroker smarthome
Алексей Кравец
можно, когда-то по началу так и делал. сравнивал старое и новое значение, потом сделал по человечески
так он же сам сравнивает ...
источник

АК

Алексей Кравец... in ioBroker smarthome
on({id: /^deconz.\d+\..*\.open$/, change: "ne"}, function (obj) {
   var name;
   
   switch(obj.id){
       case 'deconz.0.Sensors.10.on':
           name = "дверь кухни";
       break;
   }    
   if(obj.state.val == false)
   {
       var text = 'открылась ' + name;
       send_tgm(text);
   }else{
       var text = 'закрылась ' + name;
       send_tgm(text);
   }
});
источник

В

Вадим in ioBroker smarthome
Денис
on({id: 'deconz.0.Sensors.15.open', change: 'ne'}, function (obj) {
   if(obj.state.val){
       sendTo('telegram.0', "🚪Открыта");
   }else{
       sendTo('telegram.0', "🚪Закрыта");
   }
});
так?
тогда можно записать по другому..упростив код
источник

АК

Алексей Кравец... in ioBroker smarthome
Вадим
так он же сам сравнивает ...
правильно, а у тебя уменьшается код и увеличивается читаемость его)
источник

В

Вадим in ioBroker smarthome
Алексей Кравец
on({id: /^deconz.\d+\..*\.open$/, change: "ne"}, function (obj) {
   var name;
   
   switch(obj.id){
       case 'deconz.0.Sensors.10.on':
           name = "дверь кухни";
       break;
   }    
   if(obj.state.val == false)
   {
       var text = 'открылась ' + name;
       send_tgm(text);
   }else{
       var text = 'закрылась ' + name;
       send_tgm(text);
   }
});
у него не заработает...нет функции  send_tgm(text);
источник

В

Вадим in ioBroker smarthome
шли и функцию отправки тогда ))
источник

АК

Алексей Кравец... in ioBroker smarthome
Вадим
у него не заработает...нет функции  send_tgm(text);
ну вот взял и все карты раскрыл, а как насчет, чтоб человек подумал?))
источник