Помогите с настройкой интерфейса :)

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
something
Сообщения: 28
Зарегистрирован: Вт ноя 10, 2020 7:00 pm
Благодарил (а): 4 раза
Поблагодарили: 8 раз

Помогите с настройкой интерфейса :)

Сообщение something » Сб ноя 28, 2020 8:50 pm

Я тупой, наверное, собрал я устройство с реле, для управления светом. Кроме управления через MQTT, я прицепил еще управление внешним выключателем. Устройство в MQTT посылает свой статус, ESP/Bedroom/switch1 и там или 0 или 1. Если я меняю состояние выключателем на устройстве, то и свет работает и статус в MQTT меняется. Если я меняю статус в мажордомо через меню MQTT, выбираю нужное свойство, меняю нолик на единичку, свет отрабатывает. Но никак не могу сделать интерфейсную часть для пользователя. Объект реле не цепляет состояние, если оно было изменено не через мажордомо. В общем запутался конкретно. Нихрена не понимаю :((
Logrus
Сообщения: 2084
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: Помогите с настройкой интерфейса :)

Сообщение Logrus » Сб ноя 28, 2020 9:13 pm

Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Помогите с настройкой интерфейса :)

Сообщение Chainik » Сб ноя 28, 2020 10:37 pm

Т.е. вы имеете ввиду ситуацию, когда вы переключаете реле вообще (совсем, полностью) минуя Мажордомо, но статус реле в Мажордомо не меняется?

Если это так, то поможет лишь периодический опрос состояния реле со стороны Мажордомо, т.к. программа о событии ничего не знает.
something
Сообщения: 28
Зарегистрирован: Вт ноя 10, 2020 7:00 pm
Благодарил (а): 4 раза
Поблагодарили: 8 раз

Re: Помогите с настройкой интерфейса :)

Сообщение something » Сб ноя 28, 2020 10:44 pm

Chainik писал(а):
Сб ноя 28, 2020 10:37 pm
Т.е. вы имеете ввиду ситуацию, когда вы переключаете реле вообще (совсем, полностью) минуя Мажордомо, но статус реле в Мажордомо не меняется?

Если это так, то поможет лишь периодический опрос состояния реле со стороны Мажордомо, т.к. программа о событии ничего не знает.
Все, разобрался. Все работает именно так, как я хотел. И включается и выключается и если состояние меняется извне, мимо можордомо. то ползунок на выключателе сам передвигается. Правда с задержкой где-то в полсекунды, но это приемлемо. Эххх, офигенная вещь мажордомо, еще бы документацию к нему нормальную. А то получается, что спаять устройство, залить в него прошивку и установить на стенке быстрее раз в 5, чем потом понять как это подключить в мажордомо :)
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: Помогите с настройкой интерфейса :)

Сообщение xor » Вс ноя 29, 2020 12:24 pm

something писал(а):
Сб ноя 28, 2020 10:44 pm
Chainik писал(а):
Сб ноя 28, 2020 10:37 pm
Т.е. вы имеете ввиду ситуацию, когда вы переключаете реле вообще (совсем, полностью) минуя Мажордомо, но статус реле в Мажордомо не меняется?

Если это так, то поможет лишь периодический опрос состояния реле со стороны Мажордомо, т.к. программа о событии ничего не знает.
Все, разобрался. Все работает именно так, как я хотел. И включается и выключается и если состояние меняется извне, мимо можордомо. то ползунок на выключателе сам передвигается. Правда с задержкой где-то в полсекунды, но это приемлемо. Эххх, офигенная вещь мажордомо, еще бы документацию к нему нормальную. А то получается, что спаять устройство, залить в него прошивку и установить на стенке быстрее раз в 5, чем потом понять как это подключить в мажордомо :)
сделали, опишите. так потихоньку документация и появится
something
Сообщения: 28
Зарегистрирован: Вт ноя 10, 2020 7:00 pm
Благодарил (а): 4 раза
Поблагодарили: 8 раз

Re: Помогите с настройкой интерфейса :)

Сообщение something » Вс ноя 29, 2020 5:58 pm

