GithubHelp home page GithubHelp logo

tretyakovsa / sonoff_wifi_switch Goto Github PK

View Code? Open in Web Editor NEW
178.0 39.0 40.0 29.17 MB

Прошивка для ESP8266 (Умный дом)-Firmware for ESP8266 (Smart Home)

License: GNU General Public License v3.0

HTML 34.63% JavaScript 24.75% Shell 0.42% CSS 4.45% C++ 31.79% C 3.96%
sonoff arduino esp8266 led ws2812b neopixel smart-home relay

sonoff_wifi_switch's People

Contributors

ramzies avatar renat2985 avatar tretyakovsa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sonoff_wifi_switch's Issues

Управление температурой в квартире (регулятор для радиаторов/батарей)

Начался отопительный сезон и в квартире начали шпарить батареи, подняв, температуру до некомфортно высокой. Самый простой способ это ограничить горячую воду в батареи с помощью ручных и автоматических клапанов (термоголовок)
2017-10-08 23 12 472017-10-09 1 37 20

Ручной это когда крутя ручку ты ограничиваешь теплоноситель на постоянку, термоголовка закрывает-открывает поток в зависимости от внешней температуры и установки необходимой температуры на нём.
Теоретически термоголовка должна автоматически решать 90% потребностей в регулировании температуры, но как показывает моя практика термоголовка это аналог ручного вентиля не более. Почему так происходит:

  • слишком близко к батареи находится термоголовка. Тут ничего не поделаешь, как установили сантехники клапан (на который одевается либо ручной регулятор, либо термоголовка) тем и пользуйся. При такой установке термоголовка нагревается от самой батареи, а не реагирует на температуру в комнате.
  • почти всегда, те же сантехники или родственники ставят клапаны вертикально и, соответственно, термоголовка на них ставится в том же направлении. Получается на входной трубе (самой горяечей) стоит вертикально термоголовка и теплые потоки от трубы её нагревают, опять она регулирует совсем не ту температуру.
  • сами радиаторы в квартирах обычно закрыты сверху подоконником, а с спереди шторами или мягкой мебелью (у некоторых радиаторы закрыты экранами или утоплены внутрь стены) и микроклимат и температурный режим возле батареи сильно отличается от того, что происходит в комнате. Установленная на радиаторе термоголовка опять же оперирует не той температурой.

Раньше считалось (да я и сам так считал) что ничего страшного в том, что термоголовка в другой температурной зоне находится, просто её нужно открыть больше на несколько градусов (на разницу температур между комнатой и у батареи) и она будет нормально работать. Но всё равно нужно было всё время подкручивать - то холодно, то жарко. Прошлой зимой мне сантехник объяснил, что температура теплоносителя варьируется в котельной в зависимости от температуры на улице, чем ниже температура на улице, тем горячее теплоноситель и батареи шпарят по полной и термоголовка закрывает поток, т.к. находится в "своём" микроклимате, хотя в комнате может быть холодно. Когда нибудь температура в комнате и батареи сравняется, но за это время уже успеешь замёрзнуть и подрегулировать настройки термоголовки - сначала температура поднимется до комфортной и продолжит подниматься, ведь настройки сделали на более высокую температуру и так по кругу...то холодно, то жарко. Термоголовка, конечно, лучше регулирует температуру, чем ручные вентили, но всё-равно, не идеально.
В итоге я пришёл к выводу что нужна регулировка батарей с выносным датчиком температуры. Есть термоголовки с выносными датчиками, но это те же яйца, только в профиль (датчик можно вынести на несколько десятков сантиметров, поэтому его расположить можно только на той стене где и батареи, а это опять за шторами и т.п.)

Это я всё плавно подвожу под проект Сергея и Рената :)

Нужен электрический "наболдажник" на радиатор которым что-то (например, ESP8266 c прошивкой smart-room) управляет в зависимости от температуры в комнате. Алгоритм очень похоже на тот, что хочет @AVL4GITHUB в теме Управление газовым котлом отопления. Нужен такой девайс - по датчику температуры регулировать электропривод клапана радиатора.

Мало того, что нужно дописать под это устройство прошивку, так нужно это устройство ещё и найти. Никто не интересовался этой темой, может уже есть решения и я изобретаю велосипед?

Основные мои требования от этого устройства:

  • поддерживать постоянную заданную температуру в комнатах за счёт отопления
  • возможность устанавливать разную температуру по времени суток (днём выше, ночью ниже - чтобы спалось лучше).

Не срабатывает pir сенсор

