Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)
Модератор: immortal
-
- Сообщения: 44
- Зарегистрирован: Пт июн 05, 2020 7:26 am
- Благодарил (а): 1 раз
- Поблагодарили: 18 раз
Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)
А где видно, что при вводе в топик state 1/on/true включается тот режим, что был выбран в web, а не кипячение? При старте кипячения температура в target сбрасывается в 0. Не включается чайник и не кипятит до 100?
- Divan
- Сообщения: 859
- Зарегистрирован: Пн июл 08, 2019 5:04 pm
- Благодарил (а): 117 раз
- Поблагодарили: 280 раз
Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)
На самом чайнике. Чайник у меня имеет 4 индикатора температуры и отображает выбранную температуру. Когда в WEB указываю 0, то включается кипячение и индикаторы температуры не включаются, если я в топике укажу 1 или 2 или 3 и так до 100, то включаются индикаторы температуры, а значит включилось кипячение и подогрев. А что, если и в WEB указать 1 чтобы включалось кипячение, может и в топике тогда будет нормально включаться кипячение?
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 693 раза
- Контактная информация:
Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)
Розетками r4s кто-нибудь пробовал управлять?
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
- Divan
- Сообщения: 859
- Зарегистрирован: Пн июл 08, 2019 5:04 pm
- Благодарил (а): 117 раз
- Поблагодарили: 280 раз
Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)
Выражаю участнику alutov благодарность за прекрасную прошивку для чайника. Саму прошивку можно скачать здесь.
WEB интерфейс для управления чайником
На данный момент тестировались чайники
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) во вложении.
Скачать Монитор Порта Про здесь или по этой ссылке
WEB интерфейс для управления чайником
СпойлерПоказать
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) во вложении.
СпойлерПоказать
СпойлерПоказать
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)
Для тех кто не знает как настраивать mqtt (особенно начинающим нужны примеры) или хочет сразу готовое, то выкладываю готовую панель управления с обратной связью.
Общие настройки в MQTT
Внимание!!! Вместо xxxxxxxxxxxx ставите ID вашего чайника
Ketlle.RSSI
r4s/xxxxxxxxxxxx/rssi
Ketlle.Prog
r4s/xxxxxxxxxxxx/rsp/json/prog
Ketlle.valueTemp
r4s/xxxxxxxxxxxx/rsp/temp
Ketlle.Status
r4s/xxxxxxxxxxxx/rsp/state
Ketlle.Heat
r4s/xxxxxxxxxxxx/cmd/heat_temp
Ketlle.BoilHeat
r4s/xxxxxxxxxxxx/cmd/state
Ketlle.Nightlight
r4s/xxxxxxxxxxxx/cmd/nightlight
Векторные иконки скачиваем тут
Класс, сцену и иконки скачиваем тут
СпойлерПоказать
СпойлерПоказать
Ketlle.RSSI
r4s/xxxxxxxxxxxx/rssi
СпойлерПоказать
r4s/xxxxxxxxxxxx/rsp/json/prog
СпойлерПоказать
r4s/xxxxxxxxxxxx/rsp/temp
СпойлерПоказать
r4s/xxxxxxxxxxxx/rsp/state
СпойлерПоказать
r4s/xxxxxxxxxxxx/cmd/heat_temp
СпойлерПоказать
r4s/xxxxxxxxxxxx/cmd/state
СпойлерПоказать
r4s/xxxxxxxxxxxx/cmd/nightlight
СпойлерПоказать
Векторные иконки скачиваем тут
Класс, сцену и иконки скачиваем тут
СпойлерПоказать
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)
Здесь вы можете посмотреть видео как работает обратная связь и управление чайником, также сделал так, что если кто-то включил чайник, а я попросил Алису включить чайник, то Алиса мне об этом сообщит.
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
-
- Сообщения: 40
- Зарегистрирован: Вт апр 11, 2017 11:06 am
- Благодарил (а): 3 раза
- Поблагодарили: 1 раз
Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)
Вот вы наворотили 3 листа за вами не угонишься. Связь стабильна ?
У меня важный вопрос, у меня G-200s работает через запуск (03) последней команды, и при смене температуры нагрева надо сначала отменить (04) программу (можно не спрашивая чайник), отправить температуру, и отправить запуск (03). Если он включен на подсветку или кипячение или нагрев, просто команда нагрев(темп) не будет принята. Как реализована кардинальная смена режима ?
Проблема в том, что команда не может быть реализована последовательностью (без применения например NodeRED), лучше бы это учесть в прошивке. ( я дописывал эти моменты)
Если это реализовывать в Homebridge, то чайник (как термостат) разрешает менять целевую температуру только во включенном состоянии. Поэтому я делал костыль как обязательную отмену программы перед любой командой, и использовал только нагрев (как функцию прибора термостат), ибо кипячения делается только один раз при наливе чайника, и не так актуально.
У меня важный вопрос, у меня G-200s работает через запуск (03) последней команды, и при смене температуры нагрева надо сначала отменить (04) программу (можно не спрашивая чайник), отправить температуру, и отправить запуск (03). Если он включен на подсветку или кипячение или нагрев, просто команда нагрев(темп) не будет принята. Как реализована кардинальная смена режима ?
Проблема в том, что команда не может быть реализована последовательностью (без применения например NodeRED), лучше бы это учесть в прошивке. ( я дописывал эти моменты)
Если это реализовывать в Homebridge, то чайник (как термостат) разрешает менять целевую температуру только во включенном состоянии. Поэтому я делал костыль как обязательную отмену программы перед любой командой, и использовал только нагрев (как функцию прибора термостат), ибо кипячения делается только один раз при наливе чайника, и не так актуально.
-
- Сообщения: 40
- Зарегистрирован: Вт апр 11, 2017 11:06 am
- Благодарил (а): 3 раза
- Поблагодарили: 1 раз
Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)
Не могу скомпилировать.
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 (это из старой версии уже)
У меня без имени не видит чайник.
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 (это из старой версии уже)
У меня без имени не видит чайник.
-
- Сообщения: 44
- Зарегистрирован: Пт июн 05, 2020 7:26 am
- Благодарил (а): 1 раз
- Поблагодарили: 18 раз
Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)
А зачем сразу правите? Есть уже скомпилированный бинарник, прошейте и попробуйте. Или хотя бы скомпилируйте исходник как есть.
Подогрев включается через выключение, если зададите имя, будет искать по имени, а не по uuid. Если честно, вникать в программирование нет ни времени, ни большого опыта в ардуино.
Подогрев включается через выключение, если зададите имя, будет искать по имени, а не по uuid. Если честно, вникать в программирование нет ни времени, ни большого опыта в ардуино.
-
- Сообщения: 40
- Зарегистрирован: Вт апр 11, 2017 11:06 am
- Благодарил (а): 3 раза
- Поблагодарили: 1 раз
Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)
Залил бинарник. Ребутается, пишет точку пасс, и в ребут. хз че сней, нули прошивал, erase делал.
По ошибкам, в первом случае дописал
return true; перед последней скобкой, (без этого не собирается)
а имя если берет из епрома, а туда из вебки, то все равно не дает собрать.
все это без правок, как есть. 1,8,13 ардуино IDE
UPD Я тупанул, думал она поднимает AP для прописки, а оказывается ей надо поднять.
Запустилось работает. Буду проверять, спасибо.
По ошибкам, в первом случае дописал
return true; перед последней скобкой, (без этого не собирается)
а имя если берет из епрома, а туда из вебки, то все равно не дает собрать.
все это без правок, как есть. 1,8,13 ардуино IDE
UPD Я тупанул, думал она поднимает AP для прописки, а оказывается ей надо поднять.
Запустилось работает. Буду проверять, спасибо.
Последний раз редактировалось exo Сб июн 20, 2020 10:42 am, всего редактировалось 1 раз.