МОДУЛЬ ТЕРМОСТАТ

Всё, что не подходит под вышеперечисленные разделы

Модератор: immortal

Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: МОДУЛЬ ТЕРМОСТАТ

Сообщение nick7zmail » Ср июн 08, 2016 1:55 pm

Rad81 писал(а):А почему то я виртуально вижу что нужно готовом модуле надо только выбрать нужную термодатчик (допустим темп 3 )
нужную реле (допустим реле 5)
и температура выставленная нами ( 22 )

Тут только надо узнать реле на холод работает или нагрев зависимости от этого или выбираем он или офф

Как инкубаторе :):)
Как я и говорил:
1) "выбрать нужную термодатчик" - значит выбираем свойство объекта с температурой
2) "нужную реле" - выбираем метод на включение/выключение реле
3) "и температура выставленная нами" тоже определенное свойство определенного объекта

Три действия, а перед этим нужно создать все эти объекты/свойства.

А в случае с запускаемым методом - просто выбрать название метода при создании свойства. Всего 1 действие. С модулем больше заморочек) Серьезно говорю. Как и говорил - набросаю пример вечером для понимания.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Alien
Сообщения: 191
Зарегистрирован: Пт дек 20, 2013 4:46 pm
Благодарил (а): 72 раза
Поблагодарили: 38 раз

Re: МОДУЛЬ ТЕРМОСТАТ

Сообщение Alien » Чт июн 09, 2016 12:10 pm

Да, думаю модуль - лишнее. Тогда, продолжая логику, начнут плодиться модули света, воды и еще кто знает чего...
Скорее всего правильнее делать это методами. Если не обсуждать реализацию железа - автономное с возможностью внешнего управления это правильно, то управление может выглядеть так:
1. Датчики параметров (температуры, влажности, качества воздуха) при изменении свойств устанавливают значение в соответствующей комнате.
2. В объекте комната создать кроме свойства температура еще свойство для установки контроля. И запускать соответствующий метод сравнения при изменении параметра. Например пришло от датчика сообщение с температурой, оно тут-же сверяется с контрольным значением и дает команду термостату включиться или выключиться.
3. В меню создается ветка климата, в ней отображается текущее значение и слайдер с выбором желаемого.
4. В Шаблонах поведения создаются шаблоны на "поднять", "опустить", "выставить", ну как-то так.
У себя я реализовал это чисто теоретически - в коннекте есть. На практике термостатом еще не обзавелся :)
Ubuntu на Banana pi M2U Connect
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: МОДУЛЬ ТЕРМОСТАТ

Сообщение serghei » Чт июн 09, 2016 12:28 pm

Alien писал(а): Скорее всего правильнее делать это методами.
Я пока смутно это все представляю.... Фактически у меня сейчас одна ардуина отправляет 14 параметров для одного модуля
" Электро " . Пришло время подключить вторую машинку. А вот она будет брать значения с разных датчиков. И каждый параметр
(4 расхода воды, куча температур,и много еще чего ) надо как то разделять по страницам . У стиралки расход воды с одной
ардуины ,а киловатт-часы с другой. Для бойлера то же самое. Как это реализовать пока не представляю.....Хочется на одной картинке допустим стиралки получить полную информацию...
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: МОДУЛЬ ТЕРМОСТАТ

Сообщение nick7zmail » Чт июн 09, 2016 12:36 pm

Просто соединять все данные на стороне МД, и выводиьь на сцены.

Отправлено с моего Xperia Z через Tapatalk
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Rad81
Сообщения: 193
Зарегистрирован: Пт апр 01, 2016 2:42 pm
Благодарил (а): 10 раз
Поблагодарили: 10 раз

Re: МОДУЛЬ ТЕРМОСТАТ

Сообщение Rad81 » Чт июн 09, 2016 11:57 pm

Доброго времени суток
А в случае с запускаемым методом - просто выбрать название метода при создании свойства. Всего 1 действие. С модулем больше заморочек) Серьезно говорю. Как и говорил - набросаю пример вечером для понимания.
прошу ждемс примеры

спасибо .
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: МОДУЛЬ ТЕРМОСТАТ

Сообщение nick7zmail » Пт июн 10, 2016 10:28 am

Rad81 писал(а):Доброго времени суток
прошу ждемс примеры
спасибо .
Да ремонт в ванной делаю...последние пару дней наиболее активно...в тот же день хотел, но не успел, вчера просто устал...сегодня постараюсь часов в 11-12, если доберусь. В крайнем случае завтра...но обязательно сделаю)
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Alien
Сообщения: 191
Зарегистрирован: Пт дек 20, 2013 4:46 pm
Благодарил (а): 72 раза
Поблагодарили: 38 раз

Re: МОДУЛЬ ТЕРМОСТАТ

