Страница 13 из 27

Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)

Добавлено: Вт июн 16, 2020 7:44 pm
alutov
А где видно, что при вводе в топик state 1/on/true включается тот режим, что был выбран в web, а не кипячение? При старте кипячения температура в target сбрасывается в 0. Не включается чайник и не кипятит до 100?

Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)

Добавлено: Вт июн 16, 2020 7:54 pm
Divan
alutov писал(а): Вт июн 16, 2020 7:44 pm А где видно, что при вводе в топик state 1/on/true включается тот режим, что был выбран в web, а не кипячение? При старте кипячения температура в target сбрасывается в 0.
На самом чайнике. Чайник у меня имеет 4 индикатора температуры и отображает выбранную температуру. Когда в WEB указываю 0, то включается кипячение и индикаторы температуры не включаются, если я в топике укажу 1 или 2 или 3 и так до 100, то включаются индикаторы температуры, а значит включилось кипячение и подогрев. А что, если и в WEB указать 1 чтобы включалось кипячение, может и в топике тогда будет нормально включаться кипячение?

Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)

Добавлено: Ср июн 17, 2020 11:41 am
directman66
Розетками r4s кто-нибудь пробовал управлять?

Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)

Добавлено: Чт июн 18, 2020 2:56 pm
Divan
Выражаю участнику alutov благодарность за прекрасную прошивку для чайника. Саму прошивку можно скачать здесь.

WEB интерфейс для управления чайником
SPOILERSPOILER_SHOW
оболочка прошивки.jpg
оболочка прошивки.jpg (107.73 КБ) 8178 просмотров
На данный момент тестировались чайники
REDMOND SkyKettle M171S
REDMOND SkyKettle G240S


Команды для управления через MQTT

Кипячение или кипячение\подогрев
r4s/XXXXXXXXXXXX/cmd/state
если указать 1\on\true, то включится только кипячение
если указать от 40 до 90, то включится кипячение и подогрев
если указать 0\off\false, то чайник выключится

Подогрев
r4s/XXXXXXXXXXXX/cmd/heat_temp
если указать от 40 до 90, то включится подогрев
если указать 0\off\false, то чайник выключится

Ночник
r4s/XXXXXXXXXXXX/cmd/nightlight
если указать 1\on\true, то включится ночник
если указать 0\off\false, то ночник выключится

Управление чайником через WEB
SwitchOff выключает подогрев\кипячение\кипячение и подогрев\ночник
SwitchOn включает только кипячение
В Boil&HeatOn если указать 0, то включится кипячение, если указать от 40 до 90, то включается кипячение и подогрев, для выключения нажимаем на SwitchOff
В HeatOn если указать от 40 до 90, то включится подогрев, если указать 0, то подогрев выключится
Для включения ночника нажимаем на NightLightOn, для выключения ночника нажимаем на SwitchOff

Значение Prog
0 - кипячение
1 - выключено или подогрев
2 - кипячение и подогрев
3 - ночник

Инструкция и пустышка (для очистки памяти esp) во вложении.
SPOILERSPOILER_SHOW
Скачать Монитор Порта Про здесь или по этой ссылке
SPOILERSPOILER_SHOW
SerialMonitor_x86_1_7_1.zip
(1.18 МБ) 255 скачиваний
SerialMonitor_x64_1_7_1.zip
(1.45 МБ) 428 скачиваний

Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)

Добавлено: Чт июн 18, 2020 5:22 pm
Divan
Для тех кто не знает как настраивать mqtt (особенно начинающим нужны примеры) или хочет сразу готовое, то выкладываю готовую панель управления с обратной связью.
SPOILERSPOILER_SHOW
Вид управления чайником.JPG
Вид управления чайником.JPG (40.03 КБ) 8160 просмотров
Общие настройки в MQTT
SPOILERSPOILER_SHOW
Настройки в MQTT.jpg
Настройки в MQTT.jpg (137.5 КБ) 8160 просмотров
Внимание!!! Вместо xxxxxxxxxxxx ставите ID вашего чайника

