tretyakovsa / Sonoff_WiFi_switch

Прошивка для ESP8266 (Умный дом)-Firmware for ESP8266 (Smart Home)
GNU General Public License v3.0
179 stars 40 forks source link

Проблема с обработкой кнопок по сценариям. #85

Open multiminik opened 6 years ago

multiminik commented 6 years ago

Прошивка собрана из исходников по состоянию на 10.06.2018. При создании сценария: если sonoff состояние конпки(gpio-0) = 1, тогда sonoff реле = not 1(gpio-12) всё отлично кнопка переключает состояние реле. При создании сценария: если sonoff состояние конпки1(gpio-9) = 1, тогда sonoff реле = not 2(gpio-4) кнопка1 не переключает реле2 - нет никакой реакции. При создании обоих выше описанных сценариев отрабатывает только первый. Если к ним добавить сценарий: если sonoff состояние конпки2(gpio-10) = 1, тогда sonoff реле = not 3(gpio-5), тогда при нажатии на кнопку0 отрабатывает её сценарий и попутно кратковременно включается реле3. Подсажите что не так?

tretyakovsa commented 6 years ago

Это обусловлено тем,, что использование GPIO6 - GPIO11 под большим вопросом и если, это происходит значит так делать нельзя. Проверка доступности пинов будет встроена.

multiminik commented 6 years ago

В sonoff ch4 gpio 9(sdio2) и 10(sdio3) по умолчанию висят на кнопках и нормально отрабатывают на родной прошивке. Каким образом они это реализовали? Не разбирались?

tretyakovsa commented 6 years ago

Вы когда собирали прошивку какой тип обращения к памяти устанавливали в настройках. image

multiminik commented 6 years ago

DOUT. Модуль psf85a стоит. На нем флеш вроде выстроенный.

multiminik commented 6 years ago

Пока решил свою проблему, задействовав gpio1 (TXD) и gpio3 (RXD) (подтянув их к VCC через 10КОм), которые по умолчанию в вашей прошивке тоже сходу не работают (и как я понял не должны для работы с UART). Пока сделал так: 2018-06-17 Всё прекрасно работает. Если при этом добавить невозможность включения UART на странице конфигурации, то думаю можно так и оставить. Может кому пригодится, если не нужен порт для отладки или для управления реле через него. Так же нашёл информацию, что gpio9 и gpio10 можно использовать как дрыгалки при условии, что тип обращения к памяти DOUT. Чуть позже куплю ещё один модуль CH4, так как тот который есть - переделан и становится сегодня на службу, и буду пробовать заставить его работать на родных кнопках. Ваша задумка изумительна! Функционал на уровне. За то, что устройства не привязаны к общему серверу отдельное спасибо!

tretyakovsa commented 6 years ago

Я в принципе могу учесть в коде, что если режим DOUT, то эти пины можно использовать.

multiminik commented 6 years ago

Было бы не плохо. Получилась бы полная поддержка 4ch. Плюс датчики есть куда повесить.

Jawa12 commented 5 years ago

У меня ESP12e(witty cloud), прошивка собрана из исходников 5.08.18 19271a8 имею похожие проблемы работы сценариев: т.к на готовом блоке имеются светодиоды(gpio12,13) и кнопки(gpio0,4) подключил их для проверки...в случае использовеия одной кнопки(любой) всё работает хорошо(светодиод загорается и тухнет как задумано), если же задействовать вторую, то relay1 будет включаться(или тухнуть...инвертировать своё состояние) на время нажатия второй кнопки... Это не хорошее поведение для реле... Надеюсь исправите! Очень многообещающий проект!

Jawa12 commented 5 years ago

Да , ещё, собирается только при установке менеджера плат esp8266 2.4.0-rc2 и там нет ещё возможности выбора типа обращения к памяти... В противном случае компилятор ругается на обращение к удалённой функции...

multiminik commented 5 years ago

@Jawa12 А если выбрать плату generic и там всё под esp12e настроить? Для generic выбор типа доступа к памяти имеется.