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

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

alutov
Сообщения: 44
Зарегистрирован: Пт июн 05, 2020 7:26 am
Благодарил (а): 1 раз
Поблагодарили: 18 раз

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

Сообщение alutov » Вт июн 16, 2020 7:44 pm

А где видно, что при вводе в топик state 1/on/true включается тот режим, что был выбран в web, а не кипячение? При старте кипячения температура в target сбрасывается в 0. Не включается чайник и не кипятит до 100?
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

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

Сообщение Divan » Вт июн 16, 2020 7:54 pm

alutov писал(а):
Вт июн 16, 2020 7:44 pm
А где видно, что при вводе в топик state 1/on/true включается тот режим, что был выбран в web, а не кипячение? При старте кипячения температура в target сбрасывается в 0.
На самом чайнике. Чайник у меня имеет 4 индикатора температуры и отображает выбранную температуру. Когда в WEB указываю 0, то включается кипячение и индикаторы температуры не включаются, если я в топике укажу 1 или 2 или 3 и так до 100, то включаются индикаторы температуры, а значит включилось кипячение и подогрев. А что, если и в WEB указать 1 чтобы включалось кипячение, может и в топике тогда будет нормально включаться кипячение?
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

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

Сообщение directman66 » Ср июн 17, 2020 11:41 am

Розетками r4s кто-нибудь пробовал управлять?
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

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

Сообщение Divan » Чт июн 18, 2020 2:56 pm

Выражаю участнику alutov благодарность за прекрасную прошивку для чайника. Саму прошивку можно скачать здесь.

WEB интерфейс для управления чайником
СпойлерПоказать
оболочка прошивки.jpg
оболочка прошивки.jpg (107.73 КБ) 5385 просмотров
На данный момент тестировались чайники
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) во вложении.
СпойлерПоказать
Скачать Монитор Порта Про здесь или по этой ссылке
СпойлерПоказать
SerialMonitor_x86_1_7_1.zip
(1.18 МБ) 149 скачиваний
SerialMonitor_x64_1_7_1.zip
(1.45 МБ) 272 скачивания
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

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

Сообщение Divan » Чт июн 18, 2020 5:22 pm

Для тех кто не знает как настраивать mqtt (особенно начинающим нужны примеры) или хочет сразу готовое, то выкладываю готовую панель управления с обратной связью.
СпойлерПоказать
Вид управления чайником.JPG
Вид управления чайником.JPG (40.03 КБ) 5367 просмотров
Общие настройки в MQTT
СпойлерПоказать
Настройки в MQTT.jpg
Настройки в MQTT.jpg (137.5 КБ) 5367 просмотров
Внимание!!! Вместо xxxxxxxxxxxx ставите ID вашего чайника

Ketlle.RSSI
r4s/xxxxxxxxxxxx/rssi
СпойлерПоказать
Ketlle.RSSI.jpg
Ketlle.RSSI.jpg (80.58 КБ) 5367 просмотров
Ketlle.Prog
r4s/xxxxxxxxxxxx/rsp/json/prog
СпойлерПоказать
Ketlle.Prog.jpg
Ketlle.Prog.jpg (78.5 КБ) 5367 просмотров
Ketlle.valueTemp
r4s/xxxxxxxxxxxx/rsp/temp
СпойлерПоказать
Ketlle.valueTemp.jpg
Ketlle.valueTemp.jpg (77.5 КБ) 5367 просмотров
Ketlle.Status
r4s/xxxxxxxxxxxx/rsp/state
СпойлерПоказать
Ketlle.Status.jpg
Ketlle.Status.jpg (79.21 КБ) 5367 просмотров
Ketlle.Heat
r4s/xxxxxxxxxxxx/cmd/heat_temp
СпойлерПоказать
Ketlle.Heat.jpg
Ketlle.Heat.jpg (78.87 КБ) 5367 просмотров
Ketlle.BoilHeat
r4s/xxxxxxxxxxxx/cmd/state
СпойлерПоказать
Ketlle.BoilHeat.jpg
Ketlle.BoilHeat.jpg (79.58 КБ) 5367 просмотров
Ketlle.Nightlight
r4s/xxxxxxxxxxxx/cmd/nightlight
СпойлерПоказать
Ketlle.Nightlight.jpg
Ketlle.Nightlight.jpg (76.12 КБ) 5367 просмотров

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

Класс, сцену и иконки скачиваем тут
СпойлерПоказать
Сцена Кухня.zip
(346.83 КБ) 203 скачивания
Класс чайника.zip
(2.35 КБ) 205 скачиваний
Kitchen.zip
(485.37 КБ) 215 скачиваний
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

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

Сообщение Divan » Чт июн 18, 2020 7:08 pm

Здесь вы можете посмотреть видео как работает обратная связь и управление чайником, также сделал так, что если кто-то включил чайник, а я попросил Алису включить чайник, то Алиса мне об этом сообщит.
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
exo
Сообщения: 40
Зарегистрирован: Вт апр 11, 2017 11:06 am
Благодарил (а): 3 раза
Поблагодарили: 1 раз

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

Сообщение exo » Пт июн 19, 2020 7:43 pm

Вот вы наворотили 3 листа :) за вами не угонишься. Связь стабильна ?
У меня важный вопрос, у меня G-200s работает через запуск (03) последней команды, и при смене температуры нагрева надо сначала отменить (04) программу (можно не спрашивая чайник), отправить температуру, и отправить запуск (03). Если он включен на подсветку или кипячение или нагрев, просто команда нагрев(темп) не будет принята. Как реализована кардинальная смена режима ?
Проблема в том, что команда не может быть реализована последовательностью (без применения например NodeRED), лучше бы это учесть в прошивке. ( я дописывал эти моменты)
Если это реализовывать в Homebridge, то чайник (как термостат) разрешает менять целевую температуру только во включенном состоянии. Поэтому я делал костыль как обязательную отмену программы перед любой командой, и использовал только нагрев (как функцию прибора термостат), ибо кипячения делается только один раз при наливе чайника, и не так актуально.
exo
Сообщения: 40
Зарегистрирован: Вт апр 11, 2017 11:06 am
Благодарил (а): 3 раза
Поблагодарили: 1 раз

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

Сообщение exo » Сб июн 20, 2020 8:24 am

Не могу скомпилировать.
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 (это из старой версии уже)
У меня без имени не видит чайник.
alutov
Сообщения: 44
Зарегистрирован: Пт июн 05, 2020 7:26 am
Благодарил (а): 1 раз
Поблагодарили: 18 раз

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

Сообщение alutov » Сб июн 20, 2020 9:19 am

А зачем сразу правите? Есть уже скомпилированный бинарник, прошейте и попробуйте. Или хотя бы скомпилируйте исходник как есть.
Подогрев включается через выключение, если зададите имя, будет искать по имени, а не по uuid. Если честно, вникать в программирование нет ни времени, ни большого опыта в ардуино.
exo
Сообщения: 40
Зарегистрирован: Вт апр 11, 2017 11:06 am
Благодарил (а): 3 раза
Поблагодарили: 1 раз

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

Сообщение exo » Сб июн 20, 2020 9:48 am

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

UPD Я тупанул, думал она поднимает AP для прописки, а оказывается ей надо поднять.
Запустилось работает. Буду проверять, спасибо.
Последний раз редактировалось exo Сб июн 20, 2020 10:42 am, всего редактировалось 1 раз.
Ответить