Ketlle.RSSI
r4s/xxxxxxxxxxxx/rssi
SPOILERSPOILER_SHOW
Ketlle.RSSI.jpg
Ketlle.RSSI.jpg (80.58 КБ) 8160 просмотров
Ketlle.Prog
r4s/xxxxxxxxxxxx/rsp/json/prog
SPOILERSPOILER_SHOW
Ketlle.Prog.jpg
Ketlle.Prog.jpg (78.5 КБ) 8160 просмотров
Ketlle.valueTemp
r4s/xxxxxxxxxxxx/rsp/temp
SPOILERSPOILER_SHOW
Ketlle.valueTemp.jpg
Ketlle.valueTemp.jpg (77.5 КБ) 8160 просмотров
Ketlle.Status
r4s/xxxxxxxxxxxx/rsp/state
SPOILERSPOILER_SHOW
Ketlle.Status.jpg
Ketlle.Status.jpg (79.21 КБ) 8160 просмотров
Ketlle.Heat
r4s/xxxxxxxxxxxx/cmd/heat_temp
SPOILERSPOILER_SHOW
Ketlle.Heat.jpg
Ketlle.Heat.jpg (78.87 КБ) 8160 просмотров
Ketlle.BoilHeat
r4s/xxxxxxxxxxxx/cmd/state
SPOILERSPOILER_SHOW
Ketlle.BoilHeat.jpg
Ketlle.BoilHeat.jpg (79.58 КБ) 8160 просмотров
Ketlle.Nightlight
r4s/xxxxxxxxxxxx/cmd/nightlight
SPOILERSPOILER_SHOW
Ketlle.Nightlight.jpg
Ketlle.Nightlight.jpg (76.12 КБ) 8160 просмотров

Векторные иконки скачиваем тут

Класс, сцену и иконки скачиваем тут
SPOILERSPOILER_SHOW
Сцена Кухня.zip
(346.83 КБ) 301 скачивание
Класс чайника.zip
(2.35 КБ) 318 скачиваний
Kitchen.zip
(485.37 КБ) 318 скачиваний

Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)

Добавлено: Чт июн 18, 2020 7:08 pm
Divan
Здесь вы можете посмотреть видео как работает обратная связь и управление чайником, также сделал так, что если кто-то включил чайник, а я попросил Алису включить чайник, то Алиса мне об этом сообщит.

Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)

Добавлено: Пт июн 19, 2020 7:43 pm
exo
Вот вы наворотили 3 листа :) за вами не угонишься. Связь стабильна ?
У меня важный вопрос, у меня G-200s работает через запуск (03) последней команды, и при смене температуры нагрева надо сначала отменить (04) программу (можно не спрашивая чайник), отправить температуру, и отправить запуск (03). Если он включен на подсветку или кипячение или нагрев, просто команда нагрев(темп) не будет принята. Как реализована кардинальная смена режима ?
Проблема в том, что команда не может быть реализована последовательностью (без применения например NodeRED), лучше бы это учесть в прошивке. ( я дописывал эти моменты)
Если это реализовывать в Homebridge, то чайник (как термостат) разрешает менять целевую температуру только во включенном состоянии. Поэтому я делал костыль как обязательную отмену программы перед любой командой, и использовал только нагрев (как функцию прибора термостат), ибо кипячения делается только один раз при наливе чайника, и не так актуально.

Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)

Добавлено: Сб июн 20, 2020 8:24 am
exo
Не могу скомпилировать.
exit status 1
no return statement in function returning non-void [-Werror=return-type]
bool mqttSubscription(BLEAddress* addr, bool on) {
String base1 = mqttBaseTopic(addr) + String(MQTT_CMD_TOPIC "/state");
String base2 = mqttBaseTopic(addr) + String(MQTT_CMD_TOPIC "/heat_temp");
String base3 = mqttBaseTopic(addr) + String(MQTT_CMD_TOPIC "/nightlight");
if (on) {
mqttClient.subscribe(base1.c_str(),0);
mqttClient.subscribe(base2.c_str(),0);
mqttClient.subscribe(base3.c_str(),0);
}
}
Вот здесь не Return
И с именем DEV_NAME always true
в строчке
if (advertisedDevice.haveName() && (advertisedDevice.getName() == device_name)) { //by name if defined (это из старой версии уже)
У меня без имени не видит чайник.

Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)

Добавлено: Сб июн 20, 2020 9:19 am
alutov
А зачем сразу правите? Есть уже скомпилированный бинарник, прошейте и попробуйте. Или хотя бы скомпилируйте исходник как есть.
Подогрев включается через выключение, если зададите имя, будет искать по имени, а не по uuid. Если честно, вникать в программирование нет ни времени, ни большого опыта в ардуино.

Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)

Добавлено: Сб июн 20, 2020 9:48 am
exo
Залил бинарник. Ребутается, пишет точку пасс, и в ребут. хз че сней, нули прошивал, erase делал.
По ошибкам, в первом случае дописал
return true; перед последней скобкой, (без этого не собирается)
а имя если берет из епрома, а туда из вебки, то все равно не дает собрать.
все это без правок, как есть. 1,8,13 ардуино IDE

UPD Я тупанул, думал она поднимает AP для прописки, а оказывается ей надо поднять.
Запустилось работает. Буду проверять, спасибо.