Датчик не обновляется.

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

Ответить
chaoba
Сообщения: 32
Зарегистрирован: Пн мар 25, 2019 12:37 pm
Благодарил (а): 14 раз
Поблагодарили: 2 раза

Датчик не обновляется.

Сообщение chaoba » Чт май 02, 2019 10:15 pm

Majordomo. Raspbian. Датчик утечки газа Xiaomi.
Перодически статус меняется на желтый. Датчик утечки газа не обновляется.
Нажму на кнопку на датчике, приходит сигнал от датчика, сатус меняется на зеленый.
Что с этим можно сделать?
Logrus
Сообщения: 2079
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: Датчик не обновляется.

Сообщение Logrus » Чт май 02, 2019 10:29 pm

у меня сяоми батарейные девайся, особенно датчики протечки, дыма, газа, которые редко обновляют свое состояния
а проверять их работоспособность только по одному параметру величина заряда батарейки не надежно
проверяются еще через heartbeat который и формирует alive
За это сообщение автора Logrus поблагодарил:
chaoba (Сб май 04, 2019 9:01 am)
Рейтинг: 1.16%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
chaoba
Сообщения: 32
Зарегистрирован: Пн мар 25, 2019 12:37 pm
Благодарил (а): 14 раз
Поблагодарили: 2 раза

Re: Датчик не обновляется.

Сообщение chaoba » Сб май 04, 2019 9:01 am

Logrus писал(а):
Чт май 02, 2019 10:29 pm
проверяются еще через heartbeat который и формирует alive
Можно пример?
chaoba
Сообщения: 32
Зарегистрирован: Пн мар 25, 2019 12:37 pm
Благодарил (а): 14 раз
Поблагодарили: 2 раза

Re: Датчик не обновляется.

Сообщение chaoba » Сб май 04, 2019 9:26 pm

В принципе, как я понимаю, проблем особо нет. При появлении газа, датчик срабатывает, орет, отправляет сигнал в Majordomo, статус меняется на зеленый, сценарий отрабатывается. Только портит картинку желтый статус.
Logrus
Сообщения: 2079
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: Датчик не обновляется.

Сообщение Logrus » Сб май 04, 2019 9:32 pm

1.PNG
1.PNG (10.02 КБ) 4020 просмотров
у всех сяоми девайсах есть две метрики (даже у которых нет батарейки, но это отдельная тема)
сенсор - шлюз - модуль обновляет их значение раз в (примерно) 50 мин. (в свойство, к сожалению метод не вызывается без изменения значения)
2.PNG
2.PNG (27.84 КБ) 4020 просмотров
к свойству можно привязать метод (который будет вызываться при каждой записи в данное свойство
в методе heartbeat

Код: Выделить всё

$this->setProperty('heartbeat', time());

if ($this->getProperty('alive') == 0) {
 $this->setProperty('alive', 1);
}
вот мы уже имеем три свойства: battery_level в процентах емкость батарейки, heartbeat время последнего сердцебиения в формате линукстайм, alive состояние сенсора

viewtopic.php?f=24&t=5827&start=20#p102488
в системе есть класс systemStates, в котором прекрасно реализуется контроль батареек, контроль сердцебиения и изменение состояния сенсора alive = 0
сам класс, его цикл и методы можно "доработать" дабы минимизировать нагрузку на систему и получить более гибкие настройки/возможности
За это сообщение автора Logrus поблагодарили (всего 2):
chaoba (Сб май 04, 2019 9:40 pm) • Samir77 (Чт сен 05, 2019 10:44 pm)
Рейтинг: 2.33%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Logrus
Сообщения: 2079
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: Датчик не обновляется.

Сообщение Logrus » Сб май 04, 2019 9:40 pm

chaoba писал(а):
Сб май 04, 2019 9:26 pm
В принципе, как я понимаю, проблем особо нет. При появлении газа, датчик срабатывает, орет, отправляет сигнал в Majordomo, статус меняется на зеленый, сценарий отрабатывается. Только портит картинку желтый статус.
https://github.com/sergejey/majordomo/b ... kstate.php
не учитывает вышесказанного, контролирует состояние свойства alive, которое принимает значение 1 при срабатывании сенсора и сбрасывается в 0 по таймеру (по умолчанию 48 часов)

п.с. маленькая ремарка, у тс последняя версия образа (!!!) и там инжекция из ПУ расположена правильно (поправлено, то система ее в конце располагает)
вот у все остальных это или не работает, или закомментировано (у меня закомментировано, но у меня свои механизмы проверок, имхо лучше)
и еще ссылка на материал
https://connect.smartliving.ru/profile/ ... state.html
https://t.me/MajorDoMoRu/119479
За это сообщение автора Logrus поблагодарил:
Samir77 (Ср май 06, 2020 12:16 am)
Рейтинг: 1.16%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 898 раз

Re: Датчик не обновляется.

Сообщение SmoKE_xDDD » Сб май 11, 2019 10:55 pm

Все же, как нибудь можно принудительно запросить свежие цифры допустим по датчику температуры?
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Датчик не обновляется.

Сообщение skysilver » Вс май 12, 2019 1:15 pm

SmoKE_xDDD писал(а):
Сб май 11, 2019 10:55 pm
Все же, как нибудь можно принудительно запросить свежие цифры допустим по датчику температуры?
Записать в метрику command значение read через привязанное свойство объекта. Но не факт, что это будут актуальные данные с датчика, возможно, шлюз отдаст свои кешированные данные.
За это сообщение автора skysilver поблагодарили (всего 2):
olis (Вс дек 15, 2019 8:06 pm) • Samir77 (Ср май 06, 2020 12:17 am)
Рейтинг: 2.33%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Ответить