TLSR8251 + LCD + термометр = LYWSD03MMC XIAOMI Bluetooth термометр

miks69

New member
забыли дописать - ... 'на халяву'?
Но вы и за деньги не можете предложить более удачное решение, только рассказываете как круто все может быть сделано и должно работать без задержек и пропусков рекламных пакетов... Так сделайте!
 

pvvx

Активный участник сообщества
Но вы и за деньги не можете предложить более удачное решение, только рассказываете как круто все может быть сделано и должно работать без задержек и пропусков рекламных пакетов... Так сделайте!
Вы опоздали на пол года, т.к. сделано и уже перенесено и встроено в https://github.com/custom-components/ble_monitor
Пример https://esp8266.ru/forum/threads/tl...mc-xiaomi-bluetooth-termometr.5263/post-81378
И реализован прием и ретрансляция реклам на самом дешевом модуле... Ищите...
 

miks69

New member
Вы опоздали на пол года, т.к. сделано и уже перенесено и встроено в https://github.com/custom-components/ble_monitor
Пример https://esp8266.ru/forum/threads/tl...mc-xiaomi-bluetooth-termometr.5263/post-81378
И реализован прием и ретрансляция реклам на самом дешевом модуле... Ищите...
Зачем мне чего-то искать, если я не использую HA и мне не нужен ретранслятор рекламных сообщений от датчиков. Как я уже писал, я использую режим соединения с датчиком и я решаю немного другие задачи. Кстати, как я вижу по вашей ссылке, сканирование датчиков происходит периодически, т.е. используется та же логика, что и описана мною выше. Так что ничего нового я не увидел.
 

shaman1010

Member
Кстати, о сканировании. Подскажите, плз, нет переодического опроса датчиков. Установлено все по умолчанию, потом копался в настройках - датчики опрашиваются при перезагрузке сервера либо интеграции, но не перезапрашиваются с периодами, которые в настройках указаны. Где подкрутить? И время последнего опроса можно как-то в отдельной переменной видеть?

В стандартной прошивке, и MI интеграции - обновляется и выводится нормально.
 

Вложения

pvvx

Активный участник сообщества
Зачем мне чего-то искать, если я не использую HA и мне не нужен ретранслятор рекламных сообщений от датчиков. Как я уже писал, я использую режим соединения с датчиком и я решаю немного другие задачи. Кстати, как я вижу по вашей ссылке, сканирование датчиков происходит периодически, т.е. используется та же логика, что и описана мною выше. Так что ничего нового я не увидел.
У вас ошибка - "сканирование датчиков происходит периодически" непрерывно, "т.е. используется не та же логика, что и не описана мною выше" :p
В писании у EPS32 есть и непрерывный режим сканирования, но ....
П.О. "ретранслятора рекламных сообщений от датчиков" может и не передавать, а только непрерывно принимать рекламные пакеты и по UART/SPI/I2C/USB передавать итоги. Как сниффер. Но существуют различия в алгоритмах снифферов и сканеров рекламных пакетов. Об этом вы явно не знаете, раз пишите такие глупости :p
 

pvvx

Активный участник сообщества
Кстати, о сканировании. Подскажите, плз, нет переодического опроса датчиков.
Прошивка имеет более десятка опций для выбора типов-форматов-наборов рекламных пакетов.
Без указания какой BT приемник, какая интеграция, какой тип реклам и их опций выставлен для прошивки в датчике сказать ничего невозможно, кроме как - у вас кривой BT адаптер или перегруженная платформа и интеграция писанная школьником (поддерживающая только типовой датчик). Или кривое всё одновременно :)
 

miks69

New member
Уважаемый pvvx, читая ваши сообщения мне вспоминается один очень старый анекдот, цитировать его здесь не буду, кому интересно могут прочитать по ссылке
 

pvvx

Активный участник сообщества
Уважаемый pvvx, читая ваши сообщения мне вспоминается один очень старый анекдот, цитировать его здесь не буду, кому интересно могут прочитать по ссылке
Во первых не"уважаемый". Мне этого не требуется. И мне пофиг что вам мерещится :p
 

pvvx

