Как принципиально подключаются устройства.
Модератор: immortal
-
- Сообщения: 26
- Зарегистрирован: Вс янв 21, 2018 11:12 pm
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
Re: Как принципиально подключаются устройства.
Много чего интересного расписано но почему то многие молчат и не говорят о том что в сервер через Megad от датчика приходят не всегда правильные значения , вместо 22,50 градусов приходят часто значения 2250 без разделения и соответсвенно реле выключается так как принимает за правду температуру в 2250 градусов , может знает кто как это исправить ,буду очень благодарен
-
- Сообщения: 717
- Зарегистрирован: Ср май 03, 2017 7:41 pm
- Благодарил (а): 117 раз
- Поблагодарили: 113 раз
Re: Как принципиально подключаются устройства.
Наверное самое простое - ввести проверку значения перед записью его в базу. Температура привязывается не к свойству объекта, а к методу, который уже сохраняет значение, если оно в пределах нормы. Что-то вроде этого:
Или если нужно записывать в базу температуру только если она изменилась, то как-то так:
Код: Выделить всё
$newvalue = $params['VALUE'];
if ($newvalue < 40) $this->setProperty('value', $newvalue);
Код: Выделить всё
$newvalue = $params['VALUE'];
$oldvalue = $this->getProperty('value');
if ($newvalue <40 && $newvalue <> $oldvalue) $this->setProperty('value', $newvalue);
- За это сообщение автора Jilber поблагодарил:
- Gutsu Dmitriy (Чт авг 20, 2020 10:20 pm)
- Рейтинг: 1.16%
-
- Сообщения: 1465
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 262 раза
- Поблагодарили: 455 раз
Re: Как принципиально подключаются устройства.
Дело в том, что когда Мега сама передает значение температуры, то она отдает его без разделителя (запятой), а модуль MegaD не умеет корректно это преобразовывать.Gutsu Dmitriy писал(а): ↑Ср авг 19, 2020 10:20 pmМного чего интересного расписано но почему то многие молчат и не говорят о том что в сервер через Megad от датчика приходят не всегда правильные значения , вместо 22,50 градусов приходят часто значения 2250 без разделения и соответсвенно реле выключается так как принимает за правду температуру в 2250 градусов , может знает кто как это исправить ,буду очень благодарен
А вот в ответ на внешний запрос значение температуры приходит с разделителем.
Так что простой выход -- не использовать модуль MegaD для получения значений с датчиков, а сделать, например, как описано в этой ветке здесь https://mjdm.ru/forum/viewtopic.php?f=24&t=6187&start=6.
- За это сообщение автора Chainik поблагодарил:
- Gutsu Dmitriy (Чт авг 20, 2020 10:19 pm)
- Рейтинг: 1.16%
-
- Сообщения: 26
- Зарегистрирован: Вс янв 21, 2018 11:12 pm
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
Re: Как принципиально подключаются устройства.
Как я понял мега не передает сама данные с датчика температуры ds18b20 , только если сервер запросил , так как если отключить опрос каждые к примеру 10 минут то не каких даных больше не придет о температуре , а вот состояние портов мега сама отправляет , я пока сделал так , в свойствах датчика , у меня к примеру свойство "value" в пункте проверка значений выбрал число в диапазоне и выставил минимум 10 , максимум 40 , да это не решает проблему с получением данных без разделения но по крайней мере такие данные не будут восприниматься и термостат не будет лишний раз включаться и выключаться , все равно спасибо за ответ
-
- Сообщения: 1465
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 262 раза
- Поблагодарили: 455 раз
Re: Как принципиально подключаются устройства.
Корень проблемы в том, что модуль МегаД получает данные о состоянии портов путем периодического запроса о состоянии сразу всех портов. При этом контроллер выдает температуру без разделителя.
А вот когда опрашиваешь порт индивидуально, то приходит нормальное значение с запятой. Поэтому при опросе датчиков лучше вообще не использовать модуль.
Вот вам еще ссылка про термостат https://ab-log.ru/forum/viewtopic.php?f ... &start=406.
А вот когда опрашиваешь порт индивидуально, то приходит нормальное значение с запятой. Поэтому при опросе датчиков лучше вообще не использовать модуль.
Вот вам еще ссылка про термостат https://ab-log.ru/forum/viewtopic.php?f ... &start=406.
- За это сообщение автора Chainik поблагодарил:
- Gutsu Dmitriy (Чт авг 20, 2020 11:16 pm)
- Рейтинг: 1.16%
-
- Сообщения: 26
- Зарегистрирован: Вс янв 21, 2018 11:12 pm
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
Re: Как принципиально подключаются устройства.
В этом ты действительно прав , датчиков очень много , 20 шт используются как термостаты теплого пола ну и некоторые для контроля основных магистралей , пробывал на 4 контроллерах поставить разное время опроса , чтобы не все 20 шт опршивались одновременно а только по 6 датчиков разом , лучше не стало , писать для каждого код и запрос , как то заморочено пока для меня очень, есть только одна странная вещь , проблемы с данными происходят в основном когда включается электрический котел , установлен по таймеру на ночь , когда он выключен бывают неправильные показание но достаточно редко , два три раза за день , просадки по питанию из за котла практически нет , показания в пределах 225 V , добавил доп питание 5 V на датчики , проблему не решило , добавил резисторы , проблема не ушла , много дней уже перечитываю форум , если в итоге не получиться то придется следовать твоим инструкциям. Спасибо за помощь