Majordomo. Raspbian. Датчик утечки газа Xiaomi.
Перодически статус меняется на желтый. Датчик утечки газа не обновляется.
Нажму на кнопку на датчике, приходит сигнал от датчика, сатус меняется на зеленый.
Что с этим можно сделать?
Датчик не обновляется.
Модератор: immortal
-
- Сообщения: 2079
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 313 раз
- Поблагодарили: 457 раз
Re: Датчик не обновляется.
у меня сяоми батарейные девайся, особенно датчики протечки, дыма, газа, которые редко обновляют свое состояния
а проверять их работоспособность только по одному параметру величина заряда батарейки не надежно
проверяются еще через heartbeat который и формирует alive
а проверять их работоспособность только по одному параметру величина заряда батарейки не надежно
проверяются еще через heartbeat который и формирует alive
- Рейтинг: 1.16%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
-
- Сообщения: 32
- Зарегистрирован: Пн мар 25, 2019 12:37 pm
- Благодарил (а): 14 раз
- Поблагодарили: 2 раза
-
- Сообщения: 32
- Зарегистрирован: Пн мар 25, 2019 12:37 pm
- Благодарил (а): 14 раз
- Поблагодарили: 2 раза
Re: Датчик не обновляется.
В принципе, как я понимаю, проблем особо нет. При появлении газа, датчик срабатывает, орет, отправляет сигнал в Majordomo, статус меняется на зеленый, сценарий отрабатывается. Только портит картинку желтый статус.
-
- Сообщения: 2079
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 313 раз
- Поблагодарили: 457 раз
Re: Датчик не обновляется.
это отдельная тема)
сенсор - шлюз - модуль обновляет их значение раз в (примерно) 50 мин. (в свойство, к сожалению метод не вызывается без изменения значения) к свойству можно привязать метод (который будет вызываться при каждой записи в данное свойство
в методе heartbeat
вот мы уже имеем три свойства: battery_level в процентах емкость батарейки, heartbeat время последнего сердцебиения в формате линукстайм, alive состояние сенсора
viewtopic.php?f=24&t=5827&start=20#p102488
в системе есть класс systemStates, в котором прекрасно реализуется контроль батареек, контроль сердцебиения и изменение состояния сенсора alive = 0
сам класс, его цикл и методы можно "доработать" дабы минимизировать нагрузку на систему и получить более гибкие настройки/возможности
у всех сяоми девайсах есть две метрики (даже у которых нет батарейки, но сенсор - шлюз - модуль обновляет их значение раз в (примерно) 50 мин. (в свойство, к сожалению метод не вызывается без изменения значения) к свойству можно привязать метод (который будет вызываться при каждой записи в данное свойство
в методе heartbeat
Код: Выделить всё
$this->setProperty('heartbeat', time());
if ($this->getProperty('alive') == 0) {
$this->setProperty('alive', 1);
}
viewtopic.php?f=24&t=5827&start=20#p102488
в системе есть класс systemStates, в котором прекрасно реализуется контроль батареек, контроль сердцебиения и изменение состояния сенсора alive = 0
сам класс, его цикл и методы можно "доработать" дабы минимизировать нагрузку на систему и получить более гибкие настройки/возможности
- Рейтинг: 2.33%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
-
- Сообщения: 2079
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 313 раз
- Поблагодарили: 457 раз
Re: Датчик не обновляется.
https://github.com/sergejey/majordomo/b ... kstate.php
не учитывает вышесказанного, контролирует состояние свойства alive, которое принимает значение 1 при срабатывании сенсора и сбрасывается в 0 по таймеру (по умолчанию 48 часов)
п.с. маленькая ремарка, у тс последняя версия образа (!!!) и там инжекция из ПУ расположена правильно (поправлено, то система ее в конце располагает)
вот у все остальных это или не работает, или закомментировано (у меня закомментировано, но у меня свои механизмы проверок, имхо лучше)
и еще ссылка на материал
https://connect.smartliving.ru/profile/ ... state.html
https://t.me/MajorDoMoRu/119479
- Рейтинг: 1.16%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
- SmoKE_xDDD
- Сообщения: 816
- Зарегистрирован: Ср апр 17, 2019 5:00 pm
- Откуда: Нижний Новгород
- Благодарил (а): 110 раз
- Поблагодарили: 898 раз
Re: Датчик не обновляется.
Все же, как нибудь можно принудительно запросить свежие цифры допустим по датчику температуры?
-
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
- Благодарил (а): 400 раз
- Поблагодарили: 1753 раза
- Контактная информация:
Re: Датчик не обновляется.
Записать в метрику command значение read через привязанное свойство объекта. Но не факт, что это будут актуальные данные с датчика, возможно, шлюз отдаст свои кешированные данные.SmoKE_xDDD писал(а): ↑Сб май 11, 2019 10:55 pmВсе же, как нибудь можно принудительно запросить свежие цифры допустим по датчику температуры?
- Рейтинг: 2.33%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Мой CONNECT | Блоги | Telegram