Активный участник сообщества
В стандартной прошивке, и MI интеграции - обновляется и выводится нормально.
В стандартной прошивке, и MI интеграции - показания обновляются и выводится не чаше получаса на точку.
В моей прошивке шаг передачи всех параметров устанавливается, по умолчанию он равен 10 секундам и передается с дублированием 4 раза.
В итоге интеграции HA на слабых чипах (менее 4 x 3 ГГц ядрах) дико тормозят при раскрытии графика и переписывают базу объемами более 2-х Гбайт за сутки от парочки датчиков...
В последней версии HA ещё что-то добавили по поводу сохранения долговременных данных...
 

shaman1010

Member
Прошивка имеет более десятка опций для выбора типов-форматов-наборов рекламных пакетов.
Без указания какой BT приемник, какая интеграция, какой тип реклам и их опций выставлен для прошивки в датчике сказать ничего невозможно, кроме как - у вас кривой BT адаптер или перегруженная платформа и интеграция писанная школьником (поддерживающая только типовой датчик). Или кривое всё одновременно :)
Конечно все кривое, кто-же спорит.
Платформа - ширпотребная, на 4-й малине с ССД в комплекте (что бы карточку не затирать, нафига - лучше сразу ССД тереть)
Синезуб, соответственно встроенный, НА стоит основной системой, без докеров. Прошивка градусника - последняя, ничего там не настраивал, кроме подбора периода, для корректировки времени. Время, соответственно тикает, попеременно с градусником (это, кстати, и может быть "боком")
Стоит термометр в метре от малины.

По диагонал стоят другой термометр, с оригинальной прошивкой на Сяоми-3 шлюз, там метров 7 расстояние. И данные обновляются непрерывно :)
 

shaman1010

Member
В стандартной прошивке, и MI интеграции - показания обновляются и выводится не чаше получаса на точку.
В моей прошивке шаг передачи всех параметров устанавливается, по умолчанию он равен 10 секундам и передается с дублированием 4 раза.
В итоге интеграции HA на слабых чипах (менее 4 x 3 ГГц ядрах) дико тормозят при раскрытии графика и переписывают базу объемами более 2-х Гбайт за сутки от парочки датчиков...
В последней версии HA ещё что-то добавили по поводу сохранения долговременных данных...
Ну 10 минут же :) и их больше одной.
 

shaman1010

Member
Нарисовался баг, но он по идее - смесь програмного и аппаратного. Если напряжение питания снижается медленно - LYWSD03MMC виснет, отдав батарею со значением 10%. И при обратном увеличении напряжения до нормы - он не оживает. (Висит на солнечной батарее). Из решений - вижу супервизор питания, но есть два вопроса:
1) Есть ли у схемотехники цепи сброса, на которую подавать этот самый сброс от супервизора? Надпись Reset к сбросу не имеет отношения.
2) Есть подозрение, что придется мосфетом питание тушить (вместо ресета), что бы градусник переобновил значение напряжения на батарейке и стартанул в принципе. Так?
 

shaman1010

Member
В общем - ресет берется параллельно С13. В качестве супервизора - MAX811 https://pdfserv.maximintegrated.com/en/ds/MAX811-MAX812.pdf
В лабораторных условиях, при опускании напряжения - остается только индикатор батареи, при плавном повышении - ресетится и перестартовывает. (раньше реакции при повышении небыло никакой).
Т.е. можно надеяться, что будет работать, как предполагалось.
Вывесел обратно на окно :)
 

pvvx

Активный участник сообщества
Нарисовался баг, но он по идее - смесь програмного и аппаратного. Если напряжение питания снижается медленно - LYWSD03MMC виснет, отдав батарею со значением 10%. И при обратном увеличении напряжения до нормы - он не оживает. (Висит на солнечной батарее).
C:
if (measured_data.battery_mv < 2000) {
        low_vbat();
    }
C:
cpu_sleep_wakeup(DEEPSLEEP_MODE, PM_WAKEUP_TIMER,
            clock_time() + 120 * CLOCK_16M_SYS_TIMER_CLK_1S); // go deep-sleep 2 minutes
Ни разу не завис:

Но при 2-х Вольтах индикацию (LCD) практически не видно...
На фото 2.7В - уже низкая контрастность...

