Дописал документацию к своей железке. Хотел бы показать чего получилось
Метеостанция Волна 2BW42
Если вкратце про сам проект - метеостанция рассчитана на интеграцию в систему умного дома - данные о внешнем датчике устройство получает через Home Assistant или Domoticz, и так же может отправлять свои данные по MQTT (в HA девайс подхватывается через Auto Discovery, в Domoticz через виртуальные датчики)
Прошивка совместима с ESP8266 и ESP32 (Arduino Framework, C++, PlatformIO); внутренний датчик температуры \ влажности BME280. Прошивка работает с дисплеями на электронных чернилах 4.2' и 1.54' дюйма (таблицы совместимости с теми производителями с которыми тестил можно найти на сайте с документацией). Сами E-Ink дисплеи своеобразны в работе и значительно медленней отрисовывают всю область экрана в сравнении с обычными жк, но не требуют постоянного питания для отображения картинки и для автономного девайса подходят хорошо, позволяя очень существенно экономить расход батареи. В живую картинка на таком экране читается приятно, как с обычного листа бумаги.
В режиме работы от аккума устройство просыпается раз минуту для обновления области часов на экране и раз в 10 минут для полного обновления (датчики температуры и другая статистика), WiFi-соединение (синхронизация данных по внешнему датчику, отправка своих данных по MQTT) раз в час в целях экономии заряда; аккума 18650 2000 мА*ч хватает на ~несколько месяцев. Все таймауты при желании можно перенастроить.
Оформление интерфейса изначально делал под дисплеи 4.2' (400х300), с котиком-индикатором который меняется от погодных условий \ времени.
интерфейс по умолчанию
Некоторые зарисовки иконок которые делал для проекта, часть задействованы для индикатора :
В актуальных обновлениях прошивки добавлен конструктор интерфейсов без строгой привязки к разрешению экрана и необходимости лезть непосредственно в код \ перепрошивки чтобы можно было залить свою картинку в качестве фона и расположить "виджеты" просто через веб-интерфейс устройства.
Пример настройки кастомного оформления (фоновая картинка может быть и на весь экран) :
редактор интерфейсов
интерфейс для мелких дисплеев 1.54'
Еще некоторые фотографии с процесса сборки под разные варианты корпуса
Основание корпуса-подставки
вариант полностью закрытого корпуса (чуть промахнулся с размерами, в исходниках модельки 3д принта уже поправил)
Опционально в прошивке реализована возможность вывода картинок c 4 цветном режиме (2-bit). Если сам e-ink экран поддерживает такой режим работы, то можно загрузить картинку фона в таком режиме.
Пример отрисовки фона в градациях серого :
Тестовый "толстый" корпус с доступом к внутренностям. Использовался экран с двойным слоем чернил (красный \ черный), к сожалению они значительно медленней в плане отрисовки
Такой проект получился. Более детально по каждому аспекту, касательно сборки, скорости отрисовки, совместимости с конкретными модулями экранов, процессу прошивки и первичной настройки, примерам моделек корпусов и т.п. постарался подробно описать на сайте проекта.
Проект полностью открытый, можно использовать как для коммерческих так и для личных целей. Если вдруг есть идеи с какими открытыми сервисами погоды можно было бы еще добавить интеграцию (например если кому то захочется использовать вне системы "умного дома"), можно так же написать или мб еще есть какие идеи; поизучаю апишки, мб что-нибудь выберу для дальнейших доработок.
Решил поиграться в умный дом. Купил центр управления умным домом Perenio PEACG01 и датчик протечки этого же производителя. В заводском состоянии всё работает, датчик оповещает, и т.д. но мне категорически не нравится, что эта связка работает исключительно через приложение на смартфоне и гвоздями прибита к облаку от производителя. Ну, я про это знал, поэтому девайс брал под прошивку: для него есть OpenWrt, для прошивки нужен USB UART адаптер, который я купил. В общем, прошил, OpenWrt работает. Также, в домашнем хозяйстве есть недо-сервер, на котором я развернул Domoticz. И теперь не совсем понимаю как всё это собрать в кучу: как добавить датчик в Domoticz, например. Изначально, я рассчитывал, что установлю на PEACG01 обычный zigbee2mqtt и буду уже от этого исходить, но выяснилось, что в списке пакетов его нет, а собрать - значит занять всю память устройства. Предлагается идущий вместе с прошивкой предустановленный ser2net. Итого, сейчас есть отдельный Domoticz, устройство с ser2net, и неподключенный датчик, который непонятно как подключать. Что для этого потребуется и как эта связка вообще должна работать с Domoticz?
В апреле 2023 года мы запустили необычный для нас проект - ремонтный сервис нового формата. Первого клиента нашли только в начале лета, но уже с первого проекта удалось достичь запланированной прибыли. Расскажу, как мы создали современную компанию для поколения "новых денег", которые не готовы к тому, что прораб будет класть половину стоимости ремонта себе в карман, а сроки растягиваются без ограничений и почему это оказалось прибыльным бизнесом.
Как всё начиналось
Конец 2022 года. Я работал менеджером проектов в крупной IT-компании, мой друг Антон - тимлидом в другой известной технологической компании, а Дима занимал позицию backend-разработчика в третьей. У всех стабильные зарплаты, интересные проекты - жизнь шла своим чередом, пока Антон не решил купить квартиру в новостройке.
После долгих поисков он остановился на 85-метровой квартире в ЖК около метро Саларьево - современный комплекс с подземным паркингом и зелёным двором. Как типичный программист, к поиску ремонтников он подошёл педантично: изучил десятки предложений, провёл собеседования с кандидатами. В итоге выбрал бригаду с Авито с "15-летним опытом работы".
Денис (это я:) - один из создателей сервиса
За время ремонта у Антона мы с Димой часто приезжали к нему - помочь, посоветовать, и просто поржать над очередными косяками строителей. У нас обоих за плечами был серьёзный опыт управления командами, внедрения процессов, автоматизации и контроля качества. И знаете что? Нам казалось, что главное в ремонтном бизнесе - это грамотный менеджмент и организация процессов. И на самом деле, все примерно так и есть.
День когда мы решились
Если честно, мысли о собственной ремонтной компании появились у нас задолго до этого случая. В IT-тусовке часто шутят, что в России есть три верных пути: вебкам, айти и стройка. И мы, насмотревшись на хаос в ремонтной сфере, не раз обсуждали возможность открытия своей “фирмы”.
Мы выделили основные проблемы, которые должны были исправить с помощью своего сервиса
Первое - это постоянно растущие сметы и "задранная стоимость" на работы. Ну вы серьезно? Почему для меня ремонт в квартире должен чем-то отличаться от заказа носков на Вайлдберриз? Почему-то там нет такого, что цена носков может вырасти в 2 раза за время доставки. А тут начальная смета в 1 миллион превратилась почти в 1,7! И каждый раз это "ой, тут стены кривые", "ой, а тут придется докупить", "ой, а это мы не учли".
Второе - это бесконечно растущие сроки. Это еще хуже. Как люди с опытом в менеджменте, мы прекрасно знали, что растущие сроки – это всегда раздолбайство управления и ленивые рабочие. Но тут было чуть посложнее, об этом чуть позже. У Антона обещали сделать за 4 месяца, а в итоге растянули на 8.
Третье - хитрые прорабы. Это вообще отдельная история. Когда прораб говорит "давайте я сам закуплю материалы, у меня скидки", знайте - он накинет сверху процентов 30-40. А еще есть "срочные работы", которые почему-то не были учтены в смете. И конечно, вечная классика - экономия на материалах: заказываешь одно, а привозят что-то попроще, но по той же цене.
Целевая аудитория
А параллельно с этим мы определили нашу целевую аудиторию. Чтобы выделиться на конкурентном рынке, мы решили ориентироваться на молодых IT-специалистов и представителей “современных” профессий, живущих в Москве в возрасте 30-40 лет. Тех, кто покупает квартиру в новостройке и привыкших к хорошему сервису. Кто не готов, что его будут водить за нос и разводить на деньги.
Что с ценой?
При этом очень важно было держать цены НИЖЕ, чем у других компаний, иначе на рынке просто не выжить. В премиум сегмент нужен "пропуск" в виде большого количества работ для определенного типа клиентов, поэтому нам было понятно, что "брать" много - пока что, непозволительно. Но мы нашли способ: автоматизация процессов, прямые поставки материалов, четкое планирование работ и никаких скрытых накруток. Но несбыточной мечтой это покажется только обывателю: на самом деле сервис и правда должен быть таким, вообще любой.
История первого заказа летом 2023 года
А теперь самое интересное - наш первый заказ. Это была отдельная эпопея. Начало лета 2023, звонок от потенциального клиента.
Первый клиент оказался прямо "в яблочко" - тоже айтишник (пришедший из первой контекстной рекламы в яндексе запущенной на 20 тыс.), работал в крупной компании, купил двушку в панельке 80-х годов. Причем достаточно убитую - стены местами с дырками, старый паркет, трубы помнящие еще Горбачева... Но нам, если честно, даже повезло что первый объект был не новостройкой. На старом фонде учиться легче - там хотя бы есть на что посмотреть, в отличие от новостроек, где все "сюрпризы" спрятаны в голых стенах.
Дырка в стене была ДО демонтажа. Клиент купил квартиру с "убитым" ремонтом подешевле, в надежде сэкономить
Как мы мастеров искали
Начали с поиска бригады. Вот тут был первый холодный душ - оказалось, что найти классных специалистов без своей наработанной базы очень сложно. Мастера хорошего уровня либо уже при деле, либо просят космос. А те, кто сразу соглашается - ну, вы понимаете. За две недели провели больше 10 собеседований (назовем их так😊). Причем процесс собеседования мы сразу сделали "как в айти" - тестовые задания, проверка портфолио, разбор технологий работы. Бригадиры были в шоке - некоторые прямо уходили с собеседований, когда мы начинали распрашивать про технологии укладки плитки и показывали фотографии косяков с объектов с форумов.
В итоге нашли бригаду - два брата, которые до этого работали в крупной ремонтной компании, но ушли потому что устали от "серых" схем – по отношению К НИМ ЖЕ. В основном - задержки з/п и прорабы.
В том же санузле, но уже после демонтажных и некоторых черновых работ. Братья очень помогли нам с первым ремонтом, кроме этого, они дали нам контакты проверенных рабочих, которые впоследствии делали ремонт вместе с ними
Купили первый комплект инструмента - это отдельная история на 100 тысяч рублей. Ещё сразу купили свою тепловую пушку - это из необычного. Большинство компаний привлекают "потолочников" на субподряд. Мы захотели сразу начать формировать свой инструментарий для будущих сотрудников. Зато потом эта закупка очень помогла - не зависели от того, что принесет с собой бригада. Позже, когда начали расширяться купили свою штукатурную станцию. Это, на удивление, было самой выгодной покупкой.
Первые сложности
Начали ремонт. И тут поехало... Первый сюрприз - когда начали снимать старую штукатурку, оказалось что стены буквально рассыпались. Плюс под старым линолеумом в коридоре нашли деревянный пол с насыпью под ним.
Тут был первый серьезный разговор с заказчиком. Объяснили ситуацию, показали все фотки, рассказали что сколько будет стоит в соответствии с прайс-листом. Тут очень помогло то, что мы сразу взяли за правило - фотографировать вообще все. Каждый этап, каждый слой, каждую трубу.
С материалами тоже было весело. Первый месяц я лично объездил все крупные строительные магазины в радиусе 30 км. Искал поставщиков, договаривался о скидках. Помню, как чуть не купили партию плитки по "супер-выгодной" цене, а потом выяснилось что это условно "второй сорт" - брак, который продают через "серые" схемы.
Cделали систему закупок: (Первый заказ полностью сделан из материалов, купленных в Петровиче и на маркетплейсах). Бригада присылает список - мы проверяем цены у 3-4 поставщиков и заказываем где дешевле.
Мы сразу внедрили систему ежедневных фото-отчетов и еженедельных созвонов. Плюс сделали чат в телеграме, куда скидывали все чеки, все накладные, все фотки. Такая прозрачность очень помогла - клиент видел, что мы не химичим с ценами и не пытаемся на нем нажиться.
В итоге сделали.
Братья советовали нам недостающих специалистов по ходу ремонта и постепенно, укладываясь в срок мы сдавали клиенту новый и новый этап. Честно, это было не так сложно как казалось в начале, но нужно понимать, что на самом деле, проблем по ходу ремонта и мелких трудностей было ОЧЕНЬ много, просто мы как люди привыкшие, понимали что сейчас это и есть наша работа , за которую нам платит клиент - взять на себя все заботы по ремонту. Но серьезных форс-мажоров не возникало, максимум понервничали, когда внесли предоплату потолочникам, которых нашли по объявлению, после чего они явно начали задерживать сроки, но в итоге, все обошлось. Нам и до этого было ясно, что чем быстрее мы соберем свой , хотя бы, небольшой штат, тем лучше и выгоднее. Но для этого надо быть уверенным в постоянном потоке заказов, что мы на тот момент, не могли себе позволить.
Главное - мы поняли как надо и как не надо. Все закупки только через нас. Все договоренности - только в письменном виде.
По деньгам первый проект получился условно в ноль - не считая наших вложений в инструмент и рекламу. Но мы получили бесценный опыт, наработали связи с поставщиками (если это можно назвать так пафосно) и главное - поняли, что наша модель рабочая, хотя на тот момент не были в этом до конца уверены. Наши сомнения развеяло лето 2023 года.
1/5
Наша первая работа, которую нам помогли закончить "братья", советуя недостающих мастеров на каждый этап работ. Цена работ для заказчика вышла 750 000 рублей. Летом 2023 года, за аналогичный объём работ авитовские бригады просили до миллиона(!)
Сайт и маркетинг или как мы общаемся с клиентами ещё до первого звонка
Кстати, про сайт. Первую версию мы сделали за пару вечеров на Тильде - максимально простую: фотки, цены, контакты. Знаете что? Он у нас до сих пор такой – но с значительно изменённым UI/UX. Я иногда ловлю себя на мысли - вот мы же, можем сделать что-то крутое, с личным кабинетом, онлайн-сметами... Но потом смотрю вордстат, статистику и думаю - а зачем? Клиенты находят нас, звонят, все работает. Иногда лучшее решение - самое простое.
1/2
На главной странице "в лоб" о том кто мы, наши конкурентные преимущества, специализация и примеры работ
1/2
Сразу "ярко" заявляем о действующих скидках. Кроме этого, простым текстом пытаемся общаться с клиентом и убедить его в нашем сервисе, пока что, не общаясь с ним лично - конверсия в лиды увеличилась значительно, но важно, чтобы все предложения были реальны
А вот ворд стат. За последний месяц нас искали 680 раз не считая статистики переходов по прямой ссылке. Доказательство того, что дорогой сайт не нужен. Наш стоит 6 000 рублей в год, а сделан за 20 часов
Примеры лучших работ как маркетинговый инструмент
1/4
Оставляли подобные фото с примерами работ и вотермаркой в отзывах к жилым комплексам. Отличный маркетинговый инструмент - сразу определяем нужную ЦА и бесплатно заявляем о себе. Точно знаем, что минимум один клиент был из отзывов яндекс - поэтому работает
Как мы масштабировались и разбирались в проблемах ремонта
Теперь про то, как мы начали разбираться в проблемах ремонта и потихоньку расти. Знаете, за этот год мы много думали - почему вообще ремонтные компании задерживают сроки и не могут сделать работу по первоначальной цене? И нашли несколько интересных моментов.
Первое - сроки. Тут даже копать глубоко не пришлось - сам рынок сформирован так, что клиенты просто привыкли к задержкам. "А, ну это ремонт, тут всегда так" - классическая фраза. Благо тут нам помог опыт организации процессов из айти. Четкие спринты, ежедневные отчеты, календарный план. Работает как часы, если не филонить.
Второе - вечно растущая цена. Вот это было сложнее. В новостройках еще можно точно посчитать, а во вторичке... Но благодаря наработкам этот вопрос стал гораздо яснее. При правильно организации процессов, непредвиденные работы лучше оплатить из своих средств, чем терять клиента. Только так и делается сервис.
Третье - больная тема - воровство на материалах. Тут мы конкретно закрутили гайки. Завели строгий учет, до последнего мешка штукатурки. Прорабам сразу сказали - любая жалоба от клиента на нечестность - это конец сотрудничества. Знаете что самое смешное? Когда начали работать честно, оказалось что маржа все равно хорошая. Просто многие привыкли что надо обязательно накручивать еще и еще.
Неприятные особенности прозрачного сервиса
Большинство компаний, которые начинают работать честно, быстро сдуваются. Потому что сам потребитель привык к плохому сервису. Приходишь к клиенту, говоришь "мы все сделаем четко по смете и в срок", а он смотрит с недоверием - "да ладно, так не бывает". Сейчас в 2024-м ситуация получше, но рынок все еще очень консервативный.
Продвижение или как мы брали “Новую Москву”
Наш любимый Прокшино в Новой Москве - в 2024 году, это самый перспективный район в котором покупатели - наши потенциальные клиенты
Расти начали потихоньку. Сначала сделали специальные цены для новой Москвы - там как раз много новостроек, где мы хорошо научились работать. Потом пошли заказы по рекомендациям. Когда я говорю “пошли” заказы нужно понимать, что это 1-3 заказа в месяц стабильно, что на самом деле, тогда казалось не мало. С рекламой экспериментировали забавно - оставляли визитки в подъездах (да, просто старые добрые визитки!), ставили рекламные ящики у офисов продаж в дни выдачи ключей.
Был случай, когда на одном ЖК поставили такую стойку, а через неделю риелтор оттуда сам позвонил и предложил взять себе процент, если клиент пойдет к нам.
Сейчас берем 2-5 заказов в месяц, (летом было 5 в месяц, если разделить). Большинство клиентов приходят по рекомендациям. Штат за год работы постепенно собрали свой. Трудоустроено 14 сотрудников. Если их не хватало (как летом), привлекали мастеров с которым уже работали раньше, по договору ГПХ. Просили всех регистрировать самозанятость или ИП – это было тяжело, но зато честно платим налоги по Доходы – расходы.
Как устроен процесс
Знаете, что самое сложное в ремонтном бизнесе? Нет, не поиск клиентов и не работа с материалами. Самое сложное - это выстроить систему, которая будет удовлетворять запросы клиента и при этом позволит компании зарабатывать. Мы долго думали над этим и придумали несколько интересных решений.
Начнем с оплаты. Если посмотреть на московский рынок, там забавная система - вроде бы без предоплаты, но это только за первый, самый дешевый этап. А потом - бац, и клиент должен внести 50% от всей суммы. И попробуй не внеси - бригада уйдет на другой объект. Мы сделали иначе: разбили весь ремонт на этапы (их получилось 12 для капитального ремонта), и берем предоплату только за текущий этап. То есть клиент всегда понимает, за что именно платит, и может контролировать процесс.
С договорами тоже интересно получилось. Сначала делали один стандартный, а потом поняли - люди разные, запросы разные. Сейчас у нас три варианта: просто на работы (для тех, кто сам хочет закупать материалы), на работы плюс материалы (самый популярный), и полный пакет с дизайн-проектом. Кстати, про дизайн - мы не держим штатных дизайнеров, работаем с фрилансерами. Так получается и дешевле для клиента, и качество выше - каждый дизайнер специализируется на своем стиле.
Первый образец договора, который ставили на сайт
Расчёт стоимости
Расчет стоимости работ - отдельная история. Когда начинали, было очень сложно. На рынке нет четких цен - один мастер берет 3 тысячи за квадрат стяжки, другой - тысячу, третий вообще говорит "ну давайте посмотрим по факту". Сначала работали по среднему прайсу, но часто уходили в минус по отдельным этапам - то бригада дороже встанет, то материала больше уйдет. Сейчас, когда появились постоянные сотрудники, стало проще - мы точно знаем их расценки и можем давать фиксированную цену.
Материалы
Выяснилось, что в крупных магазинах часто дешевле в сравнении с рынками стройматериалов, особенно если ловить акции. Плюс появились маркетплейсы - там вообще красота по ценам. И главное - полная прозрачность, клиент сам видит все позиции. Если находим материал дешевле - возвращаем разницу. Был случай, когда на керамограните сэкономили клиенту почти 30 тысяч - просто потому что, нашли ту же плитку в другом магазине по акции.
Как работаем сейчас
Сейчас берем 2-5 заказов в месяц, зависит от сезона и сложности объектов.
Процесс обкатан до мелочей: сначала выезд на замер, потом предварительная смета. Если клиента все устраивает - детальный расчет и договор. Дальше начинается самое интересное - согласование материалов, закупки, работа.
Особенности продвижения и подводные камни
С продвижением интересно получилось. Сначала, как все, полезли на Авито. И знаете что? Не зашло. Там своя специфическая аудитория и конкретно у нас, с Авито “ не пошло”.
Свежий пример страницы с авито в категории "Ремонт квартир". Как клиенты определяются с подрядчиком среди тысяч однотипных объявлений - хороший маркетинговый вопрос, который мы решаем, после чего полноценно "зайдём" на авито
Пробовали контекстную рекламу яндекс - тоже так себе результат. Клики дорогие, конверсия низкая. Зато отлично зашла таргетированная реклама в Instagram* (*запрещен в РФ) и реклама в районных пабликах ВКонтакте. Особенно в группах новостроек в ТГ - там как раз наша целевая аудитория.
Но главный канал - сарафанное радио. Причем работает оно интересно. Всегда знаешь , от кого пришли заказчики и проще выстраивать коммуникацию. Есть клиент - он доволен, рассказал коллегам - и понеслось. За три месяца получили еще два заказа от сотрудников той же компании. Выходит такой “корпоративный ремонт”)))
Были, конечно, и провалы в продвижении. Пытались работать с риелторами - предлагали им комиссию за клиентов. Не пошло - у них свои схемы, свои бригады. Пробовали давать рекламу в лифтах, входных группах - тоже мимо, ни одного обращения, но тут скорее из-за того что эта реклама буквально на день.
ИТОГ
Сейчас мы существуем уже чуть больше года и в целом смотрим на ремонтный рынок не так, как раньше. За это время мы сделали несколько важных заметок для себя:
Оказывается, большинство проблем в ремонте - это не технические сложности, а банальная организация процессов. Когда все четко спланировано и каждый знает что делать - даже самый сложный ремонт идет как по маслу.
Мы поняли, почему многие компании "химичат" с ценами и сроками - просто потому что не умеют нормально считать и планировать. Когда все процессы выстроены правильно, можно работать честно и все равно оставаться в плюсе.
Самое сложное - это не найти клиентов или научиться делать ремонт. Самое сложное - это переломить привычку рынка работать "по-серому". И заказчики, и исполнители настолько привыкли к непрозрачным схемам, что честный подход вызывает удивление.
Мы до сих пор учимся. Каждый объект - это новый опыт и новые вызовы (особенно по части коммуникаций с клиентами). Но главное - мы видим, что наша модель работает и пока что, нам удается держать ценник немного ниже рыночного, за счёт того что до сих пор не имеем в найме маркетологов, IT, отдела продаж и менеджеров по продажам. Стараемся нанимать именно рабочих, все остальное можно отдать на аутсорс.
Уважаемые пикабушники, были рады составить для вас эту статью! С любовью, СК Комната
Добрый день, уважаемые пикабушники. Как и обещал пишу пару строк про автоматизацию. Автоматизация это конечно громко сказано, но что есть то есть.
Сначала пару слов о том как себя чувствует аквариум. В целом внешний вид за неделю изменился не сильно.
Растения начинают потихоньку приходить в себя, кроме бликсы и погостемона хелфери, они потихонечку растворяются, буду надеяться что всё таки очухаются и пойдут в рост. Гидрокотила, погостемон эректус, анубиас, куба и буцефаландра дают новые листы. Одна буцефаландра сперепугу решила зацвести, утром заметил что бутон побелел, а вечером после работы я увидел уже раскрывшийся цветок.
Включил подачу углекислого газа и внёс половинные дозы микро, фосфатов и калия. Освещение увеличил до семи часов в день. На этом пока всё, теперь к теме поста.
Итак вернёмся ненадолго к моему первому аквариуму. Там тоже была автоматизация, как вспомню так вздрогну. Построена она была на связке arduino и проекта blynk. Изначально задумка акваконтроллера конечно была неплохая. А вот реализация оставляла желать лучшего. Код писался частично мной, частично совместно с коллегой, частично взят с просторов интернета. И из этого всего было собрано это нечто. Работала эта конструкция так как хотелось ей, а не так как нужно было мне, заставляя меня вздрагивать от каждого щелчка реле. Короче магия, ну или кривые руки, но на магию думать приятнее. Контроллер мог сам, независимо от таймеров, среди ночи включить свет в аквариуме или вентилятор охлаждения воды, но это относительно безопасно. А вот включение ночью подачи углекислого газа, рыбы не оценили, по их глазам видно было что они думают обо мне как о программисте. Короче каждая моя встреча с аквариумом, будь то пробуждение утром или возвращение с работы, проходила под девизом "Спасибо что живой!". Так и жил.
Задумывая этот аквариум, я уже понимал, что автоматизации не избежать. Но вспоминая предыдущий опыт, меня бросало в холодный пот. Поэтому было решено пожалеть будущих жильцов аквариума и исключить самостоятельную разработку контролера. Долго думал как всё реализовать, курил форумы и 4pda. В итоге остановил свой выбор на компонентах умного дома xiaomi. Что было куплено: 1) Шлюз 2) Умные розетки 3) Кнопка 4) Удлинитель на 5 розеток 5) Датчик открытия двери 6) Датчик температуры и влажности
Теперь всю эту кучу надо заставить работать. Можно конечно подключить к mi home и забыть, но хочется больше гибкости и меньше зависимости от китайских серверов, через которые всё это работает. Поэтому достаю из широких штанин raspberry pi3, которая выступит в роли сервера.
Для работы сервера нам понадобится установить ОС Raspbian и затем сервер умного дома Domoticz. Не буду в подробностях описывать как это делать, в интернете полно подробных инструкций. Итак Raspbian установлен. Теперь он доступен по ssh и vnc.
Domoticz установлен. Теперь он доступен с браузера любого устройства в вашей сети, по адресу который вы указали при установке. В случае использования dimoticz есть один минус, ну как минус особенность. Управлять им изначально можно только в своей домашней сети. Чтоб он стал доступен из любой точки мира, вам понадобится арендовать у провайдера белый ip адрес и друг тыжпрограмист который вам пробросит порты на роутере.
Выглядит он так. В браузере ПК.
В мобильном браузере.
В приложении
Следующим шагом мы подключаем шлюз к mi home, затем подключаем его к domoticz и уже к шлюзу подключаем все наши устройства. Всё, они стали доступны в domoticz. У меня список устройств выглядит пока так.
Теперь можно настраивать их под свои нужды, выставлять таймеры и составлять разные сценарии. Это таймеры подачи углекислого газа.
Вот здесь, например, вы могли заметить, что на подачу углекислого газа есть несколько таймеров, это было сделано потому что я, перепробовав кучу разных обратных клапанов, так и не нашел тот который бы нормально держал и не пускал воду из диффузора в шланг. Поэтому раз в четыре часа на минуту включается подача газа, выталкивая воду обратно в аквариум.
Теперь к сценариям. Доступны три вида создания сценариев: блоками, на языке lua и dzvents. Так как я сейчас не располагаю временем на изучение этих языков, я выбрал блоки. Покажу вам пару своих сценариев, не претендую на грамотность их составления, но они работают и даже не пытаются убить всё живое вокруг.
Сценарий включения света кнопкой. Если разобраться, то ничего сложно тут нет.
Если кнопка генерирует событие одинократное нажатие и светильник находится в состоянии выключено, то переводим кнопку в режим выключено и переводим светильник в режим включено.
С включение и выключением фильтра аналогично.
Это сценарий события "кормление рыбок"
Все три сценария запускаются всего одной кнопкой, благодаря тому что она может выдавать три разные команды по одиночному, двойному или длительному нажатию.
На одиночное нажатие у меня настроено включение-выключение света. На двойное включение-выключение фильтра для обслуживания. На длительное выключение фильтра на 20 минут для кормления рыб.
Можно конечно этим всем управлять с телефона и без кнопки, но он не всегда под рукой, да и проще клякнуть по кнопке.
В этот раз я очень хотел избежать колхозинга, но увы был вынужден. Когда я покупал датчики, не нашел в продаже датчика протечки, поэтому взял датчик открытия двери. И лёгким движением руки датчик открытия превращается в датчик протечки.
К контактам геркона просто припаивается два проводка.
Облагораживаем всё термоусадкой.
Сценарий датчика протечки. Когда вода замыкает контакты, шлюз начинает моргать светодиодом и звучит сирена
Нужен он мне для двух целей. Так как память у меня как у рыбки, я периодически забывал о том, что у меня фильтруется вода и бутыль переполнялся. За что я выхватывал от супруги бодрящих люлей. Они то меня и вдохновили задуматься о таком датчике. Вторая его функция находиться возле фильтра в тумбе, в те моменты когда ему не нужно уберегать меня от насилия. И пусть он не может предотвратить протечку, он позволяет максимально быстро на неё среагировать. И далее действовать по обстоятельствам, либо устранять последствия пока не нанесён серьезный ущерб, либо быстро собирать пожитки и съезжать с квартиры пока соседи снизу не вернулись с работы.
Так же модификации планируется подвергнуть и датчик температуры и влажности, с его платы будет отпаян непосредственно сам датчик температуры и сделан выносным, для мониторинга температуры воды, и в зависимости от показаний включать либо вентиляторы либо водогрейку. И вот здесь у меня трудности, тот инструмент что есть у меня не позволяет сделать такую работу, так что буду искать мастера кто сможет. Как-то на Пикабу мне попадался пост, про мастера по ремонту телефонов, способного паять комариные письки, вот такого и буду искать. Вот фото для понимания масштаба.
В принципе больше рассказывать особо нечего. Возможно что-то в систему ещё добавится, что-то уберется. Конструктивная критика и предложения по улучшению приветствуются.
У многих, кто интересуется домашней автоматизацией («Умный дом»), на слуху известные открытые системы автоматизации, на которых можно построить управление: OpenHab, MajorDoMo, Home Assistant, Domoticz, HomeBridge. Но если немного расширить диапазон наблюдения, то можно обнаружить множество программных систем, которые могут предложить схожий функционал, а местами даже больший. Сегодня, расскажем об одной из них — ioBroker.
Расскажем обзорно, без погружения в подробности реализации, т.к. каждый элемент потребует отдельной статьи (если потребуется — будет статья).
Что за зверь?
ioBroker — это система автоматизации, разработанная на платформе Node.js (также как и HomeBridge). Благодаря этому, ее можно развернуть и запустить практически на любой операционной системе или виртуальной машине: Windows, Mac, Linux, в контейнере Docker и даже на Android. Это позволяет масштабировать систему исходя из потребностей: поставить ее на “малину” для дома, квест-комнаты или на сервер для гостиницы.
Система ioBroker, как и большинство систем автоматизации, открытая и расширяемая. Новый функционал или устройства подключаются с помощью добавления “драйвера” или “адаптера” (так называемые плагины ioBroker), который можно установить из официального Store или из git-репозитория.
Большинство действий выполняется из web-интерфейса администрирования и позволяет изменить любые параметры системы (нет необходимости редактировать config-файлы в терминале):
- управление набором драйверов и их параметрами
- мониторинг и изменения объектов системы, состояний и их истории
- разработка сценариев поведения и обработчиков событий
- разработка визуальных Dashboard для управления и представления состояний
и многое другое.
Пример, как выглядит интерфейс администрирования можно посмотреть тут http://iobroker.click
Как это работает внутри?
Подход ioBroker’а заключается в том, что каждое подключенное устройство или сервис, представляется в виде набора состояний, которые могут изменяться устройством или пользователем. Т.е. устройство раскладывается на элементы и дальнейшая работа происходит с ними и их значениями. Работа с устройствами заключается в подписке на изменение состояний и собственно изменение других состояний в зависимости от ситуации.
Так, например, обычную лампочку можно представить в виде одного состояния, которое будет обозначать включена она или нет. Но если лампочка диммируемая, то нужно еще одно состояние — уровень яркости. Для лампочки меняющей цвет — еще состояния оттенка (hue) и насыщенности (saturation). Для более сложных устройств количество наблюдаемых состояний растет.
Некоторые состояния имеют обратную связь и при их изменении со стороны ioBroker (например, пользователь поменял значение или при выполнении скрипта), значение отправляется обратно на устройство или сервис.
Таким образом, например, можно включить лампочку, вручную поменяв ее состояние в объектах, или переключить режим работы термостата.
Все состояния хранятся в древовидном реестре, который очень напоминает подход с протоколом MQTT, где данные соотносятся с топиками. Поэтому, соответствующий драйвер MQTT легко интегрируется с любыми mqtt-серверами (или брокерами). А также сам выступает в качестве MQTT-сервера/брокера для IOT-устройств, поддерживающих этот протокол.
Поддерживаемые устройства и сервисы
В ioBroker есть, активный по умолчанию, драйвер поиска устройств и автоматической установки драйверов для них. Поддерживаются не только устройства, которые стандартно распознаются, через UPnP, но и просто устройства, которые могут быть найдены по IP адресу или подключены к USB порту.
При наличии дополнительного оборудования (различные USB-стики или шилды), можно использовать популярные протоколы: Z-Wave, Zigbee, BLE, KNX.
Можно интегрироваться с другими системами “Умного дома”, контроллерами и хабами: OpenHab, MiHome, HomeMatic, MegaD, Home assistant и другими.
Интерфейсы взаимодействия
Пользователь может взаимодействовать с ioBroker несколькими способами.
Vis-интерфейс
ioBroker обладает самыми гибкими возможностями настройки визуального интерфейса среди открытых систем автоматизации. Можно создать несколько страниц со сценами, на страницах расположить виджеты управления, отображения значений и изображения с камеры. Набор виджетов может быть произвольный и устанавливается дополнительными драйверами.
В сети доступен набор страниц визуализации некоторых пользователей, которые поделились ими с разработчиками https://iobroker.click/. Видно, что нет единого подхода к оформлению страницы управления “Умным домом” и каждый делает по своему усмотрению. Это с одной стороны хорошо, т.к. имеется простор для дизайна и нет ограничений. С другой стороны, это сложно неподготовленному пользователю.
Также, благодаря облачному сервису и Cloud-драйверу, можно получить доступ к визуальным интерфейсам ioBroker из глобальной сети без использования специальных средств (VPN, DynDNS и прочему).
Telegram-бот
После появления Telegram-ботов они оказались очень удобным способом взаимодействия с системами “Умного дома”. Бот принимает команды управления и может выводить любые данные, доступные в системе.
Благодаря драйверу text2command можно отправить текстовое сообщение боту и оно будет разобрано и выполнено. Например, текст “включи свет в детской” выполнит включение состояния, которое относится к “освещению” в комнате “детская”. И таких применений множество: шторы, музыка, отопление, охрана, замок и т.п. По функции очень напоминает Siri, но только текстовую.
Также, через Telegram реализуют канал уведомлений о ситуациях, происходящих в системе. Очень удобно.
iOS Homekit
Естественно, у ioBroker есть возможность интеграции в систему Apple HomeKit. Благодаря драйверу Yahka, в системе можно создавать аксессуары, соответствующие требованиям HomeKit и использовать их на iOS устройствах.
Для этого, в настройках драйвера Yahka необходимо создать виртуальные устройства и связать их характеристики с имеющимися в системе состояниями.
Так, например, создав виртуальное устройство “Лампа” и связав его с состоянием, относящимся к включению/выключению реальной лампы, можно сделать кнопку управления лампой в приложении Дом на iOS. А если подключить и другие дополнительные состояния, то можно управлять и диммируемой лампой.
Датчики, сенсоры, камеры, термостаты, вентиляторы… любые устройства можно отобразить в Homekit и управлять ими через приложение Дом или попросить сделать это Siri.
Нужно только, чтобы реальные устройства, которыми будет управлять Siri были заведены в систему и связать соответствующие состояния с виртуальными устройствами Homekit.
Голосовое управление
Коме Siri, управлять устройствами голосом возможно и через популярную на западе Amazon Alexa (жаль только не на русском языке). Для этого, к облачному сервису ioBroker, связанному с вашим локальным сервером, подключается специальный Alexa Skill, который перенаправляет и выполняет команды от вашей Amazon Dot.
Если нет умной колонки, то выполнять команды по-русски можно через приложения Android Tasker и PAW. Через эти приложения можно преобразовать голосовую команду в текст и отправить в ioBroker, где уже упоминаемый драйвер text2command выполнит ее и сообщит о результате.
Дополнительно, интеграция через PAW драйвер, можно выполнять множество обратных команд на Android-устройстве: осуществлять звонки, писать SMS и воспроизводить голосом текст.
Генерации голоса из текста выполняется специальным драйвером SayIt, поддерживающим популярные TTS-движки от Google, Яндекс, Amazon. А вывод получившейся речи можно осуществить через колонки, Chromecast или Sonos.
Также, голосовые команды можно принимать через созданную страницу в Vis-драйвере (в браузере Google Chrome) и принимать там ответные голосовые сообщения от ioBroker.
Сценарии
Одна из самых важных частей автоматизации — сценарии. Это логические блоки управления, которые определяют зависимости, поведение и взаимодействие между устройствами и их состояниями.
“Включить свет при обнаружении движения”, “Добавить температуру отопительного контура, при приближении хозяев к загородному дому”, “Отправить в телеграм список состояний датчиков при получении команды”.
Всё это реализуется сценариями.
Для реализации сценариев могут использоваться либо визуальный язык Blockly, либо Javascript, либо TypeScript, либо очень популярный NodeRed.
Основная задача скриптов — описание реакции на происходящие в системе события. Для этого, в скриптах описываются обработчики изменений состояний. Например, при изменении состояния click, относящегося к беспроводной кнопке, изменить набор состояний, относящихся к модулям sonoff, включающих освещение. А при двойном нажатии — отключать свет.
Но более сложное поведение потребует знания Javascript, т.к. множество примеров выполнено именно на нём. Для реализации нужного функционала можно подключить любой npm-пакет и использовать его в скриптах.
И да, сценарии могут выполняться по расписанию.
Сообщество
Большинство пользователей ioBroker находятся в Европе, в Германии и это отражается на специфике сообщества, материалов, уроков, примеров и документации.
Но в последние два года, началось активное развитие русскоязычного сообщества.
Признаюсь, это единственная система автоматизации, в которую я глубоко погрузился (хотя смотрел на Hass и MajorDoMo). Это стало моим хобби. ioBroker мне интересен своей архитектурой, возможностями и сообществом. На нем сейчас автоматизирую квартиру и дачу.
Большинство из приведенных выше возможностей мне удалось попробовать на себе. Я разобрался и реализовал как простые варианты, так и более хитрые. Разработал пару драйверов для себя и ими стали пользоваться другие пользователи ioBroker.
Я не стану хаять другие системы и не скажу, что это идеальная система. Я хочу обратить внимание на неё и дать её попробовать другим. Да, порог вхождения в написание скриптов требует базовые знания системы, но это везде так (только языки разные). Да, будут сложности с настройкой некоторых драйверов, но всё решаемо. Если кто-то уже через это проходил, значит и у вас получится.
Зачастую, приемы интеграции с устройствами и примеры кода, могут легко быть адаптированы из одной системы автоматизации в другую. А общие рекомендации подходят всем и каждый увлекающийся автоматизацией сталкивается с ними.
И в одном из русских сообществ это понимают и делятся знаниями независимо от того какую систему автоматизации используют.