Re: [Модуль] Broadlink
Добавлено: Ср дек 06, 2017 8:45 pm
Всем привет.
Грянуло очередное обновление всем на голову =D.
Изменена логика запроса всех устройств.
Статусы всех устройств помимо S1 теперь передаются постоянно. S1 передаёт постоянно только "единички" при срабатываниях датчиков движения.
И нет, это не просто взбрело мне в голову...это решает целых 2 проблемы...
1) Работа простых устройств...ранее запрос менял статус только при изменении значения. При этом в простых устройствах есть свойство alive, которое, как бы, показывает живо устройство или нет. И соответственно если статус менялся давно (а у меня порой месяцами на некоторых устройствах не меняются статусы)), то система как бы думает что устройство "сдохло", что ни есть хорошо. Засылая постоянно статусы - исправляем проблему.
2) Почему на s1 подругому? Там, к примеру, при срабатывании датчика движения запускается метод ответственный за движения, и он будет запускаться постоянно, даже если будут лететь "нули", чего нам, вроде как, не надо. А единички посылаются постоянно, что опять же даёт ещё 1 плюс...Ранее, если при движении включался какой-либо прибор, а через определенный промежуток он должен был отключится - запускался таймер...и т.к. от устройства не приходили постоянно "единички" - таймер не сбрасывался. Сбрасывался, только когда скинется на 0 (движения не будет некоторое время), а потом снова появится - и только тогда он сбрасывался. Это приводило к тому, что включили устройство по движению - сделали логику, что если 45 сек нет движения - устройство вырубается - движение по факту есть, таймер не сбрасывается - устройство благополучно вырубается через 45 сек. Сейчас таймеры привязанные сбрасывается постоянно, пока есть движение, и включенные приборы выключаться будут только по окончанию движения.
Добавлены свойства tamper и batterylow (наверное не совсем, как вы ожидали...можете покритиковать =D ) Если одно из них срабатывает - под датчиком появляются соответствующие надписи.
Чтобы система могла как-то реагировать на данные события - они выставляются в выбранный объект для конкретного датчика, в одноименные свойства (tamper и batterylow). Если хотите какой-либо реакции на них - просто привяжите метод к данным свойствам. Из метода можно передавать значения, к примеру, в те же отдельные простые устройства, если вы того пожелаете)) Хотя отдельное простое устройство создавать для состояния батарейки - как то бредово =). Ну да ладно, дело ваше...
Как и другие обновы, касающиеся S1 - ничего, к сожалению, не проверено, за неимением самого устройства.
Грянуло очередное обновление всем на голову =D.
Изменена логика запроса всех устройств.
Статусы всех устройств помимо S1 теперь передаются постоянно. S1 передаёт постоянно только "единички" при срабатываниях датчиков движения.
И нет, это не просто взбрело мне в голову...это решает целых 2 проблемы...
1) Работа простых устройств...ранее запрос менял статус только при изменении значения. При этом в простых устройствах есть свойство alive, которое, как бы, показывает живо устройство или нет. И соответственно если статус менялся давно (а у меня порой месяцами на некоторых устройствах не меняются статусы)), то система как бы думает что устройство "сдохло", что ни есть хорошо. Засылая постоянно статусы - исправляем проблему.
2) Почему на s1 подругому? Там, к примеру, при срабатывании датчика движения запускается метод ответственный за движения, и он будет запускаться постоянно, даже если будут лететь "нули", чего нам, вроде как, не надо. А единички посылаются постоянно, что опять же даёт ещё 1 плюс...Ранее, если при движении включался какой-либо прибор, а через определенный промежуток он должен был отключится - запускался таймер...и т.к. от устройства не приходили постоянно "единички" - таймер не сбрасывался. Сбрасывался, только когда скинется на 0 (движения не будет некоторое время), а потом снова появится - и только тогда он сбрасывался. Это приводило к тому, что включили устройство по движению - сделали логику, что если 45 сек нет движения - устройство вырубается - движение по факту есть, таймер не сбрасывается - устройство благополучно вырубается через 45 сек. Сейчас таймеры привязанные сбрасывается постоянно, пока есть движение, и включенные приборы выключаться будут только по окончанию движения.
Добавлены свойства tamper и batterylow (наверное не совсем, как вы ожидали...можете покритиковать =D ) Если одно из них срабатывает - под датчиком появляются соответствующие надписи.
Чтобы система могла как-то реагировать на данные события - они выставляются в выбранный объект для конкретного датчика, в одноименные свойства (tamper и batterylow). Если хотите какой-либо реакции на них - просто привяжите метод к данным свойствам. Из метода можно передавать значения, к примеру, в те же отдельные простые устройства, если вы того пожелаете)) Хотя отдельное простое устройство создавать для состояния батарейки - как то бредово =). Ну да ладно, дело ваше...
Как и другие обновы, касающиеся S1 - ничего, к сожалению, не проверено, за неимением самого устройства.