• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

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

pvvx

Активный участник сообщества
Давайте начнем исходить из того что ваша реализация автоматизации теплицы на батарейках вообще чисто pet-проект из говна и палок, никак не исключающий копание в навозе, и сразу станет понятно на сколько мне все это интересно :) Товарищ nicolz выдал идею что сам же _ТЕРМОМЕТР_ должен принимать решения о включении вашего омывателя для бочки, отсюда и выросли ограничения в только температуры :)
Кто и какую идею тут выдул?
Изначально термометр имеет TRG блок. Я его так назвал ради прикола... Он включает пин и посылает биты состояния с учетом установленных параметров с гистерезисами. Этим битом управляется стороннее устройство и пример кода этого стороннего устройства уже давно дан на форуме...
Вот к нему и добавлена обработка геркона и измерителя влажности почвы. Но это пока не для вас.
Для всех халявчиков скорее всего будет новая версия с супер пониженным потреблением и укороченным шифруемым сообщением рекламы и возможно посылаемом только по событию смены значений.
Уменьшение размера рекламы так-же уменьшает потребление в единицах %.
И народ любит проекты "из говна и палок" :p Других он не воспринимает.
 

pvvx

Активный участник сообщества
то правильнее оказывается запилить прототип на коленке, пульнуть в мир и если оно заработало, то тратить ресурсы и время на развитие.
Для огородо-контроллера это уже проделано, как и всё оставшееся, включая бизнес проект, опрос спроса, анализ рынка на предложения и варианты. Но я таким бизнесом не занимаюсь - мала маржа, много суеты...
Так же давно оказалось что гораздо проще и надежнее реализовывать задачи в виде микросервисов, где каждый из них выполняет отдельную, законченную функцию, а монолитные архитектуры чтобы реализовывать не на столько много умных программистов существует.
"не на столько много умных программистов существует" как-то касается кого?
Кому сдались ваши микро-сервисы на огороде. Бабке?
Ей важна цена, а дедке - заменимость вылетевших деталек и их доступность с ценой.
Так и появилось сообщение о насосе за 120 руб от ВАЗ, на который вы не можете привести достойной альтернативы. И т.к. бочки не входят в конструкцию, то налив воды идет в корпус, как в унитазе, от любого шланга из вашей бочки.
А давления бочка не дает и в унитазе-корпусе огородо-контроллера тоже нет давления, что исключает всякие протечки.
С чего вы взяли что в начале проектирования обладаете полным набором необходимых и достаточных факторов для реализации продукта?
С того, что уже с 198x г. реализовано сотни всякой фигни с от тысячными партиями... А последние 30 лет стоимость производимой единицы товара находится за границами от несколько миллионов руб. и собирать огородо-контроллеры как-то не...
Вот от таких после и слышишь, что заплатите мне за работу, я же работал, а что результат мягко говоря только в мусорку... :))
А где я или кто говорит о оплате публикуемой дури?
Я вот прошу вас оплатить содержание своих испражнений, путем закидывания чего в счет данного сайта, а не мне.
 

pvvx

Активный участник сообщества
никак не исключающий копание в навозе
Вот это полностью исключает, т.к. сам основной контроллер с "моторчиками" переносной, в виде "чумодана". Подключил гибкие трубки, воткнул шнур в сеть для зарядки, раскидали датчики и вперед :p Аналогично и ремонт - окинул трубки и чини.
По этому в комплект не входит "бочка" и "установка".
 

pvvx

Активный участник сообщества
volaltd - штробить ничего не надо, но можно испытать на домашних растениях в горшках на подоконнике или балконе или ... 5 литров внутренней емкости на неделю хватит. Накроете вышивкой или распишите под хохлому в виде домика, если на Kickstarter :) Себестоимость с 4-мя выходами (4-ре внешних датчика), без открывалки форточки - до 3 т.р. с зарядкой и АКБ на мин. неделю работы. Кол-во выходов полива управляется заглушками - 1..4 выхода...
 

pvvx

