Страница 112 из 124

Re: Простые устройства / Simple Devices

Добавлено: Вс май 03, 2020 10:39 am
kirush
А это как?

Re: Простые устройства / Simple Devices

Добавлено: Вс май 03, 2020 10:43 am
tarasfrompir
kirush писал(а): Вс май 03, 2020 10:39 am А это как?
видиш нев_валуе и олд_валуе одинаковые - тоесть у тебя по приходу данных постоячнно выполняется метод.
ПОэтому в исполнительном методе фильтруй на входе олд_валуе и нев_валуе
Возможно в этом причина
а по крослинку - зайди в хрей - и посмотри лог - есть ли такая надпись Ворнинг - крослинкед метод...

Re: Простые устройства / Simple Devices

Добавлено: Вс май 03, 2020 10:50 am
kirush
В логах ничего такого нет.
Вот пример - обычный Sonoff выключатель - включаю.
Как он может быть old_value=1 если он был выключен - это видимо уже когда второй раз выполняет что то включение.

Re: Простые устройства / Simple Devices

Добавлено: Вс май 03, 2020 10:07 pm
Plug
diver писал(а): Ср сен 05, 2018 2:25 pm
skysilver писал(а): Ср сен 05, 2018 1:44 pm А в чем конкретно несовместимость? Поди подгоним одно под другое. )
Вообще, борьбы было много:
Дефолтный SDimmers_turnOff.php

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

$this->setProperty('status', 0);
$this->setProperty('level', 0);
Приводил к тому, что в начале лампа выключалась, потом устанавливалась яркость в 0, а поскольку такой яркости не бывает, она менялась на 1. Следовательно через некоторое время зажигалась на минималке...Чуть с ума не сошел, пока понял в чем дело, поменял порядок строк - вылечил...
У меня может быть странные условия - в комнате люстра на 5 xiaomi ламп. Поскольку простые устройства оперируют всякими $this и прочими вещами - лампы ведут себя не адекватно, такие лампы надо включать/выключать прямым sg("лампа.свойство",1/0) иначе - новогодняя иллюминация с жуткими задержками. Тут видимо дело, даже не в перфомансе железа, а в производительности кода...
Если вводить еще выключатель, который своими методами выключает лампы (а не прямым sg("лампа.свойство",1/0)), то получаем, что выключатель выключил... лампы увидели изменения статуса и включились...
В общем, если честно - надоело ловить баги - проще написать свои простые, может быть не универсальные, методы.
Простые устройства оставлю для всяких градусников. Ибо даже реакцию на датчик движения пришлось допиливать :)
Более полутора лет прошло, а воз и ныне там. :)

Re: Простые устройства / Simple Devices

Добавлено: Вс май 03, 2020 11:26 pm
Logrus
Plug писал(а): Вс май 03, 2020 10:07 pm
diver писал(а): Ср сен 05, 2018 2:25 pm
skysilver писал(а): Ср сен 05, 2018 1:44 pm А в чем конкретно несовместимость? Поди подгоним одно под другое. )
Вообще, борьбы было много:
Дефолтный SDimmers_turnOff.php

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

$this->setProperty('status', 0);
$this->setProperty('level', 0);
Приводил к тому, что в начале лампа выключалась, потом устанавливалась яркость в 0, а поскольку такой яркости не бывает, она менялась на 1. Следовательно через некоторое время зажигалась на минималке...Чуть с ума не сошел, пока понял в чем дело, поменял порядок строк - вылечил...
У меня может быть странные условия - в комнате люстра на 5 xiaomi ламп. Поскольку простые устройства оперируют всякими $this и прочими вещами - лампы ведут себя не адекватно, такие лампы надо включать/выключать прямым sg("лампа.свойство",1/0) иначе - новогодняя иллюминация с жуткими задержками. Тут видимо дело, даже не в перфомансе железа, а в производительности кода...
Если вводить еще выключатель, который своими методами выключает лампы (а не прямым sg("лампа.свойство",1/0)), то получаем, что выключатель выключил... лампы увидели изменения статуса и включились...
В общем, если честно - надоело ловить баги - проще написать свои простые, может быть не универсальные, методы.
Простые устройства оставлю для всяких градусников. Ибо даже реакцию на датчик движения пришлось допиливать :)
Более полутора лет прошло, а воз и ныне там. :)
а вы на той страничке до конца дочитали?

Re: Простые устройства / Simple Devices

Добавлено: Пт май 08, 2020 12:52 pm
Bagir
Добрые люди, 112 страниц не осилю, подскажите, а как полностью отключить Простыне устройства? пробовал убирать код
/* begin injection of {SDevices} */
require(DIR_MODULES. .....
/* end injection of {SDevices} */
Но он заново прописывается в методах. До обновления с очень старой версии, код не мешал, но теперь происходят чудеса. Особенно в объектах комнат. При этом самих простых устройств у меня нету. Логика настроена по старинке, на взаимодействии объектов разных классов.

Re: Простые устройства / Simple Devices

Добавлено: Пт май 08, 2020 1:24 pm
tarasfrompir
Bagir писал(а): Пт май 08, 2020 12:52 pm Добрые люди, 112 страниц не осилю, подскажите, а как полностью отключить Простыне устройства? пробовал убирать код
/* begin injection of {SDevices} */
require(DIR_MODULES. .....
/* end injection of {SDevices} */
Но он заново прописывается в методах. До обновления с очень старой версии, код не мешал, но теперь происходят чудеса. Особенно в объектах комнат. При этом самих простых устройств у меня нету. Логика настроена по старинке, на взаимодействии объектов разных классов.
Начни отсюда - https://github.com/sergejey/majordomo/b ... ample#L104

Re: Простые устройства / Simple Devices

Добавлено: Пт май 08, 2020 1:28 pm
Bagir
Вот спасибо, прямо в цель!

Re: Простые устройства / Simple Devices

Добавлено: Пн май 11, 2020 8:35 pm
Nail
Хочу спросить про Темное время суток в -onNewMinite - код вроде прописан,

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

 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');    
 }
А в свойство DarknessMode.active-стоит постоянно "0"- и ПУ никак не может реагировать при "Темное время суток", что не так делаю?

Re: Простые устройства / Simple Devices

Добавлено: Ср май 20, 2020 2:39 pm
Sapizdullin
Господа! Кто подскажет?
Проблема в следующем - в Simple Devices в разделе "Счетчики" есть куча "value ", а именно - valueWork, value, valueDay, valueMonth и еще есть "status". Последние два рассчитываются, это понятно. Но куда передавать значения от счетчика который показывает РЕАЛЬНЫЕ значения? Т.е. есть железяка в которой прописано точное значение реального счетчика (например газа). И эта железяка отправляет в МДМ эти значения. Отправлял в valueWork, вроде все нормально, потом бубух и счетчики дня и месяца ударились во все тяжкие. Цифры какие-то не реальные стали. Или забить на этот модуль? И для чего у счетчиков переменная status?