Простые устройства / Simple Devices
Модератор: immortal
-
- Сообщения: 132
- Зарегистрирован: Ср май 17, 2017 10:38 am
- Благодарил (а): 5 раз
- Поблагодарили: 11 раз
Re: Простые устройства / Simple Devices
А это как?
- Вложения
-
- 2020-05-03_10-37-56.png (75.36 КБ) 3691 просмотр
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 815 раз
Re: Простые устройства / Simple Devices
видиш нев_валуе и олд_валуе одинаковые - тоесть у тебя по приходу данных постоячнно выполняется метод.
ПОэтому в исполнительном методе фильтруй на входе олд_валуе и нев_валуе
Возможно в этом причина
а по крослинку - зайди в хрей - и посмотри лог - есть ли такая надпись Ворнинг - крослинкед метод...
- За это сообщение автора tarasfrompir поблагодарил:
- TrDA (Пн май 04, 2020 9:47 pm)
- Рейтинг: 1.16%
Спасибо нам ПОМОЖЕТ..!
-
- Сообщения: 132
- Зарегистрирован: Ср май 17, 2017 10:38 am
- Благодарил (а): 5 раз
- Поблагодарили: 11 раз
Re: Простые устройства / Simple Devices
В логах ничего такого нет.
Вот пример - обычный Sonoff выключатель - включаю.
Как он может быть old_value=1 если он был выключен - это видимо уже когда второй раз выполняет что то включение.
Вот пример - обычный Sonoff выключатель - включаю.
Как он может быть old_value=1 если он был выключен - это видимо уже когда второй раз выполняет что то включение.
- Вложения
-
- 2020-05-03_10-49-51.png (12.47 КБ) 3681 просмотр
-
- 2020-05-03_10-49-08.png (70.02 КБ) 3681 просмотр
-
- Сообщения: 106
- Зарегистрирован: Сб янв 20, 2018 12:33 am
- Благодарил (а): 42 раза
- Поблагодарили: 7 раз
Re: Простые устройства / Simple Devices
Более полутора лет прошло, а воз и ныне там.diver писал(а): ↑Ср сен 05, 2018 2:25 pmВообще, борьбы было много:
Дефолтный SDimmers_turnOff.phpПриводил к тому, что в начале лампа выключалась, потом устанавливалась яркость в 0, а поскольку такой яркости не бывает, она менялась на 1. Следовательно через некоторое время зажигалась на минималке...Чуть с ума не сошел, пока понял в чем дело, поменял порядок строк - вылечил...Код: Выделить всё
$this->setProperty('status', 0); $this->setProperty('level', 0);
У меня может быть странные условия - в комнате люстра на 5 xiaomi ламп. Поскольку простые устройства оперируют всякими $this и прочими вещами - лампы ведут себя не адекватно, такие лампы надо включать/выключать прямым sg("лампа.свойство",1/0) иначе - новогодняя иллюминация с жуткими задержками. Тут видимо дело, даже не в перфомансе железа, а в производительности кода...
Если вводить еще выключатель, который своими методами выключает лампы (а не прямым sg("лампа.свойство",1/0)), то получаем, что выключатель выключил... лампы увидели изменения статуса и включились...
В общем, если честно - надоело ловить баги - проще написать свои простые, может быть не универсальные, методы.
Простые устройства оставлю для всяких градусников. Ибо даже реакцию на датчик движения пришлось допиливать
-
- Сообщения: 2084
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 313 раз
- Поблагодарили: 457 раз
Re: Простые устройства / Simple Devices
а вы на той страничке до конца дочитали?Plug писал(а): ↑Вс май 03, 2020 10:07 pmБолее полутора лет прошло, а воз и ныне там.diver писал(а): ↑Ср сен 05, 2018 2:25 pmВообще, борьбы было много:
Дефолтный SDimmers_turnOff.phpПриводил к тому, что в начале лампа выключалась, потом устанавливалась яркость в 0, а поскольку такой яркости не бывает, она менялась на 1. Следовательно через некоторое время зажигалась на минималке...Чуть с ума не сошел, пока понял в чем дело, поменял порядок строк - вылечил...Код: Выделить всё
$this->setProperty('status', 0); $this->setProperty('level', 0);
У меня может быть странные условия - в комнате люстра на 5 xiaomi ламп. Поскольку простые устройства оперируют всякими $this и прочими вещами - лампы ведут себя не адекватно, такие лампы надо включать/выключать прямым sg("лампа.свойство",1/0) иначе - новогодняя иллюминация с жуткими задержками. Тут видимо дело, даже не в перфомансе железа, а в производительности кода...
Если вводить еще выключатель, который своими методами выключает лампы (а не прямым sg("лампа.свойство",1/0)), то получаем, что выключатель выключил... лампы увидели изменения статуса и включились...
В общем, если честно - надоело ловить баги - проще написать свои простые, может быть не универсальные, методы.
Простые устройства оставлю для всяких градусников. Ибо даже реакцию на датчик движения пришлось допиливать
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
- Bagir
- Сообщения: 1613
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 374 раза
Re: Простые устройства / Simple Devices
Добрые люди, 112 страниц не осилю, подскажите, а как полностью отключить Простыне устройства? пробовал убирать код
/* begin injection of {SDevices} */
require(DIR_MODULES. .....
/* end injection of {SDevices} */
Но он заново прописывается в методах. До обновления с очень старой версии, код не мешал, но теперь происходят чудеса. Особенно в объектах комнат. При этом самих простых устройств у меня нету. Логика настроена по старинке, на взаимодействии объектов разных классов.
/* begin injection of {SDevices} */
require(DIR_MODULES. .....
/* end injection of {SDevices} */
Но он заново прописывается в методах. До обновления с очень старой версии, код не мешал, но теперь происходят чудеса. Особенно в объектах комнат. При этом самих простых устройств у меня нету. Логика настроена по старинке, на взаимодействии объектов разных классов.
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 815 раз
Re: Простые устройства / Simple Devices
Начни отсюда - https://github.com/sergejey/majordomo/b ... ample#L104Bagir писал(а): ↑Пт май 08, 2020 12:52 pmДобрые люди, 112 страниц не осилю, подскажите, а как полностью отключить Простыне устройства? пробовал убирать код
/* begin injection of {SDevices} */
require(DIR_MODULES. .....
/* end injection of {SDevices} */
Но он заново прописывается в методах. До обновления с очень старой версии, код не мешал, но теперь происходят чудеса. Особенно в объектах комнат. При этом самих простых устройств у меня нету. Логика настроена по старинке, на взаимодействии объектов разных классов.
- За это сообщение автора tarasfrompir поблагодарил:
- Bagir (Пт май 08, 2020 1:28 pm)
- Рейтинг: 1.16%
Спасибо нам ПОМОЖЕТ..!
- Bagir
- Сообщения: 1613
- Зарегистрирован: Вт сен 17, 2013 6:46 pm
- Откуда: Ярославская область город Углич
- Благодарил (а): 212 раз
- Поблагодарили: 374 раза
- Nail
- Сообщения: 374
- Зарегистрирован: Пн мар 05, 2018 7:09 am
- Откуда: Самара
- Благодарил (а): 174 раза
- Поблагодарили: 28 раз
Re: Простые устройства / Simple Devices
Хочу спросить про Темное время суток в -onNewMinite - код вроде прописан,
А в свойство DarknessMode.active-стоит постоянно "0"- и ПУ никак не может реагировать при "Темное время суток", что не так делаю?
Код: Выделить всё
if (timeBetween(getGlobal('SunRiseTime'),getGlobal('SunSetTime')) && getGlobal('isDark')=="1") {
setGlobal("isDark",0);
callMethod('DarknessMode.deactivate');
} elseif (!timeBetween(getGlobal('SunRiseTime'),getGlobal('SunSetTime')) && getGlobal('isDark')!="1") {
setGlobal("isDark",1);
callMethod('DarknessMode.activate');
}
- Вложения
-
- Screenshot_12.jpg (22.47 КБ) 3354 просмотра
Mini AMD A6 1450 Quad-core.Ubuntu Server 18.04 (64-bit). MegaD. Zigbee2mqtt+SLS ZigBee Gateway. Broadlink.
- Sapizdullin
- Сообщения: 408
- Зарегистрирован: Сб фев 18, 2017 9:47 am
- Откуда: Земля
- Благодарил (а): 54 раза
- Поблагодарили: 61 раз
Re: Простые устройства / Simple Devices
Господа! Кто подскажет?
Проблема в следующем - в Simple Devices в разделе "Счетчики" есть куча "value ", а именно - valueWork, value, valueDay, valueMonth и еще есть "status". Последние два рассчитываются, это понятно. Но куда передавать значения от счетчика который показывает РЕАЛЬНЫЕ значения? Т.е. есть железяка в которой прописано точное значение реального счетчика (например газа). И эта железяка отправляет в МДМ эти значения. Отправлял в valueWork, вроде все нормально, потом бубух и счетчики дня и месяца ударились во все тяжкие. Цифры какие-то не реальные стали. Или забить на этот модуль? И для чего у счетчиков переменная status?
Проблема в следующем - в Simple Devices в разделе "Счетчики" есть куча "value ", а именно - valueWork, value, valueDay, valueMonth и еще есть "status". Последние два рассчитываются, это понятно. Но куда передавать значения от счетчика который показывает РЕАЛЬНЫЕ значения? Т.е. есть железяка в которой прописано точное значение реального счетчика (например газа). И эта железяка отправляет в МДМ эти значения. Отправлял в valueWork, вроде все нормально, потом бубух и счетчики дня и месяца ударились во все тяжкие. Цифры какие-то не реальные стали. Или забить на этот модуль? И для чего у счетчиков переменная status?
Intel(R) Core(TM) i7-6700, Debian 9 "Stretch", Zoneminder, Avreg.