Вы пишите о оригинальной прошивке и неизвестной интеграции для HA (?).
 

shaman1010

Member
Вы пишите о оригинальной прошивке и неизвестной интеграции для HA (?).
Прошивка оригинальная, интеграция - Ваша.
Прошивка оригинальная, потому как прекращение обновлений показаний, о которых я чуть выше говорил, дало предположение, что не добивает синезуб. Пробросил через оригинальный MI-хаб.
Но все оказалось не так, можно будет и на альтернативной прошивке тестить дальше.
Не обновление данных связано с тем, что в прошивке был выбран тип транслируемых пакетов - авто. И в таком режиме пакеты приходят один раз после старта сервера либо интеграции.
Если же руками выбрать конкретный тип (я выбрал Mi, но не думаю, что это имеет значение).
И вот после выбора конкретного типа - автообновление показаний в Вашей же интеграции начало работать корректно.

Т.е. связка термометр на альтернативной и интеграция от одного и того-же автора может работать некорректно :)

"cpu_sleep_wakeup" - здесь нужно на альтернативной прошивке еще проверить. На родной - батарея так-же уходила в low_vbat, но обратно процессор не просыпался (на оригинальной прошивке)
т.е. ночью напряжение упало до 1В (примерно, не измерял, но ниже порога индикации батарейки без остальных данных) а днем, ионистор зарядился до 4В, на плате - 3,3В .... но градусник не просыпается, а так и висит на значке посаженной батареи. Может оригинальная прошивка не предполагает увеличения напряжения батареи (вроде бы нелогичное действие, без рестарта, если заменяется) - я хз.
 

shaman1010

Member
Так, движок сайта дает 5 минут на редактирование, мало....

Понял, что смешал две истории в одну.
Тестовых термометров два:
1) на Вашей последней прошивке и Вашей интеграции - не обновлял показания, причину написал.
2) был на Вашей прошивке - с предыдущими симптомами. Заменил на оригинальный через хаб, и с ним же возился с солнечной батареей.
 

gad1k

New member
C:
if (measured_data.battery_mv < 2000) {
        low_vbat();
    }
C:
cpu_sleep_wakeup(DEEPSLEEP_MODE, PM_WAKEUP_TIMER,
            clock_time() + 120 * CLOCK_16M_SYS_TIMER_CLK_1S); // go deep-sleep 2 minutes
Ни разу не завис:

Но при 2-х Вольтах индикацию (LCD) практически не видно...
На фото 2.7В - уже низкая контрастность...

Вы пишите о оригинальной прошивке и неизвестной интеграции для HA (?).
Здраствуйте. Можете мне подсказать некоторые моменты?
1. Вы описали, что можно подключиться к контакту reset, подключить например реле и управлять как термостатом. Вопрос такой, реле с логикой на сколько вольт сработает от него? И Возможно ли как-то Задавать значения не через Telink, а например через Home Assistant или esphome.
2. Вы описали что можно подключить геркон к P10 и состояние будет отправляться в пакете. А чем этот пакет считать? можно как-то опять же в ESPHome это все дело считать или в BLE мониторе Home Assistant? возможно есть своя интеграция?
 

pvvx

Активный участник сообщества
Здраствуйте. Можете мне подсказать некоторые моменты?
1. Вы описали, что можно подключиться к контакту reset, подключить например реле и управлять как термостатом. Вопрос такой, реле с логикой на сколько вольт сработает от него? И Возможно ли как-то Задавать значения не через Telink, а например через Home Assistant или esphome.
2. Вы описали что можно подключить геркон к P10 и состояние будет отправляться в пакете. А чем этот пакет считать? можно как-то опять же в ESPHome это все дело считать или в BLE мониторе Home Assistant? возможно есть своя интеграция?
Интеграция для Home Assistant стандартная:
Отображает триггеры "switch" и "opening:
1629838425687.png

A Esphome нестабильная и неполная.

К выходу на выводе с надписью "reset" реле подключают через транзистор. Выход слабый и работает как коммутатор (переключатель) резистора в десятки кОм к минусу или плюсу батареи.
Геркон подключается к P10. Срочного оповещения не имеет. Его состояние передается с установленным общим интервалом передачи данных с датчиков.
 
Сверху Снизу