Здравствуйте.
Прошился последней версией прошивки от 17.05 и при подключении датчика движения (да и просто подачи логических 1 и 0) на 12 пин реле никак не реагирует. В настройке датчика движения установил 1 сек.
Скажите я все правильно делаю и работает ли эта функция?

P.S. спасибо за вашу работу!

Не допустимая ситуация после подачи питания на ЕСП. IOT5 самопроизвольно переключается.

Всем привет.
Такая вот проблема.
На ИОТ5 висит у меня твердотельное реле, которое управляет светодиодной 220В лампочкой, мощностью 5 Ватт.
После подачи питания (ресета) лампочка, если была предварительно выключенной - включится секунд на 5.
Если была предварительно включённой - то включится секунд на 5, выключится секунд на 5 и уже включится на постоянно.
Поскольку я собираюсь управлять девайсом двумя гаражными воротами (въездными и гаражными то такое поведение выходов ЕСП меня совсем не устраивает, ибо, если ЕСП почему-то перегрузится (пропадало питание, к примеру), то ворота самопроизвольно ОТКРОЮТСЯ. А поскольку гаражные ворота соеденины с домом, то открывается доступ к всему дому.
Можно ЭТО исправить?
Спасибо!

Бета тестеры.

В последнее время вижу здесь активность. Это радует. :)
Мы практически доделали сценарии, цепочки на включение\выключение уже работают. Но их нужно тестировать.
Те у кого есть желание могут попробовать их, обновится можно по этой ссылке:
http://Ваш_IP_Устройсва/upgrade?spiffs=http://backup.privet.lv/spiffs.0xBB000_flash_size_1Mb.256Kb_2017.10.05.bin&build=http://backup.privet.lv/build.0x00000_flash_size_1Mb.256Kb_2017.10.05.bin

Обязательно посмотрите видео, как это работает: https://youtu.be/u8qw-qW9VVo
Просьба писать о всех проблемах сюда.

edi и edit_new

Хотелось бы чтоб по ссылке Edit по умолчанию открывалась страница edit_new.htm а не edit.htm
Новая действительно лучше и открывается отлично теперь и на телефоне

Падает web сервер

Заметил такую проблему, иногда становится недоступен web сервер и get запрос, при этом выключатель работает с кнопки. проблема случается через какое то время, например вечером было все хорошо, на утро web сервер недоступен. Наблюдал это на двух sonoff

И так же заметил, когда стал недоступен web сервер, лампочка на sonoff заморгала (видимо перезагрузился) но web сервер так и не поднялся..

И хотел узнать, есть ли сейчас подобная проблема у других, или может у меня что то с настройками роутера?

Отключение по таймеру) Таймер в сценариях(?)

т.е. есть необходимость чтобы устройство проработало... например 15 секунд, и перешло в предыдущее состояние)))

т.е.

  1. Включиться по команде (в идеале /relayon15s например)
  2. Проработать 15 секунд
  3. Выключится (с запросом или отправкой состояния... но это хотелки)

Режим диммера (шим регулятор)

Еще вопрос, можно ли добавить режим диммера (pwm), удобно было бы управлять например светодиодной лентой подключенной через мосфет (возможно и управление лампой или др. нагрузкой 220 v. если подключить через симистор) меняя яркость в зависимости например от указанного времени (или от фотоэлемента если он подключен).
Если нужно могу тестировать пока есть еще свободные esp8266.

Постоянный режим АП после обновления с 2017.10.11 на 2017.10.16

Заметил неприятную ситуацию после перешивки с веб интерфейса с 2017.10.11 на 2017.10.16 после перегрузки устройство переходит в режим точки доступа (с сохраненными настройками).
Зайти можно как обычно на айпи .192.168.4.1, прежние настройки все сохранены даю перегрузить и и устройство опять в режим АР.
Помогла прошивка кабелем и устройство заводится как и нужно.

Таймер запросом

Подскажите, можно ли как нибудь создать таймер запросом? Например get или post

DHT 22

Доброго дня. Можете поделиться рабочей библиотекой для DHT22? Выдает ошибку в показаниях как значение -3276.70 С. При подключения другой - просто ошибка при компиляции.

Работа над ошибками в обновлении прошивок.

У меня сейчас на обкатке 3 модуля. Один прошит 2017.10.08 - у него сохраняется установка =Задать статический IP=
Второй прошивал утром прошивкой 2017.10.16, у него не сохраняется установка =Задать статический IP= и нет треугольника обновления прошивки (хотя бинарники поменялись на новые - как принудительно прошивать если нет треугольника?)
Третий я прошил с прошивки 2017.10.11 (у него треугольник был) но =Задать статический IP= не сохраняется.