Активный участник сообщества
И опять о баранах в HA.
Что наблюдаем в https://github.com/custom-components/ble_monitor
1621343984695.png
вот такое:
1621344070258.png
В логе (hass -v):
1621344112108.png
2021-05-18 13:13:33 INFO (Thread-3) [custom_components.ble_monitor.ble_parser.xiaomi] UNKNOWN dataobject from Xiaomi DEVICE: LYWSD03MMC, MAC: A4C1380B5EED, ADV: 043e2202010000ed5e0b38c1a416151695fe50305b0582ed5e0b38c1a40a10015a02c70bd2
2021-05-18 13:13:43 INFO (Thread-3) [custom_components.ble_monitor.ble_parser.xiaomi] UNKNOWN dataobject from Xiaomi DEVICE: LYWSD03MMC, MAC: A4C1380B5EED, ADV: 043e2202010000ed5e0b38c1a416151695fe50305b0583ed5e0b38c1a40a10015a02c80bcb
2021-05-18 13:13:51 INFO (Thread-3) [custom_components.ble_monitor.ble_parser.xiaomi] UNKNOWN dataobject from Xiaomi DEVICE: MHO-C401, MAC: A4C138565870, ADV: 043e220201000070585638c1a416151695fe503087035170585638c1a40a10014602120bc5
2021-05-18 13:13:53 INFO (Thread-3) [custom_components.ble_monitor.ble_parser.xiaomi] UNKNOWN dataobject from Xiaomi DEVICE: LYWSD03MMC, MAC: A4C1380B5EED, ADV: 043e2202010000ed5e0b38c1a416151695fe50305b0584ed5e0b38c1a40a10015a02ca0bd2
2021-05-18 13:14:03 INFO (Thread-3) [custom_components.ble_monitor.ble_parser.xiaomi] UNKNOWN dataobject from Xiaomi DEVICE: LYWSD03MMC, MAC: A4C1380B5EED, ADV: 043e2202010000ed5e0b38c1a416151695fe50305b0585ed5e0b38c1a40a10015a02c70bcf
2021-05-18 13:14:10 INFO (Thread-3) [custom_components.ble_monitor.ble_parser.xiaomi] UNKNOWN dataobject from Xiaomi DEVICE: CGG1-ENCRYPTED, MAC: B2C311342D58, ADV: 043e2202010000582d3411c3b216151695fe5030480b6f582d3411c3b20a10014b023b0bbc
2021-05-18 13:14:13 INFO (Thread-3) [custom_components.ble_monitor.ble_parser.xiaomi] UNKNOWN dataobject from Xiaomi DEVICE: LYWSD03MMC, MAC: A4C1380B5EED, ADV: 043e2202010000ed5e0b38c1a416151695fe50305b0586ed5e0b38c1a40a10015b02cb0bc3
2021-05-18 13:14:23 INFO (Thread-3) [custom_components.ble_monitor.ble_parser.xiaomi] UNKNOWN dataobject from Xiaomi DEVICE: LYWSD03MMC, MAC: A4C1380B5EED, ADV: 043e2202010000ed5e0b38c1a416151695fe50305b0587ed5e0b38c1a40a10015a02ca0bbe

А LYWSD03MMC - обычные, с фирменной прошивкой, пашут уже более 7 месяцев в Mi-Home.
И какого фига наблюдаются пропуски 90% рекламных пакетов, когда простейший пример скрипта на Python принимает более 90% от тех-же датчиков на той-же платформе?
Загрузка CPU в данной Nano-Pi с HA составляет 0.1..0.2 % и в пике до 3%.
Даже Андроидное сторонне ПО "Mijia Temp" и то стабильнее, т.к. принимает в десятки раз больше пакетов!

Т.е. очередное г..., как и любая другая интеграция в HA - не работает без правки исходников, а чаще самой концепции и алгоритмов (n)
В данной фигне разборка буфера от BLE с рекламным пакетом производится по фиксированным смещениям, без разбора самого AD пакета на структуры!
Детсад или вредительство?
 

pvvx

