Привет. Давно не писал, но есть некоторые новости.
Сейчас находимся в Волгодонске, собираем еще вещи. Думаю еще будем какое-то время их собирать, но я думаю, что переезд уже скоро. Возможно даже в конце следующей недели. Думаю дальше будет известно более точно. А теперь к более интересному.
Я тут без дела не сижу, и потихоньку пописываю свой умный дом. Примерно все это время что я в Волгодонске, по чуть-чуть каждый вечер что-то пилил. И напилил вроде изрядно.
Во первых, я знатно порефакторил код. Понаходил некоторых багов и поправил их. Например, один из интересных. Библиотека для mqtt не позволяет вешать несколько консьюмеров на один топик. Но у меня своя обертка, так что порешал эту проблему в ней. Еще из важного по рефакторингу: я начал разбивать единый монолитный сервис на более мелкие, наверное можно даже сказать - микросервисы. На данный момент их четыре штуки. Процесс разбиения еще полностью не окончен, но уже большую часть кода я вынес в отдельные микросервисы.
Написал вот первый сценарий. Правда не тот, что на скрине. Он давно уже был. Реализован на стороне яндекс дома. Но я часть его логики перетащил в свое приложение на гошке. А именно выключение света и прочие штуки.
Сделал я так потому что:
1. Хочу по максимуму логику держать в одном месте, не раскидывать ее.
2. Яндекс иногда тупит и может в некоторых комнатах не выключить свет. Либо сделать это с задержкой. Несколько раз уже на такое натыкался, что когда говорил спокойной ночи, свет везде выключался кроме, например, коридора. И в коридоре свет гас секунд через 5-10. Не очень прикольно
3. Есть штуки которые на данный момент в яндекс никак не прокинуть, например охранную систему (в яндексе тупо нет сущностей для этого)
Поэтому, мой сценарий реализует одну кнопку, по нажатию на которую он активируется. Эта кнопка прокинута в яндекс дом, и собственно вся суть сценария на стороне яндекса - нажать эту кнопку. А дальше вся магия будет происходить уже в моем приложении на гошке.
На данный момент реализовано следующее: свет во всем доме выключается (кроме улицы (чего в яндексе опять же было не просто реализовать)) и охрана ставится на ночной режим :) Собственно, это пока все что в голову пришло. Дальше конечно будет больше фич, но сейчас, скажем так, я ограничен технологиями своего времени тем что еще нет некоторых устройств и логики (например по отслеживанию людей). В будущем этот сценарий будет более гибким и крутым.
В голове есть еще мысли написать сценарий я ушел, который пока будет просто так же выключать свет во всем доме, и ставить дом на охрану. Но, конечно после того, как я покину область рядом с домом. Но этим займусь чуть попозже, но возможно успею до переезда на дом.