Откат на оригинальную прошивку SonOff

Друзья, а кто может подсказать как откатиться на стоковую прошивку SonOff? Очень не хватает таймера обратного отсчёта, а он в оригинале есть...

Кнопка - включить\выключить

на странице /relay.htm не обновляется кнопка. если на кнопке написано - включить, кликнув на кнопку, включение произойдет, но на кнопке останется надпись - включить

Какие датчики подходят, схема их подключения

Здраствуйте подскажите какие датчики (температура, освещенность, движения) подходят для этого проекта?
Подходят ли эти датчики (возможно есть и другие варианты)?
Датчик движения HC-SR505
Датчик освещенность GL5528
Датчик температуры 18B20
Как правильно их подключать к ESP8266 (например ESP-07)?

Дополнительное реле

Есть ли в планах добавление дополнительных реле с полным функционалом, таймеры, сценарии
Было бы удобно назначать определенному GPIO функцию управление реле.

Использую прошивку на wemos d1 r2 для управления освещением аквариума (используется одно реле) по таймеру, плюс RGB лента для ночной подсветки. Хотелось бы для второго реле добавить по условию, к примеру если температура воды в аквариуме по датчику DS18S20 выше +28 С° включить через реле обдув воды, а при понижении температуры до +25 С° выключить реле.
Сейчас приходится дёргать блок питания на вентилятор вручную.

SONOFF доработка и применение

В Китае появилось пока несколько производителей выпускающих готовые решения на базе модуля ESP8266, думаю в ближайшее время появятся и на базе ESP32. Один из них https://www.itead.cc/smart-home.html под маркой SONOFF. Считаю что эти устройства заслуженно пользуются популярностью за свою функциональность и небольшую стоимость (сейчас заказать с фабрики дешевле, чем у других продавцов).
Для своих задач автоматизации дома перебрал много разных вариантов устройств и прошивок, в свете новых доработок прошивки из этого топика. Из совокупности цена + функционал + доработка + компактность, лучший вариант SONOFF + прошивка Sonoff_WiFi_switch.
Предлагаю в этой теме публиковать варианты доработки и применения SONOFF.

Управление газовым котлом отопления. Нужен такой девайс.

Всем привет!
Нужен девйс для управления газовым колом отопления в квартире.
Исходные данные:
Есть фирменный котёл отопления. В нём предусмотрен изготовителем внешний вход управления (два контакта). Если контакты замкнуты, то котёл греет, разомкнуты - не греет.
Наша задача: сделать управление температурой в квартире.
Нужно иметь возможность задать ТРИ температуры:

  1. Все спят - 18 градусов.
  2. Бодрствуют - 20 градусов.
  3. Никого нет дома - 12 градусов.
    Также нужно контролировать не завис-ли котёл. Качество газа желает быть лучшим, и, иногда, котёл падает в аварию.
    Если в данный момент котёл должен греть, а температура горячей трубы на выходе с котла не поднимается, то перезапускаем котёл.
    Итого, нам нужно два датчика температуры и два реле. Естественно, что по временному сценарию это упрвляется и предусмотрены всякие интернет-плюшки.
    Всё железо у меня готово и кое-как даже работает.
    Делаем?

Автоматическая подсветка лестницы

Ivan Nagornyak
Случайно наткнулся на ваш проект и не понимаю как не видел его раньше)) Спасибо, замечательная идея и реализация! А теперь вопрос. Не планируете ли создать автоматическую подсветку лестницы на его основе с использованием двух сонаров? Пинов у есп вроде как раз хватает.
Коротко алгоритм работы. Если освещение меньше заданного включается режим "ночь" и слегка подсвечивается первая и последняя ступеньки. При наближении к одному из сонаров включается плавное зажигание каждой из ступенек с определенным интервалом в направлении движения. через определенное время в том же направлении ступеньки плавно гаснут, а первая и последняя притухает.
В данный момент есть поделка на ардуино и HC-SR04 (HC-SR05 говорят надежнее) и обычной одноцветной ленте, но хочется перейти на RGB (в зимние праздники можно использовать как гирлянду) и ws2811 дабы из 16 проводов сделать не 46 а всего 3)) . Pir не совсем подходит так как улавливает много движения возле лестницы. Согласен, что если использовать его и сценарии, то можно все организовать штатными средствами без переделок.

Обновлять устройство стало проще!