xor писал(а):
Вс ноя 29, 2020 12:24 pm
сделали, опишите. так потихоньку документация и появится
Ну может я что-то сделал неправильно. Но рассказываю как сделал. Собрал контроллер на ESP8266 + два твердотельных реле + датчик температуры (сейчас DHT11, завтра поставлю еще DS18B20, уж слишком DHT вольно обращается с температурой) + выключатель в комнате завел на пин ESP. Одно реле на коммутацию света, второе реле на управление сервой термопривода батареи. Накидал скетч, который по смене состояния выключателя меняет состояние освещения, выкидывает состояние обоих реле в MQTT и туда же датчик температуры. Из MQTT забирает изменение состояния обоих реле. Для чтения реле и для записи разные события в MQTT. В мажордомо настроил MQTT устройства где путь для записи прописал событие для изменения состояния. Дальше создал простое устройство типа реле, прилинковал его к устройству в MQTT. Положил это в меню управления. Сейчас там соответственно есть переключатель, который ловит свое состояние из MQTT, если его передвигаешь, то мажордомо кидает событие в MQTT, дальше контроллер ловит его, меняет состояние реле, выкидывает в MQTT свой новый статус, который подхватывается мажордомо и тот отрисовывает переключатель в нужное состояние. Если состояние реле меняется выключателем, то мажордомо тоже подхватывает измененное состояние. Таким образом я сохранил обычные проводные выключатели на их обычных местах и получил возможность видеть и переключать состояние освещения удаленно. Ну да, есть небольшой минус в том, что положение выключателя вкл/выкл теперь будет меняться местами, в зависимости от удаленного включения/выключения. Но это уже ерунда, привыкнут :)
Для второго реле создал объект термостат, куда подключил датчик температуры из MQTT и реле на батарею. Тоже работает. В простом варианте как-то так. Сейчас доделаю простые комнаты, с двумя каналами управления, а впереди еще кухня, где буду подключать две батареи, три источника света и вентилятор вытяжки(управление через датчик загрязненности воздуха), ну может еще чего, купил блок реле на 8 каналов, еще два канала остаются свободными. Пока не придумал на что их занять.
За это сообщение автора something поблагодарил:
xor (Вс ноя 29, 2020 8:45 pm)
Рейтинг: 1.16%
Jilber
Сообщения: 684
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 113 раз
Поблагодарили: 107 раз

Re: Помогите с настройкой интерфейса :)

Сообщение Jilber » Пн ноя 30, 2020 1:50 pm

something писал(а):
Вс ноя 29, 2020 5:58 pm
выключатель в комнате завел на пин ESP.
Просто напрямую на пин ? Можно кусок схемы ?
something
Сообщения: 28
Зарегистрирован: Вт ноя 10, 2020 7:00 pm
Благодарил (а): 4 раза
Поблагодарили: 8 раз

Re: Помогите с настройкой интерфейса :)

Сообщение something » Пн ноя 30, 2020 6:55 pm

Jilber писал(а):
Пн ноя 30, 2020 1:50 pm
Просто напрямую на пин ? Можно кусок схемы ?
Screenshot_20201130_185020.png
Screenshot_20201130_185020.png (248.88 КБ) 2326 просмотров
В скетче так:

bool switch_1_state = false;
unsigned long switch_1_delay;
const int switch_1_pin = D5;
const int switch_1_service = D6;
.....
void ICACHE_RAM_ATTR switch_1() {
if (millis() - switch_1_delay > 300) {
switch_1_delay = millis();
switch_1_state = !switch_1_state;
}
}
.....
void setup() {
......
pinMode(switch_1_pin, INPUT);
pinMode(switch_1_service, OUTPUT);
attachInterrupt(digitalPinToInterrupt(switch_1_pin), switch_1, CHANGE);
....
}
.....
void loop() {
.....
if(switch_1_state) {
digitalWrite(switch_1_service, HIGH);
} else {
digitalWrite(switch_1_service, LOW);
}
.....
}
За это сообщение автора something поблагодарил:
Jilber (Пн ноя 30, 2020 7:17 pm)
Рейтинг: 1.16%
Ответить