Помогите с настройкой интерфейса :)
Модератор: immortal
-
- Сообщения: 28
- Зарегистрирован: Вт ноя 10, 2020 7:00 pm
- Благодарил (а): 4 раза
- Поблагодарили: 8 раз
Помогите с настройкой интерфейса :)
Я тупой, наверное, собрал я устройство с реле, для управления светом. Кроме управления через MQTT, я прицепил еще управление внешним выключателем. Устройство в MQTT посылает свой статус, ESP/Bedroom/switch1 и там или 0 или 1. Если я меняю состояние выключателем на устройстве, то и свет работает и статус в MQTT меняется. Если я меняю статус в мажордомо через меню MQTT, выбираю нужное свойство, меняю нолик на единичку, свет отрабатывает. Но никак не могу сделать интерфейсную часть для пользователя. Объект реле не цепляет состояние, если оно было изменено не через мажордомо. В общем запутался конкретно. Нихрена не понимаю (
-
- Сообщения: 2087
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 313 раз
- Поблагодарили: 458 раз
Re: Помогите с настройкой интерфейса :)
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Помогите с настройкой интерфейса :)
Т.е. вы имеете ввиду ситуацию, когда вы переключаете реле вообще (совсем, полностью) минуя Мажордомо, но статус реле в Мажордомо не меняется?
Если это так, то поможет лишь периодический опрос состояния реле со стороны Мажордомо, т.к. программа о событии ничего не знает.
Если это так, то поможет лишь периодический опрос состояния реле со стороны Мажордомо, т.к. программа о событии ничего не знает.
-
- Сообщения: 28
- Зарегистрирован: Вт ноя 10, 2020 7:00 pm
- Благодарил (а): 4 раза
- Поблагодарили: 8 раз
Re: Помогите с настройкой интерфейса :)
Все, разобрался. Все работает именно так, как я хотел. И включается и выключается и если состояние меняется извне, мимо можордомо. то ползунок на выключателе сам передвигается. Правда с задержкой где-то в полсекунды, но это приемлемо. Эххх, офигенная вещь мажордомо, еще бы документацию к нему нормальную. А то получается, что спаять устройство, залить в него прошивку и установить на стенке быстрее раз в 5, чем потом понять как это подключить в мажордомоChainik писал(а): ↑Сб ноя 28, 2020 10:37 pmТ.е. вы имеете ввиду ситуацию, когда вы переключаете реле вообще (совсем, полностью) минуя Мажордомо, но статус реле в Мажордомо не меняется?
Если это так, то поможет лишь периодический опрос состояния реле со стороны Мажордомо, т.к. программа о событии ничего не знает.
- xor
- Сообщения: 2041
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: Помогите с настройкой интерфейса :)
сделали, опишите. так потихоньку документация и появитсяsomething писал(а): ↑Сб ноя 28, 2020 10:44 pmВсе, разобрался. Все работает именно так, как я хотел. И включается и выключается и если состояние меняется извне, мимо можордомо. то ползунок на выключателе сам передвигается. Правда с задержкой где-то в полсекунды, но это приемлемо. Эххх, офигенная вещь мажордомо, еще бы документацию к нему нормальную. А то получается, что спаять устройство, залить в него прошивку и установить на стенке быстрее раз в 5, чем потом понять как это подключить в мажордомоChainik писал(а): ↑Сб ноя 28, 2020 10:37 pmТ.е. вы имеете ввиду ситуацию, когда вы переключаете реле вообще (совсем, полностью) минуя Мажордомо, но статус реле в Мажордомо не меняется?
Если это так, то поможет лишь периодический опрос состояния реле со стороны Мажордомо, т.к. программа о событии ничего не знает.
win10 connect https://connect.smartliving.ru/profile/303
-
- Сообщения: 28
- Зарегистрирован: Вт ноя 10, 2020 7:00 pm
- Благодарил (а): 4 раза
- Поблагодарили: 8 раз
Re: Помогите с настройкой интерфейса :)
Ну может я что-то сделал неправильно. Но рассказываю как сделал. Собрал контроллер на ESP8266 + два твердотельных реле + датчик температуры (сейчас DHT11, завтра поставлю еще DS18B20, уж слишком DHT вольно обращается с температурой) + выключатель в комнате завел на пин ESP. Одно реле на коммутацию света, второе реле на управление сервой термопривода батареи. Накидал скетч, который по смене состояния выключателя меняет состояние освещения, выкидывает состояние обоих реле в MQTT и туда же датчик температуры. Из MQTT забирает изменение состояния обоих реле. Для чтения реле и для записи разные события в MQTT. В мажордомо настроил MQTT устройства где путь для записи прописал событие для изменения состояния. Дальше создал простое устройство типа реле, прилинковал его к устройству в MQTT. Положил это в меню управления. Сейчас там соответственно есть переключатель, который ловит свое состояние из MQTT, если его передвигаешь, то мажордомо кидает событие в MQTT, дальше контроллер ловит его, меняет состояние реле, выкидывает в MQTT свой новый статус, который подхватывается мажордомо и тот отрисовывает переключатель в нужное состояние. Если состояние реле меняется выключателем, то мажордомо тоже подхватывает измененное состояние. Таким образом я сохранил обычные проводные выключатели на их обычных местах и получил возможность видеть и переключать состояние освещения удаленно. Ну да, есть небольшой минус в том, что положение выключателя вкл/выкл теперь будет меняться местами, в зависимости от удаленного включения/выключения. Но это уже ерунда, привыкнут
Для второго реле создал объект термостат, куда подключил датчик температуры из MQTT и реле на батарею. Тоже работает. В простом варианте как-то так. Сейчас доделаю простые комнаты, с двумя каналами управления, а впереди еще кухня, где буду подключать две батареи, три источника света и вентилятор вытяжки(управление через датчик загрязненности воздуха), ну может еще чего, купил блок реле на 8 каналов, еще два канала остаются свободными. Пока не придумал на что их занять.
- Рейтинг: 1.16%
-
- Сообщения: 686
- Зарегистрирован: Ср май 03, 2017 7:41 pm
- Благодарил (а): 113 раз
- Поблагодарили: 107 раз
-
- Сообщения: 28
- Зарегистрирован: Вт ноя 10, 2020 7:00 pm
- Благодарил (а): 4 раза
- Поблагодарили: 8 раз
Re: Помогите с настройкой интерфейса :)
В скетче так:
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);
}
.....
}
- Рейтинг: 1.16%