Активный участник сообщества
Блин - там понаписано десятки файлов *.py, вместо пары с всеядным разбором ВСЕХ Xiaomi датчиков в сотню строк...
Такое даже не поправить, а переписывать проще с нуля...
Не проще ли тупо разобрать пакетики по ГОСТУ, т.е. по спецификации BLE (?), к примеру типа того:
Python:
def ble_parser(self, data):
    """Parse the raw data."""

    # check if packet is Extended scan result
    is_ext_packet = True if data[3] == 0x0d else False
    # check for no BR/EDR + LE General discoverable mode flags
    adpayload_start = 28 if is_ext_packet else 13

    # check for BTLE msg size
    msg_length = data[2] + 3
    if msg_length < 16 or msg_length != len(data) or adpayload_start >= len(data) - 1:
        raise NoValidError("Invalid msg size")
    # https://www.silabs.com/community/wireless/bluetooth/knowledge-base.entry.html/2017/02/10/bluetooth_advertisin-hGsf
    adpayload_size = len(data) - adpayload_start
    mac = data[7:13]
    while adpayload_size > 1:
        adstuct_size = data[adpayload_start] + 1
        if adstuct_size > 1 and adstuct_size <= adpayload_size:
            adstruct = data[adpayload_start : adpayload_start + adstuct_size]
            # https://www.bluetooth.com/specifications/assigned-numbers/generic-access-profile/
            adstuct_type = adstruct[0]
            # AD type 'UUI16' https://www.bluetooth.com/specifications/assigned-numbers/
            if adstuct_type == 0x16 and adstuct_size > 4:
                # check for service data of supported manufacturers
                uuid16 = (adstruct[2] << 8) | adstruct[1]
                # UUID16 = Xiaomi
                if uuid16 == 0xFE95:
                    return parse_xiaomi(self, adstruct, mac)
                # UUID16 = ATC
                else if uuid16 == 0x181A:
                    return parse_atc(self, adstruct, mac)
                # UUID16 = Qingping
                else if uuid16 == 0xFDCD:
                    return parse_qingping(self, adstruct, mac)
                    parse_miscale
                # UUID16 = Miscale
                else if uuid16 == 0x181D or uuid16 == 0x1818:
                    return parse_miscale(self, adstruct, mac)
            # AD type 'Manufacturer Specific Data'
            else if adstuct_type = 0xFF:
                if  adstruct[1] == 0xFF and adstruct[2] == 0xFF:
                    return parse_kegtron(self, adstruct, mac)
            # AD type not standard
            else if adstuct_type > 0x3D:
                _LOGGER.info("Unknown adstruct received: %s", adstruct.hex())
                return None, None, None
        adpayload_size -= adstuct_size
        adpayload_start += adstuct_size
    _LOGGER.info("Unknown or error format advertisement received: %s", data.hex())
    return None, None, None
Но блин там всё остальное так накалякано, что не расфигачить уже никогда. Не сделать разбор сообщения с несколькими AD-struct, т.к. в другом файле одиночный стоит вызов ble_parser() который не может вернуть много msg...
Т.е. тупо исправить это дерьмо невозможно.
 

pvvx

Активный участник сообщества
xiaomi.py в энтом пакете вообще шедевр подбора по наитию... когда есть полное описание структур от mijia на самом сайте mijia! :)
 

pvvx

Активный участник сообщества
Запомните этих:
1621346668513.png
и когда увидите такие значки - не качайте из ПО - оно явно будет кривое.
Пора на github делать черные списки... :)
 

volaltd

Member
pvxx, сорри, но огородник из вас так себе... вскапывать, пропалывать ваш чемодан с трубочками каким боком поможет? мож дрилку ещё на шаговике добавите и руку с камерой и распознаванием образов на телинковском барахле напишете?

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

volaltd

Member
Где-то пробегало что китайцы ищут гения, который им научит дронов в количестве не менее пяти штук управлятся одним человеком, а то у них экономика для обработки рисовых полей не сходится. Может, pvxx, доработаете функционал своего чемоданчика? )
 

pvvx

Активный участник сообщества
pvxx, сорри, но огородник из вас так себе... вскапывать, пропалывать ваш чемодан с трубочками каким боком поможет?
Для этого есть культиватор. Пару недель назад докупил ещё маленький, как раз для парника.
В эту весну перепахал(и) всего 6..7 соток из 10-ти отведенных под огород. Жена пока больше не хочет - и так много для игры в огород...
Классно культиватором по CAN проводам...
давно сделал вывод, что за дешевезной продвигаемых вами через _многабукав_ термометров скрыта тонна возни и дешевле будет проводки протянуть или вы уже забыли в пылу топтания клавы?
У вас всегда тонна непоняток - вы же ещё не доштрабили свои потолки и стены... Отпишитесь когда продолбите всё - сравним :)
 

