Size: a a a

ioBroker smarthome

2019 November 21

IA

Igor Aleschenkov in ioBroker smarthome
Алексей Кравец
Последнее показание 28%, а по факту датчик выпал из жизни. Измерил заряд, а там 0,5в
У себя давно уже перестал обращать внимание на показания батареек. Когда датчик отвалится по этим показаниям не поймёшь.
Написал скрипт который пасет время с последнего обновления, и если подозрительно долго не обновлялось, то шлёт предупреждение
источник

АК

Алексей Кравец... in ioBroker smarthome
Igor Aleschenkov
У себя давно уже перестал обращать внимание на показания батареек. Когда датчик отвалится по этим показаниям не поймёшь.
Написал скрипт который пасет время с последнего обновления, и если подозрительно долго не обновлялось, то шлёт предупреждение
я с утра думал об этом, что с учетом количества объектов в брокере, пора делать некий драйвер или в саму систему закладывать функционал, что если по какому нибудь объекту нет данных, например месяц, то выдавать информирование. Потому что как сейчас, датчик отвалился, почти месяц не было данных, и если бы на нем не был завязан некий функционал, так бы и не знал что данный не поступают
источник

СA

Сергей Фролов Angelo... in ioBroker smarthome
Igor Aleschenkov
У себя давно уже перестал обращать внимание на показания батареек. Когда датчик отвалится по этим показаниям не поймёшь.
Написал скрипт который пасет время с последнего обновления, и если подозрительно долго не обновлялось, то шлёт предупреждение
поделись скриптом пожалуйста :)
источник

СA

Сергей Фролов Angelo... in ioBroker smarthome
Алексей Кравец
я с утра думал об этом, что с учетом количества объектов в брокере, пора делать некий драйвер или в саму систему закладывать функционал, что если по какому нибудь объекту нет данных, например месяц, то выдавать информирование. Потому что как сейчас, датчик отвалился, почти месяц не было данных, и если бы на нем не был завязан некий функционал, так бы и не знал что данный не поступают
+
источник

IA

Igor Aleschenkov in ioBroker smarthome
Сергей Фролов Angelok.ru
поделись скриптом пожалуйста :)
источник

VD

Vladimir Danilov in ioBroker smarthome
Алексей Кравец
я с утра думал об этом, что с учетом количества объектов в брокере, пора делать некий драйвер или в саму систему закладывать функционал, что если по какому нибудь объекту нет данных, например месяц, то выдавать информирование. Потому что как сейчас, датчик отвалился, почти месяц не было данных, и если бы на нем не был завязан некий функционал, так бы и не знал что данный не поступают
Месяц для УД это вечность
источник

IA

Igor Aleschenkov in ioBroker smarthome
Держите.. За качество не ручаюсь 😁
источник

IA

Igor Aleschenkov in ioBroker smarthome
Vladimir Danilov
Месяц для УД это вечность
Это точно
источник

СA

Сергей Фролов Angelo... in ioBroker smarthome
Igor Aleschenkov
Держите.. За качество не ручаюсь 😁
запускается по крону и перебирает все zigbee объекты ?
источник

АК

Алексей Кравец... in ioBroker smarthome
Vladimir Danilov
Месяц для УД это вечность
я среднее взял, в идеале конечно настраивамый параметр
источник

СA

Сергей Фролов Angelo... in ioBroker smarthome
Igor Aleschenkov
Держите.. За качество не ручаюсь 😁
спасибо!
источник

i

instalator in ioBroker smarthome
///////////// Уровень батареек в сяоми девайсах ////////////////////
var time_alert = false;
on({id: /zigbee.*?.battery$/, change: 'any'}, function (obj) {
   if(obj.state.val < 35){
       var dev = obj.id.replace('.battery', '');
       var devobj = getObject(dev);
       if(!time_alert){
           alert('Уровень заряда батарейки в устройстве "' + devobj.common.name + '" = ' + obj.state.val + '%, нужно заменить батарейку.', 1);
       }
       time_alert = true;
       setTimeout(function() {
           time_alert = false;
       }, 43200000);
   }
});
источник

i

instalator in ioBroker smarthome
хотя уже выкладывали пару вариков выше
источник

СA

Сергей Фролов Angelo... in ioBroker smarthome
instalator
///////////// Уровень батареек в сяоми девайсах ////////////////////
var time_alert = false;
on({id: /zigbee.*?.battery$/, change: 'any'}, function (obj) {
   if(obj.state.val < 35){
       var dev = obj.id.replace('.battery', '');
       var devobj = getObject(dev);
       if(!time_alert){
           alert('Уровень заряда батарейки в устройстве "' + devobj.common.name + '" = ' + obj.state.val + '%, нужно заменить батарейку.', 1);
       }
       time_alert = true;
       setTimeout(function() {
           time_alert = false;
       }, 43200000);
   }
});
//Задача функции предупредить о севшей батарейке в датчиках ZigBee

var zarad = 20; //Заряд батареи ниже которой начать уведомление

on({id: /^zigbee\.0\..*\.battery$/, change: 'any'},
function (obj)
{
 
 device = obj.id.substring(0, 25); //получаем мак устройства

 if ((obj.state.val) <= zarad) {

   //Готовим сообщение для отправки
   str = '<b>ВНИМАНИЕ</b> села батарейка в датчике ' + "\n" + 'Заряд 🔋 '+  obj.state.val + '%' + "\n" + 'датчик: '+ (getObject(device).common.name);

   //Отправляем сообщение мне
   SendToTelegram(str, 'xxx');

   }
});
источник

СA

Сергей Фролов Angelo... in ioBroker smarthome
instalator
хотя уже выкладывали пару вариков выше
батарейки есть :)
источник

СA

Сергей Фролов Angelo... in ioBroker smarthome
я про крайнее обновление данных от датчика
источник

СA

Сергей Фролов Angelo... in ioBroker smarthome
instalator
///////////// Уровень батареек в сяоми девайсах ////////////////////
var time_alert = false;
on({id: /zigbee.*?.battery$/, change: 'any'}, function (obj) {
   if(obj.state.val < 35){
       var dev = obj.id.replace('.battery', '');
       var devobj = getObject(dev);
       if(!time_alert){
           alert('Уровень заряда батарейки в устройстве "' + devobj.common.name + '" = ' + obj.state.val + '%, нужно заменить батарейку.', 1);
       }
       time_alert = true;
       setTimeout(function() {
           time_alert = false;
       }, 43200000);
   }
});
регулярка у тебя красивше - заберу :)
источник

IA

Igor Aleschenkov in ioBroker smarthome
Сергей Фролов Angelok.ru
запускается по крону и перебирает все zigbee объекты ?
Запускает setinterval.
А проверяет не только батарейки, а любые указанные по селектору состояния.
источник

СA

Сергей Фролов Angelo... in ioBroker smarthome
Igor Aleschenkov
Запускает setinterval.
А проверяет не только батарейки, а любые указанные по селектору состояния.
красиво !  не знал про такой способ.
источник

IA

Igor Aleschenkov in ioBroker smarthome
Сергей Фролов Angelok.ru
красиво !  не знал про такой способ.
Красиво оповещать будет, если заданы комната и common.name у объекта. Предпочтение отдаётся русскому названию, если задано на русском и английском
источник