Теперь когда появляется новая прошивка на странице появляется красный треугольник, нажав на который устройство само скачает новые bin файлы и обновит себя, включая и файловую систему.
2017 04 24-20 34 52

Так же на странице setup.htm вы можете самостоятельно установить нужную вам прошивку и файловую систему. Устройство все скачает и установит само, вам нужно только выбрать нужную вам прошивку или файловую систему.
2017 04 24-20 37 16

Все bin файлы берутся с папки build, здесь: https://github.com/tretyakovsa/Sonoff_WiFi_switch/tree/master/build
Но качаются через сторонний сервер использующий proxy. К сожалению ESP использует достаточно много памяти работая с https, поэтому для загрузки bin файлов мы используем сторонний сервер работающий на http протоколе.

Ошибка при прошивке новых версий SONOFF.

Мучался с такой проблемкой:
Прошиваю модуль sonoff basic и после прошивки модуль не работает. В консоль пишет всякий мусор. Причем от прошивки не зависит - не работает с любой прошивкой. Но если консоль настроить на скорость 74880 то там есть сообщение, о том что возникает ошибка проверки контрольной суммы (chksum). В итоге набрел на решение данной проблемы тут: . Если в краце то для новых версий нужно выставлять режим работы с флеш памятью в DOUT ...... убил на это два вечера ((

P.S. может включите данную инфу в readme файл проекта, а то решение банальное, но совсем не очевидное.

Новые функции

Время от времени буду выкладывать сюда фотографии с новыми возможностями.

Теперь на страницы можно добавлять любые сайты.
2017 07 16-09 31 27

Пароль на доступ

Хотелось бы, чтоб была возможность установить пароль на доступ к устройству(как это реализовано в др. прошивках) и к запросу на вкл/выкл реле (192.168../sonoff)

повторное подключение к wifi

Думаю очень полезной функцией будет, если устройство при разъединение с вайфай и переключения в режим AP, через какое то время пробовало опять подключится к домашнему wifi. возможная ситуация: работает 5 реле, 5 выключателей света, чего нибудь еще, отключается роутер, все устройства переходят в режим AP? что бы их вернуть в домашнюю сеть, их придется в ручную перезапускать.

///это есть, увидел в коде

Заметки чайника. Что, как, где получается и не очень.

Всем привет!
Начну общую рубрику что на мой взгяд (чайника) работает или не работает.
Или, возможно и работает, но чайнику трудно ЭТО понять.
Вот на картинке, при попытке обновления, могла б быть информация какя сейчас у меня версия прошивки и на какую апгрейдиться будем.
Также часть кнопок с круглями углами, а часть с прямым углом. Режет глаз.
http://picsee.net/upload/2017-09-22/9e29b07ba31e.png

Удаленное управление.

Вчера наткнулся на прошивку. Считаю ее лучшей из всего что я нашел тут. В коде мало разбираюсь. Единственное что понял- так это то, что без навыков программирования дистанционно управлять простому смертному скорее всего не получится. Зная немножко пхп, мускул и стили сегодня решил упростить управление устройствами через vk api. Что мы имеем? На данный момент готов макет приложения и база данных. Чего не хватает? Не знаю как установить в прошивке интервал, чтобы например каждые 5000мс устройство тыкало на ссылку https://мойсайт.ру/передаватьвэтотфайл.php?esp_id=номересп&pass=парольустановленныйвпрошивке&stat=состояние устройства..... и соответственно распознавало data, которое отсылает этот файл с vps. Например если в приложении нажали relaynot, оно пишется в базу, при запросе команда отправляется из базы в устройство через data и убирается из базы.
Вот ссылка на то что получилось https://vk.com/app5508608
Хотелось бы узнать где лучше пофиксить в прошивке (подробно и детально), чтобы привязка устройств к социальным сетям и приложениям заработала. Спасибо.
image

ds18b20 и реле

Добрый день. Как можно связать датчик температуры и реле? И вывести кнопку заданной температуры?

прошился используя файл .bin

Прошился- заметил что светодиод встроенный не работает- не показывает никакой индикации.
Прохожу по адресу 192.168.4.1
Открывается страница с текстом: File not found

Не работает режим работы реле по таймеру после перегрузки модуля ESP

При перегрузке модуля не соблюдаются условия режимов состояния ВКЛ ВЫКЛ.
К примеру включить по таймеру с 7 утра и выключить в 7 вечера и если в этот промежуток времени перегрузить модуль то соблюдается только условие ВКЛ ВЫКЛ при старте модуля ESP а условия таймера игнорируются.

Добавить возможность переназначить пины на вход или выход

Здравствуйте.
Спасибо за сборку!
Можно ли добавить переназначение пинов (физических выводов) на другие прямо в веб интерфейсе, например выход реле с пина 12 переназначить на 2-ой пин (конечно же еще нужно делать проверку на совпадение что бы не было на одном пине несколько разных выходов или входов).

Название данного проекта ???

Уважаемые разработчики, свое детище называть устройством, ну как то неправильно, ДАЙТЕ ИМЯ ПРОЕКТУ. Не можете сами придумать, объявляйте конкурс, вдруг кто что интересное предложит.

Управление через mqtt

Скажите пожалуйста по какому get запросу можно управлять с помощью этой прошивки?
То что показывает в истории URL: http://192.168.10.142/sonoff не совсем подходит для управления через mqtt т.к. запрос одинаковый, если бы было например URL: http://192.168.10.142/sonoff-on например для включения и URL: http://192.168.10.142/sonoff-off для отключения реле. Может есть такое а я это пропустил?

PS. Кстати обновление скетча mqtt от Mar 24, 2017 решило проблему с отправкой данных, раньше не получалось что то передать, а теперь сразу все отправляет. Спасибо за вашу работу!
И ещё, смотрю вы в будущем планируете управлять воротами (vorota1)? :)

Как смотрите на возможность голосового управления

Например на странице управления Кнопку Микрофон добавить, а зе ней спрятано несколько сотен строк кода)) .
и кнопка "записать комманду" - которая отправит комманду на гугл voice, а вернёт результат, который в базу данных запишется. И кнопка присвоить комманду на действие.