pvvx

Активный участник сообщества
Где-то пробегало что китайцы ищут гения, который им научит дронов в количестве не менее пяти штук управлятся одним человеком, а то у них экономика для обработки рисовых полей не сходится. Может, pvxx, доработаете функционал своего чемоданчика? )
А мне оно зачем? У меня в парник бронированным закопанным кабелем подведено 3 фазы с токами за 25 А. Даже не знаю зачем это всё слепил... просто брал бухту в пару сотен метров и закопал на половине участка... :) На вторую надо ещё пару сотен метров в неподъемной бухточке ....
 

volaltd

Member
Для этого есть культиватор.
Классно культиватором по CAN проводам...
Вот я и говорю, что ваша фантазия на уровне культиватора закончилась, хотя за те же ресурсы можно было в теплице эдак в три этажа рассаду заделать вместе с решением указанных мной проблем )))
 

volaltd

Member
А мне оно зачем?
Ну дык дроны будут вылетать по одной кнопке, вскапывать, семена сажать, водичкой и химикатами опрыскивать, пропалывать и урожай собирать, а вы на террасе компотик попивать и наблюдать за всем. Старше станете, то тяжело культиватором ворочать будет, а тут ещё пару дронов добавите и можно ещё пару гектар к даче взять )
 

pvvx

Активный участник сообщества
вскапывать, пропалывать ваш чемодан с трубочками каким боком поможет?
А мы с детьми гуляем - можем уехать куда на несколько дней. Кто будет поливать огород и парник - собака? Она не умеет и одна не может...
А сорняки переживут и неделю и более...
Вскапывать огород уже никто не будет, если надо что - датчик вынул, а трубку отбросил... и запутался в CAN проводах :)
Cтарше станете, то тяжело культиватором ворочать будет, а тут ещё пару дронов добавите и можно ещё пару гектар к даче взять )
Новое "поколение" подрастет и купил в этот раз малый электро культиватор - им и ребенок в 10 лет справляется, а на огород проще трактор у приятеля взять... на нем и советский древний разворачивается и проходит хорошо... И въезд вплоть для Камаза сделан на огород с основной дороги по участку... Он огорожен по периметру камушками от пол тонны до 2-х - больше экскаватор не тянул :confused:
 

volaltd

Member
А мы с детьми гуляем - можем уехать куда на несколько дней. Кто будет поливать огород и парник - собака? Она не умеет и одна не может...
А сорняки переживут и неделю и более..
Ну т.е. в очередной раз заделали решение для своего огорода и никто его в коммерческий масштабируемый продукт не развернет никак )))
 

volaltd

Member
pvxx, написать вам в личку как следовало с теплицей решать? Ток для этого электропомпа от БМВ за 400евро потребуется...
 

pvvx

Активный участник сообщества
Ну т.е. в очередной раз заделали решение для своего огорода и никто его в коммерческий масштабируемый продукт не развернет никак )))
Это ещё не известно. Дети учатся - вдрух и это будет у них первой реализацией.
А в личку мне ничего не надо. Я её читаю раз в месяц максимум, как любые почты, телеги и прочее :)
 

pvvx

Активный участник сообщества
pvxx, написать вам в личку как следовало с теплицей решать? Ток для этого электропомпа от БМВ за 400евро потребуется...
Т.е. ничего предложить более дешевого и сердитого чем помпа за 120 руб поштучно в магазине не можете, но спамите?
 

volaltd

Member
Т.е. ничего предложить более дешевого и сердитого чем помпа за 120 руб поштучно в магазине не можете, но спамите?
У меня все детство прошло на даче, наелся этих огородных дел с лопатой по уши, поэтому все варианты ограничивающиеся только поливом и открытием форточки в теплице - сразу в топку. Если уж делать, то чтобы в одной теплице три яруса, ниче не рыть, приезжать на выходные глянуть на помиргивающие светодиодики и салатика покушать. Кто догадался - тот молодец, а кто нет - я уже и так дофига наговорил...
 
Сверху Снизу