Сообщение Alien » Пт июн 10, 2016 12:31 pm

serghei писал(а):Как это реализовать пока не представляю.....Хочется на одной картинке допустим стиралки получить полную информацию...
ОП решает все.
Создается класс "Стиралки", со всеми присущими свойствами и методами для контроля.
При изменении какого-либо свойства запускается метод.
Далее датчики при изменении значений передают эти значения в соответствующие им в классе стиралок, где они и обрабатываются.
Например датчик протечки срабатывает и отсылает сработку в класс стиралок setGlobal("Stiralka1.Protechka",1) (куда именно отсылать данные прописывается в датчике).
В классе к свойству Protechka привязан метод Off, который отсылает, к примеру, комманду на какое-либо реле на выключение.

То есть получается что мы имеем любой набор любых датчиков и исполнителей, а класс Стиралки как-бы виртуальный для логической связи одних с другими.
То-же коснется и отображения информации. Не нужно писать каждый раз новый информер. Достаточно написать один, ссылающийся на класс стиралок и не задумываться какой именно датчик отсылает туда данные.
За это сообщение автора Alien поблагодарил:
serghei (Пт июн 10, 2016 1:26 pm)
Рейтинг: 1.16%
Ubuntu на Banana pi M2U Connect
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: МОДУЛЬ ТЕРМОСТАТ

Сообщение serghei » Пт июн 10, 2016 1:30 pm

Огромное спасибо!! Как сказал ALEX мне тут на 200 лет хватит материала....На пенсии осталось еще ООП учить))))
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: МОДУЛЬ ТЕРМОСТАТ

Сообщение nick7zmail » Пт июн 10, 2016 10:26 pm

Как и обещал пример.
1) Создаем новый класс (в моем случае test)
2) Создаем новый метод (у меня temp_ch)
test2.jpg
test2.jpg (57.8 КБ) 8525 просмотров
Код метода такой:

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

if ($this->getProperty('current_temp')>($this->getProperty('need_temp')+1)) {
say("Включаю охлаждение");
}    

if ($this->getProperty('current_temp')<($this->getProperty('need_temp')-1)) {
say("Включаю обогрев");
}  

say("Текущая температура ".$this->getProperty('current_temp')." Нужная вам температура ".$this->getProperty('need_temp').".");
 
3) Создаем новые свойства (назвал current_temp - текущая температура, need_temp - нужная температура). При создании свойств не забываем выбрать исполняемый метод
test3.jpg
test3.jpg (41.69 КБ) 8525 просмотров
test4.jpg
test4.jpg (42.28 КБ) 8525 просмотров
4) Создаём объект (к примеру thermostat1).
5) Создаём элементы в меню типа слайдер, привязываем к thermostat1.current_temp и thermostat1.need_temp соответственно.
test5.jpg
test5.jpg (59.18 КБ) 8525 просмотров
6) Открываем главное меню, двигаем слайдеры, смотрим что происходит.
test6.jpg
test6.jpg (81.46 КБ) 8525 просмотров
Теперь можете создавать несколько объектов - для нескольких термостатов.

Это чисто тестовый пример, чтобы понять, как работает код. В реальном коде добавляете условия, нужные вам, и вместо

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

say("Включаю обогрев");
Пишете запуск методов на включение/выключение ваших реле. current_temp, понятное дело, должен обновляться с датчика, на него слайдера не надо.

В случае с модулем нужно сделать все тоже самое, только не выбирать метод, а плюсом (при настройке модуля) указать свойство с текущей температурой, с нужной температурой, и ссылкой на запускаемый метод. Более того каждое свойство/метод выставляется в два этапа - выбрать объект, выбрать свойство/метод у объекта. Метод кстати так же должен быть наполнен похожим кодом, дабы запускать различные реле. Как можно заметить - выбрать метод при изменении свойств - это гораздо быстрее и проще, чем настраивать записи в модуле. Раза в 3 меньше манипуляций.
За это сообщение автора nick7zmail поблагодарили (всего 6):
Rad81 (Вс июн 12, 2016 3:31 am) • andrey1509 (Пт авг 25, 2017 8:38 pm) • Carambich (Ср ноя 08, 2017 6:12 pm) • odinvolk (Вс янв 07, 2018 8:48 am) • woow (Пн янв 15, 2018 1:15 am) • u885 (Вт дек 14, 2021 1:33 am)
Рейтинг: 6.98%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Rad81
Сообщения: 193
Зарегистрирован: Пт апр 01, 2016 2:42 pm
Благодарил (а): 10 раз
Поблагодарили: 10 раз

Re: МОДУЛЬ ТЕРМОСТАТ

Сообщение Rad81 » Вс июн 12, 2016 3:37 am

Большое спасибо
Ответить