Помогите с RGB лентой

Спасибо за помощь.
Только лента изначально получается включена а нужно чтобы была выключена
#include <WS2812FX.h>

#define LED_COUNT 293
#define LED_PIN 2

WS2812FX ws2812fx = WS2812FX(LED_COUNT, LED_PIN, NEO_RGB + NEO_KHZ800);
uint8_t TACH_PIN = 5;
int state = 0;
void setup() {
Serial.begin(115200);
ws2812fx.init();
ws2812fx.setBrightness(1);
ws2812fx.setSpeed(200);
ws2812fx.setColor(0x007BFF);
ws2812fx.setMode(FX_MODE_STATIC);
state = 1;
ws2812fx.start();
initTach();
}

void loop() {
ws2812fx.service();
}

// ----------------- Кнопка GPIO TACH_PIN
//
void initTach() {
pinMode(TACH_PIN,INPUT_PULLUP);
// Кнопка будет работать по прерыванию
attachInterrupt(TACH_PIN, Tach, FALLING ); //прерывание сработает, когда состояние вывода изменится с высокого уровня на низкий
}
// Выполняется при нажатии на кнопку
void Tach() {
static unsigned long millis_prev;
// Устроняем дребезг контакта
if (millis() - 250 > millis_prev) {
if (state) {
state = 0;
ws2812fx.start();
}
else {
state = 1;
ws2812fx.stop();
}

}
millis_prev = millis();
}

Настройка = Задать статический IP= не сохраняются.

С 12.10.2017 после перепрошивки на версию 2017.10.11 перестали сохраняться настройки = Задать статический IP= О чём сообщил в топике =Сценарии - Работают хорошо?= ответ не получил.
Обнаружил,что обновилась прошивка 2017.10.16.
Прошил прошивкой 2017.10.16. настройки = Задать статический IP= не сохраняются, зато BLINK сохраняется.
Сохраняются настройки только на прошивке 2017.10.08.
Конечно, лучше создать отдельную тему по выявленным ошибкам.

кнопка ВКЛЮЧИТЬ/ВЫКЛЮЧИТЬ

Заметил тонкость.
Вы недавно поправили эту кнопку чтобы она от статуса реле отображала правильный текст на кнопке.
Это отлично.
Но, другое дело с Таймерами.
При включении по таймеру эта кнопка остается с прежним тстатусом- не меняется.
Так-что при включении по таймеру- таймер должен также менят статус данной кнопки ))

Новый вид главной страницы, чего не хватает?

В будущем будит доступен еще 1 вид главной страницы, его можете посмотреть ниже.
Что бы вы хотели еще видеть на главной странице? И у нас достаточно много пустого места в "Страница устройств" с право (там где цифры 1 1), что можно туда еще добавить?

2017 03 28-18 12 48

Исправьте ошибки

Пожалуйста, исправьте тимпературу на температуру, а то глаза режет. Спасибо

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.